@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
@@ -2,31 +2,27 @@ import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  declare const HelixHeadlessVideoPlaylist_base: (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerActiveInterface) & typeof HelixElement;
4
4
  /**
5
- * @summary A set of clips and the one player they take turns in.
5
+ * @summary A list of video clips that play one after another in a single player.
6
6
  *
7
7
  * @description
8
- * **The player is slotted, never rendered here.** A consumer's player carries
9
- * their appearance, their extra controls, their captions and their poster
10
- * treatment, and a playlist that rendered its own would either lose all of that
11
- * or grow a property for each of them. `Sandbox` takes its preview and `Menu`
12
- * its trigger the same way.
8
+ * **You slot the player**, so it keeps your appearance, extra controls,
9
+ * captions, and poster treatment. `Sandbox` takes its preview and `Menu` its
10
+ * trigger the same way.
13
11
  *
14
- * **The entries are markup rather than an array property.** A list of objects
15
- * would be the shorter API and it does not survive the trip: React skips every
16
- * property it would have to apply imperatively while hydrating, so an array
17
- * handed to a custom element is missing on the first paint of every
18
- * server-rendered page. `using-the-elements.mdx` carries the measurement. Markup
19
- * is also what makes each entry a real button with a real name in it.
12
+ * **Entries are markup.** React skips properties it would set imperatively
13
+ * during hydration, so an array property on a custom element is missing on the
14
+ * first paint of a server-rendered page. `using-the-elements.mdx` has the
15
+ * measurement. Markup also makes each entry a real button with its name inside.
20
16
  *
21
- * **Nothing here plays anything.** It sets `src` on the player and lets the
22
- * player be a player. What the playlist owns is which entry is current, and it
23
- * moves that on three signals: an entry pressed, `helix-next` or
24
- * `helix-previous` from the player, and the player reaching the end.
17
+ * **The playlist does not play media.** It sets `src` on the player and tracks
18
+ * which entry is current. The current entry moves when:
25
19
  *
26
- * `ended` advances without asking, because a set of clips that stopped between
27
- * each one is a set the reader has to nurse. The clip that follows starts where
28
- * the last one left off, which is `autoplay` in the only sense that matters
29
- * here: the reader already pressed play once.
20
+ * - an entry is pressed,
21
+ * - the player dispatches `helix-next` or `helix-previous`, or
22
+ * - the player reaches the end.
23
+ *
24
+ * On `ended` the playlist advances and the next clip starts playing, because
25
+ * the user already pressed play once.
30
26
  *
31
27
  * @since 0.1.0
32
28
  * @status stable
@@ -35,17 +31,17 @@ declare const HelixHeadlessVideoPlaylist_base: (new (...args: any[]) => import("
35
31
  * @documentation https://fusion.dev/helix/components/video-playlist
36
32
  *
37
33
  * @slot - The entries.
38
- * @slot player - The player the entries take turns in.
34
+ * @slot player - The player that plays the entries.
39
35
  *
40
- * @event {HelixActivateEvent} helix-activate - Fired once the current one has moved, so the element already holds it.
41
- * @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the current entry changes, and cancelable.
36
+ * @event {HelixActivateEvent} helix-activate - The current entry changed. The playlist already holds the new entry when this is sent.
37
+ * @event {HelixBeforeActivateEvent} helix-before-activate - The current entry is about to change. Cancelable: cancel it to keep the current entry.
42
38
  *
43
39
  * @csspart items - The list of entries.
44
- * @csspart player - The region holding the player.
40
+ * @csspart player - The region that holds the player.
45
41
  */
46
42
  export declare class HelixHeadlessVideoPlaylist extends HelixHeadlessVideoPlaylist_base {
47
43
  /**
48
- * Accessible name for the list, which usually has no visible heading.
44
+ * The list's name, read by screen readers.
49
45
  */
50
46
  label: string;
51
47
  /**
@@ -1,58 +1,59 @@
1
1
  import { HelixElement } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  /**
4
- * @summary Renders the rows of a long set that are on screen, and no others.
4
+ * @summary A list that renders only the rows of a long set that are on screen.
5
5
  *
6
6
  * @description
7
- * **The set arrives as data, which is what makes this a virtual list rather
8
- * than a box that hides children.** `for` names a
9
- * `<script type="application/json">` holding an array of objects, and a
10
- * `<template>` child says what one row looks like: elements carrying
11
- * `data-field="name"` are filled with that field of the item.
7
+ * The items arrive as data:
12
8
  *
13
- * Both halves are markup, and that is the reason for the shape. An `items`
14
- * property cannot survive React hydration, which skips every property it would
15
- * have to apply imperatively, and light-DOM children exist by the time anything
16
- * could decide not to create them. Text in the document is neither, and it is
17
- * one node whatever the row count.
9
+ * - `for` names a `<script type="application/json">` that holds an array of
10
+ * objects.
11
+ * - A `<template>` child defines one row. Elements with `data-field="name"` are
12
+ * filled with that field of the item.
18
13
  *
19
- * **The accessible version is not a `<table>`**, the way it is for the charts
20
- * that share this `for="<id>"` shape: ten thousand rows in one is the cost this
21
- * exists to avoid. It is the rendered window plus `aria-setsize`.
14
+ * Both are markup. React hydration skips every property it would have to set
15
+ * imperatively, so an `items` property would be lost, and light-DOM children
16
+ * would all exist before anything could window them. The JSON text is one node
17
+ * whatever the row count.
22
18
  *
23
- * **The box scrolls on this tier.** The viewport carries `data-scroller` and
24
- * `core` ships `[data-scroller] { overflow: auto }` into every shadow root, so
25
- * `scrollTop` exists with no stylesheet at all. What a headless consumer still
26
- * has to supply is a block size, which is a design decision; the `overflow`
27
- * they used to supply was a mechanism they had no way of knowing was missing.
19
+ * For assistive technology the list exposes the rendered window with
20
+ * `aria-setsize`. Charts that use the same `for="<id>"` shape render an
21
+ * accessible `<table>`, and ten thousand rows in one is the cost this component
22
+ * avoids.
23
+ *
24
+ * The viewport scrolls on this tier. It carries `data-scroller`, and `core`
25
+ * ships `[data-scroller] { overflow: auto }` into every shadow root, so
26
+ * `scrollTop` works with no stylesheet. You still need to set a block size.
28
27
  *
29
28
  * @since 0.1.0
30
29
  * @status stable
31
30
  * @category layout
32
31
  * @documentation https://fusion.dev/helix/components/virtual-list
33
32
  *
34
- * @csspart after - The space standing in for rows below the window.
35
- * @csspart before - The space standing in for rows above the window.
36
- * @csspart viewport - The scrolling box. Needs a block size on this tier, and nothing else.
33
+ * @csspart after - The space that stands in for the rows below the rendered ones.
34
+ * @csspart before - The space that stands in for the rows above the rendered ones.
35
+ * @csspart viewport - The scrolling box. On this tier, it needs only a block size.
37
36
  */
38
37
  export declare class HelixHeadlessVirtualList extends HelixElement {
39
38
  /**
40
- * How tall one row is, in pixels, used to map scroll offset to an index.
39
+ * The height of one row, in pixels, used to find the row at a scroll offset.
41
40
  *
42
41
  * An estimate rather than a measurement while `measured` is off, which is
43
42
  * right whenever the rows really are one height and is the cheaper of the two.
44
43
  */
45
44
  estimate: number;
46
45
  /**
47
- * Id of the element holding the rows, as JSON in a script.
46
+ * The id of the script element that holds the rows as JSON.
48
47
  */
49
48
  for: string;
50
49
  /**
51
- * What the list is called, since the rendered rows are only a window on it.
50
+ * The list's name, read by screen readers, because only some of its rows
51
+ * are rendered at a time.
52
52
  */
53
53
  label: string;
54
54
  /**
55
- * Places rows by what they came to rather than by `estimate`.
55
+ * Places rows by their measured height. Without it, every row is placed by
56
+ * `estimate`.
56
57
  *
57
58
  * **Off by default, because the straight line is better when it holds.** One
58
59
  * estimate makes offset and index convert by division, which can never
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-headless",
3
3
  "description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
4
- "version": "0.104.1",
4
+ "version": "0.106.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,13 +46,13 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.104.1",
50
- "@fusion.dev/helix-icons": "0.104.1",
49
+ "@fusion.dev/helix-core": "0.106.0",
50
+ "@fusion.dev/helix-icons": "0.106.0",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
- "@fusion.dev/helix-cem": "0.104.1",
55
- "@fusion.dev/helix-testing": "0.104.1",
54
+ "@fusion.dev/helix-cem": "0.106.0",
55
+ "@fusion.dev/helix-testing": "0.106.0",
56
56
  "@fusion.dev/scripts": "0.0.0-dev",
57
57
  "@happy-dom/global-registrator": "^20.0.0",
58
58
  "@lit-labs/ssr": "^4.1.0",