@fusion.dev/helix-headless 0.148.0 → 0.149.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +6966 -1798
- package/dist/announcement/root/announcement-root.d.ts +5 -0
- package/dist/announcement/root/announcement-root.js +5 -2
- package/dist/area-chart/root/area-chart-root.d.ts +11 -0
- package/dist/area-chart/root/area-chart-root.js +20 -7
- package/dist/avatar/group/avatar-group.d.ts +10 -2
- package/dist/avatar/group/avatar-group.js +10 -5
- package/dist/badge/count.d.ts +6 -1
- package/dist/badge/count.js +3 -3
- package/dist/badge/root/badge-root.d.ts +6 -2
- package/dist/badge/root/badge-root.js +3 -3
- package/dist/bar-chart/root/bar-chart-root.d.ts +13 -1
- package/dist/bar-chart/root/bar-chart-root.js +17 -4
- package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +8 -1
- package/dist/breadcrumbs/root/breadcrumbs-root.js +5 -2
- package/dist/button/root/button-root.d.ts +10 -1
- package/dist/button/root/button-root.js +3 -2
- package/dist/button-group/root/button-group-root.d.ts +3 -0
- package/dist/button-group/root/button-group-root.js +2 -2
- package/dist/callout/root/callout-root.d.ts +16 -2
- package/dist/callout/root/callout-root.js +16 -4
- package/dist/canvas/describe.d.ts +10 -0
- package/dist/canvas/describe.js +9 -0
- package/dist/canvas/neighbor.d.ts +17 -0
- package/dist/canvas/neighbor.js +1 -0
- package/dist/canvas/node/canvas-node.js +3 -2
- package/dist/canvas/root/canvas-root.d.ts +65 -8
- package/dist/canvas/root/canvas-root.js +115 -49
- package/dist/carousel/root/carousel-root.d.ts +5 -0
- package/dist/carousel/root/carousel-root.js +16 -5
- package/dist/chat/composer/chat-composer.d.ts +5 -0
- package/dist/chat/composer/chat-composer.js +4 -1
- package/dist/chat/message/chat-message.d.ts +9 -5
- package/dist/chat/message/chat-message.js +8 -4
- package/dist/chat/naming.js +2 -2
- package/dist/chat/root/chat-root.d.ts +27 -1
- package/dist/chat/root/chat-root.js +37 -9
- package/dist/checkbox/root/checkbox-root.d.ts +11 -0
- package/dist/checkbox/root/checkbox-root.js +8 -2
- package/dist/checkbox-group/root/checkbox-group-root.d.ts +11 -0
- package/dist/checkbox-group/root/checkbox-group-root.js +11 -3
- package/dist/code-block/root/code-block-root.d.ts +12 -2
- package/dist/code-block/root/code-block-root.js +12 -2
- package/dist/color-input/root/color-input-root.d.ts +13 -0
- package/dist/color-input/root/color-input-root.js +18 -5
- package/dist/color-picker/root/color-picker-root.d.ts +19 -3
- package/dist/color-picker/root/color-picker-root.js +47 -13
- package/dist/combobox/root/combobox-root.d.ts +36 -7
- package/dist/combobox/root/combobox-root.js +37 -12
- package/dist/command/root/command-root.d.ts +15 -6
- package/dist/command/root/command-root.js +9 -4
- package/dist/copy-button/root/copy-button-root.d.ts +5 -0
- package/dist/copy-button/root/copy-button-root.js +7 -2
- package/dist/data-table/root/data-table-root.d.ts +171 -29
- package/dist/data-table/root/data-table-root.js +268 -118
- package/dist/date-input/root/date-input-root.d.ts +32 -9
- package/dist/date-input/root/date-input-root.js +66 -44
- package/dist/date-picker/root/date-picker-root.d.ts +38 -15
- package/dist/date-picker/root/date-picker-root.js +52 -33
- package/dist/dialog/root/dialog-root.d.ts +12 -1
- package/dist/dialog/root/dialog-root.js +11 -4
- package/dist/donut-chart/root/donut-chart-root.d.ts +5 -0
- package/dist/donut-chart/root/donut-chart-root.js +8 -5
- package/dist/drawer/root/drawer-root.d.ts +12 -1
- package/dist/drawer/root/drawer-root.js +9 -2
- package/dist/drilldown/root/drilldown-root.d.ts +5 -0
- package/dist/drilldown/root/drilldown-root.js +4 -1
- package/dist/element-events.generated.js +25 -3
- package/dist/file-input/root/file-input-root.d.ts +18 -3
- package/dist/file-input/root/file-input-root.js +34 -17
- package/dist/filter-input/chip/filter-chip.d.ts +13 -0
- package/dist/filter-input/chip/filter-chip.js +6 -1
- package/dist/filter-input/menu/filter-menu.d.ts +5 -0
- package/dist/filter-input/menu/filter-menu.js +3 -1
- package/dist/filter-input/root/filter-input-root.d.ts +20 -3
- package/dist/filter-input/root/filter-input-root.js +8 -4
- package/dist/format-date/root/format-date-root.d.ts +20 -2
- package/dist/format-date/root/format-date-root.js +5 -2
- package/dist/graph/root/graph-model.d.ts +11 -0
- package/dist/graph/root/graph-model.js +4 -0
- package/dist/graph/root/graph-root.d.ts +78 -9
- package/dist/graph/root/graph-root.js +124 -27
- package/dist/heatmap/root/heatmap-root.d.ts +25 -4
- package/dist/heatmap/root/heatmap-root.js +27 -7
- package/dist/icon-button/root/icon-button-root.d.ts +5 -0
- package/dist/icon-button/root/icon-button-root.js +1 -0
- package/dist/input/root/input-root.d.ts +5 -0
- package/dist/input/root/input-root.js +4 -1
- package/dist/lightbox/root/lightbox-root.d.ts +14 -4
- package/dist/lightbox/root/lightbox-root.js +25 -7
- package/dist/line-chart/root/line-chart-root.d.ts +5 -0
- package/dist/line-chart/root/line-chart-root.js +4 -2
- package/dist/list/item/list-item.d.ts +32 -0
- package/dist/list/item/list-item.js +34 -7
- package/dist/list/root/list-root.d.ts +87 -0
- package/dist/list/root/list-root.js +112 -2
- package/dist/listbox/reorder/index.d.ts +1 -0
- package/dist/listbox/reorder/index.js +4 -0
- package/dist/listbox/reorder/listbox-reorder.d.ts +83 -0
- package/dist/listbox/reorder/listbox-reorder.js +151 -0
- package/dist/listbox/root/listbox-root.d.ts +68 -11
- package/dist/listbox/root/listbox-root.js +41 -9
- package/dist/loader/root/loader-root.d.ts +5 -0
- package/dist/loader/root/loader-root.js +3 -1
- package/dist/map/area/map-area.d.ts +5 -0
- package/dist/map/area/map-area.js +3 -1
- package/dist/map/buildings/map-buildings.d.ts +5 -0
- package/dist/map/buildings/map-buildings.js +3 -1
- package/dist/map/contours/map-contours.d.ts +5 -0
- package/dist/map/contours/map-contours.js +3 -1
- package/dist/map/landcover/map-landcover.d.ts +5 -0
- package/dist/map/landcover/map-landcover.js +3 -1
- package/dist/map/marker/map-marker.d.ts +16 -1
- package/dist/map/marker/map-marker.js +13 -5
- package/dist/map/points/map-points.d.ts +5 -0
- package/dist/map/points/map-points.js +6 -4
- package/dist/map/position/map-position.d.ts +5 -0
- package/dist/map/position/map-position.js +3 -1
- package/dist/map/raster/map-raster.d.ts +5 -0
- package/dist/map/raster/map-raster.js +3 -1
- package/dist/map/root/map-root.d.ts +33 -14
- package/dist/map/root/map-root.js +59 -22
- package/dist/map/route/map-route.d.ts +5 -0
- package/dist/map/route/map-route.js +3 -1
- package/dist/map/terrain/map-terrain.d.ts +5 -0
- package/dist/map/terrain/map-terrain.js +3 -1
- package/dist/menu/root/menu-root.d.ts +5 -0
- package/dist/menu/root/menu-root.js +3 -1
- package/dist/meter/root/meter-root.d.ts +16 -3
- package/dist/meter/root/meter-root.js +12 -5
- package/dist/navigation/root/navigation-root.d.ts +5 -0
- package/dist/navigation/root/navigation-root.js +3 -1
- package/dist/notifications/notification/notification.d.ts +5 -0
- package/dist/notifications/notification/notification.js +3 -1
- package/dist/notifications/root/notifications-root.d.ts +8 -0
- package/dist/notifications/root/notifications-root.js +10 -2
- package/dist/number-input/root/number-input-root.d.ts +21 -8
- package/dist/number-input/root/number-input-root.js +26 -11
- package/dist/object-inspector/root/object-inspector-root.d.ts +51 -12
- package/dist/object-inspector/root/object-inspector-root.js +21 -20
- package/dist/outline/root/outline-root.d.ts +5 -0
- package/dist/outline/root/outline-root.js +3 -1
- package/dist/pagination/root/pagination-root.d.ts +7 -1
- package/dist/pagination/root/pagination-root.js +16 -7
- package/dist/pagination/size/pagination-size.d.ts +7 -3
- package/dist/pagination/size/pagination-size.js +4 -2
- package/dist/pagination/summary/pagination-summary.d.ts +8 -6
- package/dist/pagination/summary/pagination-summary.js +4 -9
- package/dist/pin-input/code.d.ts +6 -6
- package/dist/pin-input/code.js +1 -5
- package/dist/pin-input/root/pin-input-root.d.ts +9 -3
- package/dist/pin-input/root/pin-input-root.js +6 -2
- package/dist/popover/root/popover-root.d.ts +12 -2
- package/dist/popover/root/popover-root.js +10 -4
- package/dist/progress/root/progress-root.d.ts +7 -2
- package/dist/progress/root/progress-root.js +5 -2
- package/dist/qr-code/name.d.ts +3 -2
- package/dist/qr-code/name.js +2 -2
- package/dist/qr-code/root/qr-code-root.d.ts +12 -2
- package/dist/qr-code/root/qr-code-root.js +9 -2
- package/dist/radio/group/radio-group.d.ts +11 -0
- package/dist/radio/group/radio-group.js +8 -2
- package/dist/rating/root/rating-root.d.ts +12 -1
- package/dist/rating/root/rating-root.js +10 -3
- package/dist/scatter-chart/root/scatter-chart-root.d.ts +20 -2
- package/dist/scatter-chart/root/scatter-chart-root.js +20 -5
- package/dist/select/root/select-root.d.ts +11 -0
- package/dist/select/root/select-root.js +13 -3
- package/dist/skip-link/root/skip-link-root.d.ts +5 -0
- package/dist/skip-link/root/skip-link-root.js +3 -1
- package/dist/slider/root/slider-root.d.ts +7 -2
- package/dist/slider/root/slider-root.js +11 -5
- package/dist/sparkline/readings.d.ts +15 -5
- package/dist/sparkline/readings.js +3 -3
- package/dist/sparkline/root/sparkline-root.d.ts +9 -4
- package/dist/sparkline/root/sparkline-root.js +9 -3
- package/dist/speed-dial/root/speed-dial-root.d.ts +5 -0
- package/dist/speed-dial/root/speed-dial-root.js +4 -1
- package/dist/splitter/root/splitter-root.d.ts +6 -1
- package/dist/splitter/root/splitter-root.js +9 -4
- package/dist/steps/root/steps-root.d.ts +9 -2
- package/dist/steps/root/steps-root.js +6 -3
- package/dist/steps/step/step.d.ts +12 -0
- package/dist/steps/step/step.js +11 -2
- package/dist/switch/root/switch-root.d.ts +11 -0
- package/dist/switch/root/switch-root.js +8 -2
- package/dist/table/column/table-column.d.ts +11 -4
- package/dist/table/column/table-column.js +15 -10
- package/dist/table/grid-controller.d.ts +8 -3
- package/dist/table/grid-controller.js +17 -11
- package/dist/table/root/table-root.d.ts +107 -5
- package/dist/table/root/table-root.js +122 -20
- package/dist/table/row/table-row.d.ts +42 -0
- package/dist/table/row/table-row.js +40 -1
- package/dist/tabs/root/tabs-root.d.ts +5 -0
- package/dist/tabs/root/tabs-root.js +3 -1
- package/dist/tag/group/tag-group.d.ts +5 -0
- package/dist/tag/group/tag-group.js +3 -1
- package/dist/tag/root/tag-root.d.ts +14 -1
- package/dist/tag/root/tag-root.js +11 -8
- package/dist/textarea/root/textarea-root.d.ts +5 -0
- package/dist/textarea/root/textarea-root.js +3 -1
- package/dist/time-input/root/time-input-root.d.ts +14 -7
- package/dist/time-input/root/time-input-root.js +43 -32
- package/dist/time-picker/root/time-picker-root.d.ts +15 -7
- package/dist/time-picker/root/time-picker-root.js +25 -12
- package/dist/toast/item/toast-item.d.ts +7 -0
- package/dist/toast/item/toast-item.js +1 -0
- package/dist/toast/root/toast-root.d.ts +9 -1
- package/dist/toast/root/toast-root.js +5 -4
- package/dist/toolbar/root/toolbar-root.d.ts +5 -0
- package/dist/toolbar/root/toolbar-root.js +5 -2
- package/dist/tooltip/root/tooltip-root.d.ts +27 -17
- package/dist/tour/root/tour-root.d.ts +8 -2
- package/dist/tour/root/tour-root.js +4 -2
- package/dist/tour/stop/tour-stop.d.ts +5 -0
- package/dist/tour/stop/tour-stop.js +6 -1
- package/dist/tree/grip.d.ts +5 -0
- package/dist/tree/grip.js +1 -0
- package/dist/tree/item/tree-item.d.ts +24 -0
- package/dist/tree/item/tree-item.js +27 -5
- package/dist/tree/root/tree-root.d.ts +66 -1
- package/dist/tree/root/tree-root.js +77 -5
- package/dist/trend/root/trend-root.d.ts +20 -4
- package/dist/trend/root/trend-root.js +20 -5
- package/dist/video/root/video-root.d.ts +12 -3
- package/dist/video/root/video-root.js +41 -14
- package/dist/video-playlist/menu/video-playlist-menu.d.ts +5 -0
- package/dist/video-playlist/menu/video-playlist-menu.js +3 -1
- package/dist/video-playlist/root/video-playlist-root.d.ts +5 -0
- package/dist/video-playlist/root/video-playlist-root.js +3 -1
- package/dist/virtual-list/root/virtual-list-root.d.ts +19 -3
- package/dist/virtual-list/root/virtual-list-root.js +5 -2
- package/lint.json +1 -1
- package/package.json +9 -8
- package/types/jsx.d.ts +4014 -1862
- package/types/vue.d.ts +1266 -624
- package/types/words.d.ts +3280 -0
- package/dist/toast/hotkey.d.ts +0 -22
- package/dist/toast/hotkey.js +0 -23
package/types/vue.d.ts
CHANGED
|
@@ -204,6 +204,7 @@ import type {
|
|
|
204
204
|
HelixFilterEvent,
|
|
205
205
|
HelixLoadMoreEvent,
|
|
206
206
|
HelixCopyErrorEvent,
|
|
207
|
+
HelixBeforeReorderEvent,
|
|
207
208
|
HelixExpandEvent,
|
|
208
209
|
HelixFilteredEvent,
|
|
209
210
|
HelixNavigateEvent,
|
|
@@ -498,14 +499,22 @@ axes, which is the test the registry answers to. */
|
|
|
498
499
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
499
500
|
derive one rather than dash-casing it, so this would otherwise be
|
|
500
501
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
501
|
-
would catch.
|
|
502
|
+
would catch.
|
|
503
|
+
|
|
504
|
+
A word property: register it for a locale under the host's key. A family
|
|
505
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
506
|
+
declares its own English with `@words` above the override. */
|
|
502
507
|
"dismiss-label"?: (HelixHeadlessAnnouncement["dismissLabel"]) | undefined;
|
|
503
508
|
/** The dismiss control's label, read by screen readers.
|
|
504
509
|
|
|
505
510
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
506
511
|
derive one rather than dash-casing it, so this would otherwise be
|
|
507
512
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
508
|
-
would catch.
|
|
513
|
+
would catch.
|
|
514
|
+
|
|
515
|
+
A word property: register it for a locale under the host's key. A family
|
|
516
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
517
|
+
declares its own English with `@words` above the override. */
|
|
509
518
|
dismissLabel?: (HelixHeadlessAnnouncement["dismissLabel"]) | undefined;
|
|
510
519
|
};
|
|
511
520
|
|
|
@@ -600,6 +609,14 @@ the total.
|
|
|
600
609
|
Absent stacks the amounts, so the top edge is the total. Set, every reading
|
|
601
610
|
fills the height and the bands are shares of it. */
|
|
602
611
|
share?: (HelixHeadlessAreaChart["share"]) | undefined;
|
|
612
|
+
/** The summary's sentence. `{reading}` is the latest reading's name,
|
|
613
|
+
`{totalLabel}` the name for the sum, `{total}` the sum, written in the
|
|
614
|
+
locale, and `{shares}` each part's share, listed as the locale lists. */
|
|
615
|
+
"summary-label"?: (HelixHeadlessAreaChart["summaryLabel"]) | undefined;
|
|
616
|
+
/** The summary's sentence. `{reading}` is the latest reading's name,
|
|
617
|
+
`{totalLabel}` the name for the sum, `{total}` the sum, written in the
|
|
618
|
+
locale, and `{shares}` each part's share, listed as the locale lists. */
|
|
619
|
+
summaryLabel?: (HelixHeadlessAreaChart["summaryLabel"]) | undefined;
|
|
603
620
|
/** The name for the sum of the parts, shown in the tooltip and the summary. */
|
|
604
621
|
"total-label"?: (HelixHeadlessAreaChart["totalLabel"]) | undefined;
|
|
605
622
|
/** The name for the sum of the parts, shown in the tooltip and the summary. */
|
|
@@ -621,8 +638,8 @@ words and is already written. */
|
|
|
621
638
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
622
639
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
623
640
|
|
|
624
|
-
Absent
|
|
625
|
-
writes them, whatever this says. */
|
|
641
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
642
|
+
cells are shown as the table writes them, whatever this says. */
|
|
626
643
|
locale?: (HelixHeadlessAreaChart["locale"]) | undefined;
|
|
627
644
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
628
645
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -664,14 +681,20 @@ everyone, assigning a matching property rather than an attribute.
|
|
|
664
681
|
takes no default**: `max = 0` would stamp `max="0"` onto every host that
|
|
665
682
|
never asked for a limit, including on the server. */
|
|
666
683
|
max?: (HelixHeadlessAvatarGroup["max"]) | undefined;
|
|
667
|
-
/** What a screen reader is told the count is, with `{count}` for the number
|
|
668
|
-
and `{names}` for the people it stands for, by each
|
|
684
|
+
/** What a screen reader is told the count is, with `{count}` for the number,
|
|
685
|
+
written in the locale, and `{names}` for the people it stands for, by each
|
|
686
|
+
avatar's `name`, listed as the locale lists. A language that needs plural
|
|
687
|
+
forms writes them: `{count, plural, one {# osoba więcej: {names}} few
|
|
688
|
+
{# osoby więcej: {names}} other {# osób więcej: {names}}}`.
|
|
669
689
|
|
|
670
690
|
The count shows "+3", which reads as "plus three" and says nothing about
|
|
671
691
|
what was counted, nor who. */
|
|
672
692
|
"overflow-label"?: (HelixHeadlessAvatarGroup["overflowLabel"]) | undefined;
|
|
673
|
-
/** What a screen reader is told the count is, with `{count}` for the number
|
|
674
|
-
and `{names}` for the people it stands for, by each
|
|
693
|
+
/** What a screen reader is told the count is, with `{count}` for the number,
|
|
694
|
+
written in the locale, and `{names}` for the people it stands for, by each
|
|
695
|
+
avatar's `name`, listed as the locale lists. A language that needs plural
|
|
696
|
+
forms writes them: `{count, plural, one {# osoba więcej: {names}} few
|
|
697
|
+
{# osoby więcej: {names}} other {# osób więcej: {names}}}`.
|
|
675
698
|
|
|
676
699
|
The count shows "+3", which reads as "plus three" and says nothing about
|
|
677
700
|
what was counted, nor who. */
|
|
@@ -763,11 +786,15 @@ shown as it is either way. */
|
|
|
763
786
|
|
|
764
787
|
Required for a dot, which has no text to read. `{count}` is replaced with
|
|
765
788
|
what the badge shows, so `label="{count} unread"` reads "8 unread" and
|
|
766
|
-
stays current as `value` changes, with no label of yours to keep in step.
|
|
789
|
+
stays current as `value` changes, with no label of yours to keep in step.
|
|
790
|
+
A language with plural forms writes them, `{count, plural, one {{count}
|
|
791
|
+
nieprzeczytana} few {{count} nieprzeczytane} other {{count}
|
|
792
|
+
nieprzeczytanych}}`, picked by the count in `locale`. */
|
|
767
793
|
label?: (HelixHeadlessBadge["label"]) | undefined;
|
|
768
|
-
/** The locale a count is written in under `format-options`,
|
|
794
|
+
/** The locale a count is written in under `format-options`, and whose plural
|
|
795
|
+
rules `label` picks a form by, such as `de`.
|
|
769
796
|
|
|
770
|
-
Absent
|
|
797
|
+
Absent reads the nearest `lang`, then the runtime's own. */
|
|
771
798
|
locale?: (HelixHeadlessBadge["locale"]) | undefined;
|
|
772
799
|
/** The largest number the badge shows.
|
|
773
800
|
|
|
@@ -811,9 +838,11 @@ of many thin bars, where the eye has stopped counting.
|
|
|
811
838
|
Furniture rather than data, so the rules are inside the `aria-hidden` plot
|
|
812
839
|
and reach no reader through the table. */
|
|
813
840
|
gridlines?: (HelixHeadlessBarChart["gridlines"]) | undefined;
|
|
814
|
-
/** The
|
|
841
|
+
/** The name the summary gives each series' highest reading, `{highestLabel}`
|
|
842
|
+
in `summary-label`. */
|
|
815
843
|
"highest-label"?: (HelixHeadlessBarChart["highestLabel"]) | undefined;
|
|
816
|
-
/** The
|
|
844
|
+
/** The name the summary gives each series' highest reading, `{highestLabel}`
|
|
845
|
+
in `summary-label`. */
|
|
817
846
|
highestLabel?: (HelixHeadlessBarChart["highestLabel"]) | undefined;
|
|
818
847
|
/** The names of the series to draw as lines. The other series are drawn as
|
|
819
848
|
columns.
|
|
@@ -891,6 +920,14 @@ the other. The scale fits the stacks. A series
|
|
|
891
920
|
in `lines` is still a line, measured on its own reading; columns on the
|
|
892
921
|
second scale stack among themselves. */
|
|
893
922
|
stacked?: (HelixHeadlessBarChart["stacked"]) | undefined;
|
|
923
|
+
/** The summary's sentence. `{highestLabel}` is `highest-label`, and
|
|
924
|
+
`{readings}` each series' highest reading: the series, the category and
|
|
925
|
+
the reading as the table writes it. */
|
|
926
|
+
"summary-label"?: (HelixHeadlessBarChart["summaryLabel"]) | undefined;
|
|
927
|
+
/** The summary's sentence. `{highestLabel}` is `highest-label`, and
|
|
928
|
+
`{readings}` each series' highest reading: the series, the category and
|
|
929
|
+
the reading as the table writes it. */
|
|
930
|
+
summaryLabel?: (HelixHeadlessBarChart["summaryLabel"]) | undefined;
|
|
894
931
|
/** The id of the table to read.
|
|
895
932
|
|
|
896
933
|
Names a table in the same tree, so a chart inside another component's
|
|
@@ -908,8 +945,8 @@ words and is already written. */
|
|
|
908
945
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
909
946
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
910
947
|
|
|
911
|
-
Absent
|
|
912
|
-
writes them, whatever this says. */
|
|
948
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
949
|
+
cells are shown as the table writes them, whatever this says. */
|
|
913
950
|
locale?: (HelixHeadlessBarChart["locale"]) | undefined;
|
|
914
951
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
915
952
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -982,10 +1019,14 @@ export type HelixHeadlessBreadcrumbVueEvents = {};
|
|
|
982
1019
|
|
|
983
1020
|
export type HelixHeadlessBreadcrumbsVueProps = {
|
|
984
1021
|
/** The name of the button that shows a folded trail's hidden crumbs. `{count}`
|
|
985
|
-
is
|
|
1022
|
+
is how many it shows, written in the locale, and a language with plural
|
|
1023
|
+
forms writes them: `{count, plural, one {# weiteren zeigen} other {#
|
|
1024
|
+
weitere zeigen}}`. */
|
|
986
1025
|
"expand-label"?: (HelixHeadlessBreadcrumbs["expandLabel"]) | undefined;
|
|
987
1026
|
/** The name of the button that shows a folded trail's hidden crumbs. `{count}`
|
|
988
|
-
is
|
|
1027
|
+
is how many it shows, written in the locale, and a language with plural
|
|
1028
|
+
forms writes them: `{count, plural, one {# weiteren zeigen} other {#
|
|
1029
|
+
weitere zeigen}}`. */
|
|
989
1030
|
expandLabel?: (HelixHeadlessBreadcrumbs["expandLabel"]) | undefined;
|
|
990
1031
|
/** The landmark's name, read by screen readers. An `aria-label` on the host
|
|
991
1032
|
wins over it. */
|
|
@@ -1139,7 +1180,11 @@ not text.
|
|
|
1139
1180
|
|
|
1140
1181
|
Lives here rather than only on `IconButton` so the two share one render.
|
|
1141
1182
|
An icon-only button without it is a control a screen reader announces as
|
|
1142
|
-
"button" and nothing else.
|
|
1183
|
+
"button" and nothing else.
|
|
1184
|
+
|
|
1185
|
+
Undefaulted, so a subclass's own default, such as Copy Button's `Copy`, is
|
|
1186
|
+
the first value its element receives and so the English its words fall
|
|
1187
|
+
back to. */
|
|
1143
1188
|
label?: (HelixHeadlessButton["label"]) | undefined;
|
|
1144
1189
|
/** Whether the action the button started is still running.
|
|
1145
1190
|
|
|
@@ -1275,14 +1320,28 @@ is the whole of the registry, which is why there is no `severity` beside it. */
|
|
|
1275
1320
|
tone?: (HelixHeadlessCallout["tone"]) | undefined;
|
|
1276
1321
|
/** What a screen reader is told the tone is, such as "Fehler".
|
|
1277
1322
|
|
|
1278
|
-
Absent is the
|
|
1279
|
-
"Success" or "Warning". */
|
|
1323
|
+
Absent is the tone's words in `tone-labels`, "Error", "Information",
|
|
1324
|
+
"Note", "Success" or "Warning" in English. */
|
|
1280
1325
|
"tone-label"?: (HelixHeadlessCallout["toneLabel"]) | undefined;
|
|
1281
1326
|
/** What a screen reader is told the tone is, such as "Fehler".
|
|
1282
1327
|
|
|
1283
|
-
Absent is the
|
|
1284
|
-
"Success" or "Warning". */
|
|
1328
|
+
Absent is the tone's words in `tone-labels`, "Error", "Information",
|
|
1329
|
+
"Note", "Success" or "Warning" in English. */
|
|
1285
1330
|
toneLabel?: (HelixHeadlessCallout["toneLabel"]) | undefined;
|
|
1331
|
+
/** What a screen reader is told each tone is, by the tone's name, written as
|
|
1332
|
+
JSON in the attribute: `tone-labels='{"danger":"Fehler"}'`. A tone left
|
|
1333
|
+
out keeps its English, and `tone-label` wins over both.
|
|
1334
|
+
|
|
1335
|
+
`danger` is said as "Error", the word a reader understands, and
|
|
1336
|
+
`neutral` as "Note", for what the passage is. */
|
|
1337
|
+
"tone-labels"?: (HelixHeadlessCallout["toneLabels"]) | undefined;
|
|
1338
|
+
/** What a screen reader is told each tone is, by the tone's name, written as
|
|
1339
|
+
JSON in the attribute: `tone-labels='{"danger":"Fehler"}'`. A tone left
|
|
1340
|
+
out keeps its English, and `tone-label` wins over both.
|
|
1341
|
+
|
|
1342
|
+
`danger` is said as "Error", the word a reader understands, and
|
|
1343
|
+
`neutral` as "Note", for what the passage is. */
|
|
1344
|
+
toneLabels?: (HelixHeadlessCallout["toneLabels"]) | undefined;
|
|
1286
1345
|
/** Whether the element shows a control that dismisses it. */
|
|
1287
1346
|
dismissible?: (HelixHeadlessCallout["dismissible"]) | undefined;
|
|
1288
1347
|
/** The dismiss control's label, read by screen readers.
|
|
@@ -1290,14 +1349,22 @@ Absent is the English for the tone: "Error", "Information", "Note",
|
|
|
1290
1349
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
1291
1350
|
derive one rather than dash-casing it, so this would otherwise be
|
|
1292
1351
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
1293
|
-
would catch.
|
|
1352
|
+
would catch.
|
|
1353
|
+
|
|
1354
|
+
A word property: register it for a locale under the host's key. A family
|
|
1355
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
1356
|
+
declares its own English with `@words` above the override. */
|
|
1294
1357
|
"dismiss-label"?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
|
|
1295
1358
|
/** The dismiss control's label, read by screen readers.
|
|
1296
1359
|
|
|
1297
1360
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
1298
1361
|
derive one rather than dash-casing it, so this would otherwise be
|
|
1299
1362
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
1300
|
-
would catch.
|
|
1363
|
+
would catch.
|
|
1364
|
+
|
|
1365
|
+
A word property: register it for a locale under the host's key. A family
|
|
1366
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
1367
|
+
declares its own English with `@words` above the override. */
|
|
1301
1368
|
dismissLabel?: (HelixHeadlessCallout["dismissLabel"]) | undefined;
|
|
1302
1369
|
};
|
|
1303
1370
|
|
|
@@ -1497,6 +1564,12 @@ export type HelixHeadlessCanvasHelixSelectElementEvent =
|
|
|
1497
1564
|
HelixHeadlessCanvasElementEvent<HelixSelectEvent>;
|
|
1498
1565
|
|
|
1499
1566
|
export type HelixHeadlessCanvasVueProps = {
|
|
1567
|
+
/** The hint shown when the board, waiting to be pressed with
|
|
1568
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
1569
|
+
"activate-hint-label"?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
|
|
1570
|
+
/** The hint shown when the board, waiting to be pressed with
|
|
1571
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
1572
|
+
activateHintLabel?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
|
|
1500
1573
|
/** The text read with a card to say where its connections come from, with `{cards}`. */
|
|
1501
1574
|
"comes-from-label"?: (HelixHeadlessCanvas["comesFromLabel"]) | undefined;
|
|
1502
1575
|
/** The text read with a card to say where its connections come from, with `{cards}`. */
|
|
@@ -1527,6 +1600,16 @@ this, so a reader hears the ends first and what the line says after. */
|
|
|
1527
1600
|
Its own label, where it has one, is its description rather than part of
|
|
1528
1601
|
this, so a reader hears the ends first and what the line says after. */
|
|
1529
1602
|
connectionLabel?: (HelixHeadlessCanvas["connectionLabel"]) | undefined;
|
|
1603
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
1604
|
+
what the controls drive rather than the mechanism. */
|
|
1605
|
+
"controls-label"?: (HelixHeadlessCanvas["controlsLabel"]) | undefined;
|
|
1606
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
1607
|
+
what the controls drive rather than the mechanism. */
|
|
1608
|
+
controlsLabel?: (HelixHeadlessCanvas["controlsLabel"]) | undefined;
|
|
1609
|
+
/** The board's name where `label` is empty. */
|
|
1610
|
+
"fallback-label"?: (HelixHeadlessCanvas["fallbackLabel"]) | undefined;
|
|
1611
|
+
/** The board's name where `label` is empty. */
|
|
1612
|
+
fallbackLabel?: (HelixHeadlessCanvas["fallbackLabel"]) | undefined;
|
|
1530
1613
|
/** The accessible name for the board. Required.
|
|
1531
1614
|
|
|
1532
1615
|
A document has no name of its own in the format, and "Canvas" names the
|
|
@@ -1550,6 +1633,12 @@ as the list.
|
|
|
1550
1633
|
The list is joined the way the page's language joins one, "Second and
|
|
1551
1634
|
Third", rather than with a comma this component chose. */
|
|
1552
1635
|
leadsToLabel?: (HelixHeadlessCanvas["leadsToLabel"]) | undefined;
|
|
1636
|
+
/** The text read with a card that has connections both ways. `{leadsTo}` is
|
|
1637
|
+
`leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in. */
|
|
1638
|
+
"linked-label"?: (HelixHeadlessCanvas["linkedLabel"]) | undefined;
|
|
1639
|
+
/** The text read with a card that has connections both ways. `{leadsTo}` is
|
|
1640
|
+
`leads-to-label` and `{comesFrom}` is `comes-from-label`, each filled in. */
|
|
1641
|
+
linkedLabel?: (HelixHeadlessCanvas["linkedLabel"]) | undefined;
|
|
1553
1642
|
/** What screen readers hear after a key moves a card, with `{name}` for the
|
|
1554
1643
|
card and `{x}` and `{y}` for where it now is, in the document's units.
|
|
1555
1644
|
|
|
@@ -1645,7 +1734,8 @@ A card is an article and a connection a button, and neither has a selected
|
|
|
1645
1734
|
state for `aria-selected` to carry, so the state is said in words. */
|
|
1646
1735
|
selectedLabel?: (HelixHeadlessCanvas["selectedLabel"]) | undefined;
|
|
1647
1736
|
/** What screen readers hear after the selection grows or shrinks, with
|
|
1648
|
-
`{count}` for how many cards and connections are selected
|
|
1737
|
+
`{count}` for how many cards and connections are selected, written in the
|
|
1738
|
+
locale, where a language that needs plural forms writes them: by Space, a
|
|
1649
1739
|
click with Shift, Command or Control, Command or Control with A, a box
|
|
1650
1740
|
drawn across the board, or Escape.
|
|
1651
1741
|
|
|
@@ -1653,7 +1743,8 @@ A selection of one made by arriving on a card or clicking it is not said,
|
|
|
1653
1743
|
since the card is. */
|
|
1654
1744
|
"selection-label"?: (HelixHeadlessCanvas["selectionLabel"]) | undefined;
|
|
1655
1745
|
/** What screen readers hear after the selection grows or shrinks, with
|
|
1656
|
-
`{count}` for how many cards and connections are selected
|
|
1746
|
+
`{count}` for how many cards and connections are selected, written in the
|
|
1747
|
+
locale, where a language that needs plural forms writes them: by Space, a
|
|
1657
1748
|
click with Shift, Command or Control, Command or Control with A, a box
|
|
1658
1749
|
drawn across the board, or Escape.
|
|
1659
1750
|
|
|
@@ -1691,18 +1782,26 @@ red is "blocked" on one board and "urgent" on the next. A reader who can
|
|
|
1691
1782
|
see the board is told by the color; this is how a reader who cannot is
|
|
1692
1783
|
told the same. A tone left out is not read. */
|
|
1693
1784
|
toneLabels?: (HelixHeadlessCanvas["toneLabels"]) | undefined;
|
|
1785
|
+
/** The hint shown when one finger swipes over the board with `gestures="cooperative"`. */
|
|
1786
|
+
"two-finger-hint-label"?: (HelixHeadlessCanvas["twoFingerHintLabel"]) | undefined;
|
|
1787
|
+
/** The hint shown when one finger swipes over the board with `gestures="cooperative"`. */
|
|
1788
|
+
twoFingerHintLabel?: (HelixHeadlessCanvas["twoFingerHintLabel"]) | undefined;
|
|
1789
|
+
/** The line shown while the board, with `gestures="activate"`, has the gestures. */
|
|
1790
|
+
"using-label"?: (HelixHeadlessCanvas["usingLabel"]) | undefined;
|
|
1791
|
+
/** The line shown while the board, with `gestures="activate"`, has the gestures. */
|
|
1792
|
+
usingLabel?: (HelixHeadlessCanvas["usingLabel"]) | undefined;
|
|
1793
|
+
/** The hint shown when the wheel scrolls past the board with
|
|
1794
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
1795
|
+
"wheel-hint-label"?: (HelixHeadlessCanvas["wheelHintLabel"]) | undefined;
|
|
1796
|
+
/** The hint shown when the wheel scrolls past the board with
|
|
1797
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
1798
|
+
wheelHintLabel?: (HelixHeadlessCanvas["wheelHintLabel"]) | undefined;
|
|
1694
1799
|
/** What screen readers hear after a zoom button or key, with `{zoom}` for the
|
|
1695
|
-
zoom as a percentage, written the way the
|
|
1800
|
+
zoom as a percentage, written the way the element's locale writes one. */
|
|
1696
1801
|
"zoomed-label"?: (HelixHeadlessCanvas["zoomedLabel"]) | undefined;
|
|
1697
1802
|
/** What screen readers hear after a zoom button or key, with `{zoom}` for the
|
|
1698
|
-
zoom as a percentage, written the way the
|
|
1803
|
+
zoom as a percentage, written the way the element's locale writes one. */
|
|
1699
1804
|
zoomedLabel?: (HelixHeadlessCanvas["zoomedLabel"]) | undefined;
|
|
1700
|
-
/** The hint shown when a surface waiting to be pressed is scrolled or
|
|
1701
|
-
swiped over, with `gestures="activate"`. Absent is the family's own. */
|
|
1702
|
-
"activate-hint-label"?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
|
|
1703
|
-
/** The hint shown when a surface waiting to be pressed is scrolled or
|
|
1704
|
-
swiped over, with `gestures="activate"`. Absent is the family's own. */
|
|
1705
|
-
activateHintLabel?: (HelixHeadlessCanvas["activateHintLabel"]) | undefined;
|
|
1706
1805
|
/** Which controls to show, as a list such as `pan zoom fullscreen`, or
|
|
1707
1806
|
`none`. A family can add words of its own.
|
|
1708
1807
|
|
|
@@ -1725,20 +1824,6 @@ of the frame. The
|
|
|
1725
1824
|
stylesheet lays the cluster out by which buttons are in it rather than by
|
|
1726
1825
|
this attribute, so the two defaults need no rule each. */
|
|
1727
1826
|
controls?: (HelixHeadlessCanvas["controls"]) | undefined;
|
|
1728
|
-
/** The name of the group of controls, read by screen readers.
|
|
1729
|
-
|
|
1730
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
1731
|
-
controls", which names what the controls drive rather than the
|
|
1732
|
-
mechanism. Written here to say it in another language, which every other
|
|
1733
|
-
string this surface speaks already allowed and this one did not. */
|
|
1734
|
-
"controls-label"?: (HelixHeadlessCanvas["controlsLabel"]) | undefined;
|
|
1735
|
-
/** The name of the group of controls, read by screen readers.
|
|
1736
|
-
|
|
1737
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
1738
|
-
controls", which names what the controls drive rather than the
|
|
1739
|
-
mechanism. Written here to say it in another language, which every other
|
|
1740
|
-
string this surface speaks already allowed and this one did not. */
|
|
1741
|
-
controlsLabel?: (HelixHeadlessCanvas["controlsLabel"]) | undefined;
|
|
1742
1827
|
/** Which corner the controls sit in.
|
|
1743
1828
|
|
|
1744
1829
|
**Configurable because there is no safe default**, which is a collision
|
|
@@ -1841,26 +1926,6 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
|
1841
1926
|
"pan-up-label"?: (HelixHeadlessCanvas["panUpLabel"]) | undefined;
|
|
1842
1927
|
/** The pan up button's label. */
|
|
1843
1928
|
panUpLabel?: (HelixHeadlessCanvas["panUpLabel"]) | undefined;
|
|
1844
|
-
/** The hint shown when one finger swipes over a surface with
|
|
1845
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
1846
|
-
"two-finger-hint-label"?: (HelixHeadlessCanvas["twoFingerHintLabel"]) | undefined;
|
|
1847
|
-
/** The hint shown when one finger swipes over a surface with
|
|
1848
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
1849
|
-
twoFingerHintLabel?: (HelixHeadlessCanvas["twoFingerHintLabel"]) | undefined;
|
|
1850
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
1851
|
-
gestures. Absent is the family's own. */
|
|
1852
|
-
"using-label"?: (HelixHeadlessCanvas["usingLabel"]) | undefined;
|
|
1853
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
1854
|
-
gestures. Absent is the family's own. */
|
|
1855
|
-
usingLabel?: (HelixHeadlessCanvas["usingLabel"]) | undefined;
|
|
1856
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
1857
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
1858
|
-
elsewhere. Absent is the family's own. */
|
|
1859
|
-
"wheel-hint-label"?: (HelixHeadlessCanvas["wheelHintLabel"]) | undefined;
|
|
1860
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
1861
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
1862
|
-
elsewhere. Absent is the family's own. */
|
|
1863
|
-
wheelHintLabel?: (HelixHeadlessCanvas["wheelHintLabel"]) | undefined;
|
|
1864
1929
|
/** The zoom in button's label. */
|
|
1865
1930
|
"zoom-in-label"?: (HelixHeadlessCanvas["zoomInLabel"]) | undefined;
|
|
1866
1931
|
/** The zoom in button's label. */
|
|
@@ -2347,9 +2412,8 @@ nothing for `them`. */
|
|
|
2347
2412
|
"failed-label"?: (HelixHeadlessChatMessage["failedLabel"]) | undefined;
|
|
2348
2413
|
/** Label for a message that did not send. */
|
|
2349
2414
|
failedLabel?: (HelixHeadlessChatMessage["failedLabel"]) | undefined;
|
|
2350
|
-
/**
|
|
2351
|
-
|
|
2352
|
-
Empty is the runtime's own. */
|
|
2415
|
+
/** The locale the timestamp and the words are in, as a BCP 47 tag such as
|
|
2416
|
+
`de`. Empty reads the nearest `lang`, then the browser's language. */
|
|
2353
2417
|
locale?: (HelixHeadlessChatMessage["locale"]) | undefined;
|
|
2354
2418
|
/** Label for the retry button on a failed message. */
|
|
2355
2419
|
"retry-label"?: (HelixHeadlessChatMessage["retryLabel"]) | undefined;
|
|
@@ -2426,6 +2490,24 @@ set.
|
|
|
2426
2490
|
attribute could not say that: it is true by being there, whatever it holds,
|
|
2427
2491
|
so a default of true had no attribute that turned it off. */
|
|
2428
2492
|
defaultPinned?: (HelixHeadlessChat["defaultPinned"]) | undefined;
|
|
2493
|
+
/** What a turn from `turns` that did not send says, and what a screen reader
|
|
2494
|
+
hears before its words. A turn you write as a child says its own
|
|
2495
|
+
`failed-label`. */
|
|
2496
|
+
"failed-label"?: (HelixHeadlessChat["failedLabel"]) | undefined;
|
|
2497
|
+
/** What a turn from `turns` that did not send says, and what a screen reader
|
|
2498
|
+
hears before its words. A turn you write as a child says its own
|
|
2499
|
+
`failed-label`. */
|
|
2500
|
+
failedLabel?: (HelixHeadlessChat["failedLabel"]) | undefined;
|
|
2501
|
+
/** What a screen reader hears for a turn that did not send. `{failed}` is the
|
|
2502
|
+
turn's `failed-label` and `{text}` is its words. */
|
|
2503
|
+
"failed-turn-label"?: (HelixHeadlessChat["failedTurnLabel"]) | undefined;
|
|
2504
|
+
/** What a screen reader hears for a turn that did not send. `{failed}` is the
|
|
2505
|
+
turn's `failed-label` and `{text}` is its words. */
|
|
2506
|
+
failedTurnLabel?: (HelixHeadlessChat["failedTurnLabel"]) | undefined;
|
|
2507
|
+
/** The conversation's name, read by screen readers, where `label` is empty. */
|
|
2508
|
+
"fallback-label"?: (HelixHeadlessChat["fallbackLabel"]) | undefined;
|
|
2509
|
+
/** The conversation's name, read by screen readers, where `label` is empty. */
|
|
2510
|
+
fallbackLabel?: (HelixHeadlessChat["fallbackLabel"]) | undefined;
|
|
2429
2511
|
/** Whether there are older turns to load, and whether they are loading.
|
|
2430
2512
|
|
|
2431
2513
|
`more` makes reaching the top fire `helix-history`, once per arrival;
|
|
@@ -2553,6 +2635,14 @@ Read from the boxes once they are known, so a box a script ticks directly
|
|
|
2553
2635
|
is in it at once. Written, it is pushed onto the boxes. A box whose value
|
|
2554
2636
|
holds a comma cannot be named here: use `values`. */
|
|
2555
2637
|
value?: (HelixHeadlessCheckboxGroup["value"]) | undefined;
|
|
2638
|
+
/** The message reported when the field is required and no box is ticked.
|
|
2639
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
2640
|
+
locale. */
|
|
2641
|
+
"value-missing-message"?: (HelixHeadlessCheckboxGroup["valueMissingMessage"]) | undefined;
|
|
2642
|
+
/** The message reported when the field is required and no box is ticked.
|
|
2643
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
2644
|
+
locale. */
|
|
2645
|
+
valueMissingMessage?: (HelixHeadlessCheckboxGroup["valueMissingMessage"]) | undefined;
|
|
2556
2646
|
/** */
|
|
2557
2647
|
"aria-label"?: unknown;
|
|
2558
2648
|
/** The validation message shown under the control. It replaces the
|
|
@@ -2565,24 +2655,6 @@ browser's message. */
|
|
|
2565
2655
|
label?: (HelixHeadlessCheckboxGroup["label"]) | undefined;
|
|
2566
2656
|
/** Whether the field needs a value before the form can submit. */
|
|
2567
2657
|
required?: (HelixHeadlessCheckboxGroup["required"]) | undefined;
|
|
2568
|
-
/** The message shown when the field is required and empty.
|
|
2569
|
-
|
|
2570
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
2571
|
-
set and the browser's own on a text field, which the browser writes in
|
|
2572
|
-
the reader's language. Every other word a control speaks is a property,
|
|
2573
|
-
and this one was the English a form in another language still spoke in
|
|
2574
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
2575
|
-
the field and does not reach that one. */
|
|
2576
|
-
"value-missing-message"?: (HelixHeadlessCheckboxGroup["valueMissingMessage"]) | undefined;
|
|
2577
|
-
/** The message shown when the field is required and empty.
|
|
2578
|
-
|
|
2579
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
2580
|
-
set and the browser's own on a text field, which the browser writes in
|
|
2581
|
-
the reader's language. Every other word a control speaks is a property,
|
|
2582
|
-
and this one was the English a form in another language still spoke in
|
|
2583
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
2584
|
-
the field and does not reach that one. */
|
|
2585
|
-
valueMissingMessage?: (HelixHeadlessCheckboxGroup["valueMissingMessage"]) | undefined;
|
|
2586
2658
|
/** Whether the control is disabled and cannot be used.
|
|
2587
2659
|
|
|
2588
2660
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -2645,6 +2717,14 @@ reads it as `:state(indeterminate)`. */
|
|
|
2645
2717
|
indeterminate?: (HelixHeadlessCheckbox["indeterminate"]) | undefined;
|
|
2646
2718
|
/** The value submitted when the box is checked. */
|
|
2647
2719
|
value?: (HelixHeadlessCheckbox["value"]) | undefined;
|
|
2720
|
+
/** The message reported when the field is required and the box is not ticked.
|
|
2721
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
2722
|
+
locale. */
|
|
2723
|
+
"value-missing-message"?: (HelixHeadlessCheckbox["valueMissingMessage"]) | undefined;
|
|
2724
|
+
/** The message reported when the field is required and the box is not ticked.
|
|
2725
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
2726
|
+
locale. */
|
|
2727
|
+
valueMissingMessage?: (HelixHeadlessCheckbox["valueMissingMessage"]) | undefined;
|
|
2648
2728
|
/** Whether the control is checked.
|
|
2649
2729
|
|
|
2650
2730
|
One property rather than two. Writing always applies;
|
|
@@ -2696,24 +2776,6 @@ browser's message. */
|
|
|
2696
2776
|
label?: (HelixHeadlessCheckbox["label"]) | undefined;
|
|
2697
2777
|
/** Whether the field needs a value before the form can submit. */
|
|
2698
2778
|
required?: (HelixHeadlessCheckbox["required"]) | undefined;
|
|
2699
|
-
/** The message shown when the field is required and empty.
|
|
2700
|
-
|
|
2701
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
2702
|
-
set and the browser's own on a text field, which the browser writes in
|
|
2703
|
-
the reader's language. Every other word a control speaks is a property,
|
|
2704
|
-
and this one was the English a form in another language still spoke in
|
|
2705
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
2706
|
-
the field and does not reach that one. */
|
|
2707
|
-
"value-missing-message"?: (HelixHeadlessCheckbox["valueMissingMessage"]) | undefined;
|
|
2708
|
-
/** The message shown when the field is required and empty.
|
|
2709
|
-
|
|
2710
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
2711
|
-
set and the browser's own on a text field, which the browser writes in
|
|
2712
|
-
the reader's language. Every other word a control speaks is a property,
|
|
2713
|
-
and this one was the English a form in another language still spoke in
|
|
2714
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
2715
|
-
the field and does not reach that one. */
|
|
2716
|
-
valueMissingMessage?: (HelixHeadlessCheckbox["valueMissingMessage"]) | undefined;
|
|
2717
2779
|
/** Whether the control is disabled and cannot be used.
|
|
2718
2780
|
|
|
2719
2781
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -2763,15 +2825,21 @@ export type HelixHeadlessCodeBlockVueProps = {
|
|
|
2763
2825
|
/** The copy button's name and tooltip text before a copy.
|
|
2764
2826
|
|
|
2765
2827
|
Where the block has a name, the button says it too, such as "Copy code,
|
|
2766
|
-
app.ts", so each copy button on a page with
|
|
2767
|
-
In a diff, that is each file's own name. */
|
|
2828
|
+
app.ts", as `copy-name-label` puts it, so each copy button on a page with
|
|
2829
|
+
several blocks is told apart. In a diff, that is each file's own name. */
|
|
2768
2830
|
"copy-label"?: (HelixHeadlessCodeBlock["copyLabel"]) | undefined;
|
|
2769
2831
|
/** The copy button's name and tooltip text before a copy.
|
|
2770
2832
|
|
|
2771
2833
|
Where the block has a name, the button says it too, such as "Copy code,
|
|
2772
|
-
app.ts", so each copy button on a page with
|
|
2773
|
-
In a diff, that is each file's own name. */
|
|
2834
|
+
app.ts", as `copy-name-label` puts it, so each copy button on a page with
|
|
2835
|
+
several blocks is told apart. In a diff, that is each file's own name. */
|
|
2774
2836
|
copyLabel?: (HelixHeadlessCodeBlock["copyLabel"]) | undefined;
|
|
2837
|
+
/** The copy button's name and tooltip text before a copy, where the block
|
|
2838
|
+
has a name. `{copy}` is `copy-label` and `{name}` the block's name. */
|
|
2839
|
+
"copy-name-label"?: (HelixHeadlessCodeBlock["copyNameLabel"]) | undefined;
|
|
2840
|
+
/** The copy button's name and tooltip text before a copy, where the block
|
|
2841
|
+
has a name. `{copy}` is `copy-label` and `{name}` the block's name. */
|
|
2842
|
+
copyNameLabel?: (HelixHeadlessCodeBlock["copyNameLabel"]) | undefined;
|
|
2775
2843
|
/** Whether the content is a unified diff, drawn as the lines it changed.
|
|
2776
2844
|
|
|
2777
2845
|
Reflected, because the stylesheet paints a diff differently from code, and
|
|
@@ -2967,6 +3035,14 @@ Date Input and Time Input. */
|
|
|
2967
3035
|
readOnly?: (HelixHeadlessColorInput["readOnly"]) | undefined;
|
|
2968
3036
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
2969
3037
|
swatches?: (HelixHeadlessColorInput["swatches"]) | undefined;
|
|
3038
|
+
/** What the swatch says in `variant="swatch"`, after the field's label, once
|
|
3039
|
+
there is a color. `{name}` is the color's name, such as "vibrant red", and
|
|
3040
|
+
`{value}` the value as written. */
|
|
3041
|
+
"swatch-label"?: (HelixHeadlessColorInput["swatchLabel"]) | undefined;
|
|
3042
|
+
/** What the swatch says in `variant="swatch"`, after the field's label, once
|
|
3043
|
+
there is a color. `{name}` is the color's name, such as "vibrant red", and
|
|
3044
|
+
`{value}` the value as written. */
|
|
3045
|
+
swatchLabel?: (HelixHeadlessColorInput["swatchLabel"]) | undefined;
|
|
2970
3046
|
/** Accessible name for the control that opens the panel. */
|
|
2971
3047
|
"trigger-label"?: (HelixHeadlessColorInput["triggerLabel"]) | undefined;
|
|
2972
3048
|
/** Accessible name for the control that opens the panel. */
|
|
@@ -3052,18 +3128,22 @@ browser's message. */
|
|
|
3052
3128
|
required?: (HelixHeadlessColorInput["required"]) | undefined;
|
|
3053
3129
|
/** The message shown when the field is required and empty.
|
|
3054
3130
|
|
|
3055
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
3056
|
-
set and the browser's own on a text field, which the
|
|
3057
|
-
the reader's language.
|
|
3131
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
3132
|
+
continue." on a set and the browser's own on a text field, which the
|
|
3133
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
3134
|
+
own declares it as this property's English, a word property a page
|
|
3135
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
3058
3136
|
and this one was the English a form in another language still spoke in
|
|
3059
3137
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
3060
3138
|
the field and does not reach that one. */
|
|
3061
3139
|
"value-missing-message"?: (HelixHeadlessColorInput["valueMissingMessage"]) | undefined;
|
|
3062
3140
|
/** The message shown when the field is required and empty.
|
|
3063
3141
|
|
|
3064
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
3065
|
-
set and the browser's own on a text field, which the
|
|
3066
|
-
the reader's language.
|
|
3142
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
3143
|
+
continue." on a set and the browser's own on a text field, which the
|
|
3144
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
3145
|
+
own declares it as this property's English, a word property a page
|
|
3146
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
3067
3147
|
and this one was the English a form in another language still spoke in
|
|
3068
3148
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
3069
3149
|
the field and does not reach that one. */
|
|
@@ -3366,6 +3446,22 @@ into. */
|
|
|
3366
3446
|
"saturation-label"?: (HelixHeadlessColorPicker["saturationLabel"]) | undefined;
|
|
3367
3447
|
/** What the square's horizontal ramp is called. */
|
|
3368
3448
|
saturationLabel?: (HelixHeadlessColorPicker["saturationLabel"]) | undefined;
|
|
3449
|
+
/** What a screen reader hears for the square's place, the color's two
|
|
3450
|
+
numbers and its name, on whichever of its two inputs it is on.
|
|
3451
|
+
`{first}` is `saturation` or `brightness`, the input's own channel, which
|
|
3452
|
+
is said first, so each order is its whole sentence. `{saturation}` and
|
|
3453
|
+
`{brightness}` are shares from 0 to 1, written as percentages with
|
|
3454
|
+
`number, percent`, `{saturationLabel}` and `{brightnessLabel}` the
|
|
3455
|
+
channels' names, and `{name}` the color's, such as "vibrant red". */
|
|
3456
|
+
"square-text"?: (HelixHeadlessColorPicker["squareText"]) | undefined;
|
|
3457
|
+
/** What a screen reader hears for the square's place, the color's two
|
|
3458
|
+
numbers and its name, on whichever of its two inputs it is on.
|
|
3459
|
+
`{first}` is `saturation` or `brightness`, the input's own channel, which
|
|
3460
|
+
is said first, so each order is its whole sentence. `{saturation}` and
|
|
3461
|
+
`{brightness}` are shares from 0 to 1, written as percentages with
|
|
3462
|
+
`number, percent`, `{saturationLabel}` and `{brightnessLabel}` the
|
|
3463
|
+
channels' names, and `{name}` the color's, such as "vibrant red". */
|
|
3464
|
+
squareText?: (HelixHeadlessColorPicker["squareText"]) | undefined;
|
|
3369
3465
|
/** Colors offered under the picker, as a comma-separated list. */
|
|
3370
3466
|
swatches?: (HelixHeadlessColorPicker["swatches"]) | undefined;
|
|
3371
3467
|
/** What the group holding the eyedropper and the syntax toggle is called. */
|
|
@@ -3380,13 +3476,15 @@ into. */
|
|
|
3380
3476
|
|
|
3381
3477
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
3382
3478
|
named for the validity flag it reports, so a form in another language
|
|
3383
|
-
speaks it.
|
|
3479
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
3480
|
+
the English. */
|
|
3384
3481
|
"value-missing-message"?: (HelixHeadlessColorPicker["valueMissingMessage"]) | undefined;
|
|
3385
3482
|
/** The message shown when a color is required and none is chosen.
|
|
3386
3483
|
|
|
3387
3484
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
3388
3485
|
named for the validity flag it reports, so a form in another language
|
|
3389
|
-
speaks it.
|
|
3486
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
3487
|
+
the English. */
|
|
3390
3488
|
valueMissingMessage?: (HelixHeadlessColorPicker["valueMissingMessage"]) | undefined;
|
|
3391
3489
|
/** Draws the hue as a wheel around the square, in place of the hue ramp, as
|
|
3392
3490
|
React Aria's ColorWheel sits round its ColorArea.
|
|
@@ -3535,9 +3633,15 @@ it is offered next to near misses too: a reader typing "Ruby on Rails" with
|
|
|
3535
3633
|
halfway through. The arrow keys reach it after the last option, and Enter
|
|
3536
3634
|
on it adds what was typed. */
|
|
3537
3635
|
creatable?: (HelixHeadlessCombobox["creatable"]) | undefined;
|
|
3538
|
-
/** The text of the create row
|
|
3636
|
+
/** The text of the create row. `{value}` is what was typed.
|
|
3637
|
+
|
|
3638
|
+
A sentence without `{value}`, such as `Create`, is followed by what was
|
|
3639
|
+
typed in quotes, as before `{value}` existed. */
|
|
3539
3640
|
"create-label"?: (HelixHeadlessCombobox["createLabel"]) | undefined;
|
|
3540
|
-
/** The text of the create row
|
|
3641
|
+
/** The text of the create row. `{value}` is what was typed.
|
|
3642
|
+
|
|
3643
|
+
A sentence without `{value}`, such as `Create`, is followed by what was
|
|
3644
|
+
typed in quotes, as before `{value}` existed. */
|
|
3541
3645
|
createLabel?: (HelixHeadlessCombobox["createLabel"]) | undefined;
|
|
3542
3646
|
/** Text shown when the filter hides every option. */
|
|
3543
3647
|
"empty-text"?: (HelixHeadlessCombobox["emptyText"]) | undefined;
|
|
@@ -3582,6 +3686,10 @@ message belongs. */
|
|
|
3582
3686
|
"loading-text"?: (HelixHeadlessCombobox["loadingText"]) | undefined;
|
|
3583
3687
|
/** Text the list shows while the options load. */
|
|
3584
3688
|
loadingText?: (HelixHeadlessCombobox["loadingText"]) | undefined;
|
|
3689
|
+
/** The locale the words, plural forms, and numbers are in, as a BCP 47 tag
|
|
3690
|
+
such as `pl`. Empty reads the nearest `lang`, then the browser's
|
|
3691
|
+
language. */
|
|
3692
|
+
locale?: (HelixHeadlessCombobox["locale"]) | undefined;
|
|
3585
3693
|
/** Whether more than one option can be chosen.
|
|
3586
3694
|
|
|
3587
3695
|
The list already does the work: `value` comes apart on commas, a press
|
|
@@ -3640,19 +3748,21 @@ filled in.
|
|
|
3640
3748
|
**The name goes in**, so a row of them is heard as which one each
|
|
3641
3749
|
removes rather than as "Remove" said once per chosen option. */
|
|
3642
3750
|
removeLabel?: (HelixHeadlessCombobox["removeLabel"]) | undefined;
|
|
3643
|
-
/** What a screen reader hears when typing leaves one option
|
|
3644
|
-
the count. */
|
|
3751
|
+
/** What a screen reader hears when typing leaves one option, where
|
|
3752
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
3645
3753
|
"result-label"?: (HelixHeadlessCombobox["resultLabel"]) | undefined;
|
|
3646
|
-
/** What a screen reader hears when typing leaves one option
|
|
3647
|
-
the count. */
|
|
3754
|
+
/** What a screen reader hears when typing leaves one option, where
|
|
3755
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
3648
3756
|
resultLabel?: (HelixHeadlessCombobox["resultLabel"]) | undefined;
|
|
3649
|
-
/** What a screen reader hears when typing
|
|
3650
|
-
options
|
|
3651
|
-
|
|
3757
|
+
/** What a screen reader hears when typing narrows the list. `{count}` is how
|
|
3758
|
+
many options are left, written in the locale, and each language writes
|
|
3759
|
+
the forms it has: `{count, plural, one {# wynik} few {# wyniki} many
|
|
3760
|
+
{# wyników} other {# wyniku}}`. */
|
|
3652
3761
|
"results-label"?: (HelixHeadlessCombobox["resultsLabel"]) | undefined;
|
|
3653
|
-
/** What a screen reader hears when typing
|
|
3654
|
-
options
|
|
3655
|
-
|
|
3762
|
+
/** What a screen reader hears when typing narrows the list. `{count}` is how
|
|
3763
|
+
many options are left, written in the locale, and each language writes
|
|
3764
|
+
the forms it has: `{count, plural, one {# wynik} few {# wyniki} many
|
|
3765
|
+
{# wyników} other {# wyniku}}`. */
|
|
3656
3766
|
resultsLabel?: (HelixHeadlessCombobox["resultsLabel"]) | undefined;
|
|
3657
3767
|
/** What VoiceOver hears for a chosen option, as the highlight reaches it and
|
|
3658
3768
|
once it is chosen, on Apple devices. `{name}` is the option's words. */
|
|
@@ -3667,6 +3777,14 @@ element already sets on the input it renders, and two things of one name
|
|
|
3667
3777
|
meaning different things on the same control is a question a consumer
|
|
3668
3778
|
should not have to ask. */
|
|
3669
3779
|
suggest?: (HelixHeadlessCombobox["suggest"]) | undefined;
|
|
3780
|
+
/** The message reported when the field is required and nothing is chosen.
|
|
3781
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
3782
|
+
locale. */
|
|
3783
|
+
"value-missing-message"?: (HelixHeadlessCombobox["valueMissingMessage"]) | undefined;
|
|
3784
|
+
/** The message reported when the field is required and nothing is chosen.
|
|
3785
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
3786
|
+
locale. */
|
|
3787
|
+
valueMissingMessage?: (HelixHeadlessCombobox["valueMissingMessage"]) | undefined;
|
|
3670
3788
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
3671
3789
|
"default-open"?: (HelixHeadlessCombobox["defaultOpen"]) | undefined;
|
|
3672
3790
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
@@ -3700,6 +3818,12 @@ as `+3`, does not say what it does. */
|
|
|
3700
3818
|
"max-tags"?: (HelixHeadlessCombobox["maxTags"] | `${number}`) | undefined;
|
|
3701
3819
|
/** How many tokens to show before the rest become a count. */
|
|
3702
3820
|
maxTags?: (HelixHeadlessCombobox["maxTags"]) | undefined;
|
|
3821
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
3822
|
+
for the number, written in the element's locale. */
|
|
3823
|
+
"rest-text"?: (HelixHeadlessCombobox["restText"]) | undefined;
|
|
3824
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
3825
|
+
for the number, written in the element's locale. */
|
|
3826
|
+
restText?: (HelixHeadlessCombobox["restText"]) | undefined;
|
|
3703
3827
|
/** The value the control starts with. A form reset returns it to this value,
|
|
3704
3828
|
and to the `value` attribute where this one is not written, as a native
|
|
3705
3829
|
control resets to the `value` it declares. */
|
|
@@ -3727,24 +3851,6 @@ browser's message. */
|
|
|
3727
3851
|
label?: (HelixHeadlessCombobox["label"]) | undefined;
|
|
3728
3852
|
/** Whether the field needs a value before the form can submit. */
|
|
3729
3853
|
required?: (HelixHeadlessCombobox["required"]) | undefined;
|
|
3730
|
-
/** The message shown when the field is required and empty.
|
|
3731
|
-
|
|
3732
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
3733
|
-
set and the browser's own on a text field, which the browser writes in
|
|
3734
|
-
the reader's language. Every other word a control speaks is a property,
|
|
3735
|
-
and this one was the English a form in another language still spoke in
|
|
3736
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
3737
|
-
the field and does not reach that one. */
|
|
3738
|
-
"value-missing-message"?: (HelixHeadlessCombobox["valueMissingMessage"]) | undefined;
|
|
3739
|
-
/** The message shown when the field is required and empty.
|
|
3740
|
-
|
|
3741
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
3742
|
-
set and the browser's own on a text field, which the browser writes in
|
|
3743
|
-
the reader's language. Every other word a control speaks is a property,
|
|
3744
|
-
and this one was the English a form in another language still spoke in
|
|
3745
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
3746
|
-
the field and does not reach that one. */
|
|
3747
|
-
valueMissingMessage?: (HelixHeadlessCombobox["valueMissingMessage"]) | undefined;
|
|
3748
3854
|
/** Whether the control is disabled and cannot be used.
|
|
3749
3855
|
|
|
3750
3856
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -3875,19 +3981,21 @@ some. Absent, `empty-text` shows. See Listbox's `no-results-text`. */
|
|
|
3875
3981
|
noResultsText?: (HelixHeadlessCommand["noResultsText"]) | undefined;
|
|
3876
3982
|
/** The text shown in the filter field before anything is typed. */
|
|
3877
3983
|
placeholder?: (HelixHeadlessCommand["placeholder"]) | undefined;
|
|
3878
|
-
/** What a screen reader hears when typing leaves one command
|
|
3879
|
-
the count. */
|
|
3984
|
+
/** What a screen reader hears when typing leaves one command, where
|
|
3985
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
3880
3986
|
"result-label"?: (HelixHeadlessCommand["resultLabel"]) | undefined;
|
|
3881
|
-
/** What a screen reader hears when typing leaves one command
|
|
3882
|
-
the count. */
|
|
3987
|
+
/** What a screen reader hears when typing leaves one command, where
|
|
3988
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
3883
3989
|
resultLabel?: (HelixHeadlessCommand["resultLabel"]) | undefined;
|
|
3884
|
-
/** What a screen reader hears when typing
|
|
3885
|
-
|
|
3886
|
-
|
|
3990
|
+
/** What a screen reader hears when typing narrows the commands. `{count}` is
|
|
3991
|
+
how many are left, written in the locale, and each language writes the
|
|
3992
|
+
forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
|
|
3993
|
+
{# poleceń} other {# polecenia}}`. */
|
|
3887
3994
|
"results-label"?: (HelixHeadlessCommand["resultsLabel"]) | undefined;
|
|
3888
|
-
/** What a screen reader hears when typing
|
|
3889
|
-
|
|
3890
|
-
|
|
3995
|
+
/** What a screen reader hears when typing narrows the commands. `{count}` is
|
|
3996
|
+
how many are left, written in the locale, and each language writes the
|
|
3997
|
+
forms it has: `{count, plural, one {# polecenie} few {# polecenia} many
|
|
3998
|
+
{# poleceń} other {# polecenia}}`. */
|
|
3891
3999
|
resultsLabel?: (HelixHeadlessCommand["resultsLabel"]) | undefined;
|
|
3892
4000
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
3893
4001
|
"default-open"?: (HelixHeadlessCommand["defaultOpen"]) | undefined;
|
|
@@ -4059,6 +4167,9 @@ export type HelixHeadlessDataTableElementEvent<E = Event> = TypedEvent<
|
|
|
4059
4167
|
/** `helix-activate` event type */
|
|
4060
4168
|
export type HelixHeadlessDataTableHelixActivateElementEvent =
|
|
4061
4169
|
HelixHeadlessDataTableElementEvent<HelixActivateEvent>;
|
|
4170
|
+
/** `helix-before-reorder` event type */
|
|
4171
|
+
export type HelixHeadlessDataTableHelixBeforeReorderElementEvent =
|
|
4172
|
+
HelixHeadlessDataTableElementEvent<HelixBeforeReorderEvent>;
|
|
4062
4173
|
/** `helix-expand` event type */
|
|
4063
4174
|
export type HelixHeadlessDataTableHelixExpandElementEvent =
|
|
4064
4175
|
HelixHeadlessDataTableElementEvent<HelixExpandEvent>;
|
|
@@ -4094,10 +4205,16 @@ export type HelixHeadlessDataTableHelixSortedElementEvent =
|
|
|
4094
4205
|
HelixHeadlessDataTableElementEvent<HelixSortedEvent>;
|
|
4095
4206
|
|
|
4096
4207
|
export type HelixHeadlessDataTableVueProps = {
|
|
4097
|
-
/** The word for an ascending sort, in `sorted-label`. */
|
|
4208
|
+
/** The word for an ascending sort, in a `sorted-label` that writes `{order}`. */
|
|
4098
4209
|
"ascending-label"?: (HelixHeadlessDataTable["ascendingLabel"]) | undefined;
|
|
4099
|
-
/** The word for an ascending sort, in `sorted-label`. */
|
|
4210
|
+
/** The word for an ascending sort, in a `sorted-label` that writes `{order}`. */
|
|
4100
4211
|
ascendingLabel?: (HelixHeadlessDataTable["ascendingLabel"]) | undefined;
|
|
4212
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
4213
|
+
refused, with `reorderable-rows`. */
|
|
4214
|
+
"canceled-label"?: (HelixHeadlessDataTable["canceledLabel"]) | undefined;
|
|
4215
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
4216
|
+
refused, with `reorderable-rows`. */
|
|
4217
|
+
canceledLabel?: (HelixHeadlessDataTable["canceledLabel"]) | undefined;
|
|
4101
4218
|
/** The field that holds a row's child rows, as an array. Set it, and `row-key`,
|
|
4102
4219
|
and the grid becomes a tree grid.
|
|
4103
4220
|
|
|
@@ -4142,10 +4259,14 @@ is set. */
|
|
|
4142
4259
|
"default-sort"?: (HelixHeadlessDataTable["defaultSort"]) | undefined;
|
|
4143
4260
|
/** The starting sort order, used until `sort` is set. */
|
|
4144
4261
|
defaultSort?: (HelixHeadlessDataTable["defaultSort"]) | undefined;
|
|
4145
|
-
/** The word for a descending sort, in `sorted-label`. */
|
|
4262
|
+
/** The word for a descending sort, in a `sorted-label` that writes `{order}`. */
|
|
4146
4263
|
"descending-label"?: (HelixHeadlessDataTable["descendingLabel"]) | undefined;
|
|
4147
|
-
/** The word for a descending sort, in `sorted-label`. */
|
|
4264
|
+
/** The word for a descending sort, in a `sorted-label` that writes `{order}`. */
|
|
4148
4265
|
descendingLabel?: (HelixHeadlessDataTable["descendingLabel"]) | undefined;
|
|
4266
|
+
/** What screen readers hear when a row is dropped, with `reorderable-rows`. */
|
|
4267
|
+
"dropped-label"?: (HelixHeadlessDataTable["droppedLabel"]) | undefined;
|
|
4268
|
+
/** What screen readers hear when a row is dropped, with `reorderable-rows`. */
|
|
4269
|
+
droppedLabel?: (HelixHeadlessDataTable["droppedLabel"]) | undefined;
|
|
4149
4270
|
/** The estimated height of a row before it is drawn, in pixels.
|
|
4150
4271
|
|
|
4151
4272
|
Only read while `windowed`, and a starting guess rather than a claim: a
|
|
@@ -4187,6 +4308,10 @@ when there are no more rows to load. */
|
|
|
4187
4308
|
"load-more-label"?: (HelixHeadlessDataTable["loadMoreLabel"]) | undefined;
|
|
4188
4309
|
/** The words on the button in the `more` row. */
|
|
4189
4310
|
loadMoreLabel?: (HelixHeadlessDataTable["loadMoreLabel"]) | undefined;
|
|
4311
|
+
/** The locale the words, plural forms, and numbers are in, as a BCP 47 tag
|
|
4312
|
+
such as `pl`. Empty reads the nearest `lang`, then the browser's
|
|
4313
|
+
language. The built-in pagination speaks it too. */
|
|
4314
|
+
locale?: (HelixHeadlessDataTable["locale"]) | undefined;
|
|
4190
4315
|
/** Where filtering, sorting, and paging happen. `client` does them in the
|
|
4191
4316
|
table, and `server` leaves them to your code.
|
|
4192
4317
|
|
|
@@ -4197,6 +4322,20 @@ the client cannot hold the data, so this is not an optimization, it is the
|
|
|
4197
4322
|
only mode that works, and it is here from the start because adding it later
|
|
4198
4323
|
inverts the data flow. */
|
|
4199
4324
|
mode?: (HelixHeadlessDataTable["mode"]) | undefined;
|
|
4325
|
+
/** What screen readers hear each time a key moves a held row, with
|
|
4326
|
+
`reorderable-rows`. `{name}` is the row's name, `{position}` the place it
|
|
4327
|
+
would go, counting from 1, and `{count}` the number of rows on the page. */
|
|
4328
|
+
"moved-label"?: (HelixHeadlessDataTable["movedLabel"]) | undefined;
|
|
4329
|
+
/** What screen readers hear each time a key moves a held row, with
|
|
4330
|
+
`reorderable-rows`. `{name}` is the row's name, `{position}` the place it
|
|
4331
|
+
would go, counting from 1, and `{count}` the number of rows on the page. */
|
|
4332
|
+
movedLabel?: (HelixHeadlessDataTable["movedLabel"]) | undefined;
|
|
4333
|
+
/** The name of a row's grip, with `reorderable-rows`. `{row}` is replaced with
|
|
4334
|
+
the row's name. */
|
|
4335
|
+
"move-row-label"?: (HelixHeadlessDataTable["moveRowLabel"]) | undefined;
|
|
4336
|
+
/** The name of a row's grip, with `reorderable-rows`. `{row}` is replaced with
|
|
4337
|
+
the row's name. */
|
|
4338
|
+
moveRowLabel?: (HelixHeadlessDataTable["moveRowLabel"]) | undefined;
|
|
4200
4339
|
/** The built-in pagination's name for the button that moves forward a page. */
|
|
4201
4340
|
"next-label"?: (HelixHeadlessDataTable["nextLabel"]) | undefined;
|
|
4202
4341
|
/** The built-in pagination's name for the button that moves forward a page. */
|
|
@@ -4248,6 +4387,12 @@ which is why the slot replaces this rather than sitting beside it. */
|
|
|
4248
4387
|
"pagination-label"?: (HelixHeadlessDataTable["paginationLabel"]) | undefined;
|
|
4249
4388
|
/** The name of the built-in pagination's navigation landmark. */
|
|
4250
4389
|
paginationLabel?: (HelixHeadlessDataTable["paginationLabel"]) | undefined;
|
|
4390
|
+
/** What screen readers hear when a key or a click picks up a row, with
|
|
4391
|
+
`reorderable-rows`. `{name}` is the row's name. */
|
|
4392
|
+
"picked-up-label"?: (HelixHeadlessDataTable["pickedUpLabel"]) | undefined;
|
|
4393
|
+
/** What screen readers hear when a key or a click picks up a row, with
|
|
4394
|
+
`reorderable-rows`. `{name}` is the row's name. */
|
|
4395
|
+
pickedUpLabel?: (HelixHeadlessDataTable["pickedUpLabel"]) | undefined;
|
|
4251
4396
|
/** The built-in pagination's name for the button that moves back a page. */
|
|
4252
4397
|
"previous-label"?: (HelixHeadlessDataTable["previousLabel"]) | undefined;
|
|
4253
4398
|
/** The built-in pagination's name for the button that moves back a page. */
|
|
@@ -4257,16 +4402,32 @@ which is why the slot replaces this rather than sitting beside it. */
|
|
|
4257
4402
|
Each heading with a `field` gets a grip, dragged along the header or moved a
|
|
4258
4403
|
place at a time with the arrow keys once it has focus. */
|
|
4259
4404
|
reorderable?: (HelixHeadlessDataTable["reorderable"]) | undefined;
|
|
4260
|
-
/**
|
|
4405
|
+
/** Lets people move rows, by a grip that leads each row. The table moves no
|
|
4406
|
+
row itself: set `rows` to the order `helix-reorder` carries. */
|
|
4407
|
+
"reorderable-rows"?: (HelixHeadlessDataTable["reorderableRows"]) | undefined;
|
|
4408
|
+
/** Lets people move rows, by a grip that leads each row. The table moves no
|
|
4409
|
+
row itself: set `rows` to the order `helix-reorder` carries. */
|
|
4410
|
+
reorderableRows?: (HelixHeadlessDataTable["reorderableRows"]) | undefined;
|
|
4411
|
+
/** What screen readers hear when a search leaves one row, where
|
|
4412
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
4261
4413
|
"result-label"?: (HelixHeadlessDataTable["resultLabel"]) | undefined;
|
|
4262
|
-
/** What screen readers hear when a search leaves one row
|
|
4414
|
+
/** What screen readers hear when a search leaves one row, where
|
|
4415
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
4263
4416
|
resultLabel?: (HelixHeadlessDataTable["resultLabel"]) | undefined;
|
|
4264
|
-
/** What screen readers hear when a search
|
|
4265
|
-
|
|
4417
|
+
/** What screen readers hear when a search narrows the rows. `{count}` is how
|
|
4418
|
+
many rows are left, written in the locale, and each language writes the
|
|
4419
|
+
forms it has: `{count, plural, one {# wiersz} few {# wiersze} many
|
|
4420
|
+
{# wierszy} other {# wiersza}}`. */
|
|
4266
4421
|
"results-label"?: (HelixHeadlessDataTable["resultsLabel"]) | undefined;
|
|
4267
|
-
/** What screen readers hear when a search
|
|
4268
|
-
|
|
4422
|
+
/** What screen readers hear when a search narrows the rows. `{count}` is how
|
|
4423
|
+
many rows are left, written in the locale, and each language writes the
|
|
4424
|
+
forms it has: `{count, plural, one {# wiersz} few {# wiersze} many
|
|
4425
|
+
{# wierszy} other {# wiersza}}`. */
|
|
4269
4426
|
resultsLabel?: (HelixHeadlessDataTable["resultsLabel"]) | undefined;
|
|
4427
|
+
/** The name of the heading over the row grips, with `reorderable-rows`. */
|
|
4428
|
+
"row-grips-label"?: (HelixHeadlessDataTable["rowGripsLabel"]) | undefined;
|
|
4429
|
+
/** The name of the heading over the row grips, with `reorderable-rows`. */
|
|
4430
|
+
rowGripsLabel?: (HelixHeadlessDataTable["rowGripsLabel"]) | undefined;
|
|
4270
4431
|
/** The field that identifies each row.
|
|
4271
4432
|
|
|
4272
4433
|
**Needed before selection exists, not after.** Lit keys the rendered rows by
|
|
@@ -4311,10 +4472,14 @@ price of the shape. A reader's choice fires `helix-select` first, and
|
|
|
4311
4472
|
refusing it leaves the selection as it was. */
|
|
4312
4473
|
selected?: (HelixHeadlessDataTable["selected"]) | undefined;
|
|
4313
4474
|
/** What screen readers hear when the chosen rows change. `{count}` is how many
|
|
4314
|
-
rows are chosen
|
|
4475
|
+
rows are chosen, written in the locale, and a language that needs plural
|
|
4476
|
+
forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
|
|
4477
|
+
{# wybranych} other {# wybranego}}`. */
|
|
4315
4478
|
"selected-label"?: (HelixHeadlessDataTable["selectedLabel"]) | undefined;
|
|
4316
4479
|
/** What screen readers hear when the chosen rows change. `{count}` is how many
|
|
4317
|
-
rows are chosen
|
|
4480
|
+
rows are chosen, written in the locale, and a language that needs plural
|
|
4481
|
+
forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
|
|
4482
|
+
{# wybranych} other {# wybranego}}`. */
|
|
4318
4483
|
selectedLabel?: (HelixHeadlessDataTable["selectedLabel"]) | undefined;
|
|
4319
4484
|
/** The name of a row's checkbox. `{row}` is replaced with the row's value in
|
|
4320
4485
|
the first column that has a field, or with its key. */
|
|
@@ -4330,10 +4495,14 @@ the event and set this to the order you chose. `default-sort` seeds an
|
|
|
4330
4495
|
order this element then owns. */
|
|
4331
4496
|
sort?: (HelixHeadlessDataTable["sort"]) | undefined;
|
|
4332
4497
|
/** What screen readers hear when the table is sorted. `{column}` is the
|
|
4333
|
-
column's heading and `{
|
|
4498
|
+
column's heading and `{direction}` is `ascending` or `descending`, so each
|
|
4499
|
+
order has its whole sentence. `{order}` is the deprecated
|
|
4500
|
+
`ascending-label` or `descending-label`. */
|
|
4334
4501
|
"sorted-label"?: (HelixHeadlessDataTable["sortedLabel"]) | undefined;
|
|
4335
4502
|
/** What screen readers hear when the table is sorted. `{column}` is the
|
|
4336
|
-
column's heading and `{
|
|
4503
|
+
column's heading and `{direction}` is `ascending` or `descending`, so each
|
|
4504
|
+
order has its whole sentence. `{order}` is the deprecated
|
|
4505
|
+
`ascending-label` or `descending-label`. */
|
|
4337
4506
|
sortedLabel?: (HelixHeadlessDataTable["sortedLabel"]) | undefined;
|
|
4338
4507
|
/** The number of rows in the whole result, for when the table cannot count
|
|
4339
4508
|
them.
|
|
@@ -4394,6 +4563,8 @@ holds and reordering it under them is a mutation they did not ask for. */
|
|
|
4394
4563
|
export type HelixHeadlessDataTableVueEvents = {
|
|
4395
4564
|
/** Fired after the page changes, with the new page as a string in `detail.value`. */
|
|
4396
4565
|
"helix-activate": HelixHeadlessDataTableHelixActivateElementEvent;
|
|
4566
|
+
/** A row is about to move, with `reorderable-rows`. The event carries every row's key in the new order. Cancelable: cancel it to keep the row where it is. */
|
|
4567
|
+
"helix-before-reorder": HelixHeadlessDataTableHelixBeforeReorderElementEvent;
|
|
4397
4568
|
/** Fired after a row opens or closes, with every open row's key, separated by commas, which `expanded` also holds. */
|
|
4398
4569
|
"helix-expand": HelixHeadlessDataTableHelixExpandElementEvent;
|
|
4399
4570
|
/** The search query is about to change. Cancelable: cancel it to keep the current query. */
|
|
@@ -4404,7 +4575,7 @@ export type HelixHeadlessDataTableVueEvents = {
|
|
|
4404
4575
|
"helix-load-more": HelixHeadlessDataTableHelixLoadMoreElementEvent;
|
|
4405
4576
|
/** Another page was requested. Cancelable: cancel it to stay on the current page. */
|
|
4406
4577
|
"helix-navigate": HelixHeadlessDataTableHelixNavigateElementEvent;
|
|
4407
|
-
/** The columns are about to move
|
|
4578
|
+
/** The columns are about to move, with `kind` set to `column` and every field in the new order. Cancelable: cancel it to keep the current order. For a row, with `kind` set to `row`, it follows `helix-before-reorder`, and you set `rows` to the order in `keys`. */
|
|
4408
4579
|
"helix-reorder": HelixHeadlessDataTableHelixReorderElementEvent;
|
|
4409
4580
|
/** Fired after the columns move, with every field in the new order. */
|
|
4410
4581
|
"helix-reordered": HelixHeadlessDataTableHelixReorderedElementEvent;
|
|
@@ -4443,6 +4614,15 @@ Empty leaves the attribute off, which is the browser's default and is what
|
|
|
4443
4614
|
lets autofill work at all: hardcoding `off` here means a birthday or a
|
|
4444
4615
|
postal code can never be filled in for a reader. */
|
|
4445
4616
|
autocomplete?: (HelixHeadlessDateInput["autocomplete"]) | undefined;
|
|
4617
|
+
/** The calendar the written date and the calendar's days are in: `gregory`,
|
|
4618
|
+
`buddhist`, `japanese`, `roc`, or `iso8601`.
|
|
4619
|
+
|
|
4620
|
+
Absent is the locale's own where it is one of the five, and `gregory` for
|
|
4621
|
+
every other, as Date Picker's `calendar` is. The value is `YYYY-MM-DD` in
|
|
4622
|
+
every calendar, and a focused field is ISO in every calendar. In
|
|
4623
|
+
`segmented`, the segments are the Gregorian day, month, and year, in the
|
|
4624
|
+
order the locale writes them, or ISO order for `iso8601`. */
|
|
4625
|
+
calendar?: (HelixHeadlessDateInput["calendar"]) | undefined;
|
|
4446
4626
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
4447
4627
|
"calendar-label"?: (HelixHeadlessDateInput["calendarLabel"]) | undefined;
|
|
4448
4628
|
/** The name of the calendar's grid of days, read by screen readers. */
|
|
@@ -4581,14 +4761,14 @@ window has no room for that width it shows one month until there is. */
|
|
|
4581
4761
|
/** The message shown when a range holds more than two dates.
|
|
4582
4762
|
|
|
4583
4763
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
4584
|
-
so a form in another language speaks it.
|
|
4585
|
-
|
|
4764
|
+
so a form in another language speaks it. Unset is the sentence registered
|
|
4765
|
+
for the page's language, then the English. */
|
|
4586
4766
|
"range-length-message"?: (HelixHeadlessDateInput["rangeLengthMessage"]) | undefined;
|
|
4587
4767
|
/** The message shown when a range holds more than two dates.
|
|
4588
4768
|
|
|
4589
4769
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
4590
|
-
so a form in another language speaks it.
|
|
4591
|
-
|
|
4770
|
+
so a form in another language speaks it. Unset is the sentence registered
|
|
4771
|
+
for the page's language, then the English. */
|
|
4592
4772
|
rangeLengthMessage?: (HelixHeadlessDateInput["rangeLengthMessage"]) | undefined;
|
|
4593
4773
|
/** The message shown when a date is after `max`. `{max}` is replaced with
|
|
4594
4774
|
`max`, written the way the field writes dates. */
|
|
@@ -4639,12 +4819,28 @@ platform's base. */
|
|
|
4639
4819
|
/** The name of the calendar's heading where it shows a page of years, with
|
|
4640
4820
|
`{heading}` filled in. */
|
|
4641
4821
|
yearViewLabel?: (HelixHeadlessDateInput["yearViewLabel"]) | undefined;
|
|
4822
|
+
/** What a row of segments reports when the field is required and every
|
|
4823
|
+
segment is empty, where `value-missing-message` is not set. `{kind}` is
|
|
4824
|
+
`date` or `time`. */
|
|
4825
|
+
"empty-message"?: (HelixHeadlessDateInput["emptyMessage"]) | undefined;
|
|
4826
|
+
/** What a row of segments reports when the field is required and every
|
|
4827
|
+
segment is empty, where `value-missing-message` is not set. `{kind}` is
|
|
4828
|
+
`date` or `time`. */
|
|
4829
|
+
emptyMessage?: (HelixHeadlessDateInput["emptyMessage"]) | undefined;
|
|
4642
4830
|
/** What a screen reader hears for a segment with nothing in it, which a
|
|
4643
4831
|
sighted reader sees as dashes. */
|
|
4644
4832
|
"empty-segment-label"?: (HelixHeadlessDateInput["emptySegmentLabel"]) | undefined;
|
|
4645
4833
|
/** What a screen reader hears for a segment with nothing in it, which a
|
|
4646
4834
|
sighted reader sees as dashes. */
|
|
4647
4835
|
emptySegmentLabel?: (HelixHeadlessDateInput["emptySegmentLabel"]) | undefined;
|
|
4836
|
+
/** What a row of segments reports while some segments are set and others
|
|
4837
|
+
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
4838
|
+
`time`. */
|
|
4839
|
+
"incomplete-message"?: (HelixHeadlessDateInput["incompleteMessage"]) | undefined;
|
|
4840
|
+
/** What a row of segments reports while some segments are set and others
|
|
4841
|
+
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
4842
|
+
`time`. */
|
|
4843
|
+
incompleteMessage?: (HelixHeadlessDateInput["incompleteMessage"]) | undefined;
|
|
4648
4844
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
4649
4845
|
time, in place of a line of text.
|
|
4650
4846
|
|
|
@@ -4726,6 +4922,12 @@ as `+3`, does not say what it does. */
|
|
|
4726
4922
|
"max-tags"?: (HelixHeadlessDateInput["maxTags"] | `${number}`) | undefined;
|
|
4727
4923
|
/** How many tokens to show before the rest become a count. */
|
|
4728
4924
|
maxTags?: (HelixHeadlessDateInput["maxTags"]) | undefined;
|
|
4925
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
4926
|
+
for the number, written in the element's locale. */
|
|
4927
|
+
"rest-text"?: (HelixHeadlessDateInput["restText"]) | undefined;
|
|
4928
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
4929
|
+
for the number, written in the element's locale. */
|
|
4930
|
+
restText?: (HelixHeadlessDateInput["restText"]) | undefined;
|
|
4729
4931
|
/** The value the control starts with. A form reset returns it to this value,
|
|
4730
4932
|
and to the `value` attribute where this one is not written, as a native
|
|
4731
4933
|
control resets to the `value` it declares. */
|
|
@@ -4755,18 +4957,22 @@ browser's message. */
|
|
|
4755
4957
|
required?: (HelixHeadlessDateInput["required"]) | undefined;
|
|
4756
4958
|
/** The message shown when the field is required and empty.
|
|
4757
4959
|
|
|
4758
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
4759
|
-
set and the browser's own on a text field, which the
|
|
4760
|
-
the reader's language.
|
|
4960
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
4961
|
+
continue." on a set and the browser's own on a text field, which the
|
|
4962
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
4963
|
+
own declares it as this property's English, a word property a page
|
|
4964
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
4761
4965
|
and this one was the English a form in another language still spoke in
|
|
4762
4966
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
4763
4967
|
the field and does not reach that one. */
|
|
4764
4968
|
"value-missing-message"?: (HelixHeadlessDateInput["valueMissingMessage"]) | undefined;
|
|
4765
4969
|
/** The message shown when the field is required and empty.
|
|
4766
4970
|
|
|
4767
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
4768
|
-
set and the browser's own on a text field, which the
|
|
4769
|
-
the reader's language.
|
|
4971
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
4972
|
+
continue." on a set and the browser's own on a text field, which the
|
|
4973
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
4974
|
+
own declares it as this property's English, a word property a page
|
|
4975
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
4770
4976
|
and this one was the English a form in another language still spoke in
|
|
4771
4977
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
4772
4978
|
the field and does not reach that one. */
|
|
@@ -4853,14 +5059,28 @@ export type HelixHeadlessDatePickerVueProps = {
|
|
|
4853
5059
|
|
|
4854
5060
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
4855
5061
|
named for the validity flag it reports, so a form in another language
|
|
4856
|
-
speaks it.
|
|
5062
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
5063
|
+
the English. `{mode}` is `single`, `range` or `multiple`, so each can have
|
|
5064
|
+
its own sentence. */
|
|
4857
5065
|
"bad-input-message"?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
4858
5066
|
/** The validation message for a value that is not a date.
|
|
4859
5067
|
|
|
4860
5068
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
4861
5069
|
named for the validity flag it reports, so a form in another language
|
|
4862
|
-
speaks it.
|
|
5070
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
5071
|
+
the English. `{mode}` is `single`, `range` or `multiple`, so each can have
|
|
5072
|
+
its own sentence. */
|
|
4863
5073
|
badInputMessage?: (HelixHeadlessDatePicker["badInputMessage"]) | undefined;
|
|
5074
|
+
/** The calendar the heading, the days, and the months are written in:
|
|
5075
|
+
`gregory`, `buddhist`, `japanese`, `roc`, or `iso8601`, the five whose
|
|
5076
|
+
months are the Gregorian months.
|
|
5077
|
+
|
|
5078
|
+
Absent is the locale's own where it is one of the five, such as
|
|
5079
|
+
`buddhist` for `th-TH` or `japanese` for `ja-JP-u-ca-japanese`, and
|
|
5080
|
+
`gregory` for every other, such as `persian` for `fa-IR`, so the heading
|
|
5081
|
+
names the Gregorian month the grid shows. The value is `YYYY-MM-DD` in
|
|
5082
|
+
every calendar. */
|
|
5083
|
+
calendar?: (HelixHeadlessDatePicker["calendar"]) | undefined;
|
|
4864
5084
|
/** The month to open on when `month` is not set. */
|
|
4865
5085
|
"default-month"?: (HelixHeadlessDatePicker["defaultMonth"]) | undefined;
|
|
4866
5086
|
/** The month to open on when `month` is not set. */
|
|
@@ -5237,6 +5457,12 @@ interface. */
|
|
|
5237
5457
|
/** The close control's accessible name. Translate it with the rest of your
|
|
5238
5458
|
interface. */
|
|
5239
5459
|
dismissLabel?: (HelixHeadlessDialog["dismissLabel"]) | undefined;
|
|
5460
|
+
/** The dialog's name where nothing names it: no `label`, no heading in the
|
|
5461
|
+
`header` slot, and no `aria-labelledby` on the host. */
|
|
5462
|
+
"fallback-label"?: (HelixHeadlessDialog["fallbackLabel"]) | undefined;
|
|
5463
|
+
/** The dialog's name where nothing names it: no `label`, no heading in the
|
|
5464
|
+
`header` slot, and no `aria-labelledby` on the host. */
|
|
5465
|
+
fallbackLabel?: (HelixHeadlessDialog["fallbackLabel"]) | undefined;
|
|
5240
5466
|
/** Accessible name for the dialog. When it is empty, the heading in the
|
|
5241
5467
|
`header` slot names the dialog. */
|
|
5242
5468
|
label?: (HelixHeadlessDialog["label"]) | undefined;
|
|
@@ -5396,8 +5622,8 @@ words and is already written. */
|
|
|
5396
5622
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
5397
5623
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
5398
5624
|
|
|
5399
|
-
Absent
|
|
5400
|
-
writes them, whatever this says. */
|
|
5625
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
5626
|
+
cells are shown as the table writes them, whatever this says. */
|
|
5401
5627
|
locale?: (HelixHeadlessDonutChart["locale"]) | undefined;
|
|
5402
5628
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
5403
5629
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -5468,6 +5694,12 @@ interface. */
|
|
|
5468
5694
|
/** The close control's accessible name. Translate it with the rest of your
|
|
5469
5695
|
interface. */
|
|
5470
5696
|
dismissLabel?: (HelixHeadlessDrawer["dismissLabel"]) | undefined;
|
|
5697
|
+
/** The panel's name where nothing names it: no `label`, no heading in the
|
|
5698
|
+
`header` slot, and no `aria-labelledby` on the host. */
|
|
5699
|
+
"fallback-label"?: (HelixHeadlessDrawer["fallbackLabel"]) | undefined;
|
|
5700
|
+
/** The panel's name where nothing names it: no `label`, no heading in the
|
|
5701
|
+
`header` slot, and no `aria-labelledby` on the host. */
|
|
5702
|
+
fallbackLabel?: (HelixHeadlessDrawer["fallbackLabel"]) | undefined;
|
|
5471
5703
|
/** Accessible name for the panel. When it is empty, the heading in the
|
|
5472
5704
|
`header` slot names the panel. */
|
|
5473
5705
|
label?: (HelixHeadlessDrawer["label"]) | undefined;
|
|
@@ -5683,14 +5915,20 @@ filter is the only check the platform makes and a drop never meets it. */
|
|
|
5683
5915
|
/** What a reader hears when a drop or a paste adds files, with `{names}` and
|
|
5684
5916
|
`{count}` filled in. */
|
|
5685
5917
|
addedText?: (HelixHeadlessFileInput["addedText"]) | undefined;
|
|
5918
|
+
/** A file's size under a kilobyte. `{count}` is how many bytes, written in
|
|
5919
|
+
the locale, and each language writes the forms it has. */
|
|
5920
|
+
"bytes-label"?: (HelixHeadlessFileInput["bytesLabel"]) | undefined;
|
|
5921
|
+
/** A file's size under a kilobyte. `{count}` is how many bytes, written in
|
|
5922
|
+
the locale, and each language writes the forms it has. */
|
|
5923
|
+
bytesLabel?: (HelixHeadlessFileInput["bytesLabel"]) | undefined;
|
|
5686
5924
|
/** Which camera or microphone a mobile picker should offer, if any. */
|
|
5687
5925
|
capture?: (HelixHeadlessFileInput["capture"]) | undefined;
|
|
5688
5926
|
/** Whether the picker chooses a folder, and the field takes every file in
|
|
5689
5927
|
it. The platform's `webkitdirectory`. */
|
|
5690
5928
|
directory?: (HelixHeadlessFileInput["directory"]) | undefined;
|
|
5691
|
-
/**
|
|
5692
|
-
|
|
5693
|
-
|
|
5929
|
+
/** The locale the words, the sizes, and the numbers and lists in sentences
|
|
5930
|
+
are in, as a BCP 47 tag such as `pl`. Empty reads the nearest `lang`, then
|
|
5931
|
+
the browser's language. */
|
|
5694
5932
|
locale?: (HelixHeadlessFileInput["locale"]) | undefined;
|
|
5695
5933
|
/** The most files the field holds, under `multiple`. Files past it are
|
|
5696
5934
|
refused. */
|
|
@@ -5752,18 +5990,22 @@ browser's message. */
|
|
|
5752
5990
|
required?: (HelixHeadlessFileInput["required"]) | undefined;
|
|
5753
5991
|
/** The message shown when the field is required and empty.
|
|
5754
5992
|
|
|
5755
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
5756
|
-
set and the browser's own on a text field, which the
|
|
5757
|
-
the reader's language.
|
|
5993
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
5994
|
+
continue." on a set and the browser's own on a text field, which the
|
|
5995
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
5996
|
+
own declares it as this property's English, a word property a page
|
|
5997
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
5758
5998
|
and this one was the English a form in another language still spoke in
|
|
5759
5999
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
5760
6000
|
the field and does not reach that one. */
|
|
5761
6001
|
"value-missing-message"?: (HelixHeadlessFileInput["valueMissingMessage"]) | undefined;
|
|
5762
6002
|
/** The message shown when the field is required and empty.
|
|
5763
6003
|
|
|
5764
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
5765
|
-
set and the browser's own on a text field, which the
|
|
5766
|
-
the reader's language.
|
|
6004
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
6005
|
+
continue." on a set and the browser's own on a text field, which the
|
|
6006
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
6007
|
+
own declares it as this property's English, a word property a page
|
|
6008
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
5767
6009
|
and this one was the English a form in another language still spoke in
|
|
5768
6010
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
5769
6011
|
the field and does not reach that one. */
|
|
@@ -5829,6 +6071,20 @@ export type HelixHeadlessFilterChipHelixDismissElementEvent =
|
|
|
5829
6071
|
HelixHeadlessFilterChipElementEvent<HelixDismissEvent>;
|
|
5830
6072
|
|
|
5831
6073
|
export type HelixHeadlessFilterChipVueProps = {
|
|
6074
|
+
/** The remove button's name, read by screen readers. The chip's own words
|
|
6075
|
+
follow it, so several chips are told apart.
|
|
6076
|
+
|
|
6077
|
+
"Remove filter" rather than the mixin's "Dismiss", for the reason `Tag`
|
|
6078
|
+
gives its own: taking a filter out of a set is a different act from
|
|
6079
|
+
closing a message. */
|
|
6080
|
+
"dismiss-label"?: (HelixHeadlessFilterChip["dismissLabel"]) | undefined;
|
|
6081
|
+
/** The remove button's name, read by screen readers. The chip's own words
|
|
6082
|
+
follow it, so several chips are told apart.
|
|
6083
|
+
|
|
6084
|
+
"Remove filter" rather than the mixin's "Dismiss", for the reason `Tag`
|
|
6085
|
+
gives its own: taking a filter out of a set is a different act from
|
|
6086
|
+
closing a message. */
|
|
6087
|
+
dismissLabel?: (HelixHeadlessFilterChip["dismissLabel"]) | undefined;
|
|
5832
6088
|
/** The name of the field the filter is on, as shown on the chip.
|
|
5833
6089
|
|
|
5834
6090
|
The slot's fallback rather than the slot's replacement: a consumer who wants
|
|
@@ -5877,20 +6133,6 @@ makes an unusual filter look unusual. */
|
|
|
5877
6133
|
operatorLabel?: (HelixHeadlessFilterChip["operatorLabel"]) | undefined;
|
|
5878
6134
|
/** Whether the element shows a control that dismisses it. */
|
|
5879
6135
|
dismissible?: (HelixHeadlessFilterChip["dismissible"]) | undefined;
|
|
5880
|
-
/** The dismiss control's label, read by screen readers.
|
|
5881
|
-
|
|
5882
|
-
`attribute` is spelled out because Lit lowercases a property name to
|
|
5883
|
-
derive one rather than dash-casing it, so this would otherwise be
|
|
5884
|
-
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
5885
|
-
would catch. */
|
|
5886
|
-
"dismiss-label"?: (HelixHeadlessFilterChip["dismissLabel"]) | undefined;
|
|
5887
|
-
/** The dismiss control's label, read by screen readers.
|
|
5888
|
-
|
|
5889
|
-
`attribute` is spelled out because Lit lowercases a property name to
|
|
5890
|
-
derive one rather than dash-casing it, so this would otherwise be
|
|
5891
|
-
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
5892
|
-
would catch. */
|
|
5893
|
-
dismissLabel?: (HelixHeadlessFilterChip["dismissLabel"]) | undefined;
|
|
5894
6136
|
};
|
|
5895
6137
|
|
|
5896
6138
|
export type HelixHeadlessFilterChipVueEvents = {
|
|
@@ -6040,13 +6282,21 @@ what you slot and you narrow it. */
|
|
|
6040
6282
|
|
|
6041
6283
|
Not a label: it goes when typing starts. */
|
|
6042
6284
|
placeholder?: (HelixHeadlessFilterInput["placeholder"]) | undefined;
|
|
6043
|
-
/** What a reader hears for one suggestion,
|
|
6285
|
+
/** What a reader hears for one suggestion, where `suggestions-label` should
|
|
6286
|
+
not say it. `{count}` is the count. */
|
|
6044
6287
|
"suggestion-label"?: (HelixHeadlessFilterInput["suggestionLabel"]) | undefined;
|
|
6045
|
-
/** What a reader hears for one suggestion,
|
|
6288
|
+
/** What a reader hears for one suggestion, where `suggestions-label` should
|
|
6289
|
+
not say it. `{count}` is the count. */
|
|
6046
6290
|
suggestionLabel?: (HelixHeadlessFilterInput["suggestionLabel"]) | undefined;
|
|
6047
|
-
/** What a reader hears
|
|
6291
|
+
/** What a reader hears as the panel opens on its suggestions. `{count}` is
|
|
6292
|
+
how many, written in the locale, and each language writes the forms it
|
|
6293
|
+
has: `{count, plural, one {# sugestia} few {# sugestie} many {# sugestii}
|
|
6294
|
+
other {# sugestii}}`. */
|
|
6048
6295
|
"suggestions-label"?: (HelixHeadlessFilterInput["suggestionsLabel"]) | undefined;
|
|
6049
|
-
/** What a reader hears
|
|
6296
|
+
/** What a reader hears as the panel opens on its suggestions. `{count}` is
|
|
6297
|
+
how many, written in the locale, and each language writes the forms it
|
|
6298
|
+
has: `{count, plural, one {# sugestia} few {# sugestie} many {# sugestii}
|
|
6299
|
+
other {# sugestii}}`. */
|
|
6050
6300
|
suggestionsLabel?: (HelixHeadlessFilterInput["suggestionsLabel"]) | undefined;
|
|
6051
6301
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
6052
6302
|
"default-open"?: (HelixHeadlessFilterInput["defaultOpen"]) | undefined;
|
|
@@ -6081,6 +6331,12 @@ as `+3`, does not say what it does. */
|
|
|
6081
6331
|
"max-tags"?: (HelixHeadlessFilterInput["maxTags"] | `${number}`) | undefined;
|
|
6082
6332
|
/** How many tokens to show before the rest become a count. */
|
|
6083
6333
|
maxTags?: (HelixHeadlessFilterInput["maxTags"]) | undefined;
|
|
6334
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
6335
|
+
for the number, written in the element's locale. */
|
|
6336
|
+
"rest-text"?: (HelixHeadlessFilterInput["restText"]) | undefined;
|
|
6337
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
6338
|
+
for the number, written in the element's locale. */
|
|
6339
|
+
restText?: (HelixHeadlessFilterInput["restText"]) | undefined;
|
|
6084
6340
|
/** The value the control starts with. A form reset returns it to this value,
|
|
6085
6341
|
and to the `value` attribute where this one is not written, as a native
|
|
6086
6342
|
control resets to the `value` it declares. */
|
|
@@ -6110,18 +6366,22 @@ browser's message. */
|
|
|
6110
6366
|
required?: (HelixHeadlessFilterInput["required"]) | undefined;
|
|
6111
6367
|
/** The message shown when the field is required and empty.
|
|
6112
6368
|
|
|
6113
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
6114
|
-
set and the browser's own on a text field, which the
|
|
6115
|
-
the reader's language.
|
|
6369
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
6370
|
+
continue." on a set and the browser's own on a text field, which the
|
|
6371
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
6372
|
+
own declares it as this property's English, a word property a page
|
|
6373
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
6116
6374
|
and this one was the English a form in another language still spoke in
|
|
6117
6375
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
6118
6376
|
the field and does not reach that one. */
|
|
6119
6377
|
"value-missing-message"?: (HelixHeadlessFilterInput["valueMissingMessage"]) | undefined;
|
|
6120
6378
|
/** The message shown when the field is required and empty.
|
|
6121
6379
|
|
|
6122
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
6123
|
-
set and the browser's own on a text field, which the
|
|
6124
|
-
the reader's language.
|
|
6380
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
6381
|
+
continue." on a set and the browser's own on a text field, which the
|
|
6382
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
6383
|
+
own declares it as this property's English, a word property a page
|
|
6384
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
6125
6385
|
and this one was the English a form in another language still spoke in
|
|
6126
6386
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
6127
6387
|
the field and does not reach that one. */
|
|
@@ -6176,6 +6436,14 @@ export type HelixHeadlessFilterInputVueEvents = {
|
|
|
6176
6436
|
};
|
|
6177
6437
|
|
|
6178
6438
|
export type HelixHeadlessFormatDateVueProps = {
|
|
6439
|
+
/** The calendar a date is written in: `gregory`, `buddhist`, `japanese`,
|
|
6440
|
+
`roc`, or `iso8601`, the calendars Date Picker and Date Input draw.
|
|
6441
|
+
|
|
6442
|
+
Absent is the locale's own where it is one of the five, such as
|
|
6443
|
+
`buddhist` for `th-TH`, and `gregory` for every other, such as `persian`
|
|
6444
|
+
for `fa-IR`, so a date written here reads as the same date a Date Picker
|
|
6445
|
+
beside it shows. */
|
|
6446
|
+
calendar?: (HelixHeadlessFormatDate["calendar"]) | undefined;
|
|
6179
6447
|
/** The timestamp, in any format `Date` can parse.
|
|
6180
6448
|
|
|
6181
6449
|
An ISO string is what an API sends and what `<time datetime>` takes, so it
|
|
@@ -6325,13 +6593,33 @@ export type HelixHeadlessGraphHelixGraphZoomElementEvent =
|
|
|
6325
6593
|
HelixHeadlessGraphElementEvent<HelixGraphZoomEvent>;
|
|
6326
6594
|
|
|
6327
6595
|
export type HelixHeadlessGraphVueProps = {
|
|
6328
|
-
/**
|
|
6596
|
+
/** The hint shown when the graph, waiting to be pressed with
|
|
6597
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
6598
|
+
"activate-hint-label"?: (HelixHeadlessGraph["activateHintLabel"]) | undefined;
|
|
6599
|
+
/** The hint shown when the graph, waiting to be pressed with
|
|
6600
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
6601
|
+
activateHintLabel?: (HelixHeadlessGraph["activateHintLabel"]) | undefined;
|
|
6602
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
6603
|
+
what the controls drive rather than the mechanism. */
|
|
6604
|
+
"controls-label"?: (HelixHeadlessGraph["controlsLabel"]) | undefined;
|
|
6605
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
6606
|
+
what the controls drive rather than the mechanism. */
|
|
6607
|
+
controlsLabel?: (HelixHeadlessGraph["controlsLabel"]) | undefined;
|
|
6608
|
+
/** What the list says of how many notes it holds. `{count}` is the count,
|
|
6609
|
+
written in the locale, and each language writes the forms it has. */
|
|
6329
6610
|
"count-label"?: (HelixHeadlessGraph["countLabel"]) | undefined;
|
|
6330
|
-
/** What the list says of
|
|
6611
|
+
/** What the list says of how many notes it holds. `{count}` is the count,
|
|
6612
|
+
written in the locale, and each language writes the forms it has. */
|
|
6331
6613
|
countLabel?: (HelixHeadlessGraph["countLabel"]) | undefined;
|
|
6332
6614
|
/** How many links from the selected note to show, for its local graph. Unset
|
|
6333
6615
|
shows every note. The list holds what the drawing shows. */
|
|
6334
6616
|
depth?: (HelixHeadlessGraph["depth"]) | undefined;
|
|
6617
|
+
/** The graph's name where `label` is empty and the host has no
|
|
6618
|
+
`aria-label`. */
|
|
6619
|
+
"fallback-label"?: (HelixHeadlessGraph["fallbackLabel"]) | undefined;
|
|
6620
|
+
/** The graph's name where `label` is empty and the host has no
|
|
6621
|
+
`aria-label`. */
|
|
6622
|
+
fallbackLabel?: (HelixHeadlessGraph["fallbackLabel"]) | undefined;
|
|
6335
6623
|
/** The graph's name, read by screen readers, such as "Research notes".
|
|
6336
6624
|
Required. */
|
|
6337
6625
|
label?: (HelixHeadlessGraph["label"]) | undefined;
|
|
@@ -6354,6 +6642,22 @@ or hides its notes. Drawn where the notes have two groups or more. */
|
|
|
6354
6642
|
"links-to-label"?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
6355
6643
|
/** How a note that links to the selected one is described, with `{note}`. */
|
|
6356
6644
|
linksToLabel?: (HelixHeadlessGraph["linksToLabel"]) | undefined;
|
|
6645
|
+
/** What screen readers hear once the drawing has moved down, after `moved()`. */
|
|
6646
|
+
"moved-down-label"?: (HelixHeadlessGraph["movedDownLabel"]) | undefined;
|
|
6647
|
+
/** What screen readers hear once the drawing has moved down, after `moved()`. */
|
|
6648
|
+
movedDownLabel?: (HelixHeadlessGraph["movedDownLabel"]) | undefined;
|
|
6649
|
+
/** What screen readers hear once the drawing has moved left, after `moved()`. */
|
|
6650
|
+
"moved-left-label"?: (HelixHeadlessGraph["movedLeftLabel"]) | undefined;
|
|
6651
|
+
/** What screen readers hear once the drawing has moved left, after `moved()`. */
|
|
6652
|
+
movedLeftLabel?: (HelixHeadlessGraph["movedLeftLabel"]) | undefined;
|
|
6653
|
+
/** What screen readers hear once the drawing has moved right, after `moved()`. */
|
|
6654
|
+
"moved-right-label"?: (HelixHeadlessGraph["movedRightLabel"]) | undefined;
|
|
6655
|
+
/** What screen readers hear once the drawing has moved right, after `moved()`. */
|
|
6656
|
+
movedRightLabel?: (HelixHeadlessGraph["movedRightLabel"]) | undefined;
|
|
6657
|
+
/** What screen readers hear once the drawing has moved up, after `moved()`. */
|
|
6658
|
+
"moved-up-label"?: (HelixHeadlessGraph["movedUpLabel"]) | undefined;
|
|
6659
|
+
/** What screen readers hear once the drawing has moved up, after `moved()`. */
|
|
6660
|
+
movedUpLabel?: (HelixHeadlessGraph["movedUpLabel"]) | undefined;
|
|
6357
6661
|
/** Leaves the search and the list out of the frame, behind a button among
|
|
6358
6662
|
its controls that opens them over the drawing. For a graph shown large,
|
|
6359
6663
|
such as at the top of a page, where the drawing takes the whole frame. */
|
|
@@ -6374,12 +6678,28 @@ such as at the top of a page, where the drawing takes the whole frame. */
|
|
|
6374
6678
|
"selected-label"?: (HelixHeadlessGraph["selectedLabel"]) | undefined;
|
|
6375
6679
|
/** How the selected note is described in the list. */
|
|
6376
6680
|
selectedLabel?: (HelixHeadlessGraph["selectedLabel"]) | undefined;
|
|
6377
|
-
/** The hint shown when
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6681
|
+
/** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
|
|
6682
|
+
"two-finger-hint-label"?: (HelixHeadlessGraph["twoFingerHintLabel"]) | undefined;
|
|
6683
|
+
/** The hint shown when one finger swipes over the graph with `gestures="cooperative"`. */
|
|
6684
|
+
twoFingerHintLabel?: (HelixHeadlessGraph["twoFingerHintLabel"]) | undefined;
|
|
6685
|
+
/** The line shown while the graph, with `gestures="activate"`, has the gestures. */
|
|
6686
|
+
"using-label"?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
6687
|
+
/** The line shown while the graph, with `gestures="activate"`, has the gestures. */
|
|
6688
|
+
usingLabel?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
6689
|
+
/** The hint shown when the wheel scrolls past the graph with
|
|
6690
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
6691
|
+
"wheel-hint-label"?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
6692
|
+
/** The hint shown when the wheel scrolls past the graph with
|
|
6693
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
6694
|
+
wheelHintLabel?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
6695
|
+
/** What screen readers hear once the drawing has zoomed in, after `moved()`. */
|
|
6696
|
+
"zoomed-in-label"?: (HelixHeadlessGraph["zoomedInLabel"]) | undefined;
|
|
6697
|
+
/** What screen readers hear once the drawing has zoomed in, after `moved()`. */
|
|
6698
|
+
zoomedInLabel?: (HelixHeadlessGraph["zoomedInLabel"]) | undefined;
|
|
6699
|
+
/** What screen readers hear once the drawing has zoomed out, after `moved()`. */
|
|
6700
|
+
"zoomed-out-label"?: (HelixHeadlessGraph["zoomedOutLabel"]) | undefined;
|
|
6701
|
+
/** What screen readers hear once the drawing has zoomed out, after `moved()`. */
|
|
6702
|
+
zoomedOutLabel?: (HelixHeadlessGraph["zoomedOutLabel"]) | undefined;
|
|
6383
6703
|
/** Which controls to show, as a list such as `pan zoom fullscreen`, or
|
|
6384
6704
|
`none`. A family can add words of its own.
|
|
6385
6705
|
|
|
@@ -6402,20 +6722,6 @@ of the frame. The
|
|
|
6402
6722
|
stylesheet lays the cluster out by which buttons are in it rather than by
|
|
6403
6723
|
this attribute, so the two defaults need no rule each. */
|
|
6404
6724
|
controls?: (HelixHeadlessGraph["controls"]) | undefined;
|
|
6405
|
-
/** The name of the group of controls, read by screen readers.
|
|
6406
|
-
|
|
6407
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
6408
|
-
controls", which names what the controls drive rather than the
|
|
6409
|
-
mechanism. Written here to say it in another language, which every other
|
|
6410
|
-
string this surface speaks already allowed and this one did not. */
|
|
6411
|
-
"controls-label"?: (HelixHeadlessGraph["controlsLabel"]) | undefined;
|
|
6412
|
-
/** The name of the group of controls, read by screen readers.
|
|
6413
|
-
|
|
6414
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
6415
|
-
controls", which names what the controls drive rather than the
|
|
6416
|
-
mechanism. Written here to say it in another language, which every other
|
|
6417
|
-
string this surface speaks already allowed and this one did not. */
|
|
6418
|
-
controlsLabel?: (HelixHeadlessGraph["controlsLabel"]) | undefined;
|
|
6419
6725
|
/** Which corner the controls sit in.
|
|
6420
6726
|
|
|
6421
6727
|
**Configurable because there is no safe default**, which is a collision
|
|
@@ -6518,26 +6824,6 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
|
6518
6824
|
"pan-up-label"?: (HelixHeadlessGraph["panUpLabel"]) | undefined;
|
|
6519
6825
|
/** The pan up button's label. */
|
|
6520
6826
|
panUpLabel?: (HelixHeadlessGraph["panUpLabel"]) | undefined;
|
|
6521
|
-
/** The hint shown when one finger swipes over a surface with
|
|
6522
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
6523
|
-
"two-finger-hint-label"?: (HelixHeadlessGraph["twoFingerHintLabel"]) | undefined;
|
|
6524
|
-
/** The hint shown when one finger swipes over a surface with
|
|
6525
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
6526
|
-
twoFingerHintLabel?: (HelixHeadlessGraph["twoFingerHintLabel"]) | undefined;
|
|
6527
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
6528
|
-
gestures. Absent is the family's own. */
|
|
6529
|
-
"using-label"?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
6530
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
6531
|
-
gestures. Absent is the family's own. */
|
|
6532
|
-
usingLabel?: (HelixHeadlessGraph["usingLabel"]) | undefined;
|
|
6533
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
6534
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
6535
|
-
elsewhere. Absent is the family's own. */
|
|
6536
|
-
"wheel-hint-label"?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
6537
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
6538
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
6539
|
-
elsewhere. Absent is the family's own. */
|
|
6540
|
-
wheelHintLabel?: (HelixHeadlessGraph["wheelHintLabel"]) | undefined;
|
|
6541
6827
|
/** The zoom in button's label. */
|
|
6542
6828
|
"zoom-in-label"?: (HelixHeadlessGraph["zoomInLabel"]) | undefined;
|
|
6543
6829
|
/** The zoom in button's label. */
|
|
@@ -6580,7 +6866,7 @@ export type HelixHeadlessGraphVueEvents = {
|
|
|
6580
6866
|
"helix-graph-filter": HelixHeadlessGraphHelixGraphFilterElementEvent;
|
|
6581
6867
|
/** A layout settled, with where it put each note, sent by `laidOut()`. Keep the positions and pass them back as each note's `x` and `y`, and `z` where a renderer draws in three dimensions. */
|
|
6582
6868
|
"helix-graph-layout": HelixHeadlessGraphHelixGraphLayoutElementEvent;
|
|
6583
|
-
/** A pan button or arrow key was pressed. `connectGraph` moves the drawing
|
|
6869
|
+
/** A pan button or arrow key was pressed. `connectGraph` moves the drawing, then calls `moved()`. */
|
|
6584
6870
|
"helix-graph-pan": HelixHeadlessGraphHelixGraphPanElementEvent;
|
|
6585
6871
|
/** The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it. */
|
|
6586
6872
|
"helix-graph-part-change": HelixHeadlessGraphHelixGraphPartChangeElementEvent;
|
|
@@ -6588,7 +6874,7 @@ export type HelixHeadlessGraphVueEvents = {
|
|
|
6588
6874
|
"helix-graph-ready": HelixHeadlessGraphHelixGraphReadyElementEvent;
|
|
6589
6875
|
/** Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it. */
|
|
6590
6876
|
"helix-graph-signal": HelixHeadlessGraphHelixGraphSignalElementEvent;
|
|
6591
|
-
/** A zoom button or key was pressed. `connectGraph` zooms the drawing
|
|
6877
|
+
/** A zoom button or key was pressed. `connectGraph` zooms the drawing, then calls `moved()`. */
|
|
6592
6878
|
"helix-graph-zoom": HelixHeadlessGraphHelixGraphZoomElementEvent;
|
|
6593
6879
|
};
|
|
6594
6880
|
|
|
@@ -6605,9 +6891,11 @@ export type HelixHeadlessHeatmapHelixResizeElementEvent =
|
|
|
6605
6891
|
HelixHeadlessHeatmapElementEvent<HelixResizeEvent>;
|
|
6606
6892
|
|
|
6607
6893
|
export type HelixHeadlessHeatmapVueProps = {
|
|
6608
|
-
/** The
|
|
6894
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
6895
|
+
`overview-label`. */
|
|
6609
6896
|
"busiest-label"?: (HelixHeadlessHeatmap["busiestLabel"]) | undefined;
|
|
6610
|
-
/** The
|
|
6897
|
+
/** The name the `overview` gives the busiest reading, `{busiestLabel}` in
|
|
6898
|
+
`overview-label`. */
|
|
6611
6899
|
busiestLabel?: (HelixHeadlessHeatmap["busiestLabel"]) | undefined;
|
|
6612
6900
|
/** Shown when the table has no readings in it.
|
|
6613
6901
|
|
|
@@ -6658,6 +6946,16 @@ plan around.
|
|
|
6658
6946
|
Zero turns the dropping off altogether, which is right for a strip in a
|
|
6659
6947
|
container that cannot get narrow. */
|
|
6660
6948
|
minCell?: (HelixHeadlessHeatmap["minCell"]) | undefined;
|
|
6949
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
6950
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
6951
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
6952
|
+
readings drawn, written in the locale. */
|
|
6953
|
+
"overview-label"?: (HelixHeadlessHeatmap["overviewLabel"]) | undefined;
|
|
6954
|
+
/** The `overview`'s sentence. `{busiestLabel}` and `{totalLabel}` are
|
|
6955
|
+
`busiest-label` and `total-label`, `{busiest}` the busiest reading's name
|
|
6956
|
+
and its reading as the table writes it, and `{total}` the total of the
|
|
6957
|
+
readings drawn, written in the locale. */
|
|
6958
|
+
overviewLabel?: (HelixHeadlessHeatmap["overviewLabel"]) | undefined;
|
|
6661
6959
|
/** How many rows the strip has.
|
|
6662
6960
|
|
|
6663
6961
|
`1` is a status strip and `7` is a calendar week, which are the two readings
|
|
@@ -6674,11 +6972,15 @@ nothing. */
|
|
|
6674
6972
|
where the cell stands: "Day 1: 0 (1 of 14, selected)". Empty adds
|
|
6675
6973
|
nothing. */
|
|
6676
6974
|
selectedLabel?: (HelixHeadlessHeatmap["selectedLabel"]) | undefined;
|
|
6677
|
-
/** What the `selection` part says after the selection changes
|
|
6678
|
-
how many cells are selected
|
|
6975
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
6976
|
+
how many cells are selected, written in the locale, and a language that
|
|
6977
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
6978
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
6679
6979
|
"selection-label"?: (HelixHeadlessHeatmap["selectionLabel"]) | undefined;
|
|
6680
|
-
/** What the `selection` part says after the selection changes
|
|
6681
|
-
how many cells are selected
|
|
6980
|
+
/** What the `selection` part says after the selection changes. `{count}` is
|
|
6981
|
+
how many cells are selected, written in the locale, and a language that
|
|
6982
|
+
needs plural forms writes them: `{count, plural, one {# wybrany} few
|
|
6983
|
+
{# wybrane} many {# wybranych} other {# wybranego}}`. */
|
|
6682
6984
|
selectionLabel?: (HelixHeadlessHeatmap["selectionLabel"]) | undefined;
|
|
6683
6985
|
/** How many cells a reader can select: `single` or `multiple`.
|
|
6684
6986
|
|
|
@@ -6688,6 +6990,12 @@ Absent selects nothing, and a press or Space does what it did. */
|
|
|
6688
6990
|
|
|
6689
6991
|
Absent selects nothing, and a press or Space does what it did. */
|
|
6690
6992
|
selectionMode?: (HelixHeadlessHeatmap["selectionMode"]) | undefined;
|
|
6993
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
6994
|
+
table caption. */
|
|
6995
|
+
"strip-label"?: (HelixHeadlessHeatmap["stripLabel"]) | undefined;
|
|
6996
|
+
/** The strip's name where the chart has none: no `aria-label`, `label`, or
|
|
6997
|
+
table caption. */
|
|
6998
|
+
stripLabel?: (HelixHeadlessHeatmap["stripLabel"]) | undefined;
|
|
6691
6999
|
/** Lower bounds for the tone buckets, in the order the tones are given.
|
|
6692
7000
|
|
|
6693
7001
|
`thresholds="1 3 6 9"` with `tones="1 2 3 4"` puts 1 and 2 in the ramp's
|
|
@@ -6706,9 +7014,11 @@ compare two hues at all. `tones="surface info accent success primary"` for a
|
|
|
6706
7014
|
commit count is five unrelated hues for five amounts, which is confetti with
|
|
6707
7015
|
no order in it. */
|
|
6708
7016
|
tones?: (HelixHeadlessHeatmap["tones"]) | undefined;
|
|
6709
|
-
/** The
|
|
7017
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
7018
|
+
`{totalLabel}` in `overview-label`. */
|
|
6710
7019
|
"total-label"?: (HelixHeadlessHeatmap["totalLabel"]) | undefined;
|
|
6711
|
-
/** The
|
|
7020
|
+
/** The name the `overview` gives the total of the readings drawn,
|
|
7021
|
+
`{totalLabel}` in `overview-label`. */
|
|
6712
7022
|
totalLabel?: (HelixHeadlessHeatmap["totalLabel"]) | undefined;
|
|
6713
7023
|
/** The selected cells, by the names their rows have in the table, such as
|
|
6714
7024
|
`2026-06-11`, separated by commas.
|
|
@@ -6733,8 +7043,8 @@ words and is already written. */
|
|
|
6733
7043
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
6734
7044
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
6735
7045
|
|
|
6736
|
-
Absent
|
|
6737
|
-
writes them, whatever this says. */
|
|
7046
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
7047
|
+
cells are shown as the table writes them, whatever this says. */
|
|
6738
7048
|
locale?: (HelixHeadlessHeatmap["locale"]) | undefined;
|
|
6739
7049
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
6740
7050
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -6834,7 +7144,11 @@ not text.
|
|
|
6834
7144
|
|
|
6835
7145
|
Lives here rather than only on `IconButton` so the two share one render.
|
|
6836
7146
|
An icon-only button without it is a control a screen reader announces as
|
|
6837
|
-
"button" and nothing else.
|
|
7147
|
+
"button" and nothing else.
|
|
7148
|
+
|
|
7149
|
+
Undefaulted, so a subclass's own default, such as Copy Button's `Copy`, is
|
|
7150
|
+
the first value its element receives and so the English its words fall
|
|
7151
|
+
back to. */
|
|
6838
7152
|
label?: (HelixHeadlessIconButton["label"]) | undefined;
|
|
6839
7153
|
/** Whether the action the button started is still running.
|
|
6840
7154
|
|
|
@@ -7261,18 +7575,22 @@ browser's message. */
|
|
|
7261
7575
|
required?: (HelixHeadlessInput["required"]) | undefined;
|
|
7262
7576
|
/** The message shown when the field is required and empty.
|
|
7263
7577
|
|
|
7264
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
7265
|
-
set and the browser's own on a text field, which the
|
|
7266
|
-
the reader's language.
|
|
7578
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
7579
|
+
continue." on a set and the browser's own on a text field, which the
|
|
7580
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
7581
|
+
own declares it as this property's English, a word property a page
|
|
7582
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
7267
7583
|
and this one was the English a form in another language still spoke in
|
|
7268
7584
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
7269
7585
|
the field and does not reach that one. */
|
|
7270
7586
|
"value-missing-message"?: (HelixHeadlessInput["valueMissingMessage"]) | undefined;
|
|
7271
7587
|
/** The message shown when the field is required and empty.
|
|
7272
7588
|
|
|
7273
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
7274
|
-
set and the browser's own on a text field, which the
|
|
7275
|
-
the reader's language.
|
|
7589
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
7590
|
+
continue." on a set and the browser's own on a text field, which the
|
|
7591
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
7592
|
+
own declares it as this property's English, a word property a page
|
|
7593
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
7276
7594
|
and this one was the English a form in another language still spoke in
|
|
7277
7595
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
7278
7596
|
the field and does not reach that one. */
|
|
@@ -7547,6 +7865,10 @@ interface. */
|
|
|
7547
7865
|
/** The close control's accessible name. Translate it with the rest of your
|
|
7548
7866
|
interface. */
|
|
7549
7867
|
dismissLabel?: (HelixHeadlessLightbox["dismissLabel"]) | undefined;
|
|
7868
|
+
/** The viewer's name where `label` is empty. */
|
|
7869
|
+
"fallback-label"?: (HelixHeadlessLightbox["fallbackLabel"]) | undefined;
|
|
7870
|
+
/** The viewer's name where `label` is empty. */
|
|
7871
|
+
fallbackLabel?: (HelixHeadlessLightbox["fallbackLabel"]) | undefined;
|
|
7550
7872
|
/** How long the user can be idle before the header and footer hide, in
|
|
7551
7873
|
milliseconds.
|
|
7552
7874
|
|
|
@@ -7580,10 +7902,10 @@ keep the chrome up is the consumer's to decide with this. */
|
|
|
7580
7902
|
/** The previous control's accessible name. */
|
|
7581
7903
|
previousLabel?: (HelixHeadlessLightbox["previousLabel"]) | undefined;
|
|
7582
7904
|
/** The name of an item with no `label` of its own, with `{index}` and
|
|
7583
|
-
`{count}` filled in. */
|
|
7905
|
+
`{count}` filled in, written in the locale. */
|
|
7584
7906
|
"slide-label"?: (HelixHeadlessLightbox["slideLabel"]) | undefined;
|
|
7585
7907
|
/** The name of an item with no `label` of its own, with `{index}` and
|
|
7586
|
-
`{count}` filled in. */
|
|
7908
|
+
`{count}` filled in, written in the locale. */
|
|
7587
7909
|
slideLabel?: (HelixHeadlessLightbox["slideLabel"]) | undefined;
|
|
7588
7910
|
/** The word screen readers announce in place of an item's role, set as
|
|
7589
7911
|
`aria-roledescription`. Translate it with the rest of your text, or empty
|
|
@@ -7594,14 +7916,14 @@ it to leave the role as `group`. */
|
|
|
7594
7916
|
it to leave the role as `group`. */
|
|
7595
7917
|
slideRoleLabel?: (HelixHeadlessLightbox["slideRoleLabel"]) | undefined;
|
|
7596
7918
|
/** The status text that says which item is shown, with `{index}`, `{count}`
|
|
7597
|
-
and the item's `{label}` filled in.
|
|
7919
|
+
and the item's `{label}` filled in, the numbers written in the locale.
|
|
7598
7920
|
|
|
7599
7921
|
Announced rather than only drawn, because the picture changing under a
|
|
7600
7922
|
reader who cannot see it is otherwise silent. A consumer who has their own
|
|
7601
7923
|
counter in the chrome can empty this and say it themselves. */
|
|
7602
7924
|
"status-label"?: (HelixHeadlessLightbox["statusLabel"]) | undefined;
|
|
7603
7925
|
/** The status text that says which item is shown, with `{index}`, `{count}`
|
|
7604
|
-
and the item's `{label}` filled in.
|
|
7926
|
+
and the item's `{label}` filled in, the numbers written in the locale.
|
|
7605
7927
|
|
|
7606
7928
|
Announced rather than only drawn, because the picture changing under a
|
|
7607
7929
|
reader who cannot see it is otherwise silent. A consumer who has their own
|
|
@@ -7615,11 +7937,17 @@ counter in the chrome can empty this and say it themselves. */
|
|
|
7615
7937
|
"zoom-out-label"?: (HelixHeadlessLightbox["zoomOutLabel"]) | undefined;
|
|
7616
7938
|
/** The zoom-out control's accessible name. */
|
|
7617
7939
|
zoomOutLabel?: (HelixHeadlessLightbox["zoomOutLabel"]) | undefined;
|
|
7618
|
-
/** What the live region says once a reader has stopped zooming,
|
|
7619
|
-
|
|
7940
|
+
/** What the live region says once a reader has stopped zooming. `{scale,
|
|
7941
|
+
number, percent}` writes the scale as a percentage the way the locale
|
|
7942
|
+
writes one, such as `150%`, or `150 %` in French. `{percent}` is the same
|
|
7943
|
+
scale as a whole number, for a sentence that places the sign itself. Empty
|
|
7944
|
+
it to say nothing. */
|
|
7620
7945
|
"zoom-status-label"?: (HelixHeadlessLightbox["zoomStatusLabel"]) | undefined;
|
|
7621
|
-
/** What the live region says once a reader has stopped zooming,
|
|
7622
|
-
|
|
7946
|
+
/** What the live region says once a reader has stopped zooming. `{scale,
|
|
7947
|
+
number, percent}` writes the scale as a percentage the way the locale
|
|
7948
|
+
writes one, such as `150%`, or `150 %` in French. `{percent}` is the same
|
|
7949
|
+
scale as a whole number, for a sentence that places the sign itself. Empty
|
|
7950
|
+
it to say nothing. */
|
|
7623
7951
|
zoomStatusLabel?: (HelixHeadlessLightbox["zoomStatusLabel"]) | undefined;
|
|
7624
7952
|
/** The `value` of the current item.
|
|
7625
7953
|
|
|
@@ -7797,8 +8125,8 @@ words and is already written. */
|
|
|
7797
8125
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
7798
8126
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
7799
8127
|
|
|
7800
|
-
Absent
|
|
7801
|
-
writes them, whatever this says. */
|
|
8128
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
8129
|
+
cells are shown as the table writes them, whatever this says. */
|
|
7802
8130
|
locale?: (HelixHeadlessLineChart["locale"]) | undefined;
|
|
7803
8131
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
7804
8132
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -7862,6 +8190,14 @@ Written by a list with `selection-mode` on every row it holds, and unset
|
|
|
7862
8190
|
otherwise, which is how a row knows it is a row of a grid. No attribute:
|
|
7863
8191
|
it is coordination between elements, as `Tag.focusable` is. */
|
|
7864
8192
|
focusable?: (HelixHeadlessListItem["focusable"]) | undefined;
|
|
8193
|
+
/** The name of the row's grip, written by a `reorderable` list from its
|
|
8194
|
+
`move-label`, and unset in a list that does not reorder, which draws no
|
|
8195
|
+
grip. No attribute: it is coordination between elements, as `focusable`
|
|
8196
|
+
is. */
|
|
8197
|
+
grip?: (HelixHeadlessListItem["grip"]) | undefined;
|
|
8198
|
+
/** Where the row stands in a move, written by a `reorderable` list: the row
|
|
8199
|
+
being moved, or the one the drop indicator is beside. Unset otherwise. */
|
|
8200
|
+
move?: (HelixHeadlessListItem["move"]) | undefined;
|
|
7865
8201
|
/** Whether the row is selected, in a list that selects.
|
|
7866
8202
|
|
|
7867
8203
|
Written by the list from its own `value`, and unset where nothing can be
|
|
@@ -7885,8 +8221,24 @@ export type HelixHeadlessListHelixActionElementEvent =
|
|
|
7885
8221
|
/** `helix-before-change` event type */
|
|
7886
8222
|
export type HelixHeadlessListHelixBeforeChangeElementEvent =
|
|
7887
8223
|
HelixHeadlessListElementEvent<HelixBeforeChangeEvent>;
|
|
8224
|
+
/** `helix-before-reorder` event type */
|
|
8225
|
+
export type HelixHeadlessListHelixBeforeReorderElementEvent =
|
|
8226
|
+
HelixHeadlessListElementEvent<HelixBeforeReorderEvent>;
|
|
8227
|
+
/** `helix-reorder` event type */
|
|
8228
|
+
export type HelixHeadlessListHelixReorderElementEvent =
|
|
8229
|
+
HelixHeadlessListElementEvent<HelixReorderEvent>;
|
|
7888
8230
|
|
|
7889
8231
|
export type HelixHeadlessListVueProps = {
|
|
8232
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
8233
|
+
refused, in a `reorderable` list. */
|
|
8234
|
+
"canceled-label"?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
8235
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
8236
|
+
refused, in a `reorderable` list. */
|
|
8237
|
+
canceledLabel?: (HelixHeadlessList["canceledLabel"]) | undefined;
|
|
8238
|
+
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
8239
|
+
"dropped-label"?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
8240
|
+
/** What screen readers hear when a row is dropped, in a `reorderable` list. */
|
|
8241
|
+
droppedLabel?: (HelixHeadlessList["droppedLabel"]) | undefined;
|
|
7890
8242
|
/** The kind of list, which follows from the content.
|
|
7891
8243
|
|
|
7892
8244
|
On the headless tier because it is meaning rather than decoration, the same
|
|
@@ -7910,6 +8262,29 @@ has to survive with the stylesheet turned off.
|
|
|
7910
8262
|
kind?: (HelixHeadlessList["kind"]) | undefined;
|
|
7911
8263
|
/** The list's name, read by screen readers. */
|
|
7912
8264
|
label?: (HelixHeadlessList["label"]) | undefined;
|
|
8265
|
+
/** What screen readers hear each time an arrow key moves a held row, in a
|
|
8266
|
+
`reorderable` list. `{name}` is the row's words, `{position}` the place it
|
|
8267
|
+
would go, counting from 1, and `{count}` the number of rows. */
|
|
8268
|
+
"moved-label"?: (HelixHeadlessList["movedLabel"]) | undefined;
|
|
8269
|
+
/** What screen readers hear each time an arrow key moves a held row, in a
|
|
8270
|
+
`reorderable` list. `{name}` is the row's words, `{position}` the place it
|
|
8271
|
+
would go, counting from 1, and `{count}` the number of rows. */
|
|
8272
|
+
movedLabel?: (HelixHeadlessList["movedLabel"]) | undefined;
|
|
8273
|
+
/** The name of each row's grip, in a `reorderable` list. `{name}` is
|
|
8274
|
+
replaced with the row's words. */
|
|
8275
|
+
"move-label"?: (HelixHeadlessList["moveLabel"]) | undefined;
|
|
8276
|
+
/** The name of each row's grip, in a `reorderable` list. `{name}` is
|
|
8277
|
+
replaced with the row's words. */
|
|
8278
|
+
moveLabel?: (HelixHeadlessList["moveLabel"]) | undefined;
|
|
8279
|
+
/** What screen readers hear when a key or a click picks up a row, in a
|
|
8280
|
+
`reorderable` list. `{name}` is the row's words. */
|
|
8281
|
+
"picked-up-label"?: (HelixHeadlessList["pickedUpLabel"]) | undefined;
|
|
8282
|
+
/** What screen readers hear when a key or a click picks up a row, in a
|
|
8283
|
+
`reorderable` list. `{name}` is the row's words. */
|
|
8284
|
+
pickedUpLabel?: (HelixHeadlessList["pickedUpLabel"]) | undefined;
|
|
8285
|
+
/** Lets you move rows by dragging a grip, or with the keys. The list moves no
|
|
8286
|
+
row itself: you move your data on `helix-reorder`. */
|
|
8287
|
+
reorderable?: (HelixHeadlessList["reorderable"]) | undefined;
|
|
7913
8288
|
/** Numbers an ordered list downward, so the count falls row by row and ends at
|
|
7914
8289
|
its last row, as `<ol reversed>` does. */
|
|
7915
8290
|
reversed?: (HelixHeadlessList["reversed"]) | undefined;
|
|
@@ -7956,6 +8331,10 @@ export type HelixHeadlessListVueEvents = {
|
|
|
7956
8331
|
"helix-action": HelixHeadlessListHelixActionElementEvent;
|
|
7957
8332
|
/** Fired before a press changes which rows are selected, with the `value` it would leave. Cancelable. */
|
|
7958
8333
|
"helix-before-change": HelixHeadlessListHelixBeforeChangeElementEvent;
|
|
8334
|
+
/** Fired when a row is dropped at a new place, in a `reorderable` list, with every row's value in the new order. Cancelable: cancel it to keep the row where it is. */
|
|
8335
|
+
"helix-before-reorder": HelixHeadlessListHelixBeforeReorderElementEvent;
|
|
8336
|
+
/** Fired after `helix-before-reorder` when nobody canceled it. Move your rows to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
|
|
8337
|
+
"helix-reorder": HelixHeadlessListHelixReorderElementEvent;
|
|
7959
8338
|
};
|
|
7960
8339
|
|
|
7961
8340
|
/** `HelixHeadlessListbox` component event */
|
|
@@ -7966,12 +8345,18 @@ export type HelixHeadlessListboxElementEvent<E = Event> = TypedEvent<
|
|
|
7966
8345
|
/** `helix-before-change` event type */
|
|
7967
8346
|
export type HelixHeadlessListboxHelixBeforeChangeElementEvent =
|
|
7968
8347
|
HelixHeadlessListboxElementEvent<HelixBeforeChangeEvent>;
|
|
8348
|
+
/** `helix-before-reorder` event type */
|
|
8349
|
+
export type HelixHeadlessListboxHelixBeforeReorderElementEvent =
|
|
8350
|
+
HelixHeadlessListboxElementEvent<HelixBeforeReorderEvent>;
|
|
7969
8351
|
/** `helix-filter` event type */
|
|
7970
8352
|
export type HelixHeadlessListboxHelixFilterElementEvent =
|
|
7971
8353
|
HelixHeadlessListboxElementEvent<HelixFilterEvent>;
|
|
7972
8354
|
/** `helix-load-more` event type */
|
|
7973
8355
|
export type HelixHeadlessListboxHelixLoadMoreElementEvent =
|
|
7974
8356
|
HelixHeadlessListboxElementEvent<HelixLoadMoreEvent>;
|
|
8357
|
+
/** `helix-reorder` event type */
|
|
8358
|
+
export type HelixHeadlessListboxHelixReorderElementEvent =
|
|
8359
|
+
HelixHeadlessListboxElementEvent<HelixReorderEvent>;
|
|
7975
8360
|
|
|
7976
8361
|
export type HelixHeadlessListboxVueProps = {
|
|
7977
8362
|
/** What a browser's autofill may choose, as a platform token such as
|
|
@@ -8069,7 +8454,10 @@ By default a single-choice list chooses as the arrows move, as a radio
|
|
|
8069
8454
|
group does. Select and Time Input set this on the list in their panel, so
|
|
8070
8455
|
a reader can move through the options before closing the panel on one. */
|
|
8071
8456
|
manual?: (HelixHeadlessListbox["manual"]) | undefined;
|
|
8072
|
-
/** Whether more than one option can be chosen.
|
|
8457
|
+
/** Whether more than one option can be chosen.
|
|
8458
|
+
|
|
8459
|
+
A press then toggles the option pressed, and Shift with a press adds every
|
|
8460
|
+
option from the one last chosen to it, as React Aria's list does. */
|
|
8073
8461
|
multiple?: (HelixHeadlessListbox["multiple"]) | undefined;
|
|
8074
8462
|
/** The text shown when a filter hides every option of a list that has some.
|
|
8075
8463
|
|
|
@@ -8081,25 +8469,28 @@ matches what you typed" from "there is nothing here". */
|
|
|
8081
8469
|
Absent, the list says `empty-text` in both cases. Set it to tell "nothing
|
|
8082
8470
|
matches what you typed" from "there is nothing here". */
|
|
8083
8471
|
noResultsText?: (HelixHeadlessListbox["noResultsText"]) | undefined;
|
|
8084
|
-
/**
|
|
8085
|
-
|
|
8472
|
+
/** Lets a reader move options, once `@fusion.dev/helix/listbox/reorder` (or
|
|
8473
|
+
`@fusion.dev/helix-headless/listbox/reorder`) is imported: Alt with an
|
|
8474
|
+
arrow moves the highlighted option, and a pointer drags one. The list
|
|
8475
|
+
moves no option itself: you move your options, or your `items`, on
|
|
8476
|
+
`helix-reorder`. Without that import it does nothing, so a list that never
|
|
8477
|
+
moves options carries none of the code. */
|
|
8478
|
+
reorderable?: (HelixHeadlessListbox["reorderable"]) | undefined;
|
|
8479
|
+
/** What a screen reader hears when a filter leaves one option, where
|
|
8480
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
8086
8481
|
"result-label"?: (HelixHeadlessListbox["resultLabel"]) | undefined;
|
|
8087
|
-
/** What a screen reader hears when a filter leaves one option
|
|
8088
|
-
the count. */
|
|
8482
|
+
/** What a screen reader hears when a filter leaves one option, where
|
|
8483
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
8089
8484
|
resultLabel?: (HelixHeadlessListbox["resultLabel"]) | undefined;
|
|
8090
|
-
/** What a screen reader hears when a filter
|
|
8091
|
-
options
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
pair: a language with more forms than two picks the one for its `one` and
|
|
8095
|
-
writes the rest here. */
|
|
8485
|
+
/** What a screen reader hears when a filter narrows the list. `{count}` is
|
|
8486
|
+
how many options are left, written in the locale, and each language
|
|
8487
|
+
writes the forms it has: `{count, plural, one {# wynik} few {# wyniki}
|
|
8488
|
+
many {# wyników} other {# wyniku}}`. */
|
|
8096
8489
|
"results-label"?: (HelixHeadlessListbox["resultsLabel"]) | undefined;
|
|
8097
|
-
/** What a screen reader hears when a filter
|
|
8098
|
-
options
|
|
8099
|
-
|
|
8100
|
-
|
|
8101
|
-
pair: a language with more forms than two picks the one for its `one` and
|
|
8102
|
-
writes the rest here. */
|
|
8490
|
+
/** What a screen reader hears when a filter narrows the list. `{count}` is
|
|
8491
|
+
how many options are left, written in the locale, and each language
|
|
8492
|
+
writes the forms it has: `{count, plural, one {# wynik} few {# wyniki}
|
|
8493
|
+
many {# wyników} other {# wyniku}}`. */
|
|
8103
8494
|
resultsLabel?: (HelixHeadlessListbox["resultsLabel"]) | undefined;
|
|
8104
8495
|
/** What VoiceOver hears as the highlight reaches a chosen option from the
|
|
8105
8496
|
filter field, on Apple devices. `{name}` is the option's words. */
|
|
@@ -8107,6 +8498,14 @@ filter field, on Apple devices. `{name}` is the option's words. */
|
|
|
8107
8498
|
/** What VoiceOver hears as the highlight reaches a chosen option from the
|
|
8108
8499
|
filter field, on Apple devices. `{name}` is the option's words. */
|
|
8109
8500
|
selectedLabel?: (HelixHeadlessListbox["selectedLabel"]) | undefined;
|
|
8501
|
+
/** The message reported when the field is required and no option is chosen.
|
|
8502
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
8503
|
+
locale. */
|
|
8504
|
+
"value-missing-message"?: (HelixHeadlessListbox["valueMissingMessage"]) | undefined;
|
|
8505
|
+
/** The message reported when the field is required and no option is chosen.
|
|
8506
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
8507
|
+
locale. */
|
|
8508
|
+
valueMissingMessage?: (HelixHeadlessListbox["valueMissingMessage"]) | undefined;
|
|
8110
8509
|
/** Whether the rows are still loading.
|
|
8111
8510
|
|
|
8112
8511
|
Reflected, because a stylesheet needs it: the rows that are already there
|
|
@@ -8144,24 +8543,6 @@ browser's message. */
|
|
|
8144
8543
|
label?: (HelixHeadlessListbox["label"]) | undefined;
|
|
8145
8544
|
/** Whether the field needs a value before the form can submit. */
|
|
8146
8545
|
required?: (HelixHeadlessListbox["required"]) | undefined;
|
|
8147
|
-
/** The message shown when the field is required and empty.
|
|
8148
|
-
|
|
8149
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
8150
|
-
set and the browser's own on a text field, which the browser writes in
|
|
8151
|
-
the reader's language. Every other word a control speaks is a property,
|
|
8152
|
-
and this one was the English a form in another language still spoke in
|
|
8153
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
8154
|
-
the field and does not reach that one. */
|
|
8155
|
-
"value-missing-message"?: (HelixHeadlessListbox["valueMissingMessage"]) | undefined;
|
|
8156
|
-
/** The message shown when the field is required and empty.
|
|
8157
|
-
|
|
8158
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
8159
|
-
set and the browser's own on a text field, which the browser writes in
|
|
8160
|
-
the reader's language. Every other word a control speaks is a property,
|
|
8161
|
-
and this one was the English a form in another language still spoke in
|
|
8162
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
8163
|
-
the field and does not reach that one. */
|
|
8164
|
-
valueMissingMessage?: (HelixHeadlessListbox["valueMissingMessage"]) | undefined;
|
|
8165
8546
|
/** Whether the control is disabled and cannot be used.
|
|
8166
8547
|
|
|
8167
8548
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -8223,10 +8604,14 @@ export type HelixHeadlessListboxVueEvents = {
|
|
|
8223
8604
|
change: HelixHeadlessListboxElementEvent;
|
|
8224
8605
|
/** Fired when the value is about to change, and cancelable. */
|
|
8225
8606
|
"helix-before-change": HelixHeadlessListboxHelixBeforeChangeElementEvent;
|
|
8607
|
+
/** Fired when an option is dropped at a new place, in a `reorderable` list with `@fusion.dev/helix/listbox/reorder` imported, with every value in the new order. Cancelable: cancel it to keep the option where it is. */
|
|
8608
|
+
"helix-before-reorder": HelixHeadlessListboxHelixBeforeReorderElementEvent;
|
|
8226
8609
|
/** Fired before the list is filtered, and cancelable. */
|
|
8227
8610
|
"helix-filter": HelixHeadlessListboxHelixFilterElementEvent;
|
|
8228
8611
|
/** Fired once the list is scrolled within a screen of its end, once for each number of options, and not while `loading` is set. Add the next page of options and set `loading` while you fetch it. */
|
|
8229
8612
|
"helix-load-more": HelixHeadlessListboxHelixLoadMoreElementEvent;
|
|
8613
|
+
/** Fired after `helix-before-reorder` when nobody canceled it. Move your options, or your `items`, to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
|
|
8614
|
+
"helix-reorder": HelixHeadlessListboxHelixReorderElementEvent;
|
|
8230
8615
|
/** Fired after the value changes. */
|
|
8231
8616
|
input: HelixHeadlessListboxElementEvent;
|
|
8232
8617
|
};
|
|
@@ -8405,9 +8790,15 @@ export type HelixHeadlessMapMarkerVueProps = {
|
|
|
8405
8790
|
/** Marks the place as passed, such as a stop already visited. The marker is
|
|
8406
8791
|
drawn muted, and its name is followed by `passed-label`. */
|
|
8407
8792
|
passed?: (HelixHeadlessMapMarker["passed"]) | undefined;
|
|
8408
|
-
/**
|
|
8793
|
+
/** What a passed place is called. `{label}` is its name.
|
|
8794
|
+
|
|
8795
|
+
A word without `{label}`, such as `visited`, is written after the name
|
|
8796
|
+
with a comma, as before the sentence held the name. */
|
|
8409
8797
|
"passed-label"?: (HelixHeadlessMapMarker["passedLabel"]) | undefined;
|
|
8410
|
-
/**
|
|
8798
|
+
/** What a passed place is called. `{label}` is its name.
|
|
8799
|
+
|
|
8800
|
+
A word without `{label}`, such as `visited`, is written after the name
|
|
8801
|
+
with a comma, as before the sentence held the name. */
|
|
8411
8802
|
passedLabel?: (HelixHeadlessMapMarker["passedLabel"]) | undefined;
|
|
8412
8803
|
};
|
|
8413
8804
|
|
|
@@ -8596,16 +8987,32 @@ export type HelixHeadlessMapHelixToggleElementEvent =
|
|
|
8596
8987
|
HelixHeadlessMapElementEvent<HelixToggleEvent>;
|
|
8597
8988
|
|
|
8598
8989
|
export type HelixHeadlessMapVueProps = {
|
|
8990
|
+
/** The hint shown when the map, waiting to be pressed with
|
|
8991
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
8992
|
+
"activate-hint-label"?: (HelixHeadlessMap["activateHintLabel"]) | undefined;
|
|
8993
|
+
/** The hint shown when the map, waiting to be pressed with
|
|
8994
|
+
`gestures="activate"`, is scrolled or swiped over. */
|
|
8995
|
+
activateHintLabel?: (HelixHeadlessMap["activateHintLabel"]) | undefined;
|
|
8599
8996
|
/** The map's rotation, in degrees clockwise from north. `connectMap` keeps it
|
|
8600
8997
|
current, and the Face north button's needle turns with it. */
|
|
8601
8998
|
bearing?: (HelixHeadlessMap["bearing"]) | undefined;
|
|
8602
8999
|
/** Combines markers that would overlap into one count. Counts split apart as
|
|
8603
9000
|
the map zooms in, and pressing one zooms in to its places. */
|
|
8604
9001
|
cluster?: (HelixHeadlessMap["cluster"]) | undefined;
|
|
9002
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
9003
|
+
what the controls drive rather than the mechanism. */
|
|
9004
|
+
"controls-label"?: (HelixHeadlessMap["controlsLabel"]) | undefined;
|
|
9005
|
+
/** The name of the group of controls, read by screen readers, which names
|
|
9006
|
+
what the controls drive rather than the mechanism. */
|
|
9007
|
+
controlsLabel?: (HelixHeadlessMap["controlsLabel"]) | undefined;
|
|
8605
9008
|
/** The Face north button's label. */
|
|
8606
9009
|
"face-north-label"?: (HelixHeadlessMap["faceNorthLabel"]) | undefined;
|
|
8607
9010
|
/** The Face north button's label. */
|
|
8608
9011
|
faceNorthLabel?: (HelixHeadlessMap["faceNorthLabel"]) | undefined;
|
|
9012
|
+
/** The map's name where `label` is empty and the host has no `aria-label`. */
|
|
9013
|
+
"fallback-label"?: (HelixHeadlessMap["fallbackLabel"]) | undefined;
|
|
9014
|
+
/** The map's name where `label` is empty and the host has no `aria-label`. */
|
|
9015
|
+
fallbackLabel?: (HelixHeadlessMap["fallbackLabel"]) | undefined;
|
|
8609
9016
|
/** What screen readers hear when the map is tilted back to looking straight down. */
|
|
8610
9017
|
"flat-label"?: (HelixHeadlessMap["flatLabel"]) | undefined;
|
|
8611
9018
|
/** What screen readers hear when the map is tilted back to looking straight down. */
|
|
@@ -8676,24 +9083,44 @@ above `0`. */
|
|
|
8676
9083
|
/** The Standard map type's name. */
|
|
8677
9084
|
standardLabel?: (HelixHeadlessMap["standardLabel"]) | undefined;
|
|
8678
9085
|
/** What screen readers hear when the map is tilted. `{degrees}` is the tilt
|
|
8679
|
-
from looking straight down
|
|
9086
|
+
from looking straight down, written in the locale, and each language
|
|
9087
|
+
writes the forms it has. */
|
|
8680
9088
|
"tilted-label"?: (HelixHeadlessMap["tiltedLabel"]) | undefined;
|
|
8681
9089
|
/** What screen readers hear when the map is tilted. `{degrees}` is the tilt
|
|
8682
|
-
from looking straight down
|
|
9090
|
+
from looking straight down, written in the locale, and each language
|
|
9091
|
+
writes the forms it has. */
|
|
8683
9092
|
tiltedLabel?: (HelixHeadlessMap["tiltedLabel"]) | undefined;
|
|
8684
9093
|
/** The 3D button's label. */
|
|
8685
9094
|
"tilt-label"?: (HelixHeadlessMap["tiltLabel"]) | undefined;
|
|
8686
9095
|
/** The 3D button's label. */
|
|
8687
9096
|
tiltLabel?: (HelixHeadlessMap["tiltLabel"]) | undefined;
|
|
8688
9097
|
/** What screen readers hear when the map is turned. `{degrees}` is the way the
|
|
8689
|
-
top of the map faces, clockwise from north
|
|
9098
|
+
top of the map faces, clockwise from north, written in the locale, and
|
|
9099
|
+
each language writes the forms it has. */
|
|
8690
9100
|
"turned-label"?: (HelixHeadlessMap["turnedLabel"]) | undefined;
|
|
8691
9101
|
/** What screen readers hear when the map is turned. `{degrees}` is the way the
|
|
8692
|
-
top of the map faces, clockwise from north
|
|
9102
|
+
top of the map faces, clockwise from north, written in the locale, and
|
|
9103
|
+
each language writes the forms it has. */
|
|
8693
9104
|
turnedLabel?: (HelixHeadlessMap["turnedLabel"]) | undefined;
|
|
8694
|
-
/**
|
|
9105
|
+
/** The hint shown when one finger swipes over the map with `gestures="cooperative"`. */
|
|
9106
|
+
"two-finger-hint-label"?: (HelixHeadlessMap["twoFingerHintLabel"]) | undefined;
|
|
9107
|
+
/** The hint shown when one finger swipes over the map with `gestures="cooperative"`. */
|
|
9108
|
+
twoFingerHintLabel?: (HelixHeadlessMap["twoFingerHintLabel"]) | undefined;
|
|
9109
|
+
/** The line shown while the map, with `gestures="activate"`, has the gestures. */
|
|
9110
|
+
"using-label"?: (HelixHeadlessMap["usingLabel"]) | undefined;
|
|
9111
|
+
/** The line shown while the map, with `gestures="activate"`, has the gestures. */
|
|
9112
|
+
usingLabel?: (HelixHeadlessMap["usingLabel"]) | undefined;
|
|
9113
|
+
/** The hint shown when the wheel scrolls past the map with
|
|
9114
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
9115
|
+
"wheel-hint-label"?: (HelixHeadlessMap["wheelHintLabel"]) | undefined;
|
|
9116
|
+
/** The hint shown when the wheel scrolls past the map with
|
|
9117
|
+
`gestures="cooperative"`. `{key}` is ⌘ on a Mac and Ctrl elsewhere. */
|
|
9118
|
+
wheelHintLabel?: (HelixHeadlessMap["wheelHintLabel"]) | undefined;
|
|
9119
|
+
/** What screen readers hear after a zoom. `{level}` is the zoom level,
|
|
9120
|
+
written in the locale. */
|
|
8695
9121
|
"zoomed-label"?: (HelixHeadlessMap["zoomedLabel"]) | undefined;
|
|
8696
|
-
/** What screen readers hear after a zoom. `{level}` is the zoom level
|
|
9122
|
+
/** What screen readers hear after a zoom. `{level}` is the zoom level,
|
|
9123
|
+
written in the locale. */
|
|
8697
9124
|
zoomedLabel?: (HelixHeadlessMap["zoomedLabel"]) | undefined;
|
|
8698
9125
|
/** How far the map is zoomed, in its renderer's levels. `connectMap` keeps it
|
|
8699
9126
|
current, and the map says it after a zoom. */
|
|
@@ -8701,12 +9128,6 @@ current, and the map says it after a zoom. */
|
|
|
8701
9128
|
/** How far the map is zoomed, in its renderer's levels. `connectMap` keeps it
|
|
8702
9129
|
current, and the map says it after a zoom. */
|
|
8703
9130
|
zoomLevel?: (HelixHeadlessMap["zoomLevel"]) | undefined;
|
|
8704
|
-
/** The hint shown when a surface waiting to be pressed is scrolled or
|
|
8705
|
-
swiped over, with `gestures="activate"`. Absent is the family's own. */
|
|
8706
|
-
"activate-hint-label"?: (HelixHeadlessMap["activateHintLabel"]) | undefined;
|
|
8707
|
-
/** The hint shown when a surface waiting to be pressed is scrolled or
|
|
8708
|
-
swiped over, with `gestures="activate"`. Absent is the family's own. */
|
|
8709
|
-
activateHintLabel?: (HelixHeadlessMap["activateHintLabel"]) | undefined;
|
|
8710
9131
|
/** Which controls to show, as a list such as `pan zoom fullscreen`, or
|
|
8711
9132
|
`none`. A family can add words of its own.
|
|
8712
9133
|
|
|
@@ -8729,20 +9150,6 @@ of the frame. The
|
|
|
8729
9150
|
stylesheet lays the cluster out by which buttons are in it rather than by
|
|
8730
9151
|
this attribute, so the two defaults need no rule each. */
|
|
8731
9152
|
controls?: (HelixHeadlessMap["controls"]) | undefined;
|
|
8732
|
-
/** The name of the group of controls, read by screen readers.
|
|
8733
|
-
|
|
8734
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
8735
|
-
controls", which names what the controls drive rather than the
|
|
8736
|
-
mechanism. Written here to say it in another language, which every other
|
|
8737
|
-
string this surface speaks already allowed and this one did not. */
|
|
8738
|
-
"controls-label"?: (HelixHeadlessMap["controlsLabel"]) | undefined;
|
|
8739
|
-
/** The name of the group of controls, read by screen readers.
|
|
8740
|
-
|
|
8741
|
-
Absent is the family's own name for it, "Map controls" or "Board
|
|
8742
|
-
controls", which names what the controls drive rather than the
|
|
8743
|
-
mechanism. Written here to say it in another language, which every other
|
|
8744
|
-
string this surface speaks already allowed and this one did not. */
|
|
8745
|
-
controlsLabel?: (HelixHeadlessMap["controlsLabel"]) | undefined;
|
|
8746
9153
|
/** Which corner the controls sit in.
|
|
8747
9154
|
|
|
8748
9155
|
**Configurable because there is no safe default**, which is a collision
|
|
@@ -8845,26 +9252,6 @@ at any zoom, and a consumer who wants their own units multiplies by them. */
|
|
|
8845
9252
|
"pan-up-label"?: (HelixHeadlessMap["panUpLabel"]) | undefined;
|
|
8846
9253
|
/** The pan up button's label. */
|
|
8847
9254
|
panUpLabel?: (HelixHeadlessMap["panUpLabel"]) | undefined;
|
|
8848
|
-
/** The hint shown when one finger swipes over a surface with
|
|
8849
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
8850
|
-
"two-finger-hint-label"?: (HelixHeadlessMap["twoFingerHintLabel"]) | undefined;
|
|
8851
|
-
/** The hint shown when one finger swipes over a surface with
|
|
8852
|
-
`gestures="cooperative"`. Absent is the family's own. */
|
|
8853
|
-
twoFingerHintLabel?: (HelixHeadlessMap["twoFingerHintLabel"]) | undefined;
|
|
8854
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
8855
|
-
gestures. Absent is the family's own. */
|
|
8856
|
-
"using-label"?: (HelixHeadlessMap["usingLabel"]) | undefined;
|
|
8857
|
-
/** The line shown while a surface with `gestures="activate"` has the
|
|
8858
|
-
gestures. Absent is the family's own. */
|
|
8859
|
-
usingLabel?: (HelixHeadlessMap["usingLabel"]) | undefined;
|
|
8860
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
8861
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
8862
|
-
elsewhere. Absent is the family's own. */
|
|
8863
|
-
"wheel-hint-label"?: (HelixHeadlessMap["wheelHintLabel"]) | undefined;
|
|
8864
|
-
/** The hint shown when the wheel scrolls past a surface with
|
|
8865
|
-
`gestures="cooperative"`, with `{key}`, which is ⌘ on a Mac and Ctrl
|
|
8866
|
-
elsewhere. Absent is the family's own. */
|
|
8867
|
-
wheelHintLabel?: (HelixHeadlessMap["wheelHintLabel"]) | undefined;
|
|
8868
9255
|
/** The zoom in button's label. */
|
|
8869
9256
|
"zoom-in-label"?: (HelixHeadlessMap["zoomInLabel"]) | undefined;
|
|
8870
9257
|
/** The zoom in button's label. */
|
|
@@ -9327,12 +9714,16 @@ no reader. */
|
|
|
9327
9714
|
/** The words each band is said with under `live`, by its name, written as
|
|
9328
9715
|
JSON in the attribute: `band-labels='{"poor":"Almost full"}'`.
|
|
9329
9716
|
|
|
9330
|
-
A band left out keeps its default: "Good", "Fair" or "Poor".
|
|
9717
|
+
A band left out keeps its default: "Good", "Fair" or "Poor". Reading the
|
|
9718
|
+
property gives every band's words, yours over the registry's over the
|
|
9719
|
+
English. */
|
|
9331
9720
|
"band-labels"?: (HelixHeadlessMeter["bandLabels"]) | undefined;
|
|
9332
9721
|
/** The words each band is said with under `live`, by its name, written as
|
|
9333
9722
|
JSON in the attribute: `band-labels='{"poor":"Almost full"}'`.
|
|
9334
9723
|
|
|
9335
|
-
A band left out keeps its default: "Good", "Fair" or "Poor".
|
|
9724
|
+
A band left out keeps its default: "Good", "Fair" or "Poor". Reading the
|
|
9725
|
+
property gives every band's words, yours over the registry's over the
|
|
9726
|
+
English. */
|
|
9336
9727
|
bandLabels?: (HelixHeadlessMeter["bandLabels"]) | undefined;
|
|
9337
9728
|
/** `Intl.NumberFormat` options the reading is written with, as React Aria's
|
|
9338
9729
|
Meter and ProgressBar take them: a unit, a currency, or a number of
|
|
@@ -9376,9 +9767,17 @@ For a meter whose value changes while it is on screen. Off by default,
|
|
|
9376
9767
|
because a meter that reads a fixed level has nothing new to say. A meter
|
|
9377
9768
|
with no bands says nothing. */
|
|
9378
9769
|
live?: (HelixHeadlessMeter["live"]) | undefined;
|
|
9379
|
-
/**
|
|
9380
|
-
|
|
9381
|
-
|
|
9770
|
+
/** What `live` says as the reading moves into another band. `{reading}` is
|
|
9771
|
+
the reading as it is shown, and `{band}` the band's words from
|
|
9772
|
+
`band-labels`. */
|
|
9773
|
+
"live-label"?: (HelixHeadlessMeter["liveLabel"]) | undefined;
|
|
9774
|
+
/** What `live` says as the reading moves into another band. `{reading}` is
|
|
9775
|
+
the reading as it is shown, and `{band}` the band's words from
|
|
9776
|
+
`band-labels`. */
|
|
9777
|
+
liveLabel?: (HelixHeadlessMeter["liveLabel"]) | undefined;
|
|
9778
|
+
/** The locale the words and the percentage are in, such as `fr` for `72 %`.
|
|
9779
|
+
|
|
9780
|
+
Absent reads the nearest `lang`, then the runtime's own. */
|
|
9382
9781
|
locale?: (HelixHeadlessMeter["locale"]) | undefined;
|
|
9383
9782
|
/** Top of the low band.
|
|
9384
9783
|
|
|
@@ -9587,14 +9986,22 @@ its place. Translate it with the rest of your interface. */
|
|
|
9587
9986
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
9588
9987
|
derive one rather than dash-casing it, so this would otherwise be
|
|
9589
9988
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
9590
|
-
would catch.
|
|
9989
|
+
would catch.
|
|
9990
|
+
|
|
9991
|
+
A word property: register it for a locale under the host's key. A family
|
|
9992
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
9993
|
+
declares its own English with `@words` above the override. */
|
|
9591
9994
|
"dismiss-label"?: (HelixHeadlessNotification["dismissLabel"]) | undefined;
|
|
9592
9995
|
/** The dismiss control's label, read by screen readers.
|
|
9593
9996
|
|
|
9594
9997
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
9595
9998
|
derive one rather than dash-casing it, so this would otherwise be
|
|
9596
9999
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
9597
|
-
would catch.
|
|
10000
|
+
would catch.
|
|
10001
|
+
|
|
10002
|
+
A word property: register it for a locale under the host's key. A family
|
|
10003
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
10004
|
+
declares its own English with `@words` above the override. */
|
|
9598
10005
|
dismissLabel?: (HelixHeadlessNotification["dismissLabel"]) | undefined;
|
|
9599
10006
|
};
|
|
9600
10007
|
|
|
@@ -9621,6 +10028,10 @@ export type HelixHeadlessNotificationsHelixReadElementEvent =
|
|
|
9621
10028
|
HelixHeadlessNotificationsElementEvent<HelixReadEvent>;
|
|
9622
10029
|
|
|
9623
10030
|
export type HelixHeadlessNotificationsVueProps = {
|
|
10031
|
+
/** The region's name where `label` is empty. */
|
|
10032
|
+
"fallback-label"?: (HelixHeadlessNotifications["fallbackLabel"]) | undefined;
|
|
10033
|
+
/** The region's name where `label` is empty. */
|
|
10034
|
+
fallbackLabel?: (HelixHeadlessNotifications["fallbackLabel"]) | undefined;
|
|
9624
10035
|
/** The feed's name, read by screen readers. */
|
|
9625
10036
|
label?: (HelixHeadlessNotifications["label"]) | undefined;
|
|
9626
10037
|
/** What the feed says when a page of it could not be loaded, such as after a
|
|
@@ -9709,7 +10120,8 @@ number.
|
|
|
9709
10120
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
9710
10121
|
named for the validity flag it reports, so a form in another language
|
|
9711
10122
|
speaks it: `feedback` replaces the message under the field and does not
|
|
9712
|
-
reach the bubble.
|
|
10123
|
+
reach the bubble. Unset is the sentence registered for the page's
|
|
10124
|
+
language, then the English. */
|
|
9713
10125
|
"bad-input-message"?: (HelixHeadlessNumberInput["badInputMessage"]) | undefined;
|
|
9714
10126
|
/** The message the browser shows when the field holds something that is not a
|
|
9715
10127
|
number.
|
|
@@ -9717,7 +10129,8 @@ number.
|
|
|
9717
10129
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
9718
10130
|
named for the validity flag it reports, so a form in another language
|
|
9719
10131
|
speaks it: `feedback` replaces the message under the field and does not
|
|
9720
|
-
reach the bubble.
|
|
10132
|
+
reach the bubble. Unset is the sentence registered for the page's
|
|
10133
|
+
language, then the English. */
|
|
9721
10134
|
badInputMessage?: (HelixHeadlessNumberInput["badInputMessage"]) | undefined;
|
|
9722
10135
|
/** The name of the step down button, read by screen readers. */
|
|
9723
10136
|
"decrement-label"?: (HelixHeadlessNumberInput["decrementLabel"]) | undefined;
|
|
@@ -9775,16 +10188,16 @@ Absent has no floor. */
|
|
|
9775
10188
|
Not a label: it goes when typing starts. */
|
|
9776
10189
|
placeholder?: (HelixHeadlessNumberInput["placeholder"]) | undefined;
|
|
9777
10190
|
/** The message the browser shows when the number is above `max`, with `{max}`
|
|
9778
|
-
filled in. */
|
|
10191
|
+
filled in, written in the locale. */
|
|
9779
10192
|
"range-overflow-message"?: (HelixHeadlessNumberInput["rangeOverflowMessage"]) | undefined;
|
|
9780
10193
|
/** The message the browser shows when the number is above `max`, with `{max}`
|
|
9781
|
-
filled in. */
|
|
10194
|
+
filled in, written in the locale. */
|
|
9782
10195
|
rangeOverflowMessage?: (HelixHeadlessNumberInput["rangeOverflowMessage"]) | undefined;
|
|
9783
10196
|
/** The message the browser shows when the number is below `min`, with `{min}`
|
|
9784
|
-
filled in. */
|
|
10197
|
+
filled in, written in the locale. */
|
|
9785
10198
|
"range-underflow-message"?: (HelixHeadlessNumberInput["rangeUnderflowMessage"]) | undefined;
|
|
9786
10199
|
/** The message the browser shows when the number is below `min`, with `{min}`
|
|
9787
|
-
filled in. */
|
|
10200
|
+
filled in, written in the locale. */
|
|
9788
10201
|
rangeUnderflowMessage?: (HelixHeadlessNumberInput["rangeUnderflowMessage"]) | undefined;
|
|
9789
10202
|
/** Prevents editing. The value is still submitted with the form. */
|
|
9790
10203
|
readonly?: (HelixHeadlessNumberInput["readOnly"]) | undefined;
|
|
@@ -9809,10 +10222,12 @@ showing dollars keeps the cents typed into it. Without `format-options`
|
|
|
9809
10222
|
the grid is whole numbers, as in a native number field. */
|
|
9810
10223
|
step?: (HelixHeadlessNumberInput["step"]) | undefined;
|
|
9811
10224
|
/** The message the browser shows when the number is off the step grid, with
|
|
9812
|
-
`{below}` and `{above}` filled in with the nearest valid values
|
|
10225
|
+
`{below}` and `{above}` filled in with the nearest valid values, written in
|
|
10226
|
+
the locale. */
|
|
9813
10227
|
"step-mismatch-message"?: (HelixHeadlessNumberInput["stepMismatchMessage"]) | undefined;
|
|
9814
10228
|
/** The message the browser shows when the number is off the step grid, with
|
|
9815
|
-
`{below}` and `{above}` filled in with the nearest valid values
|
|
10229
|
+
`{below}` and `{above}` filled in with the nearest valid values, written in
|
|
10230
|
+
the locale. */
|
|
9816
10231
|
stepMismatchMessage?: (HelixHeadlessNumberInput["stepMismatchMessage"]) | undefined;
|
|
9817
10232
|
/** What a screen reader says for the value, with `{value}` filled in, such as
|
|
9818
10233
|
`{value} kilograms`.
|
|
@@ -9861,18 +10276,22 @@ browser's message. */
|
|
|
9861
10276
|
required?: (HelixHeadlessNumberInput["required"]) | undefined;
|
|
9862
10277
|
/** The message shown when the field is required and empty.
|
|
9863
10278
|
|
|
9864
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
9865
|
-
set and the browser's own on a text field, which the
|
|
9866
|
-
the reader's language.
|
|
10279
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
10280
|
+
continue." on a set and the browser's own on a text field, which the
|
|
10281
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
10282
|
+
own declares it as this property's English, a word property a page
|
|
10283
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
9867
10284
|
and this one was the English a form in another language still spoke in
|
|
9868
10285
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
9869
10286
|
the field and does not reach that one. */
|
|
9870
10287
|
"value-missing-message"?: (HelixHeadlessNumberInput["valueMissingMessage"]) | undefined;
|
|
9871
10288
|
/** The message shown when the field is required and empty.
|
|
9872
10289
|
|
|
9873
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
9874
|
-
set and the browser's own on a text field, which the
|
|
9875
|
-
the reader's language.
|
|
10290
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
10291
|
+
continue." on a set and the browser's own on a text field, which the
|
|
10292
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
10293
|
+
own declares it as this property's English, a word property a page
|
|
10294
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
9876
10295
|
and this one was the English a form in another language still spoke in
|
|
9877
10296
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
9878
10297
|
the field and does not reach that one. */
|
|
@@ -10004,21 +10423,33 @@ Read once the document exists, and again whenever this changes. Text that
|
|
|
10004
10423
|
does not parse leaves the inspector empty rather than throwing, since a
|
|
10005
10424
|
page's markup should not take the page down over a comma. */
|
|
10006
10425
|
for?: (HelixHeadlessObjectInspector["for"]) | undefined;
|
|
10007
|
-
/** How an array of one entry counts it
|
|
10426
|
+
/** How an array of one entry counts it, where `items-label` should not say
|
|
10427
|
+
it. `{count}` is the count. */
|
|
10008
10428
|
"item-label"?: (HelixHeadlessObjectInspector["itemLabel"]) | undefined;
|
|
10009
|
-
/** How an array of one entry counts it
|
|
10429
|
+
/** How an array of one entry counts it, where `items-label` should not say
|
|
10430
|
+
it. `{count}` is the count. */
|
|
10010
10431
|
itemLabel?: (HelixHeadlessObjectInspector["itemLabel"]) | undefined;
|
|
10011
|
-
/** How an array
|
|
10432
|
+
/** How an array counts its entries. `{count}` is the count, written in the
|
|
10433
|
+
locale, and each language writes the forms it has: `{count, plural, one
|
|
10434
|
+
{# element} few {# elementy} many {# elementów} other {# elementu}}`. */
|
|
10012
10435
|
"items-label"?: (HelixHeadlessObjectInspector["itemsLabel"]) | undefined;
|
|
10013
|
-
/** How an array
|
|
10436
|
+
/** How an array counts its entries. `{count}` is the count, written in the
|
|
10437
|
+
locale, and each language writes the forms it has: `{count, plural, one
|
|
10438
|
+
{# element} few {# elementy} many {# elementów} other {# elementu}}`. */
|
|
10014
10439
|
itemsLabel?: (HelixHeadlessObjectInspector["itemsLabel"]) | undefined;
|
|
10015
|
-
/** How an object of one key counts it
|
|
10440
|
+
/** How an object of one key counts it, where `keys-label` should not say it.
|
|
10441
|
+
`{count}` is the count. */
|
|
10016
10442
|
"key-label"?: (HelixHeadlessObjectInspector["keyLabel"]) | undefined;
|
|
10017
|
-
/** How an object of one key counts it
|
|
10443
|
+
/** How an object of one key counts it, where `keys-label` should not say it.
|
|
10444
|
+
`{count}` is the count. */
|
|
10018
10445
|
keyLabel?: (HelixHeadlessObjectInspector["keyLabel"]) | undefined;
|
|
10019
|
-
/** How an object
|
|
10446
|
+
/** How an object counts its keys. `{count}` is the count, written in the
|
|
10447
|
+
locale, and each language writes the forms it has: `{count, plural, one
|
|
10448
|
+
{# klucz} few {# klucze} many {# kluczy} other {# klucza}}`. */
|
|
10020
10449
|
"keys-label"?: (HelixHeadlessObjectInspector["keysLabel"]) | undefined;
|
|
10021
|
-
/** How an object
|
|
10450
|
+
/** How an object counts its keys. `{count}` is the count, written in the
|
|
10451
|
+
locale, and each language writes the forms it has: `{count, plural, one
|
|
10452
|
+
{# klucz} few {# klucze} many {# kluczy} other {# klucza}}`. */
|
|
10022
10453
|
keysLabel?: (HelixHeadlessObjectInspector["keysLabel"]) | undefined;
|
|
10023
10454
|
/** Accessible name for the tree, and the text of the header where there is one. */
|
|
10024
10455
|
label?: (HelixHeadlessObjectInspector["label"]) | undefined;
|
|
@@ -10046,15 +10477,21 @@ who set the property. This button is positioned out of the flow and takes no
|
|
|
10046
10477
|
room, so nothing selects on it, and reflection exists so that a selector can
|
|
10047
10478
|
reach a value. */
|
|
10048
10479
|
noCopy?: (HelixHeadlessObjectInspector["noCopy"]) | undefined;
|
|
10049
|
-
/** What a screen reader hears when a filter matches one entry
|
|
10480
|
+
/** What a screen reader hears when a filter matches one entry, where
|
|
10481
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
10050
10482
|
"result-label"?: (HelixHeadlessObjectInspector["resultLabel"]) | undefined;
|
|
10051
|
-
/** What a screen reader hears when a filter matches one entry
|
|
10483
|
+
/** What a screen reader hears when a filter matches one entry, where
|
|
10484
|
+
`results-label` should not say it. `{count}` is the count. */
|
|
10052
10485
|
resultLabel?: (HelixHeadlessObjectInspector["resultLabel"]) | undefined;
|
|
10053
|
-
/** What a screen reader hears when a filter matches
|
|
10054
|
-
|
|
10486
|
+
/** What a screen reader hears when a filter matches entries. `{count}` is
|
|
10487
|
+
how many, written in the locale, and each language writes the forms it
|
|
10488
|
+
has: `{count, plural, one {# wynik} few {# wyniki} many {# wyników}
|
|
10489
|
+
other {# wyniku}}`. */
|
|
10055
10490
|
"results-label"?: (HelixHeadlessObjectInspector["resultsLabel"]) | undefined;
|
|
10056
|
-
/** What a screen reader hears when a filter matches
|
|
10057
|
-
|
|
10491
|
+
/** What a screen reader hears when a filter matches entries. `{count}` is
|
|
10492
|
+
how many, written in the locale, and each language writes the forms it
|
|
10493
|
+
has: `{count, plural, one {# wynik} few {# wyniki} many {# wyników}
|
|
10494
|
+
other {# wyniku}}`. */
|
|
10058
10495
|
resultsLabel?: (HelixHeadlessObjectInspector["resultsLabel"]) | undefined;
|
|
10059
10496
|
/** The tree's accessible name when `label` is empty and the host names it
|
|
10060
10497
|
with neither `aria-label` nor `aria-labelledby`. */
|
|
@@ -10393,7 +10830,8 @@ one, and the back button works without the consumer wiring anything. */
|
|
|
10393
10830
|
"last-label"?: (HelixHeadlessPagination["lastLabel"]) | undefined;
|
|
10394
10831
|
/** Accessible name for the control that jumps to the last page. */
|
|
10395
10832
|
lastLabel?: (HelixHeadlessPagination["lastLabel"]) | undefined;
|
|
10396
|
-
/**
|
|
10833
|
+
/** The locale the words and the page numbers are in, as a BCP 47 tag such as
|
|
10834
|
+
`de`. Empty reads the nearest `lang`, then the browser's language.
|
|
10397
10835
|
|
|
10398
10836
|
The same property the calendar takes, doing the same job one layer down:
|
|
10399
10837
|
the templates make the *words* the consumer's, and this makes the *numbers*
|
|
@@ -10507,9 +10945,8 @@ export type HelixHeadlessPaginationSizeVueProps = {
|
|
|
10507
10945
|
defaultValue?: (HelixHeadlessPaginationSize["defaultValue"]) | undefined;
|
|
10508
10946
|
/** The label beside the control. */
|
|
10509
10947
|
label?: (HelixHeadlessPaginationSize["label"]) | undefined;
|
|
10510
|
-
/**
|
|
10511
|
-
|
|
10512
|
-
Absent uses the runtime's own. */
|
|
10948
|
+
/** The locale the words and the numbers are in, as a BCP 47 tag such as
|
|
10949
|
+
`de`. Empty reads the nearest `lang`, then the browser's language. */
|
|
10513
10950
|
locale?: (HelixHeadlessPaginationSize["locale"]) | undefined;
|
|
10514
10951
|
/** The sizes offered, comma separated.
|
|
10515
10952
|
|
|
@@ -10562,7 +10999,7 @@ export type HelixHeadlessPaginationSizeVueEvents = {
|
|
|
10562
10999
|
|
|
10563
11000
|
export type HelixHeadlessPaginationSummaryVueProps = {
|
|
10564
11001
|
/** The text shown. `{from}`, `{to}`, and `{total}` are replaced with the first
|
|
10565
|
-
item, the last item, and the item count.
|
|
11002
|
+
item, the last item, and the item count, written in the locale.
|
|
10566
11003
|
|
|
10567
11004
|
A template rather than a prefix and a suffix, because word order is not
|
|
10568
11005
|
universal: `format="{total} 件中 {from}-{to} 件"` is one attribute here and
|
|
@@ -10576,9 +11013,8 @@ of the element, so calling it `label` put one word on three jobs inside one
|
|
|
10576
11013
|
family. The root's templates are `pageLabel`, `statusLabel` and `gapLabel`,
|
|
10577
11014
|
which each label something; this labels nothing, it *is* the thing. */
|
|
10578
11015
|
format?: (HelixHeadlessPaginationSummary["format"]) | undefined;
|
|
10579
|
-
/**
|
|
10580
|
-
|
|
10581
|
-
Absent uses the runtime's own. */
|
|
11016
|
+
/** The locale the words and the numbers are in, as a BCP 47 tag such as
|
|
11017
|
+
`de`. Empty reads the nearest `lang`, then the browser's language. */
|
|
10582
11018
|
locale?: (HelixHeadlessPaginationSummary["locale"]) | undefined;
|
|
10583
11019
|
/** The current page, counting from one. */
|
|
10584
11020
|
page?: (HelixHeadlessPaginationSummary["page"]) | undefined;
|
|
@@ -10644,11 +11080,13 @@ a row of boxes. */
|
|
|
10644
11080
|
readonly?: (HelixHeadlessPinInput["readOnly"]) | undefined;
|
|
10645
11081
|
/** Whether the field blocks input. A read-only code still submits its value. */
|
|
10646
11082
|
readOnly?: (HelixHeadlessPinInput["readOnly"]) | undefined;
|
|
10647
|
-
/** The message shown when the code is started and not finished
|
|
10648
|
-
|
|
11083
|
+
/** The message shown when the code is started and not finished. `{length}`
|
|
11084
|
+
is how many characters the code has, written in the locale, and each
|
|
11085
|
+
language writes the forms it has. */
|
|
10649
11086
|
"too-short-message"?: (HelixHeadlessPinInput["tooShortMessage"]) | undefined;
|
|
10650
|
-
/** The message shown when the code is started and not finished
|
|
10651
|
-
|
|
11087
|
+
/** The message shown when the code is started and not finished. `{length}`
|
|
11088
|
+
is how many characters the code has, written in the locale, and each
|
|
11089
|
+
language writes the forms it has. */
|
|
10652
11090
|
tooShortMessage?: (HelixHeadlessPinInput["tooShortMessage"]) | undefined;
|
|
10653
11091
|
/** The characters a box accepts, which also sets the keyboard a phone shows.
|
|
10654
11092
|
|
|
@@ -10699,18 +11137,22 @@ browser's message. */
|
|
|
10699
11137
|
required?: (HelixHeadlessPinInput["required"]) | undefined;
|
|
10700
11138
|
/** The message shown when the field is required and empty.
|
|
10701
11139
|
|
|
10702
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
10703
|
-
set and the browser's own on a text field, which the
|
|
10704
|
-
the reader's language.
|
|
11140
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
11141
|
+
continue." on a set and the browser's own on a text field, which the
|
|
11142
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
11143
|
+
own declares it as this property's English, a word property a page
|
|
11144
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
10705
11145
|
and this one was the English a form in another language still spoke in
|
|
10706
11146
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
10707
11147
|
the field and does not reach that one. */
|
|
10708
11148
|
"value-missing-message"?: (HelixHeadlessPinInput["valueMissingMessage"]) | undefined;
|
|
10709
11149
|
/** The message shown when the field is required and empty.
|
|
10710
11150
|
|
|
10711
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
10712
|
-
set and the browser's own on a text field, which the
|
|
10713
|
-
the reader's language.
|
|
11151
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
11152
|
+
continue." on a set and the browser's own on a text field, which the
|
|
11153
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
11154
|
+
own declares it as this property's English, a word property a page
|
|
11155
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
10714
11156
|
and this one was the English a form in another language still spoke in
|
|
10715
11157
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
10716
11158
|
the field and does not reach that one. */
|
|
@@ -10775,8 +11217,14 @@ export type HelixHeadlessPopoverVueProps = {
|
|
|
10775
11217
|
Off by default, which is the house style: a panel that opens from its
|
|
10776
11218
|
trigger already reads as belonging to it. */
|
|
10777
11219
|
arrow?: (HelixHeadlessPopover["arrow"]) | undefined;
|
|
10778
|
-
/** The panel's name
|
|
10779
|
-
|
|
11220
|
+
/** The panel's name where nothing else names it: no `label`, no heading in
|
|
11221
|
+
the panel, and no `aria-labelledby` on the host. */
|
|
11222
|
+
"fallback-label"?: (HelixHeadlessPopover["fallbackLabel"]) | undefined;
|
|
11223
|
+
/** The panel's name where nothing else names it: no `label`, no heading in
|
|
11224
|
+
the panel, and no `aria-labelledby` on the host. */
|
|
11225
|
+
fallbackLabel?: (HelixHeadlessPopover["fallbackLabel"]) | undefined;
|
|
11226
|
+
/** The panel's name, read by screen readers. Left empty, the first heading in
|
|
11227
|
+
the panel names it, and then `fallback-label`. */
|
|
10780
11228
|
label?: (HelixHeadlessPopover["label"]) | undefined;
|
|
10781
11229
|
/** Keeps `Tab` inside the panel while it is open, marks the panel
|
|
10782
11230
|
`aria-modal`, and hides the rest of the page from screen readers. A press
|
|
@@ -10880,9 +11328,9 @@ place in the layout when the answer arrives and it becomes determinate. */
|
|
|
10880
11328
|
A visible label in the `label` slot names it instead, with the words it
|
|
10881
11329
|
shows, so the name and the label cannot disagree. */
|
|
10882
11330
|
label?: (HelixHeadlessProgress["label"]) | undefined;
|
|
10883
|
-
/** The locale the percentage
|
|
11331
|
+
/** The locale the words and the percentage are in, such as `fr` for `72 %`.
|
|
10884
11332
|
|
|
10885
|
-
Absent
|
|
11333
|
+
Absent reads the nearest `lang`, then the runtime's own. */
|
|
10886
11334
|
locale?: (HelixHeadlessProgress["locale"]) | undefined;
|
|
10887
11335
|
/** The total the work is measured against. */
|
|
10888
11336
|
max?: (HelixHeadlessProgress["max"]) | undefined;
|
|
@@ -10960,11 +11408,17 @@ export type HelixHeadlessQrCodeElementEvent<E = Event> = TypedEvent<
|
|
|
10960
11408
|
>;
|
|
10961
11409
|
|
|
10962
11410
|
export type HelixHeadlessQrCodeVueProps = {
|
|
10963
|
-
/** The
|
|
10964
|
-
|
|
11411
|
+
/** The name of a code with no `label` whose value is a web address.
|
|
11412
|
+
`{code}` is `code-label` and `{address}` the address. */
|
|
11413
|
+
"address-label"?: (HelixHeadlessQrCode["addressLabel"]) | undefined;
|
|
11414
|
+
/** The name of a code with no `label` whose value is a web address.
|
|
11415
|
+
`{code}` is `code-label` and `{address}` the address. */
|
|
11416
|
+
addressLabel?: (HelixHeadlessQrCode["addressLabel"]) | undefined;
|
|
11417
|
+
/** The words a code with no `label` is named by, with its value where the
|
|
11418
|
+
value is a web address, as `address-label` says. */
|
|
10965
11419
|
"code-label"?: (HelixHeadlessQrCode["codeLabel"]) | undefined;
|
|
10966
|
-
/** The words a code with no `label` is named by,
|
|
10967
|
-
|
|
11420
|
+
/** The words a code with no `label` is named by, with its value where the
|
|
11421
|
+
value is a web address, as `address-label` says. */
|
|
10968
11422
|
codeLabel?: (HelixHeadlessQrCode["codeLabel"]) | undefined;
|
|
10969
11423
|
/** The error correction level, which sets how much of the code can be lost
|
|
10970
11424
|
and still scan.
|
|
@@ -11051,6 +11505,14 @@ Home and End move focus between the radios and choose nothing, so a reader
|
|
|
11051
11505
|
can hear every choice, and Tab still reaches the answer. The group says
|
|
11052
11506
|
`aria-readonly`. A script can still set `value`. */
|
|
11053
11507
|
readOnly?: (HelixHeadlessRadioGroup["readOnly"]) | undefined;
|
|
11508
|
+
/** The message reported when the field is required and no option is chosen.
|
|
11509
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
11510
|
+
locale. */
|
|
11511
|
+
"value-missing-message"?: (HelixHeadlessRadioGroup["valueMissingMessage"]) | undefined;
|
|
11512
|
+
/** The message reported when the field is required and no option is chosen.
|
|
11513
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
11514
|
+
locale. */
|
|
11515
|
+
valueMissingMessage?: (HelixHeadlessRadioGroup["valueMissingMessage"]) | undefined;
|
|
11054
11516
|
/** The value the control starts with. A form reset returns it to this value,
|
|
11055
11517
|
and to the `value` attribute where this one is not written, as a native
|
|
11056
11518
|
control resets to the `value` it declares. */
|
|
@@ -11078,24 +11540,6 @@ browser's message. */
|
|
|
11078
11540
|
label?: (HelixHeadlessRadioGroup["label"]) | undefined;
|
|
11079
11541
|
/** Whether the field needs a value before the form can submit. */
|
|
11080
11542
|
required?: (HelixHeadlessRadioGroup["required"]) | undefined;
|
|
11081
|
-
/** The message shown when the field is required and empty.
|
|
11082
|
-
|
|
11083
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11084
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11085
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11086
|
-
and this one was the English a form in another language still spoke in
|
|
11087
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11088
|
-
the field and does not reach that one. */
|
|
11089
|
-
"value-missing-message"?: (HelixHeadlessRadioGroup["valueMissingMessage"]) | undefined;
|
|
11090
|
-
/** The message shown when the field is required and empty.
|
|
11091
|
-
|
|
11092
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11093
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11094
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11095
|
-
and this one was the English a form in another language still spoke in
|
|
11096
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11097
|
-
the field and does not reach that one. */
|
|
11098
|
-
valueMissingMessage?: (HelixHeadlessRadioGroup["valueMissingMessage"]) | undefined;
|
|
11099
11543
|
/** Whether the control is disabled and cannot be used.
|
|
11100
11544
|
|
|
11101
11545
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -11281,13 +11725,13 @@ leaving a rating with nothing to press. A property that silently accepts
|
|
|
11281
11725
|
nonsense is the fault this pays off, so neither case is quietly ignored. */
|
|
11282
11726
|
min?: (HelixHeadlessRating["min"]) | undefined;
|
|
11283
11727
|
/** The name of each mark a reader can choose, with `{score}` and `{max}`
|
|
11284
|
-
filled in. Set it to translate "3 out of 5".
|
|
11728
|
+
filled in, written in the locale. Set it to translate "3 out of 5".
|
|
11285
11729
|
|
|
11286
11730
|
Also what a read-only rating says for its score where `value-text` is
|
|
11287
11731
|
empty. */
|
|
11288
11732
|
"option-label"?: (HelixHeadlessRating["optionLabel"]) | undefined;
|
|
11289
11733
|
/** The name of each mark a reader can choose, with `{score}` and `{max}`
|
|
11290
|
-
filled in. Set it to translate "3 out of 5".
|
|
11734
|
+
filled in, written in the locale. Set it to translate "3 out of 5".
|
|
11291
11735
|
|
|
11292
11736
|
Also what a read-only rating says for its score where `value-text` is
|
|
11293
11737
|
empty. */
|
|
@@ -11329,6 +11773,14 @@ reader's own cursor would be worse than no label. */
|
|
|
11329
11773
|
`0.5` is the half star, and it is the reason the value is a number rather
|
|
11330
11774
|
than an index: with halves, five marks are ten answers. */
|
|
11331
11775
|
step?: (HelixHeadlessRating["step"]) | undefined;
|
|
11776
|
+
/** The message reported when the field is required and no rating is chosen.
|
|
11777
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
11778
|
+
locale. */
|
|
11779
|
+
"value-missing-message"?: (HelixHeadlessRating["valueMissingMessage"]) | undefined;
|
|
11780
|
+
/** The message reported when the field is required and no rating is chosen.
|
|
11781
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
11782
|
+
locale. */
|
|
11783
|
+
valueMissingMessage?: (HelixHeadlessRating["valueMissingMessage"]) | undefined;
|
|
11332
11784
|
/** The text screen readers read for the score, in place of "3.5 out of 5".
|
|
11333
11785
|
|
|
11334
11786
|
A rating out of five is one of the few places a screen reader gets a worse
|
|
@@ -11370,24 +11822,6 @@ browser's message. */
|
|
|
11370
11822
|
label?: (HelixHeadlessRating["label"]) | undefined;
|
|
11371
11823
|
/** Whether the field needs a value before the form can submit. */
|
|
11372
11824
|
required?: (HelixHeadlessRating["required"]) | undefined;
|
|
11373
|
-
/** The message shown when the field is required and empty.
|
|
11374
|
-
|
|
11375
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11376
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11377
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11378
|
-
and this one was the English a form in another language still spoke in
|
|
11379
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11380
|
-
the field and does not reach that one. */
|
|
11381
|
-
"value-missing-message"?: (HelixHeadlessRating["valueMissingMessage"]) | undefined;
|
|
11382
|
-
/** The message shown when the field is required and empty.
|
|
11383
|
-
|
|
11384
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11385
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11386
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11387
|
-
and this one was the English a form in another language still spoke in
|
|
11388
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11389
|
-
the field and does not reach that one. */
|
|
11390
|
-
valueMissingMessage?: (HelixHeadlessRating["valueMissingMessage"]) | undefined;
|
|
11391
11825
|
/** Whether the control is disabled and cannot be used.
|
|
11392
11826
|
|
|
11393
11827
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -11436,9 +11870,11 @@ export type HelixHeadlessRatingVueEvents = {
|
|
|
11436
11870
|
};
|
|
11437
11871
|
|
|
11438
11872
|
export type HelixHeadlessScatterChartVueProps = {
|
|
11439
|
-
/** The word
|
|
11873
|
+
/** The word for the strength of the relation, `{correlationLabel}` in
|
|
11874
|
+
`series-label`. */
|
|
11440
11875
|
"correlation-label"?: (HelixHeadlessScatterChart["correlationLabel"]) | undefined;
|
|
11441
|
-
/** The word
|
|
11876
|
+
/** The word for the strength of the relation, `{correlationLabel}` in
|
|
11877
|
+
`series-label`. */
|
|
11442
11878
|
correlationLabel?: (HelixHeadlessScatterChart["correlationLabel"]) | undefined;
|
|
11443
11879
|
/** Which gridlines are drawn across the plot, if any.
|
|
11444
11880
|
|
|
@@ -11447,10 +11883,30 @@ Both axes are measured, so the values name an axis rather than a role:
|
|
|
11447
11883
|
anything unrecognized, means `both`, since neither axis is the one a scatter
|
|
11448
11884
|
is read along. */
|
|
11449
11885
|
gridlines?: (HelixHeadlessScatterChart["gridlines"]) | undefined;
|
|
11450
|
-
/** The word the
|
|
11886
|
+
/** The word for the rows a series rests on, `{pointsLabel}` in
|
|
11887
|
+
`series-label`. `{count}` is how many, so the word takes its plural
|
|
11888
|
+
forms: `{count, plural, one {punkt} few {punkty} other {punktów}}`. */
|
|
11451
11889
|
"points-label"?: (HelixHeadlessScatterChart["pointsLabel"]) | undefined;
|
|
11452
|
-
/** The word the
|
|
11890
|
+
/** The word for the rows a series rests on, `{pointsLabel}` in
|
|
11891
|
+
`series-label`. `{count}` is how many, so the word takes its plural
|
|
11892
|
+
forms: `{count, plural, one {punkt} few {punkty} other {punktów}}`. */
|
|
11453
11893
|
pointsLabel?: (HelixHeadlessScatterChart["pointsLabel"]) | undefined;
|
|
11894
|
+
/** What the summary says of each series. `{y}` is what the series measures up,
|
|
11895
|
+
`{x}` what the chart measures across, `{count}` how many rows it rests on,
|
|
11896
|
+
written in the locale, `{pointsLabel}` the word for them, and
|
|
11897
|
+
`{correlation}` its correlation, or `none` where there are fewer than
|
|
11898
|
+
three points or no spread to measure, so each case is a whole sentence:
|
|
11899
|
+
`{correlation, select, none {...} other {...}}`. `{correlationLabel}` is
|
|
11900
|
+
`correlation-label`. */
|
|
11901
|
+
"series-label"?: (HelixHeadlessScatterChart["seriesLabel"]) | undefined;
|
|
11902
|
+
/** What the summary says of each series. `{y}` is what the series measures up,
|
|
11903
|
+
`{x}` what the chart measures across, `{count}` how many rows it rests on,
|
|
11904
|
+
written in the locale, `{pointsLabel}` the word for them, and
|
|
11905
|
+
`{correlation}` its correlation, or `none` where there are fewer than
|
|
11906
|
+
three points or no spread to measure, so each case is a whole sentence:
|
|
11907
|
+
`{correlation, select, none {...} other {...}}`. `{correlationLabel}` is
|
|
11908
|
+
`correlation-label`. */
|
|
11909
|
+
seriesLabel?: (HelixHeadlessScatterChart["seriesLabel"]) | undefined;
|
|
11454
11910
|
/** The heading of a column whose numbers size the points, such as
|
|
11455
11911
|
`Population`, which makes the chart a bubble chart.
|
|
11456
11912
|
|
|
@@ -11490,8 +11946,8 @@ words and is already written. */
|
|
|
11490
11946
|
/** The locale the chart's own numbers are written in: its axis, its
|
|
11491
11947
|
percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
11492
11948
|
|
|
11493
|
-
Absent
|
|
11494
|
-
writes them, whatever this says. */
|
|
11949
|
+
Absent reads the nearest `lang`, then the runtime's own. The table's
|
|
11950
|
+
cells are shown as the table writes them, whatever this says. */
|
|
11495
11951
|
locale?: (HelixHeadlessScatterChart["locale"]) | undefined;
|
|
11496
11952
|
/** Where a reading the keys moved to stands among the readings, said after
|
|
11497
11953
|
it. `{position}` and `{count}` are replaced with the numbers, written in
|
|
@@ -11639,6 +12095,14 @@ round it, and a short move reaches the options either side. Near an edge
|
|
|
11639
12095
|
of the screen the list moves to stay on it, so the option may sit beside
|
|
11640
12096
|
the trigger rather than on it. It follows the page as it scrolls. */
|
|
11641
12097
|
position?: (HelixHeadlessSelect["position"]) | undefined;
|
|
12098
|
+
/** The message reported when the field is required and nothing is chosen.
|
|
12099
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
12100
|
+
locale. */
|
|
12101
|
+
"value-missing-message"?: (HelixHeadlessSelect["valueMissingMessage"]) | undefined;
|
|
12102
|
+
/** The message reported when the field is required and nothing is chosen.
|
|
12103
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
12104
|
+
locale. */
|
|
12105
|
+
valueMissingMessage?: (HelixHeadlessSelect["valueMissingMessage"]) | undefined;
|
|
11642
12106
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
11643
12107
|
"default-open"?: (HelixHeadlessSelect["defaultOpen"]) | undefined;
|
|
11644
12108
|
/** Whether the element starts open. Ignored once `open` is written. */
|
|
@@ -11683,24 +12147,6 @@ browser's message. */
|
|
|
11683
12147
|
label?: (HelixHeadlessSelect["label"]) | undefined;
|
|
11684
12148
|
/** Whether the field needs a value before the form can submit. */
|
|
11685
12149
|
required?: (HelixHeadlessSelect["required"]) | undefined;
|
|
11686
|
-
/** The message shown when the field is required and empty.
|
|
11687
|
-
|
|
11688
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11689
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11690
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11691
|
-
and this one was the English a form in another language still spoke in
|
|
11692
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11693
|
-
the field and does not reach that one. */
|
|
11694
|
-
"value-missing-message"?: (HelixHeadlessSelect["valueMissingMessage"]) | undefined;
|
|
11695
|
-
/** The message shown when the field is required and empty.
|
|
11696
|
-
|
|
11697
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
11698
|
-
set and the browser's own on a text field, which the browser writes in
|
|
11699
|
-
the reader's language. Every other word a control speaks is a property,
|
|
11700
|
-
and this one was the English a form in another language still spoke in
|
|
11701
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
11702
|
-
the field and does not reach that one. */
|
|
11703
|
-
valueMissingMessage?: (HelixHeadlessSelect["valueMissingMessage"]) | undefined;
|
|
11704
12150
|
/** Whether the control is disabled and cannot be used.
|
|
11705
12151
|
|
|
11706
12152
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -11833,8 +12279,8 @@ attribute.
|
|
|
11833
12279
|
<helix-slider format-options='{"style":"currency","currency":"USD"}'></helix-slider>
|
|
11834
12280
|
``` */
|
|
11835
12281
|
formatOptions?: (HelixHeadlessSlider["formatOptions"]) | undefined;
|
|
11836
|
-
/** The locale
|
|
11837
|
-
the
|
|
12282
|
+
/** The locale the value and the words are written in, such as `de-DE`. Empty
|
|
12283
|
+
reads the nearest `lang`, then the browser's language. */
|
|
11838
12284
|
locale?: (HelixHeadlessSlider["locale"]) | undefined;
|
|
11839
12285
|
/** Shows the value at each mark. */
|
|
11840
12286
|
"marker-labels"?: (HelixHeadlessSlider["markerLabels"]) | undefined;
|
|
@@ -11957,18 +12403,22 @@ browser's message. */
|
|
|
11957
12403
|
required?: (HelixHeadlessSlider["required"]) | undefined;
|
|
11958
12404
|
/** The message shown when the field is required and empty.
|
|
11959
12405
|
|
|
11960
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
11961
|
-
set and the browser's own on a text field, which the
|
|
11962
|
-
the reader's language.
|
|
12406
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
12407
|
+
continue." on a set and the browser's own on a text field, which the
|
|
12408
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
12409
|
+
own declares it as this property's English, a word property a page
|
|
12410
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
11963
12411
|
and this one was the English a form in another language still spoke in
|
|
11964
12412
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
11965
12413
|
the field and does not reach that one. */
|
|
11966
12414
|
"value-missing-message"?: (HelixHeadlessSlider["valueMissingMessage"]) | undefined;
|
|
11967
12415
|
/** The message shown when the field is required and empty.
|
|
11968
12416
|
|
|
11969
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
11970
|
-
set and the browser's own on a text field, which the
|
|
11971
|
-
the reader's language.
|
|
12417
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
12418
|
+
continue." on a set and the browser's own on a text field, which the
|
|
12419
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
12420
|
+
own declares it as this property's English, a word property a page
|
|
12421
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
11972
12422
|
and this one was the English a form in another language still spoke in
|
|
11973
12423
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
11974
12424
|
the field and does not reach that one. */
|
|
@@ -12058,11 +12508,11 @@ the accessible representation of a sparkline, and a list of the fourteen
|
|
|
12058
12508
|
numbers is not. Absent, the drawing is hidden from a screen reader rather
|
|
12059
12509
|
than announced without a name. */
|
|
12060
12510
|
label?: (HelixHeadlessSparkline["label"]) | undefined;
|
|
12061
|
-
/** The locale the readout's numbers and positions are
|
|
12062
|
-
`de` for `1.240`.
|
|
12511
|
+
/** The locale the words, the readout's numbers and positions are in, such
|
|
12512
|
+
as `de` for `1.240`.
|
|
12063
12513
|
|
|
12064
|
-
Absent
|
|
12065
|
-
writes them, whatever this says. */
|
|
12514
|
+
Absent reads the nearest `lang`, then the runtime's own. A table's cells
|
|
12515
|
+
are shown as the table writes them, whatever this says. */
|
|
12066
12516
|
locale?: (HelixHeadlessSparkline["locale"]) | undefined;
|
|
12067
12517
|
/** Which readings take a mark of their own: `high`, `low`, or both,
|
|
12068
12518
|
separated by spaces.
|
|
@@ -12485,11 +12935,15 @@ in both. Of those four combinations three are ones nobody should pick, and
|
|
|
12485
12935
|
a property whose job is mostly to be left alone is a property that mostly
|
|
12486
12936
|
catches people out. */
|
|
12487
12937
|
orientation?: (HelixHeadlessSteps["orientation"]) | undefined;
|
|
12488
|
-
/** What the `progress` part says to a screen reader
|
|
12489
|
-
|
|
12938
|
+
/** What the `progress` part says to a screen reader. `{share, number,
|
|
12939
|
+
percent}` writes `progress` as a percentage the way the locale writes one,
|
|
12940
|
+
such as `40%`, or `40 %` in French. `{percent}` is `progress` as a whole
|
|
12941
|
+
number, for a sentence that places the sign itself. */
|
|
12490
12942
|
"progress-label"?: (HelixHeadlessSteps["progressLabel"]) | undefined;
|
|
12491
|
-
/** What the `progress` part says to a screen reader
|
|
12492
|
-
|
|
12943
|
+
/** What the `progress` part says to a screen reader. `{share, number,
|
|
12944
|
+
percent}` writes `progress` as a percentage the way the locale writes one,
|
|
12945
|
+
such as `40%`, or `40 %` in French. `{percent}` is `progress` as a whole
|
|
12946
|
+
number, for a sentence that places the sign itself. */
|
|
12493
12947
|
progressLabel?: (HelixHeadlessSteps["progressLabel"]) | undefined;
|
|
12494
12948
|
/** What each step is marked with.
|
|
12495
12949
|
|
|
@@ -12546,6 +13000,16 @@ export type HelixHeadlessStepHelixSelectElementEvent =
|
|
|
12546
13000
|
export type HelixHeadlessStepVueProps = {
|
|
12547
13001
|
/** Whether this stage is finished. */
|
|
12548
13002
|
complete?: (HelixHeadlessStep["complete"]) | undefined;
|
|
13003
|
+
/** What a screen reader hears when the stage is finished while the page is
|
|
13004
|
+
open. `{name}` is the stage's name and `{complete}` is `complete-label`, so
|
|
13005
|
+
a language can write the whole sentence in its own order. A stage with no
|
|
13006
|
+
name says `complete-label` alone. */
|
|
13007
|
+
"completed-label"?: (HelixHeadlessStep["completedLabel"]) | undefined;
|
|
13008
|
+
/** What a screen reader hears when the stage is finished while the page is
|
|
13009
|
+
open. `{name}` is the stage's name and `{complete}` is `complete-label`, so
|
|
13010
|
+
a language can write the whole sentence in its own order. A stage with no
|
|
13011
|
+
name says `complete-label` alone. */
|
|
13012
|
+
completedLabel?: (HelixHeadlessStep["completedLabel"]) | undefined;
|
|
12549
13013
|
/** The words that tell a screen reader the stage is finished. Translate it
|
|
12550
13014
|
with the page. */
|
|
12551
13015
|
"complete-label"?: (HelixHeadlessStep["completeLabel"]) | undefined;
|
|
@@ -12580,6 +13044,14 @@ export type HelixHeadlessSwitchHelixBeforeToggleElementEvent =
|
|
|
12580
13044
|
export type HelixHeadlessSwitchVueProps = {
|
|
12581
13045
|
/** Value submitted when the switch is on. */
|
|
12582
13046
|
value?: (HelixHeadlessSwitch["value"]) | undefined;
|
|
13047
|
+
/** The message reported when the field is required and the switch is off.
|
|
13048
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
13049
|
+
locale. */
|
|
13050
|
+
"value-missing-message"?: (HelixHeadlessSwitch["valueMissingMessage"]) | undefined;
|
|
13051
|
+
/** The message reported when the field is required and the switch is off.
|
|
13052
|
+
Absent, or empty, is this sentence, or the words registered for the page's
|
|
13053
|
+
locale. */
|
|
13054
|
+
valueMissingMessage?: (HelixHeadlessSwitch["valueMissingMessage"]) | undefined;
|
|
12583
13055
|
/** Whether the control is checked.
|
|
12584
13056
|
|
|
12585
13057
|
One property rather than two. Writing always applies;
|
|
@@ -12631,24 +13103,6 @@ browser's message. */
|
|
|
12631
13103
|
label?: (HelixHeadlessSwitch["label"]) | undefined;
|
|
12632
13104
|
/** Whether the field needs a value before the form can submit. */
|
|
12633
13105
|
required?: (HelixHeadlessSwitch["required"]) | undefined;
|
|
12634
|
-
/** The message shown when the field is required and empty.
|
|
12635
|
-
|
|
12636
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
12637
|
-
set and the browser's own on a text field, which the browser writes in
|
|
12638
|
-
the reader's language. Every other word a control speaks is a property,
|
|
12639
|
-
and this one was the English a form in another language still spoke in
|
|
12640
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
12641
|
-
the field and does not reach that one. */
|
|
12642
|
-
"value-missing-message"?: (HelixHeadlessSwitch["valueMissingMessage"]) | undefined;
|
|
12643
|
-
/** The message shown when the field is required and empty.
|
|
12644
|
-
|
|
12645
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to continue." on a
|
|
12646
|
-
set and the browser's own on a text field, which the browser writes in
|
|
12647
|
-
the reader's language. Every other word a control speaks is a property,
|
|
12648
|
-
and this one was the English a form in another language still spoke in
|
|
12649
|
-
the bubble it raises on submit: `feedback` replaces the message under
|
|
12650
|
-
the field and does not reach that one. */
|
|
12651
|
-
valueMissingMessage?: (HelixHeadlessSwitch["valueMissingMessage"]) | undefined;
|
|
12652
13106
|
/** Whether the control is disabled and cannot be used.
|
|
12653
13107
|
|
|
12654
13108
|
Reflected, because the styled tier selects on it, and mirrored to
|
|
@@ -12721,14 +13175,16 @@ after a column moves is a sort a consumer cannot store in a URL.
|
|
|
12721
13175
|
Empty on a column that is purely presentational, an actions column say, and
|
|
12722
13176
|
such a column is never sortable however it is marked. */
|
|
12723
13177
|
field?: (HelixHeadlessTableColumn["field"]) | undefined;
|
|
12724
|
-
/** The accessible name of the grip that moves the column. `{name}` is
|
|
12725
|
-
|
|
13178
|
+
/** The accessible name of the grip that moves the column. `{name}` is the
|
|
13179
|
+
heading text, and `{named}` is `no` for a column without one, so the
|
|
13180
|
+
sentence for it can name the column another way.
|
|
12726
13181
|
|
|
12727
13182
|
**Every word a column speaks is a property**, so a table in another
|
|
12728
13183
|
language hears its own rather than English around its own headings. */
|
|
12729
13184
|
"move-label"?: (HelixHeadlessTableColumn["moveLabel"]) | undefined;
|
|
12730
|
-
/** The accessible name of the grip that moves the column. `{name}` is
|
|
12731
|
-
|
|
13185
|
+
/** The accessible name of the grip that moves the column. `{name}` is the
|
|
13186
|
+
heading text, and `{named}` is `no` for a column without one, so the
|
|
13187
|
+
sentence for it can name the column another way.
|
|
12732
13188
|
|
|
12733
13189
|
**Every word a column speaks is a property**, so a table in another
|
|
12734
13190
|
language hears its own rather than English around its own headings. */
|
|
@@ -12741,10 +13197,10 @@ it has focus, a step at a time and four with Shift. The width lands in
|
|
|
12741
13197
|
stores the widths can take the decision. */
|
|
12742
13198
|
resizable?: (HelixHeadlessTableColumn["resizable"]) | undefined;
|
|
12743
13199
|
/** The accessible name of the separator that resizes the column. `{name}` is
|
|
12744
|
-
|
|
13200
|
+
the heading text, and `{named}` is `no` for a column without one. */
|
|
12745
13201
|
"resize-label"?: (HelixHeadlessTableColumn["resizeLabel"]) | undefined;
|
|
12746
13202
|
/** The accessible name of the separator that resizes the column. `{name}` is
|
|
12747
|
-
|
|
13203
|
+
the heading text, and `{named}` is `no` for a column without one. */
|
|
12748
13204
|
resizeLabel?: (HelixHeadlessTableColumn["resizeLabel"]) | undefined;
|
|
12749
13205
|
/** Makes this column's cells the headers of their rows, in `DataTable`.
|
|
12750
13206
|
|
|
@@ -12862,10 +13318,12 @@ and lets that column wrap. A headless consumer owns the overflow either
|
|
|
12862
13318
|
way, that being paint, and gets the honest track list. */
|
|
12863
13319
|
width?: (HelixHeadlessTableColumn["width"]) | undefined;
|
|
12864
13320
|
/** The text screen readers announce for the column's width. `{width}` is
|
|
12865
|
-
|
|
13321
|
+
the width in pixels, written in the locale, and each language writes the
|
|
13322
|
+
forms it has. */
|
|
12866
13323
|
"width-label"?: (HelixHeadlessTableColumn["widthLabel"]) | undefined;
|
|
12867
13324
|
/** The text screen readers announce for the column's width. `{width}` is
|
|
12868
|
-
|
|
13325
|
+
the width in pixels, written in the locale, and each language writes the
|
|
13326
|
+
forms it has. */
|
|
12869
13327
|
widthLabel?: (HelixHeadlessTableColumn["widthLabel"]) | undefined;
|
|
12870
13328
|
/** A function that reads the cell's content from a row, for cells that `field`
|
|
12871
13329
|
alone cannot read.
|
|
@@ -12898,6 +13356,12 @@ export type HelixHeadlessTableElementEvent<E = Event> = TypedEvent<
|
|
|
12898
13356
|
HelixHeadlessTable,
|
|
12899
13357
|
E
|
|
12900
13358
|
>;
|
|
13359
|
+
/** `helix-before-reorder` event type */
|
|
13360
|
+
export type HelixHeadlessTableHelixBeforeReorderElementEvent =
|
|
13361
|
+
HelixHeadlessTableElementEvent<HelixBeforeReorderEvent>;
|
|
13362
|
+
/** `helix-reorder` event type */
|
|
13363
|
+
export type HelixHeadlessTableHelixReorderElementEvent =
|
|
13364
|
+
HelixHeadlessTableElementEvent<HelixReorderEvent>;
|
|
12901
13365
|
/** `helix-select` event type */
|
|
12902
13366
|
export type HelixHeadlessTableHelixSelectElementEvent =
|
|
12903
13367
|
HelixHeadlessTableElementEvent<HelixSelectEvent>;
|
|
@@ -12912,10 +13376,16 @@ export type HelixHeadlessTableHelixSortedElementEvent =
|
|
|
12912
13376
|
HelixHeadlessTableElementEvent<HelixSortedEvent>;
|
|
12913
13377
|
|
|
12914
13378
|
export type HelixHeadlessTableVueProps = {
|
|
12915
|
-
/** The word for an ascending sort, in `sorted-label`. */
|
|
13379
|
+
/** The word for an ascending sort, in a `sorted-label` that writes `{order}`. */
|
|
12916
13380
|
"ascending-label"?: (HelixHeadlessTable["ascendingLabel"]) | undefined;
|
|
12917
|
-
/** The word for an ascending sort, in `sorted-label`. */
|
|
13381
|
+
/** The word for an ascending sort, in a `sorted-label` that writes `{order}`. */
|
|
12918
13382
|
ascendingLabel?: (HelixHeadlessTable["ascendingLabel"]) | undefined;
|
|
13383
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
13384
|
+
refused, in a `reorderable` table. */
|
|
13385
|
+
"canceled-label"?: (HelixHeadlessTable["canceledLabel"]) | undefined;
|
|
13386
|
+
/** What screen readers hear when a held row is put back, or a move is
|
|
13387
|
+
refused, in a `reorderable` table. */
|
|
13388
|
+
canceledLabel?: (HelixHeadlessTable["canceledLabel"]) | undefined;
|
|
12919
13389
|
/** The column widths as one track list, written once on the table.
|
|
12920
13390
|
|
|
12921
13391
|
With `TableColumn` children, each track sizes the column in its place, a
|
|
@@ -12955,10 +13425,20 @@ is set. */
|
|
|
12955
13425
|
"default-sort"?: (HelixHeadlessTable["defaultSort"]) | undefined;
|
|
12956
13426
|
/** The starting sort order, used until `sort` is set. */
|
|
12957
13427
|
defaultSort?: (HelixHeadlessTable["defaultSort"]) | undefined;
|
|
12958
|
-
/** The word for a descending sort, in `sorted-label`. */
|
|
13428
|
+
/** The word for a descending sort, in a `sorted-label` that writes `{order}`. */
|
|
12959
13429
|
"descending-label"?: (HelixHeadlessTable["descendingLabel"]) | undefined;
|
|
12960
|
-
/** The word for a descending sort, in `sorted-label`. */
|
|
13430
|
+
/** The word for a descending sort, in a `sorted-label` that writes `{order}`. */
|
|
12961
13431
|
descendingLabel?: (HelixHeadlessTable["descendingLabel"]) | undefined;
|
|
13432
|
+
/** What screen readers hear when a held row is dropped, in a `reorderable` table. */
|
|
13433
|
+
"dropped-label"?: (HelixHeadlessTable["droppedLabel"]) | undefined;
|
|
13434
|
+
/** What screen readers hear when a held row is dropped, in a `reorderable` table. */
|
|
13435
|
+
droppedLabel?: (HelixHeadlessTable["droppedLabel"]) | undefined;
|
|
13436
|
+
/** The table's name where neither `label` nor an `aria-label` or
|
|
13437
|
+
`aria-labelledby` on the host gives it one. */
|
|
13438
|
+
"fallback-label"?: (HelixHeadlessTable["fallbackLabel"]) | undefined;
|
|
13439
|
+
/** The table's name where neither `label` nor an `aria-label` or
|
|
13440
|
+
`aria-labelledby` on the host gives it one. */
|
|
13441
|
+
fallbackLabel?: (HelixHeadlessTable["fallbackLabel"]) | undefined;
|
|
12962
13442
|
/** Makes the table a grid: one tab stop, and the arrow keys, Home, End and the
|
|
12963
13443
|
Page keys move focus between its cells, the headings included. Enter moves
|
|
12964
13444
|
into a cell's controls, and Tab leaves the table.
|
|
@@ -12972,6 +13452,33 @@ cells, which is the one way a cell of your markup can take focus. */
|
|
|
12972
13452
|
An `aria-label` or `aria-labelledby` on the host names the table too, and
|
|
12973
13453
|
wins over this. */
|
|
12974
13454
|
label?: (HelixHeadlessTable["label"]) | undefined;
|
|
13455
|
+
/** What screen readers hear each time a key moves a held row, in a
|
|
13456
|
+
`reorderable` table. `{name}` is the row's words, `{position}` the place it
|
|
13457
|
+
would go, counting from 1, and `{count}` the number of rows. */
|
|
13458
|
+
"moved-label"?: (HelixHeadlessTable["movedLabel"]) | undefined;
|
|
13459
|
+
/** What screen readers hear each time a key moves a held row, in a
|
|
13460
|
+
`reorderable` table. `{name}` is the row's words, `{position}` the place it
|
|
13461
|
+
would go, counting from 1, and `{count}` the number of rows. */
|
|
13462
|
+
movedLabel?: (HelixHeadlessTable["movedLabel"]) | undefined;
|
|
13463
|
+
/** The name of a row's grip, in a `reorderable` table. `{row}` is replaced
|
|
13464
|
+
with the words of the row's first cell. */
|
|
13465
|
+
"move-row-label"?: (HelixHeadlessTable["moveRowLabel"]) | undefined;
|
|
13466
|
+
/** The name of a row's grip, in a `reorderable` table. `{row}` is replaced
|
|
13467
|
+
with the words of the row's first cell. */
|
|
13468
|
+
moveRowLabel?: (HelixHeadlessTable["moveRowLabel"]) | undefined;
|
|
13469
|
+
/** What screen readers hear when a key or a click picks up a row, in a
|
|
13470
|
+
`reorderable` table. `{name}` is the row's words. */
|
|
13471
|
+
"picked-up-label"?: (HelixHeadlessTable["pickedUpLabel"]) | undefined;
|
|
13472
|
+
/** What screen readers hear when a key or a click picks up a row, in a
|
|
13473
|
+
`reorderable` table. `{name}` is the row's words. */
|
|
13474
|
+
pickedUpLabel?: (HelixHeadlessTable["pickedUpLabel"]) | undefined;
|
|
13475
|
+
/** Adds a column of grips that move rows, by dragging or with the keys. The
|
|
13476
|
+
table moves no row itself: you move your rows on `helix-reorder`. */
|
|
13477
|
+
reorderable?: (HelixHeadlessTable["reorderable"]) | undefined;
|
|
13478
|
+
/** The name of the heading over the row grips, in a `reorderable` table. */
|
|
13479
|
+
"row-grips-label"?: (HelixHeadlessTable["rowGripsLabel"]) | undefined;
|
|
13480
|
+
/** The name of the heading over the row grips, in a `reorderable` table. */
|
|
13481
|
+
rowGripsLabel?: (HelixHeadlessTable["rowGripsLabel"]) | undefined;
|
|
12975
13482
|
/** Adds a column of checkboxes for selecting rows. Each row is known by its
|
|
12976
13483
|
`value`, and by its place among the rows as written where it has none. */
|
|
12977
13484
|
selectable?: (HelixHeadlessTable["selectable"]) | undefined;
|
|
@@ -12986,10 +13493,14 @@ selection as it was. `default-selected` seeds a selection this element
|
|
|
12986
13493
|
then owns. */
|
|
12987
13494
|
selected?: (HelixHeadlessTable["selected"]) | undefined;
|
|
12988
13495
|
/** What screen readers hear when the chosen rows change. `{count}` is how many
|
|
12989
|
-
rows are chosen
|
|
13496
|
+
rows are chosen, written in the locale, and a language that needs plural
|
|
13497
|
+
forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
|
|
13498
|
+
{# wybranych} other {# wybranego}}`. */
|
|
12990
13499
|
"selected-label"?: (HelixHeadlessTable["selectedLabel"]) | undefined;
|
|
12991
13500
|
/** What screen readers hear when the chosen rows change. `{count}` is how many
|
|
12992
|
-
rows are chosen
|
|
13501
|
+
rows are chosen, written in the locale, and a language that needs plural
|
|
13502
|
+
forms writes them: `{count, plural, one {# wybrany} few {# wybrane} many
|
|
13503
|
+
{# wybranych} other {# wybranego}}`. */
|
|
12993
13504
|
selectedLabel?: (HelixHeadlessTable["selectedLabel"]) | undefined;
|
|
12994
13505
|
/** The name of a row's checkbox. `{row}` is replaced with the words of the
|
|
12995
13506
|
row's first cell. */
|
|
@@ -13006,10 +13517,14 @@ first, and refusing it leaves the order as it was. `default-sort` seeds an
|
|
|
13006
13517
|
order this element then owns. */
|
|
13007
13518
|
sort?: (HelixHeadlessTable["sort"]) | undefined;
|
|
13008
13519
|
/** What screen readers hear when the table is sorted. `{column}` is the
|
|
13009
|
-
column's heading and `{
|
|
13520
|
+
column's heading and `{direction}` is `ascending` or `descending`, so each
|
|
13521
|
+
order has its whole sentence. `{order}` is the deprecated
|
|
13522
|
+
`ascending-label` or `descending-label`. */
|
|
13010
13523
|
"sorted-label"?: (HelixHeadlessTable["sortedLabel"]) | undefined;
|
|
13011
13524
|
/** What screen readers hear when the table is sorted. `{column}` is the
|
|
13012
|
-
column's heading and `{
|
|
13525
|
+
column's heading and `{direction}` is `ascending` or `descending`, so each
|
|
13526
|
+
order has its whole sentence. `{order}` is the deprecated
|
|
13527
|
+
`ascending-label` or `descending-label`. */
|
|
13013
13528
|
sortedLabel?: (HelixHeadlessTable["sortedLabel"]) | undefined;
|
|
13014
13529
|
/** What screen readers hear when the table stops being sorted. */
|
|
13015
13530
|
"unsorted-label"?: (HelixHeadlessTable["unsortedLabel"]) | undefined;
|
|
@@ -13032,6 +13547,10 @@ say that without the component knowing what a row looks like. */
|
|
|
13032
13547
|
};
|
|
13033
13548
|
|
|
13034
13549
|
export type HelixHeadlessTableVueEvents = {
|
|
13550
|
+
/** Fired when a row is dropped at a new place, in a `reorderable` table, with every row's key in the new order. Cancelable: cancel it to keep the row where it is. */
|
|
13551
|
+
"helix-before-reorder": HelixHeadlessTableHelixBeforeReorderElementEvent;
|
|
13552
|
+
/** Fired after `helix-before-reorder` when nobody canceled it. Move your rows to the order in `keys`. Cancelable: cancel it to say the move did not happen. */
|
|
13553
|
+
"helix-reorder": HelixHeadlessTableHelixReorderElementEvent;
|
|
13035
13554
|
/** The selection is about to change. The event carries every selected key, separated by commas. Cancelable: cancel it to keep the current selection. */
|
|
13036
13555
|
"helix-select": HelixHeadlessTableHelixSelectElementEvent;
|
|
13037
13556
|
/** Fired after the selection changes, with every selected key, separated by commas. */
|
|
@@ -13257,6 +13776,20 @@ export type HelixHeadlessTagVueProps = {
|
|
|
13257
13776
|
answering, and in a `Tag.Group` the arrow keys pass over it and it cannot
|
|
13258
13777
|
be selected or removed. */
|
|
13259
13778
|
disabled?: (HelixHeadlessTag["disabled"]) | undefined;
|
|
13779
|
+
/** The remove button's name, read by screen readers, with `{label}` for the
|
|
13780
|
+
tag's own words.
|
|
13781
|
+
|
|
13782
|
+
"Remove" rather than the mixin's "Dismiss": a tag is taken out of a set,
|
|
13783
|
+
which is a different act from closing a message. One sentence with the
|
|
13784
|
+
tag's words in it, so a translation puts them where its language does. */
|
|
13785
|
+
"dismiss-label"?: (HelixHeadlessTag["dismissLabel"]) | undefined;
|
|
13786
|
+
/** The remove button's name, read by screen readers, with `{label}` for the
|
|
13787
|
+
tag's own words.
|
|
13788
|
+
|
|
13789
|
+
"Remove" rather than the mixin's "Dismiss": a tag is taken out of a set,
|
|
13790
|
+
which is a different act from closing a message. One sentence with the
|
|
13791
|
+
tag's words in it, so a translation puts them where its language does. */
|
|
13792
|
+
dismissLabel?: (HelixHeadlessTag["dismissLabel"]) | undefined;
|
|
13260
13793
|
/** Makes the label a link to this address. */
|
|
13261
13794
|
href?: (HelixHeadlessTag["href"]) | undefined;
|
|
13262
13795
|
/** What the tag stands for in its group's `value`.
|
|
@@ -13265,20 +13798,6 @@ Absent is the tag's own words, its category first. */
|
|
|
13265
13798
|
value?: (HelixHeadlessTag["value"]) | undefined;
|
|
13266
13799
|
/** Whether the element shows a control that dismisses it. */
|
|
13267
13800
|
dismissible?: (HelixHeadlessTag["dismissible"]) | undefined;
|
|
13268
|
-
/** The dismiss control's label, read by screen readers.
|
|
13269
|
-
|
|
13270
|
-
`attribute` is spelled out because Lit lowercases a property name to
|
|
13271
|
-
derive one rather than dash-casing it, so this would otherwise be
|
|
13272
|
-
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
13273
|
-
would catch. */
|
|
13274
|
-
"dismiss-label"?: (HelixHeadlessTag["dismissLabel"]) | undefined;
|
|
13275
|
-
/** The dismiss control's label, read by screen readers.
|
|
13276
|
-
|
|
13277
|
-
`attribute` is spelled out because Lit lowercases a property name to
|
|
13278
|
-
derive one rather than dash-casing it, so this would otherwise be
|
|
13279
|
-
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
13280
|
-
would catch. */
|
|
13281
|
-
dismissLabel?: (HelixHeadlessTag["dismissLabel"]) | undefined;
|
|
13282
13801
|
/** Whether the tag holds its group's tab stop.
|
|
13283
13802
|
|
|
13284
13803
|
Written by `Tag.Group` on every tag it holds, and unset outside one, which
|
|
@@ -13420,18 +13939,22 @@ browser's message. */
|
|
|
13420
13939
|
required?: (HelixHeadlessTextarea["required"]) | undefined;
|
|
13421
13940
|
/** The message shown when the field is required and empty.
|
|
13422
13941
|
|
|
13423
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13424
|
-
set and the browser's own on a text field, which the
|
|
13425
|
-
the reader's language.
|
|
13942
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13943
|
+
continue." on a set and the browser's own on a text field, which the
|
|
13944
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
13945
|
+
own declares it as this property's English, a word property a page
|
|
13946
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
13426
13947
|
and this one was the English a form in another language still spoke in
|
|
13427
13948
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
13428
13949
|
the field and does not reach that one. */
|
|
13429
13950
|
"value-missing-message"?: (HelixHeadlessTextarea["valueMissingMessage"]) | undefined;
|
|
13430
13951
|
/** The message shown when the field is required and empty.
|
|
13431
13952
|
|
|
13432
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13433
|
-
set and the browser's own on a text field, which the
|
|
13434
|
-
the reader's language.
|
|
13953
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13954
|
+
continue." on a set and the browser's own on a text field, which the
|
|
13955
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
13956
|
+
own declares it as this property's English, a word property a page
|
|
13957
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
13435
13958
|
and this one was the English a form in another language still spoke in
|
|
13436
13959
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
13437
13960
|
the field and does not reach that one. */
|
|
@@ -13560,14 +14083,14 @@ on why a wheel cannot do either. */
|
|
|
13560
14083
|
/** The message shown when a range holds more than two times.
|
|
13561
14084
|
|
|
13562
14085
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
13563
|
-
so a form in another language speaks it.
|
|
13564
|
-
|
|
14086
|
+
so a form in another language speaks it. Unset is the sentence registered
|
|
14087
|
+
for the page's language, then the English. */
|
|
13565
14088
|
"range-length-message"?: (HelixHeadlessTimeInput["rangeLengthMessage"]) | undefined;
|
|
13566
14089
|
/** The message shown when a range holds more than two times.
|
|
13567
14090
|
|
|
13568
14091
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
13569
|
-
so a form in another language speaks it.
|
|
13570
|
-
|
|
14092
|
+
so a form in another language speaks it. Unset is the sentence registered
|
|
14093
|
+
for the page's language, then the English. */
|
|
13571
14094
|
rangeLengthMessage?: (HelixHeadlessTimeInput["rangeLengthMessage"]) | undefined;
|
|
13572
14095
|
/** The message shown when a time is after `max`, with `{max}` filled in as
|
|
13573
14096
|
the field displays it. */
|
|
@@ -13637,12 +14160,28 @@ not touch, and React reads that as a hydration mismatch. The absent
|
|
|
13637
14160
|
attribute *is* the list, which the stylesheet reads as the base rule, so
|
|
13638
14161
|
only the departure has to be named. */
|
|
13639
14162
|
variant?: (HelixHeadlessTimeInput["variant"]) | undefined;
|
|
14163
|
+
/** What a row of segments reports when the field is required and every
|
|
14164
|
+
segment is empty, where `value-missing-message` is not set. `{kind}` is
|
|
14165
|
+
`date` or `time`. */
|
|
14166
|
+
"empty-message"?: (HelixHeadlessTimeInput["emptyMessage"]) | undefined;
|
|
14167
|
+
/** What a row of segments reports when the field is required and every
|
|
14168
|
+
segment is empty, where `value-missing-message` is not set. `{kind}` is
|
|
14169
|
+
`date` or `time`. */
|
|
14170
|
+
emptyMessage?: (HelixHeadlessTimeInput["emptyMessage"]) | undefined;
|
|
13640
14171
|
/** What a screen reader hears for a segment with nothing in it, which a
|
|
13641
14172
|
sighted reader sees as dashes. */
|
|
13642
14173
|
"empty-segment-label"?: (HelixHeadlessTimeInput["emptySegmentLabel"]) | undefined;
|
|
13643
14174
|
/** What a screen reader hears for a segment with nothing in it, which a
|
|
13644
14175
|
sighted reader sees as dashes. */
|
|
13645
14176
|
emptySegmentLabel?: (HelixHeadlessTimeInput["emptySegmentLabel"]) | undefined;
|
|
14177
|
+
/** What a row of segments reports while some segments are set and others
|
|
14178
|
+
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
14179
|
+
`time`. */
|
|
14180
|
+
"incomplete-message"?: (HelixHeadlessTimeInput["incompleteMessage"]) | undefined;
|
|
14181
|
+
/** What a row of segments reports while some segments are set and others
|
|
14182
|
+
are not, where `bad-input-message` is not set. `{kind}` is `date` or
|
|
14183
|
+
`time`. */
|
|
14184
|
+
incompleteMessage?: (HelixHeadlessTimeInput["incompleteMessage"]) | undefined;
|
|
13646
14185
|
/** Whether the field is a row of segments, one for each part of the date or
|
|
13647
14186
|
time, in place of a line of text.
|
|
13648
14187
|
|
|
@@ -13724,6 +14263,12 @@ as `+3`, does not say what it does. */
|
|
|
13724
14263
|
"max-tags"?: (HelixHeadlessTimeInput["maxTags"] | `${number}`) | undefined;
|
|
13725
14264
|
/** How many tokens to show before the rest become a count. */
|
|
13726
14265
|
maxTags?: (HelixHeadlessTimeInput["maxTags"]) | undefined;
|
|
14266
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
14267
|
+
for the number, written in the element's locale. */
|
|
14268
|
+
"rest-text"?: (HelixHeadlessTimeInput["restText"]) | undefined;
|
|
14269
|
+
/** The count of the tokens past `max-tags`, as it is shown, with `{count}`
|
|
14270
|
+
for the number, written in the element's locale. */
|
|
14271
|
+
restText?: (HelixHeadlessTimeInput["restText"]) | undefined;
|
|
13727
14272
|
/** The value the control starts with. A form reset returns it to this value,
|
|
13728
14273
|
and to the `value` attribute where this one is not written, as a native
|
|
13729
14274
|
control resets to the `value` it declares. */
|
|
@@ -13753,18 +14298,22 @@ browser's message. */
|
|
|
13753
14298
|
required?: (HelixHeadlessTimeInput["required"]) | undefined;
|
|
13754
14299
|
/** The message shown when the field is required and empty.
|
|
13755
14300
|
|
|
13756
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13757
|
-
set and the browser's own on a text field, which the
|
|
13758
|
-
the reader's language.
|
|
14301
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14302
|
+
continue." on a set and the browser's own on a text field, which the
|
|
14303
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
14304
|
+
own declares it as this property's English, a word property a page
|
|
14305
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
13759
14306
|
and this one was the English a form in another language still spoke in
|
|
13760
14307
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
13761
14308
|
the field and does not reach that one. */
|
|
13762
14309
|
"value-missing-message"?: (HelixHeadlessTimeInput["valueMissingMessage"]) | undefined;
|
|
13763
14310
|
/** The message shown when the field is required and empty.
|
|
13764
14311
|
|
|
13765
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
13766
|
-
set and the browser's own on a text field, which the
|
|
13767
|
-
the reader's language.
|
|
14312
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14313
|
+
continue." on a set and the browser's own on a text field, which the
|
|
14314
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
14315
|
+
own declares it as this property's English, a word property a page
|
|
14316
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
13768
14317
|
and this one was the English a form in another language still spoke in
|
|
13769
14318
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
13770
14319
|
the field and does not reach that one. */
|
|
@@ -13837,13 +14386,19 @@ export type HelixHeadlessTimePickerVueProps = {
|
|
|
13837
14386
|
|
|
13838
14387
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
13839
14388
|
named for the validity flag it reports, so a form in another language
|
|
13840
|
-
speaks it.
|
|
14389
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
14390
|
+
the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
|
|
14391
|
+
`{mode}` is `single`, `range` or `multiple`, so each can have its own
|
|
14392
|
+
sentence. */
|
|
13841
14393
|
"bad-input-message"?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
13842
14394
|
/** The validation message for a value that is not a time.
|
|
13843
14395
|
|
|
13844
14396
|
**Every sentence a control raises in the browser's bubble is a property**,
|
|
13845
14397
|
named for the validity flag it reports, so a form in another language
|
|
13846
|
-
speaks it.
|
|
14398
|
+
speaks it. Unset is the sentence registered for the page's language, then
|
|
14399
|
+
the English. `{shape}` is how a time is written, `HH:mm` or `HH:mm:ss`, and
|
|
14400
|
+
`{mode}` is `single`, `range` or `multiple`, so each can have its own
|
|
14401
|
+
sentence. */
|
|
13847
14402
|
badInputMessage?: (HelixHeadlessTimePicker["badInputMessage"]) | undefined;
|
|
13848
14403
|
/** Times that cannot be chosen, as `HH:mm`, separated by commas or spaces.
|
|
13849
14404
|
|
|
@@ -14199,14 +14754,22 @@ A subset of the tone axis: a toast reports a status and never a brand role. */
|
|
|
14199
14754
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
14200
14755
|
derive one rather than dash-casing it, so this would otherwise be
|
|
14201
14756
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
14202
|
-
would catch.
|
|
14757
|
+
would catch.
|
|
14758
|
+
|
|
14759
|
+
A word property: register it for a locale under the host's key. A family
|
|
14760
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
14761
|
+
declares its own English with `@words` above the override. */
|
|
14203
14762
|
"dismiss-label"?: (HelixHeadlessToastItem["dismissLabel"]) | undefined;
|
|
14204
14763
|
/** The dismiss control's label, read by screen readers.
|
|
14205
14764
|
|
|
14206
14765
|
`attribute` is spelled out because Lit lowercases a property name to
|
|
14207
14766
|
derive one rather than dash-casing it, so this would otherwise be
|
|
14208
14767
|
reachable only as `dismisslabel`, which nobody would guess and no linter
|
|
14209
|
-
would catch.
|
|
14768
|
+
would catch.
|
|
14769
|
+
|
|
14770
|
+
A word property: register it for a locale under the host's key. A family
|
|
14771
|
+
that names the control otherwise, such as Tag's `Remove {label}`,
|
|
14772
|
+
declares its own English with `@words` above the override. */
|
|
14210
14773
|
dismissLabel?: (HelixHeadlessToastItem["dismissLabel"]) | undefined;
|
|
14211
14774
|
};
|
|
14212
14775
|
|
|
@@ -14226,7 +14789,9 @@ export type HelixHeadlessToastHelixDismissElementEvent =
|
|
|
14226
14789
|
|
|
14227
14790
|
export type HelixHeadlessToastVueProps = {
|
|
14228
14791
|
/** The key that takes focus to the stack and back, such as `F8` or `Alt+T`:
|
|
14229
|
-
keys joined by `+`, the last one the key
|
|
14792
|
+
keys joined by `+`, the last one the key, as `Announcement`'s `hotkey`
|
|
14793
|
+
reads them: `mod` is Command on Apple devices and Control elsewhere.
|
|
14794
|
+
Empty turns it off. */
|
|
14230
14795
|
hotkey?: (HelixHeadlessToast["hotkey"]) | undefined;
|
|
14231
14796
|
/** Accessible name for the region, with `{hotkey}` filled in. Translate it with
|
|
14232
14797
|
the rest of your interface. */
|
|
@@ -14350,18 +14915,22 @@ browser's message. */
|
|
|
14350
14915
|
required?: (HelixHeadlessToggleGroup["required"]) | undefined;
|
|
14351
14916
|
/** The message shown when the field is required and empty.
|
|
14352
14917
|
|
|
14353
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14354
|
-
set and the browser's own on a text field, which the
|
|
14355
|
-
the reader's language.
|
|
14918
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14919
|
+
continue." on a set and the browser's own on a text field, which the
|
|
14920
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
14921
|
+
own declares it as this property's English, a word property a page
|
|
14922
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
14356
14923
|
and this one was the English a form in another language still spoke in
|
|
14357
14924
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
14358
14925
|
the field and does not reach that one. */
|
|
14359
14926
|
"value-missing-message"?: (HelixHeadlessToggleGroup["valueMissingMessage"]) | undefined;
|
|
14360
14927
|
/** The message shown when the field is required and empty.
|
|
14361
14928
|
|
|
14362
|
-
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14363
|
-
set and the browser's own on a text field, which the
|
|
14364
|
-
the reader's language.
|
|
14929
|
+
**Absent, or empty, is the control's own sentence**, "Choose one to
|
|
14930
|
+
continue." on a set and the browser's own on a text field, which the
|
|
14931
|
+
browser writes in the reader's language. A family with a sentence of its
|
|
14932
|
+
own declares it as this property's English, a word property a page
|
|
14933
|
+
registers for its locale under the family's key. Every other word a control speaks is a property,
|
|
14365
14934
|
and this one was the English a form in another language still spoke in
|
|
14366
14935
|
the bubble it raises on submit: `feedback` replaces the message under
|
|
14367
14936
|
the field and does not reach that one. */
|
|
@@ -14554,6 +15123,14 @@ default slot is the trigger, which is the older form.
|
|
|
14554
15123
|
Names an element in the same tree, so a tooltip inside another component's
|
|
14555
15124
|
shadow root points at one in that root rather than one in the document.
|
|
14556
15125
|
|
|
15126
|
+
Give the tooltip an `id` and name it in the trigger's `aria-describedby`,
|
|
15127
|
+
so the trigger is described in the server's markup and at rest:
|
|
15128
|
+
|
|
15129
|
+
```html
|
|
15130
|
+
<button aria-describedby="save-tip" id="save">Save</button>
|
|
15131
|
+
<helix-headless-tooltip content="Save your work" for="save" id="save-tip"></helix-headless-tooltip>
|
|
15132
|
+
```
|
|
15133
|
+
|
|
14557
15134
|
**In React this arrives as a property and not as an attribute**, which is
|
|
14558
15135
|
worth knowing before someone reads the DOM and thinks it did not take.
|
|
14559
15136
|
Measured against React 19.2.8: `for` exists on the prototype, so React sets
|
|
@@ -14716,11 +15293,11 @@ The shape is `Carousel`'s, which is the nearest thing in the library: a
|
|
|
14716
15293
|
nextLabel?: (HelixHeadlessTour["nextLabel"]) | undefined;
|
|
14717
15294
|
/** Draws each stop's place in the run in its panel, as well as saying it. */
|
|
14718
15295
|
progress?: (HelixHeadlessTour["progress"]) | undefined;
|
|
14719
|
-
/** Each stop's place in the run, with `{index}` and `{count}` filled in
|
|
14720
|
-
Translate it with the rest of your text. */
|
|
15296
|
+
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
15297
|
+
written in the locale. Translate it with the rest of your text. */
|
|
14721
15298
|
"progress-label"?: (HelixHeadlessTour["progressLabel"]) | undefined;
|
|
14722
|
-
/** Each stop's place in the run, with `{index}` and `{count}` filled in
|
|
14723
|
-
Translate it with the rest of your text. */
|
|
15299
|
+
/** Each stop's place in the run, with `{index}` and `{count}` filled in and
|
|
15300
|
+
written in the locale. Translate it with the rest of your text. */
|
|
14724
15301
|
progressLabel?: (HelixHeadlessTour["progressLabel"]) | undefined;
|
|
14725
15302
|
/** Label for the control that leaves the tour. */
|
|
14726
15303
|
"skip-label"?: (HelixHeadlessTour["skipLabel"]) | undefined;
|
|
@@ -14951,16 +15528,40 @@ export type HelixHeadlessTreeHelixActivateElementEvent =
|
|
|
14951
15528
|
/** `helix-before-activate` event type */
|
|
14952
15529
|
export type HelixHeadlessTreeHelixBeforeActivateElementEvent =
|
|
14953
15530
|
HelixHeadlessTreeElementEvent<HelixBeforeActivateEvent>;
|
|
15531
|
+
/** `helix-before-reorder` event type */
|
|
15532
|
+
export type HelixHeadlessTreeHelixBeforeReorderElementEvent =
|
|
15533
|
+
HelixHeadlessTreeElementEvent<HelixBeforeReorderEvent>;
|
|
15534
|
+
/** `helix-reorder` event type */
|
|
15535
|
+
export type HelixHeadlessTreeHelixReorderElementEvent =
|
|
15536
|
+
HelixHeadlessTreeElementEvent<HelixReorderEvent>;
|
|
14954
15537
|
/** `helix-select` event type */
|
|
14955
15538
|
export type HelixHeadlessTreeHelixSelectElementEvent =
|
|
14956
15539
|
HelixHeadlessTreeElementEvent<HelixSelectEvent>;
|
|
14957
15540
|
|
|
14958
15541
|
export type HelixHeadlessTreeVueProps = {
|
|
15542
|
+
/** What screen readers hear when a held item is put back, or a move is
|
|
15543
|
+
refused, in a `reorderable` tree. */
|
|
15544
|
+
"canceled-label"?: (HelixHeadlessTree["canceledLabel"]) | undefined;
|
|
15545
|
+
/** What screen readers hear when a held item is put back, or a move is
|
|
15546
|
+
refused, in a `reorderable` tree. */
|
|
15547
|
+
canceledLabel?: (HelixHeadlessTree["canceledLabel"]) | undefined;
|
|
15548
|
+
/** What screen readers hear when a held item is dropped, in a `reorderable` tree. */
|
|
15549
|
+
"dropped-label"?: (HelixHeadlessTree["droppedLabel"]) | undefined;
|
|
15550
|
+
/** What screen readers hear when a held item is dropped, in a `reorderable` tree. */
|
|
15551
|
+
droppedLabel?: (HelixHeadlessTree["droppedLabel"]) | undefined;
|
|
14959
15552
|
/** Accessible name for the tree.
|
|
14960
15553
|
|
|
14961
15554
|
An `aria-label` or `aria-labelledby` on the host names the tree too, and
|
|
14962
15555
|
wins over this. */
|
|
14963
15556
|
label?: (HelixHeadlessTree["label"]) | undefined;
|
|
15557
|
+
/** What screen readers hear each time an item moves, in a `reorderable`
|
|
15558
|
+
tree. `{name}` is the item's words, `{position}` its place among its
|
|
15559
|
+
siblings, counting from 1, and `{count}` the number of siblings. */
|
|
15560
|
+
"moved-label"?: (HelixHeadlessTree["movedLabel"]) | undefined;
|
|
15561
|
+
/** What screen readers hear each time an item moves, in a `reorderable`
|
|
15562
|
+
tree. `{name}` is the item's words, `{position}` its place among its
|
|
15563
|
+
siblings, counting from 1, and `{count}` the number of siblings. */
|
|
15564
|
+
movedLabel?: (HelixHeadlessTree["movedLabel"]) | undefined;
|
|
14964
15565
|
/** What a deeper level means: `peer` for no change, `subordinate` for a lower
|
|
14965
15566
|
rank, or `heading` for a parent that heads the items under it.
|
|
14966
15567
|
|
|
@@ -14996,6 +15597,16 @@ branch as a label; a headless consumer reads the attribute and the
|
|
|
14996
15597
|
written here appears in the served markup of every tree anybody renders.
|
|
14997
15598
|
The resting state is the absence of the attribute, which is `peer`. */
|
|
14998
15599
|
nesting?: (HelixHeadlessTree["nesting"]) | undefined;
|
|
15600
|
+
/** What screen readers hear when a click on a grip picks up an item, in a
|
|
15601
|
+
`reorderable` tree. `{name}` is the item's words. */
|
|
15602
|
+
"picked-up-label"?: (HelixHeadlessTree["pickedUpLabel"]) | undefined;
|
|
15603
|
+
/** What screen readers hear when a click on a grip picks up an item, in a
|
|
15604
|
+
`reorderable` tree. `{name}` is the item's words. */
|
|
15605
|
+
pickedUpLabel?: (HelixHeadlessTree["pickedUpLabel"]) | undefined;
|
|
15606
|
+
/** Lets you move items among their siblings, by dragging a grip or with Alt
|
|
15607
|
+
and an arrow. The tree moves no item itself: you move your data on
|
|
15608
|
+
`helix-reorder`. */
|
|
15609
|
+
reorderable?: (HelixHeadlessTree["reorderable"]) | undefined;
|
|
14999
15610
|
/** Whether a reader can check many items, or choose only the items at the
|
|
15000
15611
|
ends. Unset, one item is chosen at a time, branches included.
|
|
15001
15612
|
|
|
@@ -15047,14 +15658,20 @@ export type HelixHeadlessTreeVueEvents = {
|
|
|
15047
15658
|
"helix-activate": HelixHeadlessTreeHelixActivateElementEvent;
|
|
15048
15659
|
/** Fired before the current node changes, and cancelable. Canceling it is the only way to stop the change. */
|
|
15049
15660
|
"helix-before-activate": HelixHeadlessTreeHelixBeforeActivateElementEvent;
|
|
15661
|
+
/** Fired when an item is dropped at a new place among its siblings, in a `reorderable` tree, with the siblings' keys in the new order. Cancelable: cancel it to keep the item where it is. */
|
|
15662
|
+
"helix-before-reorder": HelixHeadlessTreeHelixBeforeReorderElementEvent;
|
|
15663
|
+
/** Fired after `helix-before-reorder` when nobody canceled it. Move your items to the order in `keys`, each an item's `value`, or its words where it has none. Cancelable: cancel it to say the move did not happen. */
|
|
15664
|
+
"helix-reorder": HelixHeadlessTreeHelixReorderElementEvent;
|
|
15050
15665
|
/** Fired when an item is chosen. The item sends it, and you can listen for it on the tree. Cancelable: canceling it changes nothing. */
|
|
15051
15666
|
"helix-select": HelixHeadlessTreeHelixSelectElementEvent;
|
|
15052
15667
|
};
|
|
15053
15668
|
|
|
15054
15669
|
export type HelixHeadlessTrendVueProps = {
|
|
15055
|
-
/** The word read out after the direction when the move is an improvement
|
|
15670
|
+
/** The word read out after the direction when the move is an improvement,
|
|
15671
|
+
`{betterLabel}` in `judgment-label`. */
|
|
15056
15672
|
"better-label"?: (HelixHeadlessTrend["betterLabel"]) | undefined;
|
|
15057
|
-
/** The word read out after the direction when the move is an improvement
|
|
15673
|
+
/** The word read out after the direction when the move is an improvement,
|
|
15674
|
+
`{betterLabel}` in `judgment-label`. */
|
|
15058
15675
|
betterLabel?: (HelixHeadlessTrend["betterLabel"]) | undefined;
|
|
15059
15676
|
/** Which way the measurement moved, as `movement` says it. */
|
|
15060
15677
|
direction?: (HelixHeadlessTrend["direction"]) | undefined;
|
|
@@ -15093,9 +15710,23 @@ revenue up is good news and latency up is bad news, and only the consumer
|
|
|
15093
15710
|
knows which one this is. Set it once per metric and it holds while the
|
|
15094
15711
|
movement changes underneath. */
|
|
15095
15712
|
good?: (HelixHeadlessTrend["good"]) | undefined;
|
|
15096
|
-
/**
|
|
15097
|
-
|
|
15098
|
-
|
|
15713
|
+
/** What the `direction` part says. `{direction}` is the word for the
|
|
15714
|
+
movement, `up-label`, `down-label` or `unchanged-label`, and
|
|
15715
|
+
`{judgment}` is `better` or `worse` where `good` judges the move, so a
|
|
15716
|
+
language whose words agree with the movement writes each phrase whole:
|
|
15717
|
+
`{judgment, select, better {...} worse {...} other {...}}`.
|
|
15718
|
+
`{betterLabel}` and `{worseLabel}` are `better-label` and `worse-label`. */
|
|
15719
|
+
"judgment-label"?: (HelixHeadlessTrend["judgmentLabel"]) | undefined;
|
|
15720
|
+
/** What the `direction` part says. `{direction}` is the word for the
|
|
15721
|
+
movement, `up-label`, `down-label` or `unchanged-label`, and
|
|
15722
|
+
`{judgment}` is `better` or `worse` where `good` judges the move, so a
|
|
15723
|
+
language whose words agree with the movement writes each phrase whole:
|
|
15724
|
+
`{judgment, select, better {...} worse {...} other {...}}`.
|
|
15725
|
+
`{betterLabel}` and `{worseLabel}` are `better-label` and `worse-label`. */
|
|
15726
|
+
judgmentLabel?: (HelixHeadlessTrend["judgmentLabel"]) | undefined;
|
|
15727
|
+
/** The locale the words and `value` are in, such as `de` for `1.234,5`.
|
|
15728
|
+
|
|
15729
|
+
Absent reads the nearest `lang`, then the runtime's own. Set it on a page rendered on a server, so
|
|
15099
15730
|
the server and the browser write the figure alike. */
|
|
15100
15731
|
locale?: (HelixHeadlessTrend["locale"]) | undefined;
|
|
15101
15732
|
/** Which way the measurement moved.
|
|
@@ -15124,9 +15755,11 @@ both are written. The size is written in the `value` part with
|
|
|
15124
15755
|
`format-options` and `locale`, in place of a slotted metric. Absent leaves
|
|
15125
15756
|
the movement to `movement` and the metric to the slot. */
|
|
15126
15757
|
value?: (HelixHeadlessTrend["value"]) | undefined;
|
|
15127
|
-
/** The word read out after the direction when the move is a setback
|
|
15758
|
+
/** The word read out after the direction when the move is a setback,
|
|
15759
|
+
`{worseLabel}` in `judgment-label`. */
|
|
15128
15760
|
"worse-label"?: (HelixHeadlessTrend["worseLabel"]) | undefined;
|
|
15129
|
-
/** The word read out after the direction when the move is a setback
|
|
15761
|
+
/** The word read out after the direction when the move is a setback,
|
|
15762
|
+
`{worseLabel}` in `judgment-label`. */
|
|
15130
15763
|
worseLabel?: (HelixHeadlessTrend["worseLabel"]) | undefined;
|
|
15131
15764
|
};
|
|
15132
15765
|
|
|
@@ -15411,9 +16044,11 @@ ours to promise: the attribute is ignored cross-origin, so a file served
|
|
|
15411
16044
|
from somewhere else opens rather than saves, which is the browser's rule
|
|
15412
16045
|
and not something a player can work around. */
|
|
15413
16046
|
extraControls?: (HelixHeadlessVideo["extraControls"]) | undefined;
|
|
15414
|
-
/** What the control that skips ahead is called
|
|
16047
|
+
/** What the control that skips ahead is called. `{seconds}` is how far, written
|
|
16048
|
+
in the locale, and each language writes the forms it has. */
|
|
15415
16049
|
"forward-label"?: (HelixHeadlessVideo["forwardLabel"]) | undefined;
|
|
15416
|
-
/** What the control that skips ahead is called
|
|
16050
|
+
/** What the control that skips ahead is called. `{seconds}` is how far, written
|
|
16051
|
+
in the locale, and each language writes the forms it has. */
|
|
15417
16052
|
forwardLabel?: (HelixHeadlessVideo["forwardLabel"]) | undefined;
|
|
15418
16053
|
/** What the control that fills the screen is called.
|
|
15419
16054
|
|
|
@@ -15507,9 +16142,13 @@ bar: two of the same control is worse than either placement. */
|
|
|
15507
16142
|
"pause-label"?: (HelixHeadlessVideo["pauseLabel"]) | undefined;
|
|
15508
16143
|
/** The name of the play control while pressing it would pause the video. */
|
|
15509
16144
|
pauseLabel?: (HelixHeadlessVideo["pauseLabel"]) | undefined;
|
|
15510
|
-
/** How the volume is read out
|
|
16145
|
+
/** How the volume is read out. `{percent}` is the volume from 0 to 100,
|
|
16146
|
+
written in the locale, and a language that needs plural forms writes them
|
|
16147
|
+
with `{percent, plural, ...}`. */
|
|
15511
16148
|
"percent-label"?: (HelixHeadlessVideo["percentLabel"]) | undefined;
|
|
15512
|
-
/** How the volume is read out
|
|
16149
|
+
/** How the volume is read out. `{percent}` is the volume from 0 to 100,
|
|
16150
|
+
written in the locale, and a language that needs plural forms writes them
|
|
16151
|
+
with `{percent, plural, ...}`. */
|
|
15513
16152
|
percentLabel?: (HelixHeadlessVideo["percentLabel"]) | undefined;
|
|
15514
16153
|
/** What the control that floats the video over other windows is called. */
|
|
15515
16154
|
"pip-label"?: (HelixHeadlessVideo["pipLabel"]) | undefined;
|
|
@@ -15541,9 +16180,11 @@ this is what a screen reader calls it on arriving. */
|
|
|
15541
16180
|
"remote-label"?: (HelixHeadlessVideo["remoteLabel"]) | undefined;
|
|
15542
16181
|
/** What the control that casts the video to another device is called. */
|
|
15543
16182
|
remoteLabel?: (HelixHeadlessVideo["remoteLabel"]) | undefined;
|
|
15544
|
-
/** What the control that skips back is called
|
|
16183
|
+
/** What the control that skips back is called. `{seconds}` is how far, written
|
|
16184
|
+
in the locale, and each language writes the forms it has. */
|
|
15545
16185
|
"rewind-label"?: (HelixHeadlessVideo["rewindLabel"]) | undefined;
|
|
15546
|
-
/** What the control that skips back is called
|
|
16186
|
+
/** What the control that skips back is called. `{seconds}` is how far, written
|
|
16187
|
+
in the locale, and each language writes the forms it has. */
|
|
15547
16188
|
rewindLabel?: (HelixHeadlessVideo["rewindLabel"]) | undefined;
|
|
15548
16189
|
/** What the scrubber is called. */
|
|
15549
16190
|
"seek-label"?: (HelixHeadlessVideo["seekLabel"]) | undefined;
|
|
@@ -15743,7 +16384,8 @@ arrive. The list does not ask for more while it is set. */
|
|
|
15743
16384
|
loadingLabel?: (HelixHeadlessVirtualList["loadingLabel"]) | undefined;
|
|
15744
16385
|
/** Places each row by its own measured height. Without it, rows are placed
|
|
15745
16386
|
by one height: `estimate` until rows are drawn, then the drawn rows' height,
|
|
15746
|
-
read once.
|
|
16387
|
+
read once. Rows that come out different heights are placed by their own
|
|
16388
|
+
heights either way.
|
|
15747
16389
|
|
|
15748
16390
|
**Off by default, because the straight line is better when it holds.** One
|
|
15749
16391
|
height makes offset and index convert by division, which can never
|
|
@@ -16081,7 +16723,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16081
16723
|
HelixHeadlessCanvasNodeVueProps,
|
|
16082
16724
|
HelixHeadlessCanvasNodeVueEvents
|
|
16083
16725
|
>;
|
|
16084
|
-
/** A board of cards and connectors, drawn by Helix. On a canvas every position is data that someone placed, so drawing is arithmetic over rectangles with no layout to compute. 'Map' takes a slotted map, because another renderer draws its tiles. The format is [JSON Canvas](https://jsoncanvas.org), an open format. Each node has an 'x', 'y', 'width', 'height', and a type. Each edge names the two nodes it joins and the sides it leaves and arrives on. A card belongs to a group when it sits inside the group's bounds. The cards are text in the DOM, so a screen reader can read them. The family adds a reading order and states each card's connections as text. 'order' sets the reading order: - 'spatial' bands the cards into rows. - 'edges' follows the arrows, starting from the cards that nothing points to. **Cards move by default.** The board writes the new 'x' and 'y' onto the card, the way an input writes its own value, and dispatches two events: - 'helix-before-move' for every step. Cancel it to hold the positions in your own state and apply them yourself. - 'helix-move' once the move is finished. A resize dispatches the same pair with a size. Set 'readonly' on the board to keep every card in place, such as on a published board. Set 'readonly' on one card or connection to keep only that one in place. Set 'snap' to a length in the document's units, such as '32', and a card that is moved or resized lands on a multiple of it. Carrying a card, a corner, a connection, or the selection box near the edge of the board moves the board under it, so a card can be taken to a place off screen in one drag. A connection let go within 20 pixels of a card arrives at it. A double click on the empty board zooms in about that point, and Shift with a double click zooms out. Keyboard behavior: - One card holds the board's tab stop. - The arrow keys move through the cards in reading order. The card you land on scrolls into view, and its connections are announced with it. - Shift with an arrow key moves the card: by 16 units, or to the next multiple of 'snap' where it is set. Alt with an arrow key resizes it from its bottom right corner the same way. - The connections leaving a card are stops of their own, straight after it. Enter on one moves to the card it arrives at. - What a key changes that a reader cannot see is said: where a card moved to, its new size, how many cards are selected, and the zoom. A selected card or connection says so when a reader arrives on it. Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that cannot hold a button down. Click a selected card's move handle, a corner, a card's connection point, or the end of a selected connection to pick it up. It follows the pointer with no button held, and the next click puts it down where a drag would have. On touch, the next tap sets where it lands. Escape, or a press outside the board, puts it back. So a finger connects two cards with three taps: the card, one of its points, and the card to connect to. Connecting and removing dispatch requests, and your code applies them: - Drawing from a card's handle to another card, or pressing C on one card and Enter on another, dispatches 'helix-connect'. - Delete on a card or a connection dispatches 'helix-remove'. The event names every connection that removing the card would leave without an end. The board applies a move itself, because the card already exists. A connection is a new element, and React discards an element the board adds to its markup on the next render, so you write the connection. Cards and connections are 'helix-canvas-node' and 'helix-canvas-edge' elements, so they are in the served markup whichever renderer wrote them. The library fetches nothing, and an array passed to an element is missing from the first paint of a server-rendered React page. 'fromJsonCanvas' turns a JSON Canvas document into their props, and 'toJsonCanvas()' writes a board back out. */
|
|
16726
|
+
/** A board of cards and connectors, drawn by Helix. On a canvas every position is data that someone placed, so drawing is arithmetic over rectangles with no layout to compute. 'Map' takes a slotted map, because another renderer draws its tiles. The format is [JSON Canvas](https://jsoncanvas.org), an open format. Each node has an 'x', 'y', 'width', 'height', and a type. Each edge names the two nodes it joins and the sides it leaves and arrives on. A card belongs to a group when it sits inside the group's bounds. The cards are text in the DOM, so a screen reader can read them. The family adds a reading order and states each card's connections as text. 'order' sets the reading order: - 'spatial' bands the cards into rows. - 'edges' follows the arrows, starting from the cards that nothing points to. **Cards move by default.** The board writes the new 'x' and 'y' onto the card, the way an input writes its own value, and dispatches two events: - 'helix-before-move' for every step. Cancel it to hold the positions in your own state and apply them yourself. - 'helix-move' once the move is finished. A resize dispatches the same pair with a size. Set 'readonly' on the board to keep every card in place, such as on a published board. Set 'readonly' on one card or connection to keep only that one in place. Set 'snap' to a length in the document's units, such as '32', and a card that is moved or resized lands on a multiple of it. Carrying a card, a corner, a connection, or the selection box near the edge of the board moves the board under it, so a card can be taken to a place off screen in one drag. A connection let go within 20 pixels of a card arrives at it. A double click on the empty board zooms in about that point, and Shift with a double click zooms out. Keyboard behavior: - One card holds the board's tab stop. - The arrow keys move through the cards in reading order. The card you land on scrolls into view, and its connections are announced with it. - Shift with an arrow key moves the card: by 16 units, or to the next multiple of 'snap' where it is set. Alt with an arrow key resizes it from its bottom right corner the same way. - The connections leaving a card are stops of their own, straight after it. Enter on one moves to the card it arrives at. - What a key changes that a reader cannot see is said: where a card moved to, its new size, how many cards are selected, and the zoom. A selected card or connection says so when a reader arrives on it. Every drag also works with clicks, as WCAG 2.5.7 requires for a pointer that cannot hold a button down. Click a selected card's move handle, a corner, a card's connection point, or the end of a selected connection to pick it up. It follows the pointer with no button held, and the next click puts it down where a drag would have. On touch, the next tap sets where it lands. Escape, or a press outside the board, puts it back. So a finger connects two cards with three taps: the card, one of its points, and the card to connect to. Connecting and removing dispatch requests, and your code applies them: - Drawing from a card's handle to another card, or pressing C on one card and Enter on another, dispatches 'helix-connect'. - Delete on a card or a connection dispatches 'helix-remove'. The event names every connection that removing the card would leave without an end. Once your page removes what Delete asked for, focus moves to the next stop, to the one before where it was the last, and to the board where none is left. A focused card your page removes for its own reasons hands focus on the same way, unless the reader has already moved focus somewhere else. The board applies a move itself, because the card already exists. A connection is a new element, and React discards an element the board adds to its markup on the next render, so you write the connection. Cards and connections are 'helix-canvas-node' and 'helix-canvas-edge' elements, so they are in the served markup whichever renderer wrote them. The library fetches nothing, and an array passed to an element is missing from the first paint of a server-rendered React page. 'fromJsonCanvas' turns a JSON Canvas document into their props, and 'toJsonCanvas()' writes a board back out. */
|
|
16085
16727
|
"helix-headless-canvas": DefineCustomElement<
|
|
16086
16728
|
HelixHeadlessCanvas,
|
|
16087
16729
|
HelixHeadlessCanvasVueProps,
|
|
@@ -16171,7 +16813,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16171
16813
|
HelixHeadlessCopyButtonVueProps,
|
|
16172
16814
|
HelixHeadlessCopyButtonVueEvents
|
|
16173
16815
|
>;
|
|
16174
|
-
/** Declare the columns as 'TableColumn' children and pass the rows as an array. The schema stays readable in the HTML, and the rows can be windowed, which ten thousand row elements cannot be. '''html <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20"> <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column> <helix-headless-table-column field="size" text-align="end" sortable .cell=${bytes}>Size</helix-headless-table-column> </helix-headless-data-table> ''' For a short table written out by hand, use 'Table', which takes rows as markup. Sort and filter apply to the whole set, including the rows on other pages. **The cell values do not server-render.** The headings and the row elements do. Reading a cell needs the columns, and Lit SSR does not pass the column children to this element, so a crawler sees an empty table of the right shape. Use 'Table' when the served HTML has to carry the values. 'selectable' adds a column of checkboxes, keyed on 'row-key': - A row is selected by its key, so the selection survives a sort, a filter, and a page change. - 'selected' holds the chosen keys, comma separated, the same shape 'Listbox' uses for a multiple choice. As with 'sort', writing it applies the selection, and 'default-selected' holds what the markup declared. - The checkbox in the heading selects every row in the result, across pages, and shows a dash while only some are chosen. - Shift with a press on a checkbox selects every row between it and the row last chosen. To act on a single row, such as opening it, put a link or a button in a cell. **Keyboard.** The grid is one tab stop, and the arrow keys move between its cells, the headings included. | Key | What it does | |---|---| | Right, Left | Moves one cell along the row. Left moves on, on a right-to-left page. | | Down, Up | Moves one row, the heading row and the 'load-more' row included. | | Home, End | Moves to the first or the last cell of the row. | | Control with Home or End | Moves to the first or the last cell of the grid. | | Page Down, Page Up | Moves by the rows that fit in view. | | Enter, F2 | Moves into the cell's controls. Escape moves back to the cell, and Tab moves between the controls of one cell. | | Enter, Space on a sortable heading | Sorts by the column. | | Enter, Space on the 'load-more' row | Sends 'helix-load-more'. | | Space on a row | Selects the row, in a 'selectable' table. | | Shift with Down or Up | Selects the rows it moves across, in a 'selectable' table. | | Shift with Space | Selects every row from the one last chosen, in a 'selectable' table. | | Control or Command with A | Selects every row, in a 'selectable' table. | | Right on a row header in a tree grid | Opens a closed row, and moves one cell along an open one. | | Left on a row header in a tree grid | Closes an open row, and moves to the parent of a closed one. | | A letter or a word | Moves to the next row whose row header starts with what you typed. | 'selected' and 'expanded' hold their keys in the order of the rows, as do 'helix-select', 'helix-selected' and 'helix-expand'. Each row is named by its row header, the column marked 'row-header', or the first column with a 'field' where none is. A screen reader says it as a reader moves between rows. **Rows that hold rows.** 'child-field' names the field that holds a row's child rows, and the grid becomes a tree grid. The row header column draws a mark that a press opens and closes a row by, and 'expanded' holds the keys of the open rows, which 'row-key' names. Right on a closed row's header opens it, Left on an open one closes it, and Left on a child moves to its parent. A sort orders the rows under each parent, and a search shows the rows that lead to each match, open. 'load-more' adds a row after the last one with a button that sends 'helix-load-more'. A 'windowed' table also sends it by itself once a reader scrolls within one screen of the end, once for each number of rows. Add the next rows to 'rows', and set 'loading' while they are on their way. The controls inside the cells leave the tab order, so Tab moves past the whole grid. A windowed table keeps the row holding focus drawn while the rest scroll away. People can resize and reorder the columns. 'resizable' on a column puts a separator on its edge. 'reorderable' on the table puts a grip on each heading that has a 'field', moved by dragging or with the arrow keys. The new order is written to 'order' as a list of fields. Your markup is not rewritten: the table assigns the headings to its header in that order. 'csv()' returns the result as text: every row that passes the filter, in the order and the columns on screen. Saving the file is up to you. 'DataTable' has no 'columns' attribute. Each 'TableColumn' is part of the schema, so you size a column with its own 'width'. 'Table' has 'columns' because its cells are markup you write and it can have no columns at all. Written on 'DataTable', 'columns' has no effect, so watch for it when you move a table from 'Table' to 'DataTable'. */
|
|
16816
|
+
/** Declare the columns as 'TableColumn' children and pass the rows as an array. The schema stays readable in the HTML, and the rows can be windowed, which ten thousand row elements cannot be. '''html <helix-headless-data-table .rows=${rows} sort="name:asc" page-size="20"> <helix-headless-table-column field="name" sortable>Name</helix-headless-table-column> <helix-headless-table-column field="size" text-align="end" sortable .cell=${bytes}>Size</helix-headless-table-column> </helix-headless-data-table> ''' For a short table written out by hand, use 'Table', which takes rows as markup. Sort and filter apply to the whole set, including the rows on other pages. **The cell values do not server-render.** The headings and the row elements do. Reading a cell needs the columns, and Lit SSR does not pass the column children to this element, so a crawler sees an empty table of the right shape. Use 'Table' when the served HTML has to carry the values. 'selectable' adds a column of checkboxes, keyed on 'row-key': - A row is selected by its key, so the selection survives a sort, a filter, and a page change. - 'selected' holds the chosen keys, comma separated, the same shape 'Listbox' uses for a multiple choice. As with 'sort', writing it applies the selection, and 'default-selected' holds what the markup declared. - The checkbox in the heading selects every row in the result, across pages, and shows a dash while only some are chosen. - Shift with a press on a checkbox selects every row between it and the row last chosen. To act on a single row, such as opening it, put a link or a button in a cell. **Keyboard.** The grid is one tab stop, and the arrow keys move between its cells, the headings included. | Key | What it does | |---|---| | Right, Left | Moves one cell along the row. Left moves on, on a right-to-left page. | | Down, Up | Moves one row, the heading row and the 'load-more' row included. | | Home, End | Moves to the first or the last cell of the row. | | Control with Home or End | Moves to the first or the last cell of the grid. | | Page Down, Page Up | Moves by the rows that fit in view. | | Enter, F2 | Moves into the cell's controls. Escape moves back to the cell, and Tab moves between the controls of one cell. | | Enter, Space on a sortable heading | Sorts by the column. | | Enter, Space on the 'load-more' row | Sends 'helix-load-more'. | | Space on a row | Selects the row, in a 'selectable' table. | | Shift with Down or Up | Selects the rows it moves across, in a 'selectable' table. | | Shift with Space | Selects every row from the one last chosen, in a 'selectable' table. | | Control or Command with A | Selects every row, in a 'selectable' table. | | Right on a row header in a tree grid | Opens a closed row, and moves one cell along an open one. | | Left on a row header in a tree grid | Closes an open row, and moves to the parent of a closed one. | | A letter or a word | Moves to the next row whose row header starts with what you typed. | 'selected' and 'expanded' hold their keys in the order of the rows, as do 'helix-select', 'helix-selected' and 'helix-expand'. Each row is named by its row header, the column marked 'row-header', or the first column with a 'field' where none is. A screen reader says it as a reader moves between rows. **Rows that hold rows.** 'child-field' names the field that holds a row's child rows, and the grid becomes a tree grid. The row header column draws a mark that a press opens and closes a row by, and 'expanded' holds the keys of the open rows, which 'row-key' names. Right on a closed row's header opens it, Left on an open one closes it, and Left on a child moves to its parent. A sort orders the rows under each parent, and a search shows the rows that lead to each match, open. 'load-more' adds a row after the last one with a button that sends 'helix-load-more'. A 'windowed' table also sends it by itself once a reader scrolls within one screen of the end, once for each number of rows. Add the next rows to 'rows', and set 'loading' while they are on their way. The controls inside the cells leave the tab order, so Tab moves past the whole grid. A windowed table keeps the row holding focus drawn while the rest scroll away. People can resize and reorder the columns. 'resizable' on a column puts a separator on its edge. 'reorderable' on the table puts a grip on each heading that has a 'field', moved by dragging or with the arrow keys. The new order is written to 'order' as a list of fields. Your markup is not rewritten: the table assigns the headings to its header in that order. **'reorderable-rows' lets people move rows.** A column of grips leads each row, named by 'move-row-label'. Drag a grip to move its row, and the table scrolls near an edge. Or press Space or Enter on a grip, or click it, to pick up its row, move it with Down and Up, Home and End, and press Space or Enter again to drop it. A click on another row drops it there, and Escape puts it back. The table says each step in its 'live' region. A drop sends 'helix-before-reorder', which you can refuse, and then 'helix-reorder' with 'kind' set to 'row', whose 'keys' hold every key of 'rows' in the new order. **You move the rows**: set 'rows' to the new order, and the table draws it. Set 'row-key', so a row is known by its key once it has moved. The grips do nothing while a 'sort' is set, since the sort decides the order, and a tree grid draws none. 'csv()' returns the result as text: every row that passes the filter, in the order and the columns on screen. Saving the file is up to you. 'DataTable' has no 'columns' attribute. Each 'TableColumn' is part of the schema, so you size a column with its own 'width'. 'Table' has 'columns' because its cells are markup you write and it can have no columns at all. Written on 'DataTable', 'columns' has no effect, so watch for it when you move a table from 'Table' to 'DataTable'. */
|
|
16175
16817
|
"helix-headless-data-table": DefineCustomElement<
|
|
16176
16818
|
HelixHeadlessDataTable,
|
|
16177
16819
|
HelixHeadlessDataTableVueProps,
|
|
@@ -16183,7 +16825,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16183
16825
|
HelixHeadlessDateInputVueProps,
|
|
16184
16826
|
HelixHeadlessDateInputVueEvents
|
|
16185
16827
|
>;
|
|
16186
|
-
/** A grid of days that follows the APG date grid pattern: - The grid is one tab stop. Only the focused cell is in the tab sequence. - Arrow keys move by day and by week. - 'PageUp' and 'PageDown' move by month. - 'Home' and 'End' move to the start and end of the week. **Dates are 'YYYY-MM-DD' strings, and every calculation is in UTC**, because a local-time 'Date' shifts across a time zone or daylight-saving boundary. 'month' sets which month the grid shows, separately from 'value', so paging selects nothing and you can control the view. When unset, it follows the first selected date, then the current month. 'mode' sets how many dates are held. Unset holds one, 'range' holds two and marks the dates between them, and 'multiple' toggles each date. All three read and write the same comma-separated 'value'. 'max-view' makes the heading a button that steps back to the months of the year, and with 'year' to a page of years, as Zag's date picker does. The arrows, Home, End and the page keys move there, Enter or a press chooses, and Escape goes back to the days. 'isDateUnavailable' and 'dayContent' are properties for a script: a rule that bars dates, and what each day shows in place of its number. The month heading is a live region, so a screen reader hears the new month when Previous or Next is pressed. Neither moves past 'min' or 'max', and the keys stop at them too. A value outside the bounds, on a barred day, or off 'step' reports 'rangeUnderflow', 'rangeOverflow', 'badInput' or 'stepMismatch', so a form does not submit it. */
|
|
16828
|
+
/** A grid of days that follows the APG date grid pattern: - The grid is one tab stop. Only the focused cell is in the tab sequence. - Arrow keys move by day and by week. - 'PageUp' and 'PageDown' move by month. - 'Home' and 'End' move to the start and end of the week. **Dates are 'YYYY-MM-DD' strings, and every calculation is in UTC**, because a local-time 'Date' shifts across a time zone or daylight-saving boundary. **The days are the Gregorian calendar's**, written in 'calendar': the locale's own where its months are the Gregorian months, as 'th-TH' writes 2569 for 2026, and 'gregory' where they are not, as for 'fa-IR'. 'month' sets which month the grid shows, separately from 'value', so paging selects nothing and you can control the view. When unset, it follows the first selected date, then the current month. 'mode' sets how many dates are held. Unset holds one, 'range' holds two and marks the dates between them, and 'multiple' toggles each date. All three read and write the same comma-separated 'value'. 'max-view' makes the heading a button that steps back to the months of the year, and with 'year' to a page of years, as Zag's date picker does. The arrows, Home, End and the page keys move there, Enter or a press chooses, and Escape goes back to the days. 'isDateUnavailable' and 'dayContent' are properties for a script: a rule that bars dates, and what each day shows in place of its number. The month heading is a live region, so a screen reader hears the new month when Previous or Next is pressed. Neither moves past 'min' or 'max', and the keys stop at them too. A value outside the bounds, on a barred day, or off 'step' reports 'rangeUnderflow', 'rangeOverflow', 'badInput' or 'stepMismatch', so a form does not submit it. */
|
|
16187
16829
|
"helix-headless-date-picker": DefineCustomElement<
|
|
16188
16830
|
HelixHeadlessDatePicker,
|
|
16189
16831
|
HelixHeadlessDatePickerVueProps,
|
|
@@ -16201,7 +16843,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16201
16843
|
HelixHeadlessDescriptionListVueProps,
|
|
16202
16844
|
HelixHeadlessDescriptionListVueEvents
|
|
16203
16845
|
>;
|
|
16204
|
-
/** Renders a native '<dialog>' opened with 'showModal()'. The platform provides: - the top layer, so the dialog is above everything whatever the 'z-index' - a backdrop - closing with Escape - an inert page behind the dialog, unreachable by pointer, keyboard, or virtual cursor The dialog adds one thing to those: 'Tab' from its last control goes to its first, and 'Shift+Tab' from its first to its last. A native modal lets 'Tab' past its last control out to the browser's own controls. 'open' calls 'showModal()', and every way the dialog closes goes through 'requestOpen'. A native dialog closes three ways: the property, Escape, and a '<form method="dialog">' submit. Routing all three through 'requestOpen' keeps your state in step, so the dialog never closes while your state still says it is open, which would leave it impossible to reopen. The dialog's name is 'label' when you set it. Otherwise it is the heading in the 'header' slot, or the elements an 'aria-labelledby' on the host names. While it is open, the page behind it does not scroll. The dialog is described by the words at the start of its body: the elements in the default slot before the first one that is or holds a control. A question above a form describes the dialog, and the form does not. A Helix component that draws words and no control, such as 'Text', counts as words. An 'aria-describedby' on the host replaces it. Set 'alert' for a dialog that interrupts to ask for an answer, such as a confirmation before a deletion. It is an 'alertdialog', which a screen reader announces with its description as it opens. Set 'dismissible' to draw a close control, labeled by 'dismiss-label'. */
|
|
16846
|
+
/** Renders a native '<dialog>' opened with 'showModal()'. The platform provides: - the top layer, so the dialog is above everything whatever the 'z-index' - a backdrop - closing with Escape - an inert page behind the dialog, unreachable by pointer, keyboard, or virtual cursor The dialog adds one thing to those: 'Tab' from its last control goes to its first, and 'Shift+Tab' from its first to its last. A native modal lets 'Tab' past its last control out to the browser's own controls. 'open' calls 'showModal()', and every way the dialog closes goes through 'requestOpen'. A native dialog closes three ways: the property, Escape, and a '<form method="dialog">' submit. Routing all three through 'requestOpen' keeps your state in step, so the dialog never closes while your state still says it is open, which would leave it impossible to reopen. The dialog's name is 'label' when you set it. Otherwise it is the heading in the 'header' slot, or the elements an 'aria-labelledby' on the host names, and 'fallback-label' where nothing names it. While it is open, the page behind it does not scroll. The dialog is described by the words at the start of its body: the elements in the default slot before the first one that is or holds a control. A question above a form describes the dialog, and the form does not. A Helix component that draws words and no control, such as 'Text', counts as words. An 'aria-describedby' on the host replaces it. Set 'alert' for a dialog that interrupts to ask for an answer, such as a confirmation before a deletion. It is an 'alertdialog', which a screen reader announces with its description as it opens. Set 'dismissible' to draw a close control, labeled by 'dismiss-label'. */
|
|
16205
16847
|
"helix-headless-dialog": DefineCustomElement<
|
|
16206
16848
|
HelixHeadlessDialog,
|
|
16207
16849
|
HelixHeadlessDialogVueProps,
|
|
@@ -16219,7 +16861,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16219
16861
|
HelixHeadlessDonutChartVueProps,
|
|
16220
16862
|
HelixHeadlessDonutChartVueEvents
|
|
16221
16863
|
>;
|
|
16222
|
-
/** Uses 'MixinControllerOpen', so 'open', 'defaultOpen', and the 'helix-before-open' and 'helix-before-close' events work the same way as on an accordion item. The drawer is modal by default, which means four things: - focus is trapped inside: 'Tab' from the last control goes to the first, and 'Shift+Tab' from the first to the last, as in 'Dialog' - Escape and a press outside close it - the page behind is covered - the page behind does not scroll A drawer with 'modal="false"' leaves the page usable and still closes on Escape, in a browser without 'closedby' as well. **A touch or a pen swipes it away**, toward the edge it came from, resolved against the writing direction. A swipe past halfway, or a quick one, closes it through the same request as every other way out. 'snap-points' lists the fractions of the panel a reader can leave on screen, such as '0.5 1' for a sheet that rests half open: it opens at the smallest, and a swipe settles at the nearest. While a swipe moves the panel, the distance is written on it as '--drawer-swipe-x' and '--drawer-swipe-y'. 'swipe="false"' turns swiping off. 'snap' is the snap point the panel rests at, and ':state(snapped)' is on the host while that is less than the whole panel. 'snapTo()' moves it to another. **Focus moving to a control past the window's edge opens the panel to its largest snap point**, so a reader moving through a half open sheet with 'Tab' never lands on a control they cannot see. Set 'dismissible' to draw a close control in the corner, labeled by 'dismiss-label', as 'Dialog' draws one. The panel's name is 'label' when you set it. Otherwise it is the heading in the 'header' slot, or the elements an 'aria-labelledby' on the host names. Content stays mounted when the drawer is closed, so it is in the server markup and can animate. A closed '<dialog>' is already out of the tab order and the accessibility tree, so the drawer does not write 'inert'. The 'role', 'aria-modal', and the scrim also come from the '<dialog>' element. 'drawer-root.ssr.spec.ts' checks that the panel has no hand-written 'inert' or 'role'. Open the drawer declaratively with the platform's invoker attributes: '''html <helix-headless-button commandfor="nav" command="--toggle">Menu</helix-headless-button> <helix-headless-drawer id="nav">…</helix-headless-drawer> ''' */
|
|
16864
|
+
/** Uses 'MixinControllerOpen', so 'open', 'defaultOpen', and the 'helix-before-open' and 'helix-before-close' events work the same way as on an accordion item. The drawer is modal by default, which means four things: - focus is trapped inside: 'Tab' from the last control goes to the first, and 'Shift+Tab' from the first to the last, as in 'Dialog' - Escape and a press outside close it - the page behind is covered - the page behind does not scroll A drawer with 'modal="false"' leaves the page usable and still closes on Escape, in a browser without 'closedby' as well. **A touch or a pen swipes it away**, toward the edge it came from, resolved against the writing direction. A swipe past halfway, or a quick one, closes it through the same request as every other way out. 'snap-points' lists the fractions of the panel a reader can leave on screen, such as '0.5 1' for a sheet that rests half open: it opens at the smallest, and a swipe settles at the nearest. While a swipe moves the panel, the distance is written on it as '--drawer-swipe-x' and '--drawer-swipe-y'. 'swipe="false"' turns swiping off. 'snap' is the snap point the panel rests at, and ':state(snapped)' is on the host while that is less than the whole panel. 'snapTo()' moves it to another. **Focus moving to a control past the window's edge opens the panel to its largest snap point**, so a reader moving through a half open sheet with 'Tab' never lands on a control they cannot see. Set 'dismissible' to draw a close control in the corner, labeled by 'dismiss-label', as 'Dialog' draws one. The panel's name is 'label' when you set it. Otherwise it is the heading in the 'header' slot, or the elements an 'aria-labelledby' on the host names, and 'fallback-label' where nothing names it. Content stays mounted when the drawer is closed, so it is in the server markup and can animate. A closed '<dialog>' is already out of the tab order and the accessibility tree, so the drawer does not write 'inert'. The 'role', 'aria-modal', and the scrim also come from the '<dialog>' element. 'drawer-root.ssr.spec.ts' checks that the panel has no hand-written 'inert' or 'role'. Open the drawer declaratively with the platform's invoker attributes: '''html <helix-headless-button commandfor="nav" command="--toggle">Menu</helix-headless-button> <helix-headless-drawer id="nav">…</helix-headless-drawer> ''' */
|
|
16223
16865
|
"helix-headless-drawer": DefineCustomElement<
|
|
16224
16866
|
HelixHeadlessDrawer,
|
|
16225
16867
|
HelixHeadlessDrawerVueProps,
|
|
@@ -16279,7 +16921,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16279
16921
|
HelixHeadlessFilterInputVueProps,
|
|
16280
16922
|
HelixHeadlessFilterInputVueEvents
|
|
16281
16923
|
>;
|
|
16282
|
-
/** Formats a date with 'Intl' where it is shown, so you do not write the same 'Intl' call and options in your own code. **'elapsed' shows compact relative time for a feed**, such as "42m", "3h", or "1d". After six days it shows a date. In en-US, 'Intl.NumberFormat' narrow renders both 'minute' and 'month' as 'm', so a compact "3m" could mean three minutes or three months. 'elapsedTime' in 'helix/core' does the measurement. **'relative' shows the same reading in words**, such as "3 hours ago" at 'long', "3 hr. ago" at 'short' and "3h ago" at 'narrow', the styles 'sl-relative-time' offers. 'numeric="always"' says "1 day ago" where the default says "yesterday". **'date-style' and 'time-style' take each locale's own pattern**, such as "Tuesday, August 4, 2026" at 'full', and stand in for the separate fields, which 'Intl' refuses beside them. 'hour-cycle' sets a twelve or twenty-four hour clock either way. **The text refreshes on one timer shared by the page.** Each element schedules an update for when its current reading expires, and an element showing a date schedules none, so a long feed left open costs almost nothing. 'frozen' draws the reading once and leaves it. **'fields' draws each field of a date as a part of its own**, such as 'day', 'month' and 'year', so a stylesheet can set the year in a lighter ink or the weekday in capitals with '::part()'. The text between the fields is the locale's own and has no part. An 'elapsed' or 'relative' reading is one phrase, with no parts inside it. **The output is always '<time datetime>'**, so copy and paste and scripts parsing the page get the exact instant, whatever the visible text says. A screen reader reads the text, so an 'elapsed' reading is named in full, such as "3 hours ago", and carries the whole date as its title. **A date with no time, such as '2026-08-04', is that day everywhere.** It is formatted in UTC unless 'time-zone' says otherwise, as Date Input and Date Picker format their dates, so a reader west of UTC sees August 4 and not August 3. */
|
|
16924
|
+
/** Formats a date with 'Intl' where it is shown, so you do not write the same 'Intl' call and options in your own code. **'elapsed' shows compact relative time for a feed**, such as "42m", "3h", or "1d". After six days it shows a date. In en-US, 'Intl.NumberFormat' narrow renders both 'minute' and 'month' as 'm', so a compact "3m" could mean three minutes or three months. 'elapsedTime' in 'helix/core' does the measurement. **'relative' shows the same reading in words**, such as "3 hours ago" at 'long', "3 hr. ago" at 'short' and "3h ago" at 'narrow', the styles 'sl-relative-time' offers. 'numeric="always"' says "1 day ago" where the default says "yesterday". **'date-style' and 'time-style' take each locale's own pattern**, such as "Tuesday, August 4, 2026" at 'full', and stand in for the separate fields, which 'Intl' refuses beside them. 'hour-cycle' sets a twelve or twenty-four hour clock either way. **The text refreshes on one timer shared by the page.** Each element schedules an update for when its current reading expires, and an element showing a date schedules none, so a long feed left open costs almost nothing. 'frozen' draws the reading once and leaves it. **'fields' draws each field of a date as a part of its own**, such as 'day', 'month' and 'year', so a stylesheet can set the year in a lighter ink or the weekday in capitals with '::part()'. The text between the fields is the locale's own and has no part. An 'elapsed' or 'relative' reading is one phrase, with no parts inside it. **The output is always '<time datetime>'**, so copy and paste and scripts parsing the page get the exact instant, whatever the visible text says. A screen reader reads the text, so an 'elapsed' reading is named in full, such as "3 hours ago", and carries the whole date as its title. **A date with no time, such as '2026-08-04', is that day everywhere.** It is formatted in UTC unless 'time-zone' says otherwise, as Date Input and Date Picker format their dates, so a reader west of UTC sees August 4 and not August 3. **A date is written in a calendar Date Picker draws**: the locale's own where its months are the Gregorian months, as 'th-TH' writes 2569 for 2026, and 'gregory' where they are not, as for 'fa-IR'. 'calendar' picks one of the five. */
|
|
16283
16925
|
"helix-headless-format-date": DefineCustomElement<
|
|
16284
16926
|
HelixHeadlessFormatDate,
|
|
16285
16927
|
HelixHeadlessFormatDateVueProps,
|
|
@@ -16351,19 +16993,19 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16351
16993
|
HelixHeadlessLineChartVueProps,
|
|
16352
16994
|
HelixHeadlessLineChartVueEvents
|
|
16353
16995
|
>;
|
|
16354
|
-
/** Provides layout and semantics. The row is a target only when you set 'href'. **'href' makes the row a link.** The component wraps the leading content, the label, and the description in an '<a part="link">' inside the row, as 'Tree.Item' does. An anchor of your own cannot wrap slots it does not own. With the anchor, the row is a target, Enter follows it, middle click opens a new tab, the status bar shows the destination, and all of it works before JavaScript runs. **The 'end' slot sits beside the link, outside it**, so a button or a menu there is a control of its own: a click on it does not follow the link, and its name is not part of the link's. Client-side routing needs your own handling. A router cannot render its anchor inside the shadow root, so to navigate without a page load, intercept the click: the anchor is in 'composedPath()'. Handle only a plain primary click, so native gestures keep working. **For a row that holds controls and is not a destination, use 'data-list-item'.** With 'href' unset, the row is not a link. 'current' marks the row a reader is on, such as the page in a list of pages, with 'aria-current' on its link, or on the row where it has none. **In a list with 'selection-mode', the row is a row of a grid.** The list gives it its role, its place in the one tab stop and, where the list selects, whether it is selected. Its link leaves the tab order there, and Enter follows it from the row. */
|
|
16996
|
+
/** Provides layout and semantics. The row is a target only when you set 'href'. **'href' makes the row a link.** The component wraps the leading content, the label, and the description in an '<a part="link">' inside the row, as 'Tree.Item' does. An anchor of your own cannot wrap slots it does not own. With the anchor, the row is a target, Enter follows it, middle click opens a new tab, the status bar shows the destination, and all of it works before JavaScript runs. **The 'end' slot sits beside the link, outside it**, so a button or a menu there is a control of its own: a click on it does not follow the link, and its name is not part of the link's. Client-side routing needs your own handling. A router cannot render its anchor inside the shadow root, so to navigate without a page load, intercept the click: the anchor is in 'composedPath()'. Handle only a plain primary click, so native gestures keep working. **For a row that holds controls and is not a destination, use 'data-list-item'.** With 'href' unset, the row is not a link. 'current' marks the row a reader is on, such as the page in a list of pages, with 'aria-current' on its link, or on the row where it has none. **In a list with 'selection-mode', the row is a row of a grid.** The list gives it its role, its place in the one tab stop and, where the list selects, whether it is selected. Its link leaves the tab order there, and Enter follows it from the row. **In a 'reorderable' list, the row has a grip** after its 'end' slot, named by the list's 'move-label'. The list says which row is moving and where the drop indicator is, with the 'dragging', 'drop-before', and 'drop-after' states. */
|
|
16355
16997
|
"helix-headless-list-item": DefineCustomElement<
|
|
16356
16998
|
HelixHeadlessListItem,
|
|
16357
16999
|
HelixHeadlessListItemVueProps,
|
|
16358
17000
|
HelixHeadlessListItemVueEvents
|
|
16359
17001
|
>;
|
|
16360
|
-
/** Sets 'role="list"' on the host, so a screen reader counts the rows and announces each one's position, such as "1 of 7". **'selection-mode' makes the list interactive**, in the way of a grid list: a grid of rows that is one tab stop. 'single' selects one row at a time and 'multiple' any number, and 'value' holds the selected rows' values, separated by commas. A change asks with 'helix-before-change' and tells with 'change'. 'none' selects nothing, so a press acts on the row. A 'disabled' row is passed over. Each row is named by its label and described by its description, so the words of the controls in 'end' are not read as part of its name. 'selection-behavior' says what a press does to the rows already selected. 'toggle', the default, adds or takes out the row. 'replace' selects the row alone, as a file list does, and the arrow keys carry the selection with them. Control or Command with a press then adds or takes out one row. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous row. Under 'replace', selects it. | | Home, End | Moves to the first or the last row. Under 'replace', selects it. | | Page Down, Page Up | Moves a box's height of rows, so the row at one edge lands at the other. Under 'replace', selects the row it lands on. | | A letter or a word | Moves to the next row whose words start with what you typed. | | Left, Right | Moves between the row and the controls in its 'end' slot. | | Space | Selects the row, or lets it go. | | Shift with Down, Up, Home, End, Page Down, Page Up or Space | Selects every row from the last one pressed, in 'multiple'. | | Control or Command with Down, Up, Home, End, Page Down or Page Up | Moves without selecting, under 'replace'. | | Control or Command with A | Selects every row, in 'multiple'. | | Escape | Lets go of every selected row, asking first, and keeps the key from the dialog or menu around the list. With nothing selected, the key goes on to them. | | Enter | Acts on the row: follows its link, or sends 'helix-action' from it. | A press with Shift selects every row from the last one pressed, and a press with Control or Command adds or takes out one row under 'replace'. **Leave 'selection-mode' unset for a list a reader reads**, and set it for one a reader chooses from or acts on. The rows of an interactive list are grid rows, which hold controls as a list box option cannot. Give a control in 'end' 'tabindex="-1"' to leave it to the arrow keys and out of the tab order. 'start' and 'reversed' number an ordered list as '<ol>' does. The list writes where the numbers start and which way they run as '--list-first' and '--list-step' on its slot, which the styled tier counts from. Reversed with no 'start' counts down from the number of rows, which a server cannot know, so served markup counts from one until the list runs. */
|
|
17002
|
+
/** Sets 'role="list"' on the host, so a screen reader counts the rows and announces each one's position, such as "1 of 7". **'selection-mode' makes the list interactive**, in the way of a grid list: a grid of rows that is one tab stop. 'single' selects one row at a time and 'multiple' any number, and 'value' holds the selected rows' values, separated by commas. A change asks with 'helix-before-change' and tells with 'change'. 'none' selects nothing, so a press acts on the row. A 'disabled' row is passed over. Each row is named by its label and described by its description, so the words of the controls in 'end' are not read as part of its name. 'selection-behavior' says what a press does to the rows already selected. 'toggle', the default, adds or takes out the row. 'replace' selects the row alone, as a file list does, and the arrow keys carry the selection with them. Control or Command with a press then adds or takes out one row. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous row. Under 'replace', selects it. | | Home, End | Moves to the first or the last row. Under 'replace', selects it. | | Page Down, Page Up | Moves a box's height of rows, so the row at one edge lands at the other. Under 'replace', selects the row it lands on. | | A letter or a word | Moves to the next row whose words start with what you typed. | | Left, Right | Moves between the row and the controls in its 'end' slot. | | Space | Selects the row, or lets it go. | | Shift with Down, Up, Home, End, Page Down, Page Up or Space | Selects every row from the last one pressed, in 'multiple'. | | Control or Command with Down, Up, Home, End, Page Down or Page Up | Moves without selecting, under 'replace'. | | Control or Command with A | Selects every row, in 'multiple'. | | Escape | Lets go of every selected row, asking first, and keeps the key from the dialog or menu around the list. With nothing selected, the key goes on to them. | | Enter | Acts on the row: follows its link, or sends 'helix-action' from it. | A press with Shift selects every row from the last one pressed, and a press with Control or Command adds or takes out one row under 'replace'. **Leave 'selection-mode' unset for a list a reader reads**, and set it for one a reader chooses from or acts on. The rows of an interactive list are grid rows, which hold controls as a list box option cannot. Give a control in 'end' 'tabindex="-1"' to leave it to the arrow keys and out of the tab order. **'reorderable' lets you move rows.** Each row gets a grip after its 'end' slot, named by 'move-label'. Drag a grip to move its row, and the list scrolls near an edge. Or press a grip with Space, Enter, or a click to pick up its row, move it with the arrow keys, and press the grip again to drop it. A click on another row drops it there, and Escape puts it back. The list says each step in its 'live' region. A drop sends 'helix-before-reorder', which you can refuse, and then 'helix-reorder', whose 'keys' hold every row's value in the new order. **You move the rows**: the list moves no element of yours, so your framework keeps the order it rendered. | Key, on a held row's grip | What it does | |---|---| | Down, Up | Moves the row one place. | | Home, End | Moves the row to the top or the bottom. | | Space, Enter | Drops the row. | | Escape | Puts the row back where it was. | 'start' and 'reversed' number an ordered list as '<ol>' does. The list writes where the numbers start and which way they run as '--list-first' and '--list-step' on its slot, which the styled tier counts from. Reversed with no 'start' counts down from the number of rows, which a server cannot know, so served markup counts from one until the list runs. */
|
|
16361
17003
|
"helix-headless-list": DefineCustomElement<
|
|
16362
17004
|
HelixHeadlessList,
|
|
16363
17005
|
HelixHeadlessListVueProps,
|
|
16364
17006
|
HelixHeadlessListVueEvents
|
|
16365
17007
|
>;
|
|
16366
|
-
/** The listbox is the control, and options are its items. A Select is a listbox with a trigger in front of it, a Combobox is a listbox with a text input, and a command palette is a listbox in a dialog. They differ only in what opens the list and what filters it. With 'multiple' set, 'value' is a comma-separated string, like 'Checkbox.Group''s, because 'MixinControllerValue' holds a string. The form receives one entry per selected option, as a native '<select multiple>' sends it, so your server does not split on commas. Selected and active are separate. The selected option is the value. The active option is where the keyboard is: the arrow keys move it, and 'aria-activedescendant' points to it while focus stays on the list. **Keyboard.** The list is one tab stop, or its filter field is where there is one. In a single-choice list the highlight is the choice unless 'manual' is set; then Enter, Space or a click chooses. | Key | What it does | |---|---| | Down, Up | Moves the highlight to the next or the previous option, round from the last to the first. With 'layout="grid"', to the option below or above, stopping at the edge. | | Right, Left | With 'layout="grid"', moves to the next or the previous option, mirrored right to left. In a filter field, moves the caret. | | Home, End | Moves to the first or the last option. In a filter field, moves the caret. | | Page Down, Page Up | Moves by as many options as the list shows at once. | | A letter or a word | Moves to the next option whose words start with what you typed. In a filter field, types it. | | Enter | Chooses the highlighted option, or follows it where it is a link. | | Space | Chooses the highlighted option, or with 'multiple' toggles it. In a filter field, types a space. | | Shift with Down or Up | With 'multiple', adds the option the highlight moves to. In a filter field, moves the highlight and leaves the value. | | Shift with Space | With 'multiple', adds every option from the one last chosen to the highlighted one. In a filter field, types a space. | | Shift with Home or End | With 'multiple', adds every option from the highlight to that end. In a filter field, hold Control as well. | | Control or Command with A | With 'multiple', chooses every option, or none where all are chosen. In a filter field, selects the text. | | Escape | In a filter field, clears the filter. | **ARIA.** The 'items' part is the 'listbox', named by the label and described by the hint and the message, with 'aria-multiselectable' under 'multiple', 'aria-required', 'aria-invalid', and 'aria-busy' while loading. Each option is an 'option' with 'aria-selected'. The list, or its filter field, points 'aria-activedescendant' at the highlighted option; the field is 'aria-autocomplete="list"' and controls the list. An option with 'href' is a link: Enter or a press follows it and selects nothing, and moving onto it with the arrows does not follow it. As a filter narrows the list, a screen reader hears how many options are left, such as "3 results", from 'result-label' and 'results-label'. A filter that leaves none says 'empty-text'. */
|
|
17008
|
+
/** The listbox is the control, and options are its items. A Select is a listbox with a trigger in front of it, a Combobox is a listbox with a text input, and a command palette is a listbox in a dialog. They differ only in what opens the list and what filters it. With 'multiple' set, 'value' is a comma-separated string, like 'Checkbox.Group''s, because 'MixinControllerValue' holds a string. The form receives one entry per selected option, as a native '<select multiple>' sends it, so your server does not split on commas. Selected and active are separate. The selected option is the value. The active option is where the keyboard is: the arrow keys move it, and 'aria-activedescendant' points to it while focus stays on the list. **Keyboard.** The list is one tab stop, or its filter field is where there is one. In a single-choice list the highlight is the choice unless 'manual' is set; then Enter, Space or a click chooses. | Key | What it does | |---|---| | Down, Up | Moves the highlight to the next or the previous option, round from the last to the first. With 'layout="grid"', to the option below or above, stopping at the edge. | | Right, Left | With 'layout="grid"', moves to the next or the previous option, mirrored right to left. In a filter field, moves the caret. | | Home, End | Moves to the first or the last option. In a filter field, moves the caret. | | Page Down, Page Up | Moves by as many options as the list shows at once. | | A letter or a word | Moves to the next option whose words start with what you typed. In a filter field, types it. | | Enter | Chooses the highlighted option, or follows it where it is a link. | | Space | Chooses the highlighted option, or with 'multiple' toggles it. In a filter field, types a space. | | Shift with Down or Up | With 'multiple', adds the option the highlight moves to. In a filter field, moves the highlight and leaves the value. | | Shift with Space | With 'multiple', adds every option from the one last chosen to the highlighted one. In a filter field, types a space. | | Shift with Home or End | With 'multiple', adds every option from the highlight to that end. In a filter field, hold Control as well. | | Control or Command with A | With 'multiple', chooses every option, or none where all are chosen. In a filter field, selects the text. | | Escape | In a filter field, clears the filter. | | Alt with Up or Down | In a 'reorderable' list, moves the highlighted option a place. Alt with Home or End moves it to either end. | **ARIA.** The 'items' part is the 'listbox', named by the label and described by the hint and the message, with 'aria-multiselectable' under 'multiple', 'aria-required', 'aria-invalid', and 'aria-busy' while loading. Each option is an 'option' with 'aria-selected'. The list, or its filter field, points 'aria-activedescendant' at the highlighted option; the field is 'aria-autocomplete="list"' and controls the list. An option with 'href' is a link: Enter or a press follows it and selects nothing, and moving onto it with the arrows does not follow it. As a filter narrows the list, a screen reader hears how many options are left, such as "3 results", from 'result-label' and 'results-label'. A filter that leaves none says 'empty-text'. **Moving options** is a separate import, '@fusion.dev/helix/listbox/reorder', so a list that never moves options carries none of its code. With it imported, 'reorderable' lets a reader move options: - Alt with Up or Down moves the highlighted option a place, and Alt with Home or End moves it to either end, as the APG's rearrangeable listbox does. The highlight stays on it. - A pointer drags an option, with a drop indicator, and the list scrolls near an edge. A press that does not travel still chooses the option. - A drop sends 'helix-before-reorder', which you can refuse, and then 'helix-reorder', whose 'keys' hold every value in the new order. **You move the options**, or set 'items' in the new order: the list moves no element of yours. - The list says each move in its 'live' region. The words are the 'moved-label', 'canceled-label', 'dropped-label', and 'picked-up-label' attributes, which the import reads. - An option in a group moves within its group. Options do not move while a filter narrows the list, under 'layout="grid"', or while the list is disabled. */
|
|
16367
17009
|
"helix-headless-listbox": DefineCustomElement<
|
|
16368
17010
|
HelixHeadlessListbox,
|
|
16369
17011
|
HelixHeadlessListboxVueProps,
|
|
@@ -16501,7 +17143,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16501
17143
|
HelixHeadlessNumberInputVueProps,
|
|
16502
17144
|
HelixHeadlessNumberInputVueEvents
|
|
16503
17145
|
>;
|
|
16504
|
-
/** Object Inspector shows a structured value, such as an API response, a config, or a raw record, as a read-only tree with each entry's type visible. Pass the object to 'value', or name a '<script type="application/json">' by id with 'for', the same source 'VirtualList' and the charts read. JSON text works with server rendering and with React hydration, which skips object properties. 'value' wins when both are set. **Keyboard.** The tree is one tab stop, and focus moves from row to row. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous row. | | Right | Opens a closed branch, or moves into an open one. Left on a right-to-left page. | | Left | Closes an open branch, or moves to the parent. Right on a right-to-left page. | | Home, End | Moves to the first or the last row. | | Page Down, Page Up | Moves a box's height of rows, so the row at one edge lands at the other. | | Enter, Space | Opens or closes a branch. | | '*' | Opens every branch beside the active row. | | A letter or a word | Moves to the next row whose key starts with what you typed. | | Command+C, Control+C | Copies the active row, where no text is selected. | The tree is a 'treegrid', as React Aria's Tree is: each entry is a 'row' with one cell, and carries its real level, position, and set size, including in a windowed tree. Nothing in it is chosen, so no row carries 'aria-selected', and a focused row is not announced as selected. A reader opening or closing a branch sends 'helix-before-open' or 'helix-before-close', which you can cancel, and then 'toggle' with 'newState' and 'oldState', as '<details>' does. The branch is the active row, and 'expanded' holds every open branch. '*' asks once for all the branches it opens. A script writing 'expanded' or 'active' sends nothing. 'active' is the active row's path, written the way a JSON Pointer writes it: the empty string for the root and '/meta/tags/0' for an entry under it. Moving to another row sends 'helix-before-activate', which you can cancel, and then 'helix-activate', both with the path. Writing 'active' moves there and opens the branches around it, and sends nothing. 'expanded' holds the open branches by path, and writing it opens those and closes the rest. A row that closes around the active one hands it to the nearest open branch. 'filter' narrows the tree to the entries whose key or value holds the text, ignoring case, and the branches that lead to them, which it opens. A matched branch keeps everything under it. Each matched row carries 'row-match', and a screen reader hears how many entries matched from '
|
|
17146
|
+
/** Object Inspector shows a structured value, such as an API response, a config, or a raw record, as a read-only tree with each entry's type visible. Pass the object to 'value', or name a '<script type="application/json">' by id with 'for', the same source 'VirtualList' and the charts read. JSON text works with server rendering and with React hydration, which skips object properties. 'value' wins when both are set. **Keyboard.** The tree is one tab stop, and focus moves from row to row. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous row. | | Right | Opens a closed branch, or moves into an open one. Left on a right-to-left page. | | Left | Closes an open branch, or moves to the parent. Right on a right-to-left page. | | Home, End | Moves to the first or the last row. | | Page Down, Page Up | Moves a box's height of rows, so the row at one edge lands at the other. | | Enter, Space | Opens or closes a branch. | | '*' | Opens every branch beside the active row. | | A letter or a word | Moves to the next row whose key starts with what you typed. | | Command+C, Control+C | Copies the active row, where no text is selected. | The tree is a 'treegrid', as React Aria's Tree is: each entry is a 'row' with one cell, and carries its real level, position, and set size, including in a windowed tree. Nothing in it is chosen, so no row carries 'aria-selected', and a focused row is not announced as selected. A reader opening or closing a branch sends 'helix-before-open' or 'helix-before-close', which you can cancel, and then 'toggle' with 'newState' and 'oldState', as '<details>' does. The branch is the active row, and 'expanded' holds every open branch. '*' asks once for all the branches it opens. A script writing 'expanded' or 'active' sends nothing. 'active' is the active row's path, written the way a JSON Pointer writes it: the empty string for the root and '/meta/tags/0' for an entry under it. Moving to another row sends 'helix-before-activate', which you can cancel, and then 'helix-activate', both with the path. Writing 'active' moves there and opens the branches around it, and sends nothing. 'expanded' holds the open branches by path, and writing it opens those and closes the rest. A row that closes around the active one hands it to the nearest open branch. 'filter' narrows the tree to the entries whose key or value holds the text, ignoring case, and the branches that lead to them, which it opens. A matched branch keeps everything under it. Each matched row carries 'row-match', and a screen reader hears how many entries matched from 'results-label'. 'filterable' adds a field that sets it: typing sends 'helix-filter', which you can cancel, and then 'helix-filtered', and Down moves from the field to the tree. A new 'value' keeps the branches a reader opened or closed, and the active row, where the new value still has them. A branch the old value did not have opens to 'default-depth'. The copy button copies the active row, a branch as JSON and a string as its text. So do Command+C and Control+C while the tree has focus and no text is selected. The button sits beside the tree, because assistive technology cannot reliably reach a button inside a tree item. 'windowed' draws only the rows in view, for values with thousands of entries. The box needs a height for windowing to work. The styled tier sets one, and in the headless tier you set it yourself. */
|
|
16505
17147
|
"helix-headless-object-inspector": DefineCustomElement<
|
|
16506
17148
|
HelixHeadlessObjectInspector,
|
|
16507
17149
|
HelixHeadlessObjectInspectorVueProps,
|
|
@@ -16657,7 +17299,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16657
17299
|
HelixHeadlessSpeedDialVueProps,
|
|
16658
17300
|
HelixHeadlessSpeedDialVueEvents
|
|
16659
17301
|
>;
|
|
16660
|
-
/** A splitter has one axis. Nest splitters to get two axes and three-pane or four-pane layouts. When a splitter is slotted into a pane of another at a right angle, a corner handle appears where the dividers cross. It shows the 'move' cursor, responds to both arrow axes, and a drag moves both dividers at once. The corner is added at 'firstUpdated' and is not in the server markup. Before it appears, both dividers work on their own. The divider has 'role="separator"' and 'aria-valuenow', with 'aria-valuetext' saying the start pane's share as a percentage in the reader's locale, and 'aria-controls' names the start pane. Drag it with a pointer or move it with the arrow keys, press 'Home' or 'End' to move it to its bounds, and press 'Enter' to collapse the start pane and open it again. A drag in progress is tracked as a state, so both dividers a corner moves stay lit for as long as they move. By default, 'min' and 'max' let the divider reach either edge, so you can drag a pane fully closed. Set them to limit the range. A pane can be collapsed, which is a separate state from a divider at the edge. 'collapsed' names the shut pane, 'start' or 'end', and the pane opens back to the position where the collapsing gesture began. A drag records that position on press, and every other way of collapsing records it in 'settle'. 'collapsed-size' keeps a sliver of the pane visible, such as a tab strip. Collapsing overrides 'min' and 'max'. */
|
|
17302
|
+
/** A splitter has one axis. Nest splitters to get two axes and three-pane or four-pane layouts. When a splitter is slotted into a pane of another at a right angle, a corner handle appears where the dividers cross. It shows the 'move' cursor, responds to both arrow axes, and a drag moves both dividers at once. The corner is added at 'firstUpdated' and is not in the server markup. Before it appears, both dividers work on their own. The divider has 'role="separator"' and 'aria-valuenow', with 'aria-valuetext' saying the start pane's share as a percentage in the nearest 'lang', or in the reader's locale where no 'lang' is set, and 'aria-controls' names the start pane. Drag it with a pointer or move it with the arrow keys, press 'Home' or 'End' to move it to its bounds, and press 'Enter' to collapse the start pane and open it again. A drag in progress is tracked as a state, so both dividers a corner moves stay lit for as long as they move. By default, 'min' and 'max' let the divider reach either edge, so you can drag a pane fully closed. Set them to limit the range. A pane can be collapsed, which is a separate state from a divider at the edge. 'collapsed' names the shut pane, 'start' or 'end', and the pane opens back to the position where the collapsing gesture began. A drag records that position on press, and every other way of collapsing records it in 'settle'. 'collapsed-size' keeps a sliver of the pane visible, such as a tab strip. Collapsing overrides 'min' and 'max'. */
|
|
16661
17303
|
"helix-headless-splitter": DefineCustomElement<
|
|
16662
17304
|
HelixHeadlessSplitter,
|
|
16663
17305
|
HelixHeadlessSplitterVueProps,
|
|
@@ -16705,13 +17347,13 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16705
17347
|
HelixHeadlessTableColumnVueProps,
|
|
16706
17348
|
HelixHeadlessTableColumnVueEvents
|
|
16707
17349
|
>;
|
|
16708
|
-
/** Lays out the rows on a CSS grid, so every column lines up across rows and each row stays a real element that can be styled, hidden, or made interactive. A '<table>' layout aligns columns but limits almost everything else. A grid of elements has no table structure for assistive technology, so the roles are set explicitly: 'table', 'row', 'cell', 'columnheader', and 'rowheader' for a 'header' cell in a row of values. Rows are 'display: contents', so their cells become items of the one grid. **Sorting.** A column with 'sortable' and a 'field' draws its heading as a button that sorts the rows by the text of its cells, numbers by their value. Your markup is not reordered: the table draws the rows in the sorted order. 1. Each press cycles the column through ascending, descending, and the order the rows were written in, which keeps a server's own ranking reachable. 2. 'helix-sort' asks first, with 'field:direction', or empty for the written order. Refuse it to keep the order, or to sort the rows yourself and set 'sort'. 3. 'helix-sorted' follows once the order stands, and 'sort' holds it. 4. The heading carries 'aria-sort', and a screen reader hears 'sorted-label' ("Sorted by Name, ascending") or 'unsorted-label' from a polite region. Tab reaches each sort button, and Enter or Space presses it. The 'heading' slot names the table: slot a heading or a line of text into it, and the table is named by its words. An 'aria-label' or 'aria-labelledby' on the host wins over it. **Selecting.** 'selectable' adds a column of checkboxes. 1. Each row is known by its 'value', or by its place among the rows where it has none, and 'selected' holds the chosen keys, comma separated, the same shape 'DataTable' uses. 'default-selected' is where it starts. 2. A row's checkbox is named by 'select-row-label' ("Select {row}") with the words of the row's first cell. The checkbox in the heading selects every row, and shows a dash while only some are chosen. 3. 'helix-select' asks first, with every key the change would leave. Refuse it to keep the selection. 'helix-selected' follows once it stands. 4. A chosen row takes ':state(selected)', and a screen reader hears 'selected-label' ("2 selected") from a polite region. Tab reaches each checkbox, and Space ticks it. To act on one row, put a link or a button in a cell, or give the row an 'href'. **A grid.** 'grid' makes the table one tab stop that the arrow keys move through cell by cell, the headings included, as React Aria's table is. The table is then a 'grid' and each value a 'gridcell', and the table gives every cell a 'tabindex' so focus can rest on it: set 'grid' only where the cells may carry one. For typeahead and range selection, use 'DataTable'. | Key | What it does | |---|---| | Right, Left | Moves one cell along the row. Left moves on, on a right-to-left page. | | Down, Up | Moves one row, the headings included. | | Home, End | Moves to the first or the last cell of the row. | | Control with Home or End | Moves to the first or the last cell of the table. | | Page Down, Page Up | Moves by the rows that fit in view. | | Enter, F2 | Moves into the cell's links and controls. Escape or F2 moves back to the cell, and Tab moves between the controls of one cell. | | Enter on a cell of a row with 'href' | Follows the row's link. | | Enter, Space on a sortable heading | Sorts by the column. | | Space on a row, Enter or Space on its checkbox cell | Selects the row, in a 'selectable' table. | | Control or Command with A | Selects every row, in a 'selectable' table. | | Tab | Leaves the table. | The CSS custom properties listed for this component are written by it and read by the stylesheet that draws it. Do not set them. Each holds a number the component computes and CSS cannot, so the stylesheet can draw the table without measuring anything. */
|
|
17350
|
+
/** Lays out the rows on a CSS grid, so every column lines up across rows and each row stays a real element that can be styled, hidden, or made interactive. A '<table>' layout aligns columns but limits almost everything else. A grid of elements has no table structure for assistive technology, so the roles are set explicitly: 'table', 'row', 'cell', 'columnheader', and 'rowheader' for a 'header' cell in a row of values. Rows are 'display: contents', so their cells become items of the one grid. **Sorting.** A column with 'sortable' and a 'field' draws its heading as a button that sorts the rows by the text of its cells, numbers by their value. Your markup is not reordered: the table draws the rows in the sorted order. 1. Each press cycles the column through ascending, descending, and the order the rows were written in, which keeps a server's own ranking reachable. 2. 'helix-sort' asks first, with 'field:direction', or empty for the written order. Refuse it to keep the order, or to sort the rows yourself and set 'sort'. 3. 'helix-sorted' follows once the order stands, and 'sort' holds it. 4. The heading carries 'aria-sort', and a screen reader hears 'sorted-label' ("Sorted by Name, ascending") or 'unsorted-label' from a polite region. Tab reaches each sort button, and Enter or Space presses it. The 'heading' slot names the table: slot a heading or a line of text into it, and the table is named by its words. An 'aria-label' or 'aria-labelledby' on the host wins over it. **Selecting.** 'selectable' adds a column of checkboxes. 1. Each row is known by its 'value', or by its place among the rows where it has none, and 'selected' holds the chosen keys, comma separated, the same shape 'DataTable' uses. 'default-selected' is where it starts. 2. A row's checkbox is named by 'select-row-label' ("Select {row}") with the words of the row's first cell. The checkbox in the heading selects every row, and shows a dash while only some are chosen. 3. 'helix-select' asks first, with every key the change would leave. Refuse it to keep the selection. 'helix-selected' follows once it stands. 4. A chosen row takes ':state(selected)', and a screen reader hears 'selected-label' ("2 selected") from a polite region. Tab reaches each checkbox, and Space ticks it. To act on one row, put a link or a button in a cell, or give the row an 'href'. **Moving rows.** 'reorderable' adds a column of grips before the checkboxes, under a heading named by 'row-grips-label'. 1. Each row is known by its 'value', or by its place among the rows where it has none, as for selecting. Give rows a 'value' when they move, so a key stays with its row. 2. A grip is a button named by 'move-row-label' ("Move {row}") with the words of the row's first cell. Drag it to move its row, and the page scrolls near an edge. Or press it with Space, Enter, or a click to pick the row up, move it with Up, Down, Home, and End, and press it again to drop it. A click on another row drops it there, and Escape puts it back. 3. 'helix-before-reorder' asks first, and 'helix-reorder' follows with 'keys', every row's key in the new order. **You move the rows**: the table moves no element of yours, and focus goes back to the moved row's grip once you have. 4. Each step is said in the table's live region, in words you can change: 'picked-up-label', 'moved-label', 'dropped-label', and 'canceled-label'. The grips do nothing while a sort is set. **A grid.** 'grid' makes the table one tab stop that the arrow keys move through cell by cell, the headings included, as React Aria's table is. The table is then a 'grid' and each value a 'gridcell', and the table gives every cell a 'tabindex' so focus can rest on it: set 'grid' only where the cells may carry one. For typeahead and range selection, use 'DataTable'. | Key | What it does | |---|---| | Right, Left | Moves one cell along the row. Left moves on, on a right-to-left page. | | Down, Up | Moves one row, the headings included. | | Home, End | Moves to the first or the last cell of the row. | | Control with Home or End | Moves to the first or the last cell of the table. | | Page Down, Page Up | Moves by the rows that fit in view. | | Enter, F2 | Moves into the cell's links and controls. Escape or F2 moves back to the cell, and Tab moves between the controls of one cell. | | Enter on a cell of a row with 'href' | Follows the row's link. | | Enter, Space on a sortable heading | Sorts by the column. | | Space on a row, Enter or Space on its checkbox cell | Selects the row, in a 'selectable' table. | | Enter or Space on a grip cell | Picks the row up, or drops it, in a 'reorderable' table. Up, Down, Home, and End move a row picked up, and Escape puts it back. | | Control or Command with A | Selects every row, in a 'selectable' table. | | Tab | Leaves the table. | The CSS custom properties listed for this component are written by it and read by the stylesheet that draws it. Do not set them. Each holds a number the component computes and CSS cannot, so the stylesheet can draw the table without measuring anything. */
|
|
16709
17351
|
"helix-headless-table": DefineCustomElement<
|
|
16710
17352
|
HelixHeadlessTable,
|
|
16711
17353
|
HelixHeadlessTableVueProps,
|
|
16712
17354
|
HelixHeadlessTableVueEvents
|
|
16713
17355
|
>;
|
|
16714
|
-
/** The row renders its cells straight through and lays out none of them, so a stylesheet can place them in the table's grid and every column lines up across rows. The row still exists as an element, so you can style it, hide it, or make it interactive. In a 'selectable' table the row draws a checkbox cell before its own cells, and 'value' is the key the table's 'selected' lists it by. **'href' makes the whole row a link**, as a row action does in React Aria's table: a press anywhere on the row follows it, except on a link or a control of the row's own, and Control, Command or Shift open it the way they open a link. A drag that selects text follows nothing. A row in a table is not a stop of its own, so put the same link in a cell, usually the row header, which is what the keyboard and a screen reader reach. In a 'grid' table, Enter on any cell of the row follows it as well. */
|
|
17356
|
+
/** The row renders its cells straight through and lays out none of them, so a stylesheet can place them in the table's grid and every column lines up across rows. The row still exists as an element, so you can style it, hide it, or make it interactive. In a 'selectable' table the row draws a checkbox cell before its own cells, and 'value' is the key the table's 'selected' lists it by. In a 'reorderable' table the row draws a grip cell before those, holding a button named by the table's 'move-row-label', and 'value' is the key 'helix-reorder' lists it by. The table says which row is moving and where the drop indicator is, with the 'dragging', 'drop-before', and 'drop-after' states. **'href' makes the whole row a link**, as a row action does in React Aria's table: a press anywhere on the row follows it, except on a link or a control of the row's own, and Control, Command or Shift open it the way they open a link. A drag that selects text follows nothing. A row in a table is not a stop of its own, so put the same link in a cell, usually the row header, which is what the keyboard and a screen reader reach. In a 'grid' table, Enter on any cell of the row follows it as well. */
|
|
16715
17357
|
"helix-headless-table-row": DefineCustomElement<
|
|
16716
17358
|
HelixHeadlessTableRow,
|
|
16717
17359
|
HelixHeadlessTableRowVueProps,
|
|
@@ -16813,7 +17455,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16813
17455
|
HelixHeadlessToolbarVueProps,
|
|
16814
17456
|
HelixHeadlessToolbarVueEvents
|
|
16815
17457
|
>;
|
|
16816
|
-
/** The trigger
|
|
17458
|
+
/** The trigger stays your own element. The bubble renders in the top layer through the popover API, so an ancestor with 'overflow: hidden' does not clip it and no 'z-index' is needed. 'FloatingController' positions it and flips it to another side when the preferred side does not fit. **Place the tooltip beside its trigger, name the trigger with 'for', and name the tooltip in the trigger's 'aria-describedby'.** The description is then in your own markup, so it is in the server's HTML and in the accessibility tree at rest, in every browser, before anyone points at the trigger or focuses it: '''html <helix-headless-button aria-describedby="save-tip" id="save">Save</helix-headless-button> <helix-headless-tooltip content="Save your work" for="save" id="save-tip"></helix-headless-tooltip> ''' Without the attribute, the tooltip links itself through an element reference on the control that takes focus, and it never writes into your markup before you act, so hydration stays intact. A trigger that is a Helix component is described at once, inside its own shadow root. A plain element in your markup is described when you first point at it or focus it, so a screen reader in reading mode meets it with no description until then. Where the browser has no element references, nothing links the two, and the tooltip warns once on first open. The tooltip can also wrap its trigger, which describes a Helix component and leaves a plain element undescribed. In the 'for' form the tooltip itself is out of the accessibility tree while its bubble is down, so you meet its words once, as the trigger's description. The tooltip shows on hover and on focus. It hides on pointer leave, on blur, on Escape, and when the trigger is activated. The pointer can move from the trigger onto the bubble and the bubble stays, unless you set 'hoverable="false"'. 'delay' is how long the pointer rests before it shows, and 'delay-out' how long it stays once the pointer leaves. Once one tooltip is showing, moving to another trigger shows its tooltip with no 'delay', and the first one hides. The same holds for 'skip-delay' milliseconds after a tooltip hides, 300 unless you set it. 'show-on="focus"' shows the tooltip on keyboard focus only, for a hint a pointer does not need. */
|
|
16817
17459
|
"helix-headless-tooltip": DefineCustomElement<
|
|
16818
17460
|
HelixHeadlessTooltip,
|
|
16819
17461
|
HelixHeadlessTooltipVueProps,
|
|
@@ -16831,13 +17473,13 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16831
17473
|
HelixHeadlessTourStopVueProps,
|
|
16832
17474
|
HelixHeadlessTourStopVueEvents
|
|
16833
17475
|
>;
|
|
16834
|
-
/** 'open' comes from 'MixinControllerOpen', the same state a disclosure holds, so you can respond to a branch opening and control the state yourself. The row renders 'aria-expanded'. Each item is an element because it holds state: whether it is open, selected, and focused. An item is a branch when something is slotted into 'children'. This is detected on the client, so server-rendered markup shows a leaf and the twisty appears on hydration. **'href' makes the whole row a link**, rendered as an '<a>'. Enter, middle click, and the status bar then work anywhere on the row. Pressing a branch, or Enter or Space on it, opens or closes it. A branch with a 'value' is chosen as well and sends 'helix-select', unless the tree has 'nesting="heading"', where a branch names the list under it, or 'selection-mode="leaf"', where only the items at the ends are chosen. A 'disabled' item is reached by the arrow keys and announced as unavailable, and a press, Enter or Space on it does nothing. A 'lazy' item is a branch whose children you load when it opens: opening it sends 'helix-load', the row says it is busy, and the children you add appear in it. Remove 'lazy' once they are in. */
|
|
17476
|
+
/** 'open' comes from 'MixinControllerOpen', the same state a disclosure holds, so you can respond to a branch opening and control the state yourself. The row renders 'aria-expanded'. Each item is an element because it holds state: whether it is open, selected, and focused. An item is a branch when something is slotted into 'children'. This is detected on the client, so server-rendered markup shows a leaf and the twisty appears on hydration. **'href' makes the whole row a link**, rendered as an '<a>'. Enter, middle click, and the status bar then work anywhere on the row. Pressing a branch, or Enter or Space on it, opens or closes it. A branch with a 'value' is chosen as well and sends 'helix-select', unless the tree has 'nesting="heading"', where a branch names the list under it, or 'selection-mode="leaf"', where only the items at the ends are chosen. A 'disabled' item is reached by the arrow keys and announced as unavailable, and a press, Enter or Space on it does nothing. A 'lazy' item is a branch whose children you load when it opens: opening it sends 'helix-load', the row says it is busy, and the children you add appear in it. Remove 'lazy' once they are in. **In a 'reorderable' tree, the row has a grip** at its far end, which a pointer drags to move the item among its siblings. The tree says which item is moving and where the drop indicator is, with the 'dragging', 'drop-before', and 'drop-after' states. */
|
|
16835
17477
|
"helix-headless-tree-item": DefineCustomElement<
|
|
16836
17478
|
HelixHeadlessTreeItem,
|
|
16837
17479
|
HelixHeadlessTreeItemVueProps,
|
|
16838
17480
|
HelixHeadlessTreeItemVueEvents
|
|
16839
17481
|
>;
|
|
16840
|
-
/** The tree is a single tab stop, and arrow keys move focus between items, as the tree pattern requires, so Tab moves past a long sidebar in one press. The tree moves the tab stop to the focused item, so the browser's focus order stays intact. Items are found with 'instanceof', never by tag name, so the headless tier does not depend on the styled one. Typing a letter moves to the next visible item whose name starts with it, and '*' opens every branch beside the focused item. 'selection-mode="multiple"' draws a check mark on every row and lets a reader check many, as Web Awesome's and Ark UI's checkbox trees do. Checking a branch checks every item under it, and a branch some of whose items are checked is partly checked. Space or a press on the mark checks the focused row, and Enter or a press on a branch's row opens it. 'active' then holds the checked values, comma separated, which 'values' also gives as a list, and the tree says 'aria-multiselectable'. 'selection-mode="leaf"' chooses one item at a time and only the items at the ends: a press, Enter or Space on a branch opens or closes it and chooses nothing, as Web Awesome's 'leaf' mode does. Keys: Up and Down Arrow move between the items a reader can see; Right Arrow opens a shut branch and then moves into it, and Left Arrow shuts an open one and then moves to its parent, the two swapping on a right-to-left page. Home and End go to the first and the last item, Enter and Space choose or open, and the tree's one tab stop stays on the item last reached. In a tree of check marks, Control+A (Command+A on an Apple keyboard) checks every item or clears them all, and Shift with Up or Down Arrow moves and checks. */
|
|
17482
|
+
/** The tree is a single tab stop, and arrow keys move focus between items, as the tree pattern requires, so Tab moves past a long sidebar in one press. The tree moves the tab stop to the focused item, so the browser's focus order stays intact. Items are found with 'instanceof', never by tag name, so the headless tier does not depend on the styled one. Typing a letter moves to the next visible item whose name starts with it, and '*' opens every branch beside the focused item. 'selection-mode="multiple"' draws a check mark on every row and lets a reader check many, as Web Awesome's and Ark UI's checkbox trees do. Checking a branch checks every item under it, and a branch some of whose items are checked is partly checked. Space or a press on the mark checks the focused row, and Enter or a press on a branch's row opens it. 'active' then holds the checked values, comma separated, which 'values' also gives as a list, and the tree says 'aria-multiselectable'. 'selection-mode="leaf"' chooses one item at a time and only the items at the ends: a press, Enter or Space on a branch opens or closes it and chooses nothing, as Web Awesome's 'leaf' mode does. Keys: Up and Down Arrow move between the items a reader can see; Right Arrow opens a shut branch and then moves into it, and Left Arrow shuts an open one and then moves to its parent, the two swapping on a right-to-left page. Home and End go to the first and the last item, Enter and Space choose or open, and the tree's one tab stop stays on the item last reached. In a tree of check marks, Control+A (Command+A on an Apple keyboard) checks every item or clears them all, and Shift with Up or Down Arrow moves and checks. **'reorderable' lets you move items among their siblings.** Alt with Up or Down moves the focused item a place, and Alt with Home or End to the first or the last place among its siblings, as the APG's rearrangeable listbox does. Each row gets a grip at its far end: drag it to move the item, and the tree scrolls near an edge. A click on a grip picks the item up and a click on one of its siblings drops it there, which needs no drag. The arrows move an item picked up that way, Enter or Space drops it, and Escape puts it back. The tree says each step in its 'live' region. A drop sends 'helix-before-reorder', which you can refuse, and then 'helix-reorder', whose 'keys' hold the siblings in the new order. **You move the items**: the tree moves no element of yours, and focus follows the moved item once you have. Moving an item into another branch is not part of this. */
|
|
16841
17483
|
"helix-headless-tree": DefineCustomElement<
|
|
16842
17484
|
HelixHeadlessTree,
|
|
16843
17485
|
HelixHeadlessTreeVueProps,
|
|
@@ -16873,7 +17515,7 @@ export interface WcToolkitVueGlobalComponents {
|
|
|
16873
17515
|
HelixHeadlessVideoVueProps,
|
|
16874
17516
|
HelixHeadlessVideoVueEvents
|
|
16875
17517
|
>;
|
|
16876
|
-
/** The items arrive as data, in one of two ways: - 'items' takes an array. A framework sets it as a property, and React hydration keeps it. - 'for' names a '<script type="application/json">' that holds an array, which a server sends as markup. Each item is drawn into a row in one of two ways: - 'renderItem' is a function from an item and its index to the row's content: a Lit template, a string, or a DOM node. - A '<template>' child defines one row. 'data-field="name"' fills an element with the item's 'name' as text, and 'data-field-href="url"' writes the item's 'url' into 'href', the same for any attribute. A field may be a path of keys, such as 'author.name'. Rows are your markup in the light DOM, so your stylesheet styles them. **A grid.** 'columns' lays the items out that many to a line, as a grid of equal columns, and windows the set a line at a time, as React Aria's grid layout does. Each item draws one element, a cell of the grid, and 'estimate' is the height of a line. Space the items with padding inside each one, which the list measures with the line. **Keyboard.** The list is one tab stop. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. | | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. | | Home, End | Moves to the first or the last item. | | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen. | | A letter or a word | Moves to the next item whose text starts with what you typed. | | Tab | Moves into the focused row's own links and buttons, then out of the list. | An item that is not drawn is scrolled into view and focused, so a keyboard reaches the whole set. When the row holding the tab stop scrolls away, the stop moves to the first row on screen. Typing matches each item's 'text-field', which is the first 'data-field' of the row template by default, or the item itself when it is a string or a number. Each row says its place in the whole set with 'aria-posinset' and 'aria-setsize', so a screen reader says "4,000 of 10,000". The row holding focus stays drawn when it scrolls out. **Selecting.** 'selection-mode' makes the list a list box a reader chooses from: 'single' selects one item and 'multiple' any number. Space or a press selects an item, Shift with Space, an arrow, Home, End or a press takes in the items from the last one chosen, and Control or Command with A selects them all, in 'multiple'. 'value' holds the chosen items' keys, separated by commas, in the order of the set: 'key-field' names each item's key, and a string or a number item is its own key. A change asks with 'helix-before-change' and tells with 'change'. Each row is an 'option' marked 'aria-selected', so a row's own links and buttons are not reached there: keep those to a list without 'selection-mode'. **Loading more.** 'helix-range-change' fires as the items on screen change, and 'range' holds them. 'helix-load-more' fires once a reader is within one screen of the end, once for each length of the set: add to 'items' and it can fire again. While you fetch, set 'loading': the list is busy, and a row after the last item says "Loading more" ('loading-label', or your own content in the 'loading' slot). 'scrollToIndex' takes a reader to an item. **Row height.** Rows are placed by 'estimate' until they are drawn. Then the list reads the drawn rows' height once and places every row by it, so a wrong estimate still reaches the last item. Set 'measured' for rows of different heights. The list follows its source. A new 'items' array, an edit to the script's text, or a script replaced under the same id draws the new rows. A row that stays in view keeps its element as the list scrolls. The viewport scrolls on this tier. It carries 'data-scroller', and 'core' ships '[data-scroller] { overflow: auto }' into every shadow root, so 'scrollTop' works with no stylesheet. You still need to set a block size. */
|
|
17518
|
+
/** The items arrive as data, in one of two ways: - 'items' takes an array. A framework sets it as a property, and React hydration keeps it. - 'for' names a '<script type="application/json">' that holds an array, which a server sends as markup. Each item is drawn into a row in one of two ways: - 'renderItem' is a function from an item and its index to the row's content: a Lit template, a string, or a DOM node. - A '<template>' child defines one row. 'data-field="name"' fills an element with the item's 'name' as text, and 'data-field-href="url"' writes the item's 'url' into 'href', the same for any attribute. A field may be a path of keys, such as 'author.name'. Rows are your markup in the light DOM, so your stylesheet styles them. **A grid.** 'columns' lays the items out that many to a line, as a grid of equal columns, and windows the set a line at a time, as React Aria's grid layout does. Each item draws one element, a cell of the grid, and 'estimate' is the height of a line. Space the items with padding inside each one, which the list measures with the line. **Keyboard.** The list is one tab stop. | Key | What it does | |---|---| | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. | | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. | | Home, End | Moves to the first or the last item. | | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen. | | A letter or a word | Moves to the next item whose text starts with what you typed. | | Tab | Moves into the focused row's own links and buttons, then out of the list. | An item that is not drawn is scrolled into view and focused, so a keyboard reaches the whole set. When the row holding the tab stop scrolls away, the stop moves to the first row on screen. Typing matches each item's 'text-field', which is the first 'data-field' of the row template by default, or the item itself when it is a string or a number. Each row says its place in the whole set with 'aria-posinset' and 'aria-setsize', so a screen reader says "4,000 of 10,000". The row holding focus stays drawn when it scrolls out. **Selecting.** 'selection-mode' makes the list a list box a reader chooses from: 'single' selects one item and 'multiple' any number. Space or a press selects an item, Shift with Space, an arrow, Home, End or a press takes in the items from the last one chosen, and Control or Command with A selects them all, in 'multiple'. 'value' holds the chosen items' keys, separated by commas, in the order of the set: 'key-field' names each item's key, and a string or a number item is its own key. A change asks with 'helix-before-change' and tells with 'change'. Each row is an 'option' marked 'aria-selected', so a row's own links and buttons are not reached there: keep those to a list without 'selection-mode'. **Loading more.** 'helix-range-change' fires as the items on screen change, and 'range' holds them. 'helix-load-more' fires once a reader is within one screen of the end, once for each length of the set: add to 'items' and it can fire again. While you fetch, set 'loading': the list is busy, and a row after the last item says "Loading more" ('loading-label', or your own content in the 'loading' slot). 'scrollToIndex' takes a reader to an item. **Row height.** Rows are placed by 'estimate' until they are drawn. Then the list reads the drawn rows' height once and places every row by it, so a wrong estimate still reaches the last item. Set 'measured' for rows of different heights. Once the list draws rows of different heights, such as rows that wrap on a narrow screen, it places each row by its own height whether 'measured' is set or not. The list follows its source. A new 'items' array, an edit to the script's text, or a script replaced under the same id draws the new rows. A row that stays in view keeps its element as the list scrolls. The viewport scrolls on this tier. It carries 'data-scroller', and 'core' ships '[data-scroller] { overflow: auto }' into every shadow root, so 'scrollTop' works with no stylesheet. You still need to set a block size. */
|
|
16877
17519
|
"helix-headless-virtual-list": DefineCustomElement<
|
|
16878
17520
|
HelixHeadlessVirtualList,
|
|
16879
17521
|
HelixHeadlessVirtualListVueProps,
|