@fusion.dev/helix-headless 0.104.1 → 0.106.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/custom-elements.json +10386 -3813
  2. package/dist/accordion/item/accordion-item.d.ts +17 -16
  3. package/dist/accordion/root/accordion-root.d.ts +13 -17
  4. package/dist/announcement/root/announcement-root.d.ts +24 -31
  5. package/dist/app-header/root/app-header-root.d.ts +14 -14
  6. package/dist/area-chart/root/area-chart-root.d.ts +29 -48
  7. package/dist/avatar/group/avatar-group.d.ts +6 -8
  8. package/dist/avatar/root/avatar-root.d.ts +11 -11
  9. package/dist/badge/root/badge-root.d.ts +14 -15
  10. package/dist/bar-chart/root/bar-chart-root.d.ts +40 -44
  11. package/dist/blockquote/root/blockquote-root.d.ts +5 -7
  12. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +25 -33
  13. package/dist/breadcrumbs/root/breadcrumbs-root.d.ts +12 -11
  14. package/dist/button/root/button-root.d.ts +16 -17
  15. package/dist/button-group/root/button-group-root.d.ts +9 -10
  16. package/dist/callout/root/callout-root.d.ts +10 -15
  17. package/dist/canvas/edge/canvas-edge.d.ts +21 -21
  18. package/dist/canvas/node/canvas-node.d.ts +43 -45
  19. package/dist/canvas/root/canvas-root.d.ts +100 -99
  20. package/dist/card/root/card-root.d.ts +10 -12
  21. package/dist/carousel/root/carousel-root.d.ts +32 -33
  22. package/dist/chat/composer/chat-composer.d.ts +24 -26
  23. package/dist/chat/message/chat-message.d.ts +30 -33
  24. package/dist/chat/root/chat-root.d.ts +63 -80
  25. package/dist/checkbox/root/checkbox-root.d.ts +30 -32
  26. package/dist/checkbox-group/root/checkbox-group-root.d.ts +25 -25
  27. package/dist/code/root/code-root.d.ts +6 -10
  28. package/dist/code-block/root/code-block-root.d.ts +35 -48
  29. package/dist/color-input/root/color-input-root.d.ts +62 -56
  30. package/dist/color-input/root/color-input-root.js +3 -0
  31. package/dist/color-picker/root/color-picker-root.d.ts +61 -49
  32. package/dist/color-picker/root/color-picker-root.js +4 -0
  33. package/dist/combobox/root/combobox-root.d.ts +52 -53
  34. package/dist/command/root/command-root.d.ts +40 -40
  35. package/dist/command/root/command-root.js +1 -0
  36. package/dist/copy-button/root/copy-button-root.d.ts +24 -26
  37. package/dist/data-table/root/data-table-root.d.ts +106 -107
  38. package/dist/date-input/root/date-input-root.d.ts +54 -53
  39. package/dist/date-picker/root/date-picker-root.d.ts +25 -21
  40. package/dist/description-list/item/description-list-item.d.ts +7 -7
  41. package/dist/description-list/root/description-list-root.d.ts +10 -15
  42. package/dist/dialog/root/dialog-root.d.ts +22 -19
  43. package/dist/divider/root/divider-root.d.ts +12 -13
  44. package/dist/donut-chart/root/donut-chart-root.d.ts +19 -20
  45. package/dist/drawer/root/drawer-root.d.ts +19 -18
  46. package/dist/drilldown/item/drilldown-item.d.ts +28 -28
  47. package/dist/drilldown/root/drilldown-root.d.ts +22 -28
  48. package/dist/element-events.generated.js +19 -1
  49. package/dist/empty/root/empty-root.d.ts +16 -19
  50. package/dist/file-input/root/file-input-root.d.ts +32 -32
  51. package/dist/filter-input/chip/filter-chip.d.ts +36 -39
  52. package/dist/filter-input/field/filter-field.d.ts +25 -31
  53. package/dist/filter-input/menu/filter-menu.d.ts +50 -47
  54. package/dist/filter-input/operator/filter-operator.d.ts +15 -20
  55. package/dist/filter-input/root/filter-input-root.d.ts +80 -98
  56. package/dist/format-date/root/format-date-root.d.ts +19 -27
  57. package/dist/heatmap/root/heatmap-root.d.ts +40 -41
  58. package/dist/icon/root/icon-root.d.ts +21 -23
  59. package/dist/icon-button/root/icon-button-root.d.ts +12 -14
  60. package/dist/image/root/image-root.d.ts +30 -30
  61. package/dist/input/root/input-root.d.ts +36 -35
  62. package/dist/kbd/root/kbd-root.d.ts +13 -15
  63. package/dist/legend/root/legend-root.d.ts +18 -16
  64. package/dist/lightbox/item/lightbox-item.d.ts +13 -15
  65. package/dist/lightbox/root/lightbox-root.d.ts +40 -41
  66. package/dist/line-chart/root/line-chart-root.d.ts +20 -29
  67. package/dist/list/item/list-item.d.ts +17 -22
  68. package/dist/list/root/list-root.d.ts +6 -7
  69. package/dist/listbox/root/listbox-root.d.ts +42 -41
  70. package/dist/loader/root/loader-root.d.ts +16 -20
  71. package/dist/map/area/map-area.d.ts +48 -0
  72. package/dist/map/area/map-area.js +40 -0
  73. package/dist/map/buildings/map-buildings.d.ts +45 -0
  74. package/dist/map/buildings/map-buildings.js +37 -0
  75. package/dist/map/contours/map-contours.d.ts +61 -0
  76. package/dist/map/contours/map-contours.js +54 -0
  77. package/dist/map/index.d.ts +14 -0
  78. package/dist/map/index.js +10 -0
  79. package/dist/map/landcover/map-landcover.d.ts +47 -0
  80. package/dist/map/landcover/map-landcover.js +37 -0
  81. package/dist/map/marker/map-marker.d.ts +120 -0
  82. package/dist/map/marker/map-marker.js +109 -0
  83. package/dist/map/points/map-points.d.ts +139 -0
  84. package/dist/map/points/map-points.js +161 -0
  85. package/dist/map/position/map-position.d.ts +70 -0
  86. package/dist/map/position/map-position.js +89 -0
  87. package/dist/map/raster/map-raster.d.ts +84 -0
  88. package/dist/map/raster/map-raster.js +96 -0
  89. package/dist/map/root/map-root.d.ts +269 -52
  90. package/dist/map/root/map-root.js +473 -5
  91. package/dist/map/route/map-route.d.ts +73 -0
  92. package/dist/map/route/map-route.js +52 -0
  93. package/dist/map/terrain/map-terrain.d.ts +68 -0
  94. package/dist/map/terrain/map-terrain.js +58 -0
  95. package/dist/megamenu/root/megamenu-root.d.ts +27 -25
  96. package/dist/menu/item/menu-item.d.ts +30 -31
  97. package/dist/menu/root/menu-root.d.ts +25 -29
  98. package/dist/meter/root/meter-root.d.ts +22 -21
  99. package/dist/navigation/root/navigation-root.d.ts +13 -16
  100. package/dist/notifications/group/notification-group.d.ts +27 -28
  101. package/dist/notifications/notification/notification.d.ts +35 -42
  102. package/dist/notifications/root/notifications-root.d.ts +22 -24
  103. package/dist/number-input/root/number-input-root.d.ts +46 -50
  104. package/dist/object-inspector/root/object-inspector-root.d.ts +46 -58
  105. package/dist/option/group/option-group.d.ts +11 -11
  106. package/dist/option/root/option-root.d.ts +28 -33
  107. package/dist/outline/root/outline-root.d.ts +18 -17
  108. package/dist/pagination/root/pagination-root.d.ts +37 -39
  109. package/dist/pagination/size/pagination-size.d.ts +37 -43
  110. package/dist/pagination/summary/pagination-summary.d.ts +12 -14
  111. package/dist/pin-input/root/pin-input-root.d.ts +32 -38
  112. package/dist/popover/root/popover-root.d.ts +16 -21
  113. package/dist/progress/root/progress-root.d.ts +16 -14
  114. package/dist/qr-code/root/qr-code-root.d.ts +22 -25
  115. package/dist/quote/root/quote-root.d.ts +5 -6
  116. package/dist/radio/group/radio-group.d.ts +26 -28
  117. package/dist/radio/root/radio-root.d.ts +24 -28
  118. package/dist/rating/root/rating-root.d.ts +27 -30
  119. package/dist/scatter-chart/root/scatter-chart-root.d.ts +43 -55
  120. package/dist/scroll-area/root/scroll-area-root.d.ts +15 -21
  121. package/dist/select/root/select-root.d.ts +41 -44
  122. package/dist/skeleton/root/skeleton-root.d.ts +7 -8
  123. package/dist/skip-link/root/skip-link-root.d.ts +21 -28
  124. package/dist/slider/root/slider-root.d.ts +36 -39
  125. package/dist/sparkline/root/sparkline-root.d.ts +22 -28
  126. package/dist/speed-dial/item/speed-dial-item.d.ts +21 -21
  127. package/dist/speed-dial/root/speed-dial-root.d.ts +25 -27
  128. package/dist/splitter/root/splitter-root.d.ts +37 -41
  129. package/dist/stat/group/stat-group.d.ts +4 -4
  130. package/dist/stat/root/stat-root.d.ts +8 -9
  131. package/dist/steps/root/steps-root.d.ts +11 -14
  132. package/dist/steps/step/step.d.ts +22 -29
  133. package/dist/switch/root/switch-root.d.ts +20 -24
  134. package/dist/table/cell/table-cell.d.ts +18 -8
  135. package/dist/table/cell/table-cell.js +5 -1
  136. package/dist/table/column/table-column.d.ts +62 -55
  137. package/dist/table/root/table-root.d.ts +16 -17
  138. package/dist/table/row/table-row.d.ts +3 -3
  139. package/dist/tabs/panel/tab-panel.d.ts +3 -3
  140. package/dist/tabs/root/tabs-root.d.ts +19 -17
  141. package/dist/tabs/tab/tab.d.ts +6 -6
  142. package/dist/tag/root/tag-root.d.ts +11 -12
  143. package/dist/textarea/root/textarea-root.d.ts +29 -32
  144. package/dist/time-input/root/time-input-root.d.ts +70 -69
  145. package/dist/time-picker/root/time-picker-root.d.ts +58 -66
  146. package/dist/timeline/item/timeline-item.d.ts +18 -24
  147. package/dist/timeline/root/timeline-root.d.ts +13 -21
  148. package/dist/toast/item/toast-item.d.ts +21 -22
  149. package/dist/toast/root/toast-root.d.ts +18 -23
  150. package/dist/toggle/group/toggle-group.d.ts +23 -25
  151. package/dist/toggle/root/toggle-root.d.ts +8 -8
  152. package/dist/toolbar/root/toolbar-root.d.ts +7 -10
  153. package/dist/tooltip/root/tooltip-root.d.ts +41 -47
  154. package/dist/tour/root/tour-root.d.ts +24 -26
  155. package/dist/tour/stop/tour-stop.d.ts +39 -48
  156. package/dist/tree/item/tree-item.d.ts +23 -25
  157. package/dist/tree/root/tree-root.d.ts +13 -12
  158. package/dist/trend/root/trend-root.d.ts +18 -19
  159. package/dist/video/root/video-root.d.ts +108 -101
  160. package/dist/video-playlist/item/video-playlist-item.d.ts +23 -28
  161. package/dist/video-playlist/menu/video-playlist-menu.d.ts +17 -21
  162. package/dist/video-playlist/root/video-playlist-root.d.ts +21 -25
  163. package/dist/virtual-list/root/virtual-list-root.d.ts +27 -26
  164. package/package.json +5 -5
  165. package/types/jsx.d.ts +14011 -11983
  166. package/types/svelte.d.ts +10 -0
  167. package/types/vue.d.ts +2143 -1497
@@ -5,25 +5,23 @@ import '../../tag/index.js';
5
5
  import '../../time-picker/index.js';
6
6
  declare const HelixHeadlessTimeInput_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinPickerEditingInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinPickerFieldInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinTokensInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinFieldInterface) & typeof HelixFormElement;
7
7
  /**
8
- * @summary A time, typed or picked from a list.
8
+ * @summary A field for a time, typed or picked from a list.
9
9
  *
10
10
  * @description
11
- * **The list is `TimePicker`, not a second one written here.** It is worth
12
- * having on its own, flat in a settings pane with nothing to open, and this
13
- * element is the field, the overlay and the form. Exactly the arrangement Input
14
- * Date has with `DatePicker` and Color Input with `ColorPicker`.
11
+ * The list is a `TimePicker`, which you can also use on its own, for example in
12
+ * a settings pane. This element adds the field, the overlay, and the form
13
+ * association, the same arrangement Date Input has with `DatePicker` and Color
14
+ * Input has with `ColorPicker`.
15
15
  *
16
- * **Typed as well as picked, and that is the division the list depends on.** A
17
- * list at a step offers the times a product actually has, and the field is how a
18
- * reader says `09:07`. Neither is a worse version of the other: without the
19
- * field a step is a cage, and without the list every common time is typed out.
16
+ * You can type a time or pick one. The list offers times at a step, and the
17
+ * field lets you enter any time, such as `09:07`.
20
18
  *
21
- * **The value is `HH:mm` on a twenty-four hour clock, always**, because that is
22
- * what a form submits, what `min` and `max` compare against, and what sorts as a
23
- * string. What the field *shows* is the reader's own convention while it is
24
- * idle, and the value itself once the caret is in it: the same separation Input
25
- * Date draws, and for the same reason, which is that `2:30 PM` cannot be typed
26
- * back and `Intl` has no parser to make it so.
19
+ * The value is always `HH:mm` on a 24-hour clock, because that is what the form
20
+ * submits, what `min` and `max` compare against, and what sorts correctly as a
21
+ * string. While idle, the field shows the time in the user's locale format.
22
+ * Once the caret is in the field, it shows the value itself, because a
23
+ * formatted time such as `2:30 PM` cannot be typed back and `Intl` has no
24
+ * parser for it.
27
25
  *
28
26
  * @since 0.1.0
29
27
  * @status stable
@@ -31,67 +29,67 @@ declare const HelixHeadlessTimeInput_base: (new (...args: any[]) => import("@fus
31
29
  * @aliases TimeField, InputTime
32
30
  * @documentation https://fusion.dev/helix/components/time-input
33
31
  *
34
- * @slot feedback - What is wrong with it.
32
+ * @slot feedback - The message that says what is wrong with the value.
35
33
  * @slot hint - Help under the field.
36
- * @slot trigger - The mark on the field saying a list opens.
34
+ * @slot trigger - The icon on the field that shows a list opens.
37
35
  *
38
- * @event {Event} change - Announced once the value has moved.
39
- * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes. Cancelable: refusing it takes the decision and nothing moves.
40
- * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes. Cancelable: refusing it takes the decision and nothing moves.
41
- * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the list opens. Cancelable: refusing it takes the decision and nothing moves.
42
- * @event {Event} input - Announced once the value has moved.
43
- * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
36
+ * @event {Event} change - Fired after the value changes.
37
+ * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes. Cancelable: canceling it stops the change and leaves the decision to you.
38
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before the list closes. Cancelable: canceling it keeps the list open and leaves the decision to you.
39
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the list opens. Cancelable: canceling it keeps the list closed and leaves the decision to you.
40
+ * @event {Event} input - Fired after the value changes.
41
+ * @event {Event} toggle - Fired after the list opens or closes, with `newState` and `oldState`.
44
42
  *
45
43
  * @csspart control - The text input.
46
- * @csspart feedback - What is wrong with it.
47
- * @csspart field - The box holding the text and the trigger.
44
+ * @csspart feedback - The message that says what is wrong with the value.
45
+ * @csspart field - The box that holds the text and the trigger.
48
46
  * @csspart hint - Help under the field, while nothing is wrong.
49
- * @csspart label - The question, over the field.
50
- * @csspart picker - The list inside it.
51
- * @csspart picker-column - One of them.
52
- * @csspart picker-column-empty - Shown when a filter has hidden everything.
53
- * @csspart picker-column-feedback - What is wrong with it.
54
- * @csspart picker-column-filter-icon - The mark beside that field.
55
- * @csspart picker-column-filter-mark - The glyph beside the filter field, where none is slotted.
47
+ * @csspart label - The label above the field.
48
+ * @csspart picker - The time picker inside the panel.
49
+ * @csspart picker-column - One column of the picker.
50
+ * @csspart picker-column-empty - The text shown when the filter hides every option.
51
+ * @csspart picker-column-feedback - The column's message that says what is wrong with the value.
52
+ * @csspart picker-column-filter-icon - The icon beside the filter field.
53
+ * @csspart picker-column-filter-mark - The default icon beside the filter field, shown when none is slotted.
56
54
  * @csspart picker-column-hint - Help under the list.
57
- * @csspart picker-column-items - The list itself.
58
- * @csspart picker-column-label - The question, over the list.
59
- * @csspart picker-column-live - The inner column's `live`, the region a screen reader hears its empty and loading lines from.
60
- * @csspart picker-column-loading - Shown while the options are still on their way.
61
- * @csspart picker-column-search - The region holding the field that narrows the list.
62
- * @csspart picker-column-search-field - The field itself.
55
+ * @csspart picker-column-items - The list of options.
56
+ * @csspart picker-column-label - The label above the list.
57
+ * @csspart picker-column-live - The inner column's `live` part, the region screen readers announce its empty and loading text from.
58
+ * @csspart picker-column-loading - The text shown while the options load.
59
+ * @csspart picker-column-search - The region that holds the filter field.
60
+ * @csspart picker-column-search-field - The filter field.
63
61
  * @csspart picker-columns - The row of columns, in `wheels`.
64
62
  * @csspart picker-list - The listbox holding the times, in `list`.
65
- * @csspart picker-list-empty - Shown when a filter has hidden everything.
66
- * @csspart picker-list-feedback - What is wrong with it.
67
- * @csspart picker-list-filter-icon - The mark beside that field.
68
- * @csspart picker-list-filter-mark - The glyph beside the filter field, where none is slotted.
63
+ * @csspart picker-list-empty - The text shown when the filter hides every option.
64
+ * @csspart picker-list-feedback - The inner list's message that says what is wrong with the value.
65
+ * @csspart picker-list-filter-icon - The icon beside the filter field.
66
+ * @csspart picker-list-filter-mark - The default icon beside the filter field, shown when none is slotted.
69
67
  * @csspart picker-list-hint - Help under the list.
70
- * @csspart picker-list-items - The list itself.
71
- * @csspart picker-list-label - The question, over the list.
72
- * @csspart picker-list-live - The inner list's `live`, the region a screen reader hears its empty and loading lines from.
73
- * @csspart picker-list-loading - Shown while the options are still on their way.
74
- * @csspart picker-list-search - The region holding the field that narrows the list.
75
- * @csspart picker-list-search-field - The field itself.
76
- * @csspart picker-option - One time in it. Carries `data-between` inside a range.
77
- * @csspart picker-option-between - A time inside a chosen range, short of either end, beside `picker-option`.
78
- * @csspart picker-option-description - The caption under the words, when there is one.
68
+ * @csspart picker-list-items - The list of options.
69
+ * @csspart picker-list-label - The label above the list.
70
+ * @csspart picker-list-live - The inner list's `live` part, the region screen readers announce its empty and loading text from.
71
+ * @csspart picker-list-loading - The text shown while the options load.
72
+ * @csspart picker-list-search - The region that holds the filter field.
73
+ * @csspart picker-list-search-field - The filter field.
74
+ * @csspart picker-option - One time in the picker. Carries `data-between` inside a range.
75
+ * @csspart picker-option-between - A time inside a chosen range, between its two ends. Set together with `picker-option`.
76
+ * @csspart picker-option-description - The caption under the label, when there is one.
79
77
  * @csspart picker-option-item - The row.
80
78
  * @csspart picker-option-item-active - The row the keyboard is on.
81
79
  * @csspart picker-option-item-selected - The row of a chosen time: the one time, or either end of a range.
82
- * @csspart picker-option-label - The words.
83
- * @csspart picker-option-text - The words and the caption, as one column.
84
- * @csspart rest - How many times are held beyond the ones shown. A `<button>` with `expandable`, a `<span>` without it.
80
+ * @csspart picker-option-label - The option's label.
81
+ * @csspart picker-option-text - The label and the caption, as one column.
82
+ * @csspart rest - The count of times held beyond the ones shown. A `<button>` with `expandable`, and a `<span>` without it.
85
83
  * @csspart surface - The floating panel.
86
84
  * @csspart tags - The row the times sit in.
87
85
  * @csspart time - One held time, as a tag, in `multiple`.
88
86
  * @csspart time-dismiss - The remove button, when `dismissible`.
89
- * @csspart time-dismiss-mark - The glyph on the dismiss control, where none is slotted.
87
+ * @csspart time-dismiss-mark - The default icon on the remove button, shown when none is slotted.
90
88
  * @csspart time-start - The category before the label.
91
89
  * @csspart trigger - The control that opens the list.
92
- * @csspart trigger-icon - The mark on the button that opens the clock.
90
+ * @csspart trigger-icon - The icon on the button that opens the clock.
93
91
  *
94
- * @cssstate invalid - While there is feedback to show: the platform's verdict, or the consumer's `feedback`.
92
+ * @cssstate invalid - The control has an error to show, from the browser's validation or from your `feedback`.
95
93
  * @cssstate open - While the clock is open.
96
94
  */
97
95
  export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base {
@@ -118,7 +116,7 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
118
116
  */
119
117
  min: string;
120
118
  /**
121
- * How many times can be held at once.
119
+ * How many times the field holds at once.
122
120
  *
123
121
  * Absent is one. `range` holds a start and an end, `multiple` holds any
124
122
  * number, and both are carried as one comma-separated value, which is what a
@@ -127,11 +125,11 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
127
125
  */
128
126
  mode?: 'multiple' | 'range';
129
127
  /**
130
- * What the field says before a time is in it.
128
+ * Placeholder text shown before a time is entered.
131
129
  */
132
130
  placeholder: string;
133
131
  /**
134
- * What a reader is told when a range holds more than two times.
132
+ * The message shown when a range holds more than two times.
135
133
  *
136
134
  * **Every sentence a control raises in the browser's bubble is a property**,
137
135
  * so a form in another language speaks it. Absent is the control's own
@@ -139,17 +137,17 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
139
137
  */
140
138
  rangeLengthMessage?: string;
141
139
  /**
142
- * What a reader is told when a time is after `max`, with `{max}` filled in
143
- * as the field writes it.
140
+ * The message shown when a time is after `max`, with `{max}` filled in as
141
+ * the field displays it.
144
142
  */
145
143
  rangeOverflowMessage?: string;
146
144
  /**
147
- * What a reader is told when a time is before `min`, with `{min}` filled
148
- * in as the field writes it.
145
+ * The message shown when a time is before `min`, with `{min}` filled in as
146
+ * the field displays it.
149
147
  */
150
148
  rangeUnderflowMessage?: string;
151
149
  /**
152
- * What the control removing one time is called, with `{name}` filled in.
150
+ * The name of the button that removes one time, with `{name}` filled in.
153
151
  *
154
152
  * **The name goes in**, so a row of them is heard as which one each
155
153
  * removes rather than as "Remove" said once per time.
@@ -160,7 +158,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
160
158
  */
161
159
  step: number;
162
160
  /**
163
- * Whether the field writes the time out, or holds the value as it is.
161
+ * Whether the field shows the time in the local style or as the value
162
+ * itself.
164
163
  *
165
164
  * `local` is the reader's own convention from `Intl`, which is what a time is
166
165
  * for reading; `iso` is `HH:mm`, which is what it is for typing. The field
@@ -169,7 +168,7 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
169
168
  */
170
169
  timeStyle: 'iso' | 'local';
171
170
  /**
172
- * Accessible name for the control that opens the list.
171
+ * The name of the button that opens the list, read by screen readers.
173
172
  */
174
173
  triggerLabel: string;
175
174
  /** Every time in the value, which may hold more than one. */
@@ -209,7 +208,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
209
208
  /** What is wrong with the times, which the text input cannot say. */
210
209
  protected validate(): string;
211
210
  /**
212
- * Whether the panel is one list of times or a column each.
211
+ * Whether the panel shows one list of times or a column for each part of the
212
+ * time.
213
213
  *
214
214
  * `list` offers whole times, which is what a product with slots or opening
215
215
  * hours has. `wheels` splits them into an hour, a minute and a meridiem where
@@ -259,7 +259,8 @@ export declare class HelixHeadlessTimeInput extends HelixHeadlessTimeInput_base
259
259
  protected renderTrigger(): TemplateResult;
260
260
  protected render(): TemplateResult;
261
261
  /**
262
- * The value as a `Date` on 1 January 1970 UTC, or `null` while there is no time.
262
+ * The value as a `Date` on January 1, 1970 UTC, or `null` while there is no
263
+ * time.
263
264
  *
264
265
  * The platform's own pair on `<input type="time">`, epoch day included: a time
265
266
  * is an offset into a day rather than an instant, and putting it on the epoch
@@ -4,40 +4,31 @@ import '../../listbox/index.js';
4
4
  import '../../option/index.js';
5
5
  declare const HelixHeadlessTimePicker_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & typeof HelixFormElement;
6
6
  /**
7
- * @summary Picks a time, from a list of them.
7
+ * @summary A control for choosing a time from a list or from wheels.
8
8
  *
9
9
  * @description
10
- * **A list rather than three wheels**, and the reason is what a list already
11
- * is. `Listbox` brings the keyboard, the typeahead, the scroll into view and
12
- * the announcement of a set of options, and a time at a step is a set of
13
- * options. Three little wheels for hours, minutes and a meridiem are three
14
- * controls to build, three to test, and a tab stop each for something a reader
15
- * answers once.
10
+ * Shows the times at each `step` as a `Listbox`, which provides the keyboard
11
+ * behavior, typeahead, scrolling into view, and announcements for a set of
12
+ * options. `variant="wheels"` shows a column each for the hour, the minute, and
13
+ * the meridiem.
16
14
  *
17
- * **A step is what makes it a list at all.** Fifteen minutes is ninety-six rows,
18
- * which a reader scrolls or types into; one minute is one thousand four hundred
19
- * and forty, which is a listbox in name only. So the list is for the times a
20
- * product actually offers, and arbitrary times are the field's job in Input
21
- * Time, the same division Date Input draws between typing a date and using the
22
- * calendar.
15
+ * The step keeps the list usable. At the default of 15 minutes a day is 96
16
+ * rows, which people can scroll or type into. At 1 minute it is 1,440. Use the
17
+ * list for the times your product offers, and Time Input for any time, the same
18
+ * way Date Input separates typing a date from picking one on the calendar.
23
19
  *
24
- * **The value is `HH:mm` on a twenty-four hour clock, always.** That is what a
25
- * form submits and what `min` and `max` compare against, and it sorts as a
26
- * string, which is the whole reason the shape is that one. What each row *says*
27
- * is the reader's own convention, from `Intl`.
20
+ * The value is always `HH:mm` on a 24-hour clock. A form submits that shape,
21
+ * `min` and `max` compare against it, and it sorts as a string. Each row's text
22
+ * follows the person's own conventions, from `Intl`.
28
23
  *
29
- * **The chosen row is marked in the markup, not worked out on upgrade.** The
30
- * listbox is handed the answer as `.value`, and lit-ssr serializes no property
31
- * binding, so a served `value="09:30"` shipped ninety-six rows with nothing on
32
- * any of them saying which one it was: the mark arrived when the listbox
33
- * upgraded and ran `place`. So each option is given `selected` as well, which
34
- * is an attribute binding and does serve, and which the listbox then agrees
35
- * with rather than fights, `place` writing the same answer from the same value.
36
- * `selected` is the declaration a consumer writes on `Option` anywhere else in
37
- * the library, and Date Picker expresses its own choice as markup for the same
38
- * reason: a picker whose answer is invisible until a script runs is a picker
39
- * whose answer is not served at all. Both readings do it, the list and the
40
- * wheels, a wheel being a listbox like the list is.
24
+ * The chosen row is marked in the served markup. The listbox gets the answer as
25
+ * `.value`, and Lit SSR serializes no property binding, so without more the 96
26
+ * served rows would carry no mark until the listbox upgrades and runs `place`.
27
+ * Each option also gets `selected`, an attribute binding that does serialize,
28
+ * and `place` then writes the same answer from the same value. This is the same
29
+ * `selected` you write on `Option` elsewhere in Helix, and Date Picker marks
30
+ * its choice in markup for the same reason. The list and the wheels both do
31
+ * this, because each wheel is also a listbox.
41
32
  *
42
33
  * @since 0.1.0
43
34
  * @status stable
@@ -45,47 +36,47 @@ declare const HelixHeadlessTimePicker_base: (new (...args: any[]) => import("@fu
45
36
  * @aliases Time, TimeList
46
37
  * @documentation https://fusion.dev/helix/components/time-picker
47
38
  *
48
- * @event {Event} change - Announced once the value has moved.
49
- * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes. Cancelable: refusing it takes the decision and nothing moves.
50
- * @event {Event} input - Announced once the value has moved.
39
+ * @event {Event} change - Fired after the value changes.
40
+ * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the time changes, and cancelable. Canceling it keeps the current time.
41
+ * @event {Event} input - Fired after the value changes.
51
42
  *
52
- * @csspart column - One of them.
53
- * @csspart column-empty - Shown when a filter has hidden everything.
54
- * @csspart column-feedback - What is wrong with it.
55
- * @csspart column-filter-icon - The mark beside that field.
56
- * @csspart column-filter-mark - The glyph beside the filter field, where none is slotted.
43
+ * @csspart column - One column of the wheels.
44
+ * @csspart column-empty - The text shown when the filter hides every option.
45
+ * @csspart column-feedback - The message that says what is wrong with the value.
46
+ * @csspart column-filter-icon - The icon beside the filter field.
47
+ * @csspart column-filter-mark - The default icon beside the filter field, shown when none is slotted.
57
48
  * @csspart column-hint - Help under the list.
58
- * @csspart column-items - The list itself.
59
- * @csspart column-label - The question, over the list.
60
- * @csspart column-live - The inner list's `live`, the region a screen reader hears its empty and loading lines from.
61
- * @csspart column-loading - Shown while the options are still on their way.
62
- * @csspart column-search - The region holding the field that narrows the list.
63
- * @csspart column-search-field - The field itself.
49
+ * @csspart column-items - The list of options.
50
+ * @csspart column-label - The label above the list.
51
+ * @csspart column-live - A copy of the empty and loading text, in a region that screen readers announce when it changes. Visually hidden in the styled tier.
52
+ * @csspart column-loading - The text shown while the options load.
53
+ * @csspart column-search - The region that holds the filter field.
54
+ * @csspart column-search-field - The filter field.
64
55
  * @csspart columns - The row of columns, in `wheels`.
65
56
  * @csspart list - The listbox holding the times, in `list`.
66
- * @csspart list-empty - Shown when a filter has hidden everything.
67
- * @csspart list-feedback - What is wrong with it.
68
- * @csspart list-filter-icon - The mark beside that field.
69
- * @csspart list-filter-mark - The glyph beside the filter field, where none is slotted.
57
+ * @csspart list-empty - The text shown when the filter hides every option.
58
+ * @csspart list-feedback - The message that says what is wrong with the value.
59
+ * @csspart list-filter-icon - The icon beside the filter field.
60
+ * @csspart list-filter-mark - The default icon beside the filter field, shown when none is slotted.
70
61
  * @csspart list-hint - Help under the list.
71
- * @csspart list-items - The list itself.
72
- * @csspart list-label - The question, over the list.
73
- * @csspart list-live - The inner list's `live`, the region a screen reader hears its empty and loading lines from.
74
- * @csspart list-loading - Shown while the options are still on their way.
75
- * @csspart list-search - The region holding the field that narrows the list.
76
- * @csspart list-search-field - The field itself.
77
- * @csspart option - One time in it. Carries `data-between` inside a range.
78
- * @csspart option-between - A time inside a chosen range, short of either end, beside `option`.
79
- * @csspart option-description - The caption under the words, when there is one.
62
+ * @csspart list-items - The list of options.
63
+ * @csspart list-label - The label above the list.
64
+ * @csspart list-live - A copy of the empty and loading text, in a region that screen readers announce when it changes. Visually hidden in the styled tier.
65
+ * @csspart list-loading - The text shown while the options load.
66
+ * @csspart list-search - The region that holds the filter field.
67
+ * @csspart list-search-field - The filter field.
68
+ * @csspart option - One time in the list. It carries `data-between` inside a range.
69
+ * @csspart option-between - A time inside a chosen range, excluding its ends, beside `option`.
70
+ * @csspart option-description - The caption under the time's label, when there is one.
80
71
  * @csspart option-item - The row.
81
72
  * @csspart option-item-active - The row the keyboard is on.
82
73
  * @csspart option-item-selected - The row of a chosen time: the one time, or either end of a range.
83
- * @csspart option-label - The words.
84
- * @csspart option-text - The words and the caption, as one column.
74
+ * @csspart option-label - The time's label.
75
+ * @csspart option-text - The label and the caption, as one column.
85
76
  */
86
77
  export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_base {
87
78
  /**
88
- * What a reader is told when the value holds something that is not a time.
79
+ * The validation message for a value that is not a time.
89
80
  *
90
81
  * **Every sentence a control raises in the browser's bubble is a property**,
91
82
  * named for the validity flag it reports, so a form in another language
@@ -154,7 +145,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
154
145
  */
155
146
  mode?: 'multiple' | 'range';
156
147
  /**
157
- * Whether the control refuses changes while still submitting its value.
148
+ * Blocks changes to the time. The value is still submitted with the form.
158
149
  *
159
150
  * **Enforced by refusing every request in one place**, which is the seam this
160
151
  * component already has: `requestValue` is what every path here comes through,
@@ -168,7 +159,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
168
159
  */
169
160
  readOnly: boolean;
170
161
  /**
171
- * Whether the form refuses to submit while nothing is chosen.
162
+ * Stops the form from submitting while no time is chosen.
172
163
  */
173
164
  required: boolean;
174
165
  /**
@@ -235,8 +226,8 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
235
226
  /** Every minute offered within the hour currently shown. */
236
227
  private get minutes();
237
228
  /**
238
- * Each wheel comes to rest on its own answer, and the list on the time it
239
- * holds.
229
+ * Scrolls each wheel to its selected value, and the list to its selected
230
+ * time.
240
231
  *
241
232
  * A dial that opens at midnight when it holds ten in the evening is a dial
242
233
  * showing the wrong thing, and CSS cannot fix it: `scroll-snap-type` chooses a
@@ -272,11 +263,12 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
272
263
  /** Refuses every change while read-only. See `readOnly`. */
273
264
  requestValue(next: string): boolean;
274
265
  /**
275
- * What a reader is told when a time is required and none is chosen.
266
+ * The validation message for a required time picker with no time chosen.
276
267
  */
277
268
  valueMissingMessage?: string;
278
269
  /**
279
- * Whether the times are one list or a column each.
270
+ * Shows the times as one `list`, or as `wheels` with a column for each part
271
+ * of the time.
280
272
  *
281
273
  * `list` is the default and offers whole times, which is what a product with
282
274
  * opening hours or slots actually has. `wheels` splits them into an hour, a
@@ -356,7 +348,7 @@ export declare class HelixHeadlessTimePicker extends HelixHeadlessTimePicker_bas
356
348
  private listRevealed;
357
349
  protected willUpdate(changed: PropertyValues): void;
358
350
  protected updated(changed: PropertyValues): void;
359
- /** Puts the keyboard on the list, which is the only control here. */
351
+ /** Moves focus to the list, which is the only control in the picker. */
360
352
  focus(options?: FocusOptions): void;
361
353
  /**
362
354
  * One wheel, which is a listbox like the whole list is.
@@ -4,20 +4,16 @@ import { type PropertyValues, type TemplateResult } from 'lit';
4
4
  * @summary One event on a timeline: when it happened, and what it was.
5
5
  *
6
6
  * @description
7
- * **The time is a `<time>`, and only when there is a time to put in it.** Given
8
- * `datetime`, the label a consumer wrote is wrapped in the element the platform
9
- * has for exactly this, so the machine-readable instant travels with the human
10
- * one: a crawler, a reader's own tooling and a copy-paste all get "2026-08-19",
11
- * where "yesterday" on its own is a word. Given no `datetime`, it stays a span,
12
- * because a `<time>` with nothing to be precise about is markup pretending.
7
+ * Given `datetime`, the label you write is wrapped in a `<time>` element, so a
8
+ * machine-readable value such as "2026-08-19" travels with a label such as
9
+ * "yesterday". Without `datetime`, the label is a `<span>`.
13
10
  *
14
- * **The connector is this element's, not the list's.** Each entry draws the line
15
- * that arrives at it and hides it when it is first, which `:host(:first-child)`
16
- * settles with no index, no counting parent and no script. `Steps` and
17
- * `Breadcrumbs` both do it this way and for the same reason.
11
+ * Each entry draws the connector line that arrives at it and hides it when it
12
+ * is the first entry, using `:host(:first-child)`. This needs no index, no
13
+ * counting parent, and no script. `Steps` and `Breadcrumbs` work the same way.
18
14
  *
19
- * `tone` says what kind of event it was, and it is the only thing that colors
20
- * the mark. It takes `Announcement`'s vocabulary rather than a second one.
15
+ * `tone` sets the kind of event and is the only thing that colors the mark. It
16
+ * uses the same values as `Announcement`.
21
17
  *
22
18
  * @since 0.1.0
23
19
  * @status stable
@@ -26,24 +22,22 @@ import { type PropertyValues, type TemplateResult } from 'lit';
26
22
  * @documentation https://fusion.dev/helix/components/timeline
27
23
  *
28
24
  * @slot - What happened.
29
- * @slot marker - The mark on the line. Falls back to a dot, which is the slot's
30
- * own fallback content: whether a consumer slotted a mark is a question only the
31
- * platform can answer, and it answers it at assignment time.
32
- * @slot time - When it happened, as a reader should see it written.
25
+ * @slot marker - The mark on the line. Defaults to a dot, which is the slot's fallback
26
+ * content.
27
+ * @slot time - When it happened, written the way you want it shown.
33
28
  *
34
29
  * @csspart content - What happened, and the time above it.
35
- * @csspart dot - The mark drawn where nothing was slotted for one.
30
+ * @csspart dot - The dot drawn when no marker is slotted.
36
31
  * @csspart marker - The mark on the line.
37
- * @csspart rail - The column holding the mark and the line. Both halves of the
38
- * line are drawn on the rail, which is `::part(rail)::before` and `::after` from
39
- * a consumer's sheet: this tier ships no CSS, so a box it renders for one to
40
- * paint is an empty child costing whatever the consumer's own layout charges for
41
- * a child. `ListItem` measured that.
32
+ * @csspart rail - The column that holds the mark and the line. Draw the two halves of the
33
+ * line with `::part(rail)::before` and `::part(rail)::after` in your stylesheet. This
34
+ * tier ships no CSS and renders no extra box for the line.
42
35
  * @csspart time - When it happened.
43
36
  */
44
37
  export declare class HelixHeadlessTimelineItem extends HelixElement {
45
38
  /**
46
- * When it happened, machine-readable.
39
+ * When it happened, in machine-readable form. Setting it wraps the time in a
40
+ * `<time>` element.
47
41
  *
48
42
  * Whatever `<time>` accepts, which is a date, a time, both, a duration or a
49
43
  * week. Unset, the label is written as it was given and nothing claims to
@@ -51,7 +45,7 @@ export declare class HelixHeadlessTimelineItem extends HelixElement {
51
45
  */
52
46
  datetime: string;
53
47
  /**
54
- * What kind of event it was, which decides the mark's color and nothing else.
48
+ * The kind of event. It sets the color of the mark and nothing else.
55
49
  */
56
50
  tone?: 'danger' | 'info' | 'neutral' | 'primary' | 'success' | 'warning';
57
51
  protected willUpdate(changed: PropertyValues): void;
@@ -1,31 +1,23 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary A record of what happened, in the order it happened.
4
+ * @summary A list of events, in the order they happened.
5
5
  *
6
6
  * @description
7
- * **Not `Steps`, and the difference is what the thing is for.** A stepper is a
8
- * process a reader is moving through: it has a stage they are on, stages they
9
- * have finished, and stages ahead, so it carries `active` and `complete` and
10
- * numbers itself. A timeline is a record of events that already happened, or are
11
- * scheduled to. Nothing is current, nothing is complete, and what each entry
12
- * carries instead is a time. Building this as an appearance of `Steps` would
13
- * have meant a stepper with no step you are on.
7
+ * A timeline is a record of events that happened or are scheduled. Each entry
8
+ * carries a time, and no entry is current or complete. For a process you move
9
+ * through, with a current stage and `active` and `complete` states, use
10
+ * `Steps`.
14
11
  *
15
- * What it does take from `Steps` is the connector. Each entry draws the line
16
- * that arrives at it and hides it when it is first, which needs neither an index
17
- * nor a parent that counts: `:host(:first-child)` is the whole of it, resolved
18
- * at layout with no script, so a server's markup is right before anything runs.
12
+ * Each entry draws the connector line that arrives at it and hides it when it
13
+ * is first, using `:host(:first-child)`. This resolves at layout with no
14
+ * script, so the server markup is correct before anything runs.
19
15
  *
20
- * `role="list"` on the host rather than an `<ol>` in the shadow root, for the
21
- * reason `Steps` gives: the entries are the consumer's elements in the light
22
- * DOM, so a list element here would be a list whose items are somewhere else.
16
+ * The host has `role="list"`, because the entries are your elements in the
17
+ * light DOM. `Steps` does the same.
23
18
  *
24
- * **It runs down the page and has no horizontal form.** Laid along a line there
25
- * is no room for the time or the sentence that are the whole reason to reach for
26
- * a timeline, so what survives is a mark and a short label, and that is a
27
- * stepper. `Steps` is already horizontal by default and already draws it. A run
28
- * of stages along a page is `Steps`.
19
+ * A timeline runs down the page and has no horizontal layout. For stages laid
20
+ * out horizontally, use `Steps`, which is horizontal by default.
29
21
  *
30
22
  * @since 0.1.0
31
23
  * @status stable
@@ -37,7 +29,7 @@ import { type PropertyValues, type TemplateResult } from 'lit';
37
29
  */
38
30
  export declare class HelixHeadlessTimeline extends HelixElement {
39
31
  /**
40
- * Names the record, for a reader arriving at it out of context.
32
+ * Accessible name for the timeline, for people who reach it out of context.
41
33
  */
42
34
  label: string;
43
35
  protected render(): TemplateResult;