@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
@@ -7,15 +7,13 @@ declare const HelixHeadlessDateInput_base: (new (...args: any[]) => import("@fus
7
7
  * @summary A date, typed or picked from a calendar.
8
8
  *
9
9
  * @description
10
- * **The calendar is `DatePicker`, not a second one written here.** It already
11
- * knows about months, ranges, disabled days, the first day of the week and
12
- * every keyboard rule a grid owes a reader. This element is the field, the
13
- * overlay, and the translation between them.
10
+ * The calendar is `DatePicker`, which handles months, ranges, disabled days,
11
+ * the first day of the week, and the grid's keyboard behavior. The date input
12
+ * adds the field, the overlay, and the connection between them.
14
13
  *
15
- * **Typed as well as picked, and the typing is why it is not
16
- * `<input type="date">`.** The native control gives a free picker and a free
17
- * locale and takes almost all styling with it. What is kept from it is the part
18
- * worth keeping: a real text field.
14
+ * You can type a date as well as pick one. The native `<input type="date">`
15
+ * gives a picker and locale formatting but allows almost no styling, so the
16
+ * field is a text field.
19
17
  *
20
18
  * @since 0.1.0
21
19
  * @status stable
@@ -23,55 +21,55 @@ declare const HelixHeadlessDateInput_base: (new (...args: any[]) => import("@fus
23
21
  * @aliases DatePicker, DateField, InputDate
24
22
  * @documentation https://fusion.dev/helix/components/date-input
25
23
  *
26
- * @slot feedback - What is wrong with it.
27
- * @slot hint - Help under the field.
28
- * @slot trigger - The mark on the field saying a calendar opens.
24
+ * @slot feedback - The error message under the field.
25
+ * @slot hint - The help text under the field.
26
+ * @slot trigger - The icon on the button that opens the calendar.
29
27
  *
30
- * @event {Event} change - Announced once the value has moved.
31
- * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the date changes. Cancelable: refusing it takes the decision and nothing moves.
32
- * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes. Cancelable: refusing it takes the decision and nothing moves.
33
- * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the calendar opens. Cancelable: refusing it takes the decision and nothing moves.
34
- * @event {Event} input - Announced once the value has moved.
35
- * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
28
+ * @event {Event} change - Fired after the value changes.
29
+ * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the date changes. Cancelable: call `preventDefault()` to keep the current date.
30
+ * @event {HelixBeforeCloseEvent} helix-before-close - Fired before the calendar closes. Cancelable: call `preventDefault()` to keep it open.
31
+ * @event {HelixBeforeOpenEvent} helix-before-open - Fired before the calendar opens. Cancelable: call `preventDefault()` to keep it closed.
32
+ * @event {Event} input - Fired after the value changes.
33
+ * @event {Event} toggle - Fired when the calendar opens or closes, with `newState` and `oldState`.
36
34
  *
37
35
  * @csspart control - The text input.
38
36
  * @csspart date - One held date, as a tag, in `multiple`.
39
37
  * @csspart date-dismiss - The remove button, when `dismissible`.
40
- * @csspart date-dismiss-mark - The glyph on the dismiss control, where none is slotted.
38
+ * @csspart date-dismiss-mark - The icon on the remove button, shown when no icon is slotted.
41
39
  * @csspart date-start - The category before the label.
42
- * @csspart feedback - What is wrong with it.
43
- * @csspart field - The box holding the text and the trigger.
44
- * @csspart hint - Help under the field, while nothing is wrong.
45
- * @csspart label - The question, over the field.
46
- * @csspart picker - The date picker inside it.
47
- * @csspart picker-cell - One column of a row, which is what a range paints.
48
- * @csspart picker-cell-range-end - The cell of a range's last day, beside `picker-cell`.
49
- * @csspart picker-cell-range-middle - A cell between a range's ends, beside `picker-cell`.
50
- * @csspart picker-cell-range-start - The cell of a range's first day, beside `picker-cell`.
51
- * @csspart picker-day - The shape inside a cell, which is what a single date paints.
52
- * @csspart picker-day-disabled - A day that cannot be chosen, beside `picker-day`.
53
- * @csspart picker-day-outside - A day from a neighboring month, beside `picker-day`.
54
- * @csspart picker-day-selected - The chosen day, or either end of a chosen range, beside `picker-day`.
55
- * @csspart picker-day-today - Today, beside `picker-day`.
40
+ * @csspart feedback - The error message under the field.
41
+ * @csspart field - The box that holds the text and the trigger.
42
+ * @csspart hint - The help text under the field, shown while there is no error.
43
+ * @csspart label - The label above the field.
44
+ * @csspart picker - The date picker inside the panel.
45
+ * @csspart picker-cell - One cell in a row of days. A range colors these cells.
46
+ * @csspart picker-cell-range-end - The cell of a range's last day. Applied with `picker-cell`.
47
+ * @csspart picker-cell-range-middle - A cell between a range's ends. Applied with `picker-cell`.
48
+ * @csspart picker-cell-range-start - The cell of a range's first day. Applied with `picker-cell`.
49
+ * @csspart picker-day - The shape inside a cell. A single chosen date colors the shape.
50
+ * @csspart picker-day-disabled - A day that cannot be chosen. Applied with `picker-day`.
51
+ * @csspart picker-day-outside - A day from a neighboring month. Applied with `picker-day`.
52
+ * @csspart picker-day-selected - The chosen day, or either end of a chosen range. Applied with `picker-day`.
53
+ * @csspart picker-day-today - Today. Applied with `picker-day`.
56
54
  * @csspart picker-grid - The grid of days.
57
55
  * @csspart picker-header - The month name and its controls.
58
56
  * @csspart picker-heading - The month and year being shown.
59
- * @csspart picker-month - One month, its header and its grid.
60
- * @csspart picker-months - The run of months.
57
+ * @csspart picker-month - One month, with its header and its grid.
58
+ * @csspart picker-months - The row of months.
61
59
  * @csspart picker-next - The control that moves to the next month.
62
- * @csspart picker-next-mark - The glyph on the next month control.
60
+ * @csspart picker-next-mark - The icon on the next month control.
63
61
  * @csspart picker-previous - The control that moves to the previous month.
64
- * @csspart picker-previous-mark - The glyph on the previous month control.
62
+ * @csspart picker-previous-mark - The icon on the previous month control.
65
63
  * @csspart picker-week - One row of days.
66
64
  * @csspart picker-weekday - A column header naming a day of the week.
67
- * @csspart rest - How many dates are held beyond the ones shown. A `<button>` with `expandable`, a `<span>` without it.
65
+ * @csspart rest - The count of dates beyond the ones shown. It is a `<button>` with `expandable` and a `<span>` without it.
68
66
  * @csspart surface - The floating panel.
69
67
  * @csspart tags - The row the dates sit in.
70
68
  * @csspart trigger - The control that opens the calendar.
71
- * @csspart trigger-icon - The mark on the button that opens the calendar.
69
+ * @csspart trigger-icon - The icon on the button that opens the calendar.
72
70
  *
73
- * @cssstate invalid - While there is feedback to show: the platform's verdict, or the consumer's `feedback`.
74
- * @cssstate open - While the calendar is open.
71
+ * @cssstate invalid - The field has an error to show, from the browser's validation or from your `feedback`.
72
+ * @cssstate open - The calendar is open.
75
73
  */
76
74
  export declare class HelixHeadlessDateInput extends HelixHeadlessDateInput_base {
77
75
  protected readonly aria: AriaForwardController;
@@ -113,23 +111,25 @@ export declare class HelixHeadlessDateInput extends HelixHeadlessDateInput_base
113
111
  */
114
112
  disableDates: string;
115
113
  /**
116
- * Days of the week that cannot be chosen, `0` for Sunday through `6`.
114
+ * Days of the week that cannot be chosen, from `0` for Sunday to `6` for
115
+ * Saturday.
117
116
  */
118
117
  disableDays: string;
119
118
  /**
120
- * First column of the week in the calendar, `0` for Sunday through `6`.
119
+ * The day in the calendar's first column, from `0` for Sunday to `6` for
120
+ * Saturday.
121
121
  */
122
122
  firstDayOfWeek: number;
123
123
  /**
124
- * Language tag the calendar names its months and days in.
124
+ * The language tag for the names of months and days in the calendar.
125
125
  */
126
126
  locale: string;
127
127
  /**
128
- * Latest date that can be chosen, as `YYYY-MM-DD`.
128
+ * The latest date that can be chosen, as `YYYY-MM-DD`.
129
129
  */
130
130
  max: string;
131
131
  /**
132
- * Earliest date that can be chosen, as `YYYY-MM-DD`.
132
+ * The earliest date that can be chosen, as `YYYY-MM-DD`.
133
133
  */
134
134
  min: string;
135
135
  /**
@@ -182,11 +182,11 @@ export declare class HelixHeadlessDateInput extends HelixHeadlessDateInput_base
182
182
  protected placed(room: number | undefined): void;
183
183
  protected willUpdate(changed: PropertyValues): void;
184
184
  /**
185
- * What the field says before a date is in it.
185
+ * The text the field shows before a date is entered.
186
186
  */
187
187
  placeholder: string;
188
188
  /**
189
- * What a reader is told when a range holds more than two dates.
189
+ * The message shown when a range holds more than two dates.
190
190
  *
191
191
  * **Every sentence a control raises in the browser's bubble is a property**,
192
192
  * so a form in another language speaks it. Absent is the control's own
@@ -194,17 +194,18 @@ export declare class HelixHeadlessDateInput extends HelixHeadlessDateInput_base
194
194
  */
195
195
  rangeLengthMessage?: string;
196
196
  /**
197
- * What a reader is told when a date is after `max`, with `{max}` filled in
198
- * as the field writes it.
197
+ * The message shown when a date is after `max`. `{max}` is replaced with
198
+ * `max`, written the way the field writes dates.
199
199
  */
200
200
  rangeOverflowMessage?: string;
201
201
  /**
202
- * What a reader is told when a date is before `min`, with `{min}` filled
203
- * in as the field writes it.
202
+ * The message shown when a date is before `min`. `{min}` is replaced with
203
+ * `min`, written the way the field writes dates.
204
204
  */
205
205
  rangeUnderflowMessage?: string;
206
206
  /**
207
- * What the control removing one date is called, with `{name}` filled in.
207
+ * The name of the button that removes one date. `{name}` is replaced with
208
+ * the date.
208
209
  *
209
210
  * **The name goes in**, so a row of them is heard as which one each
210
211
  * removes rather than as "Remove" said once per date.
@@ -257,7 +258,7 @@ export declare class HelixHeadlessDateInput extends HelixHeadlessDateInput_base
257
258
  /** What is wrong with the dates, which the text input cannot say. */
258
259
  protected validate(): string;
259
260
  /**
260
- * Accessible name for the control that opens the calendar.
261
+ * The name of the button that opens the calendar, read by screen readers.
261
262
  */
262
263
  triggerLabel: string;
263
264
  protected updated(changed: PropertyValues): void;
@@ -2,23 +2,26 @@ import { HelixFormElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  declare const HelixHeadlessDatePicker_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerValueInterface) & typeof HelixFormElement;
4
4
  /**
5
- * @summary Shows a month, and takes a date from it.
5
+ * @summary A month calendar for choosing one or more dates.
6
6
  *
7
7
  * @description
8
- * A grid of days, per the APG date grid: the whole grid is one tab stop, arrows
9
- * move by day and week, `PageUp` and `PageDown` by month, `Home` and `End` to
10
- * the ends of the week. Only the focused cell is in the tab sequence.
8
+ * A grid of days that follows the APG date grid pattern:
11
9
  *
12
- * **Dates are `YYYY-MM-DD` strings and every calculation is in UTC.** A
13
- * local-time `Date` shifts across a timezone or a daylight-saving boundary.
10
+ * - The grid is one tab stop. Only the focused cell is in the tab sequence.
11
+ * - Arrow keys move by day and by week.
12
+ * - `PageUp` and `PageDown` move by month.
13
+ * - `Home` and `End` move to the start and end of the week.
14
14
  *
15
- * `month` is what the grid shows, separately from `value`, so paging does not
16
- * select anything and a consumer can drive the view. Left unset it follows the
15
+ * **Dates are `YYYY-MM-DD` strings, and every calculation is in UTC**, because
16
+ * a local-time `Date` shifts across a time zone or daylight-saving boundary.
17
+ *
18
+ * `month` sets which month the grid shows, separately from `value`, so paging
19
+ * selects nothing and you can control the view. When unset, it follows the
17
20
  * first selected date, then the current month.
18
21
  *
19
- * `mode` decides how many dates are held: absent takes one, `range` takes two
20
- * and marks everything between them, `multiple` toggles. All three read and
21
- * write the same comma-separated `value`.
22
+ * `mode` sets how many dates are held. Unset holds one, `range` holds two and
23
+ * marks the dates between them, and `multiple` toggles each date. All three
24
+ * read and write the same comma-separated `value`.
22
25
  *
23
26
  * @since 0.1.0
24
27
  * @status stable
@@ -29,16 +32,16 @@ declare const HelixHeadlessDatePicker_base: (new (...args: any[]) => import("@fu
29
32
  * @slot next-icon - The glyph on the control that moves forward a month, usually a caret.
30
33
  * @slot previous-icon - The glyph on the control that moves back a month, usually a caret.
31
34
  *
32
- * @event {Event} change - Announced once the value has moved.
35
+ * @event {Event} change - Fired after the value changes.
33
36
  * @event {HelixBeforeChangeEvent} helix-before-change - Fired before the dates change, and cancelable.
34
37
  * @event {HelixNavigateEvent} helix-navigate - Fired before the month on show changes, and cancelable.
35
- * @event {Event} input - Announced once the value has moved.
38
+ * @event {Event} input - Fired after the value changes.
36
39
  *
37
- * @csspart cell - One column of a row, which is what a range paints.
40
+ * @csspart cell - One column of a week row. A range is painted on the cells.
38
41
  * @csspart cell-range-end - The cell of a range's last day, beside `cell`.
39
42
  * @csspart cell-range-middle - A cell between a range's ends, beside `cell`.
40
43
  * @csspart cell-range-start - The cell of a range's first day, beside `cell`.
41
- * @csspart day - The shape inside a cell, which is what a single date paints.
44
+ * @csspart day - The shape inside a cell. A single chosen date is painted on it.
42
45
  * @csspart day-disabled - A day that cannot be chosen, beside `day`.
43
46
  * @csspart day-outside - A day from a neighboring month, filling the grid out, beside `day`.
44
47
  * @csspart day-selected - The chosen day, or either end of a chosen range, beside `day`.
@@ -59,7 +62,7 @@ declare const HelixHeadlessDatePicker_base: (new (...args: any[]) => import("@fu
59
62
  */
60
63
  export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_base {
61
64
  /**
62
- * What a reader is told when the value holds something that is not a date.
65
+ * The validation message for a value that is not a date.
63
66
  *
64
67
  * **Every sentence a control raises in the browser's bubble is a property**,
65
68
  * named for the validity flag it reports, so a form in another language
@@ -67,7 +70,7 @@ export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_bas
67
70
  */
68
71
  badInputMessage?: string;
69
72
  /**
70
- * Month to open on, where nothing declared one.
73
+ * The month to open on when `month` is not set.
71
74
  */
72
75
  defaultMonth: string;
73
76
  /**
@@ -111,7 +114,8 @@ export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_bas
111
114
  /** The month on show, whoever set it, and `undefined` until somebody has. */
112
115
  private monthState;
113
116
  /**
114
- * The month on show, as `YYYY-MM`. Follows `value`, then the current month.
117
+ * The month shown, as `YYYY-MM`. When it is not set, it follows `value`,
118
+ * then the current month.
115
119
  *
116
120
  * Separate from `value` on purpose, so paging selects nothing and a consumer
117
121
  * can drive the view. Reading gives the month on show; writing sets it, and
@@ -137,7 +141,7 @@ export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_bas
137
141
  */
138
142
  previousLabel: string;
139
143
  /**
140
- * Whether the control refuses changes while still submitting its value.
144
+ * Blocks changes to the dates. The value is still submitted with the form.
141
145
  *
142
146
  * **Enforced by refusing every request in one place**, which is the seam this
143
147
  * component already has: `requestValue` is what every path here comes through,
@@ -218,7 +222,7 @@ export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_bas
218
222
  connectedCallback(): void;
219
223
  disconnectedCallback(): void;
220
224
  /**
221
- * Whether the form refuses to submit while nothing is chosen.
225
+ * Stops the form from submitting while no date is chosen.
222
226
  */
223
227
  required: boolean;
224
228
  /** Refuses every change while read-only. See `readOnly`. */
@@ -238,7 +242,7 @@ export declare class HelixHeadlessDatePicker extends HelixHeadlessDatePicker_bas
238
242
  */
239
243
  step: number;
240
244
  /**
241
- * What a reader is told when a date is required and none is chosen.
245
+ * The validation message for a required date picker with no date chosen.
242
246
  */
243
247
  valueMissingMessage?: string;
244
248
  /**
@@ -4,13 +4,13 @@ import { type TemplateResult } from 'lit';
4
4
  * @summary One label and its value.
5
5
  *
6
6
  * @description
7
- * An element rather than a pair of slots on the list, because a pair is the
8
- * unit a reader hears: the label is the `<dt>` and the value its `<dd>`, and the
9
- * two stay together however the list lays them out.
7
+ * Each pair is its own element: the label is the `<dt>` and the value its
8
+ * `<dd>`, and a screen reader hears them together however the list lays them
9
+ * out.
10
10
  *
11
- * The value is the default slot, since it is what varies and is often more
12
- * than text: a tag, an avatar, a link. The label is text almost every time, so
13
- * it is also a property.
11
+ * The value is the default slot, because it varies and is often more than text,
12
+ * such as a tag, an avatar, or a link. The label is almost always text, so it
13
+ * is also a property.
14
14
  *
15
15
  * @since 0.1.0
16
16
  * @status stable
@@ -24,7 +24,7 @@ import { type TemplateResult } from 'lit';
24
24
  */
25
25
  export declare class HelixHeadlessDescriptionListItem extends HelixElement {
26
26
  /**
27
- * What the value is called, for the common case of plain text.
27
+ * The label, when it is plain text.
28
28
  *
29
29
  * The fallback of the `label` slot, so slotted content replaces it rather than
30
30
  * appearing beside it. The value itself is the default slot: it is the half
@@ -1,24 +1,19 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary Labels and their values, read as pairs: the details panel every
5
- * product has.
4
+ * @summary A list of labels and their values, such as a details panel.
6
5
  *
7
6
  * @description
8
- * "Owner: Ada, Region: us-east, Created: 3 days ago" is the commonest panel in
9
- * any console, and built from layout primitives it is a run of adjacent text:
10
- * nothing tells a screen reader that a label and a value belong together, or
11
- * how many pairs there are. This renders the element the platform has for it,
12
- * a `<dl>`, with each item's label a `<dt>` and its value a `<dd>`.
7
+ * Renders a `<dl>`, with each item's label as a `<dt>` and its value as a
8
+ * `<dd>`, for panels such as "Owner: Ada, Region: us-east, Created: 3 days
9
+ * ago". A screen reader announces which label goes with which value and how
10
+ * many pairs there are.
13
11
  *
14
- * **The items render their own term and description**, and the list takes them
15
- * through its slot. The accessibility tree is built from the flattened tree, so
16
- * the pairs reach it inside the list rather than beside it. Measured in
17
- * Chromium's tree rather than assumed, because a list whose semantics stopped
18
- * at a shadow boundary would look identical on screen: one description list
19
- * holding term and definition pairs, node for node what a plain `<dl>` with the
20
- * same content produces, with a slotted label and with an item drawn as
21
- * `display: contents` alike.
12
+ * **Each item renders its own term and description**, and the list takes the
13
+ * items through its slot. The accessibility tree is built from the flattened
14
+ * tree, so the pairs appear inside the list. Measured in Chromium, the result
15
+ * matches a plain `<dl>` with the same content node for node, both with a
16
+ * slotted label and with an item set to `display: contents`.
22
17
  *
23
18
  * @since 0.1.0
24
19
  * @status stable
@@ -2,20 +2,22 @@ import { CommandController, HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  declare const HelixHeadlessDialog_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerOpenInterface) & typeof HelixElement;
4
4
  /**
5
- * @summary A modal window, on the platform's own dialog.
5
+ * @summary A modal window built on the native `<dialog>` element.
6
6
  *
7
7
  * @description
8
- * A real `<dialog>` opened with `showModal()`, not a div with a role and a
9
- * hand-built trap. The platform gives four things that are each a day's work to
10
- * reimplement: the top layer, so the dialog is above everything whatever
11
- * `z-index` anyone wrote; a real backdrop; Escape; and inert-behind, so the
12
- * page underneath is unreachable by pointer, keyboard or virtual cursor.
8
+ * Renders a native `<dialog>` opened with `showModal()`. The platform provides:
13
9
  *
14
- * **`open` drives `showModal()`, and every way it can close comes back through
15
- * `requestOpen`.** A native dialog closes from three directions: the property,
16
- * Escape, and a `<form method="dialog">` submit. Left alone, two of them would
17
- * shut the dialog while the consumer's state still said open, which is the bug
18
- * that makes a modal impossible to reopen.
10
+ * - the top layer, so the dialog is above everything whatever the `z-index`
11
+ * - a backdrop
12
+ * - closing with Escape
13
+ * - an inert page behind the dialog, unreachable by pointer, keyboard, or
14
+ * virtual cursor
15
+ *
16
+ * `open` calls `showModal()`, and every way the dialog closes goes through
17
+ * `requestOpen`. A native dialog closes three ways: the property, Escape, and a
18
+ * `<form method="dialog">` submit. Routing all three through `requestOpen`
19
+ * keeps your state in step, so the dialog never closes while your state still
20
+ * says it is open, which would leave it impossible to reopen.
19
21
  *
20
22
  * @since 0.1.0
21
23
  * @status stable
@@ -24,14 +26,14 @@ declare const HelixHeadlessDialog_base: (new (...args: any[]) => import("@fusion
24
26
  * @documentation https://fusion.dev/helix/components/dialog
25
27
  *
26
28
  * @slot - The dialog's content.
27
- * @slot footer - The actions.
29
+ * @slot footer - The dialog's actions.
28
30
  * @slot header - The title, and anything beside it.
29
- * @slot icon - A single mark above the title, for a dialog that warns.
31
+ * @slot icon - An icon above the title, for a warning dialog.
30
32
  *
31
- * @event {Event} close - Relayed, because the platform's own does not escape.
33
+ * @event {Event} close - Sent from the host after the dialog closes, because the native `close` event does not leave the shadow root.
32
34
  * @event {HelixBeforeCloseEvent} helix-before-close - Fired before it closes, and cancelable.
33
35
  * @event {HelixBeforeOpenEvent} helix-before-open - Fired before it opens, and cancelable.
34
- * @event {Event} toggle - Says the state moved, carrying `newState` and `oldState`.
36
+ * @event {Event} toggle - Sent when the dialog opens or closes, with `newState` and `oldState`.
35
37
  *
36
38
  * @csspart dialog - The native dialog element.
37
39
  *
@@ -39,7 +41,7 @@ declare const HelixHeadlessDialog_base: (new (...args: any[]) => import("@fusion
39
41
  */
40
42
  export declare class HelixHeadlessDialog extends HelixHeadlessDialog_base {
41
43
  /**
42
- * Which close requests the browser answers on its own.
44
+ * Which close requests the browser handles on its own.
43
45
  *
44
46
  * `<dialog closedby>`, forwarded, and safe to forward because every path it
45
47
  * opens still comes back through this element: a close request fires `cancel`
@@ -57,7 +59,7 @@ export declare class HelixHeadlessDialog extends HelixHeadlessDialog_base {
57
59
  label: string;
58
60
  protected readonly commands: CommandController;
59
61
  /**
60
- * Whether Escape or a press on the backdrop can close it.
62
+ * Stops Escape and a press on the backdrop from closing the dialog.
61
63
  *
62
64
  * Off for a dialog that must be answered. It does not disable the close
63
65
  * control a consumer slots in: refusing to be dismissed is not the same as
@@ -86,10 +88,11 @@ export declare class HelixHeadlessDialog extends HelixHeadlessDialog_base {
86
88
  private returned;
87
89
  /** The native dialog, or nothing where there is no DOM to hold one. */
88
90
  private get dialog();
89
- /** Moves focus into the dialog and makes the rest of the page inert. */
91
+ /** Opens the dialog, moves focus into it, and makes the rest of the page inert. */
90
92
  show(): void;
91
93
  /**
92
- * Asks to close, which a consumer may refuse.
94
+ * Requests that the dialog close. A `helix-before-close` listener can cancel
95
+ * the request.
93
96
  *
94
97
  * Takes what the dialog closed with, the way `<dialog>.close(value)` does, so
95
98
  * the button that dismissed it can say which one it was. Set before the
@@ -1,18 +1,17 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary Separates content into groups with a rule.
4
+ * @summary A line that separates content into groups.
5
5
  *
6
6
  * @description
7
- * The separator role lives on the rule inside the shadow root rather than on
8
- * the host. A role does not need to cross the shadow boundary the way an IDREF
9
- * does, and putting it on the rendered element means the semantics are in the
10
- * server's markup with no attribute written during a lifecycle the server never
11
- * runs.
7
+ * The separator role is on the rule inside the shadow root. A role does not
8
+ * need to cross the shadow boundary the way an IDREF does, so it can sit on the
9
+ * rendered element. The semantics are then in the server-rendered markup, with
10
+ * no attribute written by script after the element connects.
12
11
  *
13
12
  * Use `orientation="vertical"` between items on one line, such as inside a
14
- * toolbar. A vertical divider stretches to its flex parent rather than setting
15
- * a height of its own.
13
+ * toolbar. A vertical divider stretches to fit its flex parent and sets no
14
+ * height of its own.
16
15
  *
17
16
  * @since 0.1.0
18
17
  * @status stable
@@ -20,14 +19,14 @@ import { type PropertyValues, type TemplateResult } from 'lit';
20
19
  * @aliases Separator, Rule
21
20
  * @documentation https://fusion.dev/helix/components/divider
22
21
  *
23
- * @slot - Content set into the rule, such as the word between two sections.
22
+ * @slot - Content set into the line, such as a word between two sections.
24
23
  *
25
- * @csspart content - What is set into it.
26
- * @csspart line - The rule itself, or each half of it where something is set in.
24
+ * @csspart content - The content set into the line.
25
+ * @csspart line - The line, or each half of it when content is set into it.
27
26
  */
28
27
  export declare class HelixHeadlessDivider extends HelixElement {
29
28
  /**
30
- * Whether the rule is announced as a separator.
29
+ * Whether screen readers announce the line as a separator.
31
30
  *
32
31
  * Off by default, and out of the accessibility tree. Most rules on a page
33
32
  * separate nothing: they underline a heading or close a section that space
@@ -42,7 +41,7 @@ export declare class HelixHeadlessDivider extends HelixElement {
42
41
  */
43
42
  announced: boolean;
44
43
  /**
45
- * Which way the rule runs.
44
+ * The direction the line runs: `horizontal` or `vertical`.
46
45
  */
47
46
  orientation?: 'horizontal' | 'vertical';
48
47
  /**
@@ -3,18 +3,17 @@ import { nothing, type TemplateResult } from 'lit';
3
3
  import '../../tooltip/index.js';
4
4
  declare const HelixHeadlessDonutChart_base: typeof HelixElement & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinChartSourceInterface);
5
5
  /**
6
- * @summary Parts of a whole as a ring, read from a table.
6
+ * @summary A chart that shows parts of a whole as a ring, read from a table.
7
7
  *
8
8
  * @description
9
- * The chart with the narrowest honest use, so the component is narrow too.
9
+ * A donut chart divides one whole into parts, so the component reads one
10
+ * column.
10
11
  *
11
- * **It reads one column and treats the rows as the parts.** Every other chart
12
- * here takes a column per series; a ring has one whole to divide, so the first
13
- * column of numbers is the series and each row is a slice.
12
+ * **The first column of numbers is the series, and each row is a slice.** Other
13
+ * Helix charts take one column per series.
14
14
  *
15
- * **It refuses negative values rather than drawing them.** An arc for a
16
- * negative number either runs backwards over its neighbors or is silently
17
- * dropped. Those rows are skipped and the total is of what is left.
15
+ * **Negative values are skipped.** An arc cannot show a negative number, so
16
+ * those rows are left out and the total is the sum of the remaining rows.
18
17
  *
19
18
  * @since 0.1.0
20
19
  * @status stable
@@ -22,28 +21,28 @@ declare const HelixHeadlessDonutChart_base: typeof HelixElement & (new (...args:
22
21
  * @aliases Pie Chart, Ring Chart, Share Chart
23
22
  * @documentation https://fusion.dev/helix/components/donut-chart
24
23
  *
25
- * @slot - Goes in the middle of the ring. A total, usually.
24
+ * @slot - Content in the middle of the ring, usually a total.
26
25
  *
27
26
  * @csspart center - The middle of the ring, holding whatever is slotted.
28
27
  * @csspart mark - The invisible point the tooltip is anchored to.
29
28
  * @csspart plot - The drawing.
30
29
  * @csspart segment - One slice.
31
- * @csspart segment-active - The slice under the pointer, beside `segment`.
32
- * @csspart segment-edge - One slice as a closed shape, for a boundary to trace.
30
+ * @csspart segment-active - The slice under the pointer. Set alongside `segment`.
31
+ * @csspart segment-edge - One slice as a closed shape, used to draw its outline.
33
32
  * @csspart tooltip - The bubble, forwarded from `Tooltip`.
34
33
  * @csspart tooltip-anchor - The `Tooltip` element itself.
35
34
  * @csspart tooltip-arrow - The bubble's point, forwarded from `Tooltip`.
36
- * @csspart tooltip-arrow-bottom - The point while the bubble is below the reading, so on its top edge, beside `tooltip-arrow`.
37
- * @csspart tooltip-arrow-left - The point while the bubble is left of the reading, so on its right edge, beside `tooltip-arrow`.
38
- * @csspart tooltip-arrow-right - The point while the bubble is right of the reading, so on its left edge, beside `tooltip-arrow`.
39
- * @csspart tooltip-arrow-top - The point while the bubble is above the reading, so on its bottom edge, beside `tooltip-arrow`.
40
- * @csspart tooltip-bottom - The bubble while it is below the reading, beside `tooltip`.
35
+ * @csspart tooltip-arrow-bottom - The point while the bubble is below the reading, on its top edge. Set alongside `tooltip-arrow`.
36
+ * @csspart tooltip-arrow-left - The point while the bubble is left of the reading, on its right edge. Set alongside `tooltip-arrow`.
37
+ * @csspart tooltip-arrow-right - The point while the bubble is right of the reading, on its left edge. Set alongside `tooltip-arrow`.
38
+ * @csspart tooltip-arrow-top - The point while the bubble is above the reading, on its bottom edge. Set alongside `tooltip-arrow`.
39
+ * @csspart tooltip-bottom - The bubble while it is below the reading. Set alongside `tooltip`.
41
40
  * @csspart tooltip-cell - One column's name and value inside the tooltip.
42
41
  * @csspart tooltip-label - The slice's own name inside the tooltip.
43
- * @csspart tooltip-left - The bubble while it is left of the reading, beside `tooltip`.
42
+ * @csspart tooltip-left - The bubble while it is left of the reading. Set alongside `tooltip`.
44
43
  * @csspart tooltip-name - A column's name inside the tooltip.
45
- * @csspart tooltip-right - The bubble while it is right of the reading, beside `tooltip`.
46
- * @csspart tooltip-top - The bubble while it is above the reading, beside `tooltip`.
44
+ * @csspart tooltip-right - The bubble while it is right of the reading. Set alongside `tooltip`.
45
+ * @csspart tooltip-top - The bubble while it is above the reading. Set alongside `tooltip`.
47
46
  * @csspart tooltip-value - A column's value inside the tooltip.
48
47
  * @csspart track - The ring the slices are drawn on.
49
48
  *
@@ -67,7 +66,7 @@ export declare class HelixHeadlessDonutChart extends HelixHeadlessDonutChart_bas
67
66
  */
68
67
  connectedCallback(): void;
69
68
  /**
70
- * How much is left open in the middle.
69
+ * The size of the hole in the middle of the ring.
71
70
  *
72
71
  * Absent is a ring with room for a total in it. `small` and `large` move the
73
72
  * hole without moving the outer edge, so a chart keeps its footprint.