@fusion.dev/helix-headless 0.182.1 → 0.183.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 (184) hide show
  1. package/custom-elements.json +7851 -5810
  2. package/dist/accordion/item/accordion-item.js +1 -6
  3. package/dist/accordion/root/accordion-root.js +1 -6
  4. package/dist/announcement/root/announcement-root.js +1 -6
  5. package/dist/app-header/root/app-header-root.js +1 -6
  6. package/dist/area-chart/root/area-chart-root.d.ts +1 -0
  7. package/dist/area-chart/root/area-chart-root.js +3 -7
  8. package/dist/avatar/group/avatar-group.js +1 -6
  9. package/dist/avatar/root/avatar-root.js +1 -6
  10. package/dist/badge/root/badge-root.js +1 -6
  11. package/dist/bar-chart/root/bar-chart-root.d.ts +2 -0
  12. package/dist/bar-chart/root/bar-chart-root.js +6 -9
  13. package/dist/blockquote/root/blockquote-root.js +1 -6
  14. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +1 -0
  15. package/dist/breadcrumbs/breadcrumb/breadcrumb.js +3 -7
  16. package/dist/breadcrumbs/root/breadcrumbs-root.js +1 -6
  17. package/dist/button/root/button-root.d.ts +7 -3
  18. package/dist/button/root/button-root.js +5 -11
  19. package/dist/button-group/root/button-group-root.js +1 -6
  20. package/dist/callout/root/callout-root.js +1 -6
  21. package/dist/canvas/edge/canvas-edge.js +1 -6
  22. package/dist/canvas/node/canvas-node.js +1 -6
  23. package/dist/canvas/root/canvas-root.js +1 -6
  24. package/dist/card/root/card-root.js +1 -6
  25. package/dist/carousel/root/carousel-root.d.ts +1 -0
  26. package/dist/carousel/root/carousel-root.js +3 -7
  27. package/dist/chat/composer/chat-composer.js +1 -6
  28. package/dist/chat/message/chat-message.js +1 -6
  29. package/dist/chat/root/chat-root.d.ts +1 -0
  30. package/dist/chat/root/chat-root.js +3 -7
  31. package/dist/checkbox/root/checkbox-root.js +1 -6
  32. package/dist/checkbox-group/root/checkbox-group-root.js +1 -6
  33. package/dist/code/root/code-root.js +1 -6
  34. package/dist/code-block/root/code-block-root.js +1 -6
  35. package/dist/color-input/root/color-input-root.js +1 -6
  36. package/dist/color-picker/root/color-picker-root.js +1 -6
  37. package/dist/combobox/root/combobox-root.js +1 -6
  38. package/dist/command/root/command-root.js +1 -6
  39. package/dist/copy-button/root/copy-button-root.js +1 -6
  40. package/dist/data-table/root/data-table-root.d.ts +1 -0
  41. package/dist/data-table/root/data-table-root.js +3 -7
  42. package/dist/date-input/root/date-input-root.js +1 -6
  43. package/dist/date-picker/root/date-picker-root.d.ts +1 -0
  44. package/dist/date-picker/root/date-picker-root.js +3 -7
  45. package/dist/description-list/item/description-list-item.js +1 -6
  46. package/dist/description-list/root/description-list-root.js +1 -6
  47. package/dist/dialog/root/dialog-root.js +1 -6
  48. package/dist/divider/root/divider-root.js +1 -6
  49. package/dist/donut-chart/root/donut-chart-root.d.ts +1 -0
  50. package/dist/donut-chart/root/donut-chart-root.js +3 -7
  51. package/dist/drawer/root/drawer-root.js +1 -6
  52. package/dist/drilldown/item/drilldown-item.d.ts +1 -0
  53. package/dist/drilldown/item/drilldown-item.js +3 -7
  54. package/dist/drilldown/root/drilldown-root.d.ts +1 -0
  55. package/dist/drilldown/root/drilldown-root.js +3 -7
  56. package/dist/empty/root/empty-root.js +1 -6
  57. package/dist/file-input/root/file-input-root.js +1 -6
  58. package/dist/filter-input/chip/filter-chip.js +1 -6
  59. package/dist/filter-input/field/filter-field.js +1 -6
  60. package/dist/filter-input/menu/filter-menu.js +1 -6
  61. package/dist/filter-input/operator/filter-operator.js +1 -6
  62. package/dist/filter-input/root/filter-input-root.js +1 -6
  63. package/dist/format-date/root/format-date-root.js +1 -6
  64. package/dist/graph/root/graph-root.d.ts +1 -0
  65. package/dist/graph/root/graph-root.js +3 -7
  66. package/dist/heatmap/root/heatmap-root.d.ts +11 -1
  67. package/dist/heatmap/root/heatmap-root.js +18 -15
  68. package/dist/icon/root/icon-root.d.ts +1 -0
  69. package/dist/icon/root/icon-root.js +3 -7
  70. package/dist/icon-button/root/icon-button-root.js +1 -6
  71. package/dist/image/root/image-root.js +1 -6
  72. package/dist/input/root/input-root.js +1 -6
  73. package/dist/kbd/root/kbd-root.d.ts +1 -0
  74. package/dist/kbd/root/kbd-root.js +3 -7
  75. package/dist/legend/root/legend-root.js +1 -6
  76. package/dist/lightbox/item/lightbox-item.js +1 -6
  77. package/dist/lightbox/root/lightbox-root.d.ts +1 -0
  78. package/dist/lightbox/root/lightbox-root.js +3 -7
  79. package/dist/line-chart/root/line-chart-root.d.ts +1 -0
  80. package/dist/line-chart/root/line-chart-root.js +3 -7
  81. package/dist/list/item/list-item.js +1 -6
  82. package/dist/list/root/list-root.js +1 -6
  83. package/dist/listbox/root/listbox-root.d.ts +1 -0
  84. package/dist/listbox/root/listbox-root.js +3 -7
  85. package/dist/loader/root/loader-root.js +1 -6
  86. package/dist/map/area/map-area.js +1 -6
  87. package/dist/map/buildings/map-buildings.js +1 -6
  88. package/dist/map/contours/map-contours.js +1 -6
  89. package/dist/map/landcover/map-landcover.js +1 -6
  90. package/dist/map/marker/map-marker.js +1 -6
  91. package/dist/map/points/map-points.js +1 -6
  92. package/dist/map/position/map-position.js +1 -6
  93. package/dist/map/raster/map-raster.js +1 -6
  94. package/dist/map/root/map-root.js +1 -6
  95. package/dist/map/route/map-route.js +1 -6
  96. package/dist/map/terrain/map-terrain.js +1 -6
  97. package/dist/megamenu/root/megamenu-root.js +1 -6
  98. package/dist/menu/item/menu-item.d.ts +1 -0
  99. package/dist/menu/item/menu-item.js +3 -7
  100. package/dist/menu/root/menu-root.d.ts +1 -0
  101. package/dist/menu/root/menu-root.js +3 -7
  102. package/dist/menu/section/menu-section.js +1 -6
  103. package/dist/meter/root/meter-root.js +1 -6
  104. package/dist/navigation/root/navigation-root.js +1 -6
  105. package/dist/notifications/group/notification-group.js +1 -6
  106. package/dist/notifications/notification/notification.js +1 -6
  107. package/dist/notifications/root/notifications-root.js +1 -6
  108. package/dist/number-input/root/number-input-root.js +1 -6
  109. package/dist/object-inspector/root/object-inspector-root.d.ts +1 -0
  110. package/dist/object-inspector/root/object-inspector-root.js +3 -7
  111. package/dist/option/group/option-group.js +1 -6
  112. package/dist/option/root/option-root.js +1 -6
  113. package/dist/option/separator/option-separator.js +1 -6
  114. package/dist/outline/root/outline-root.js +1 -6
  115. package/dist/pagination/root/pagination-root.d.ts +1 -0
  116. package/dist/pagination/root/pagination-root.js +3 -7
  117. package/dist/pagination/size/pagination-size.js +1 -6
  118. package/dist/pagination/summary/pagination-summary.js +1 -6
  119. package/dist/pin-input/root/pin-input-root.js +1 -6
  120. package/dist/popover/root/popover-root.js +1 -6
  121. package/dist/progress/root/progress-root.js +1 -6
  122. package/dist/qr-code/root/qr-code-root.js +1 -6
  123. package/dist/quote/root/quote-root.js +1 -6
  124. package/dist/radio/group/radio-group.js +1 -6
  125. package/dist/radio/root/radio-root.js +1 -6
  126. package/dist/rating/root/rating-root.js +1 -6
  127. package/dist/scatter-chart/root/scatter-chart-root.js +1 -6
  128. package/dist/scroll-area/root/scroll-area-root.d.ts +1 -0
  129. package/dist/scroll-area/root/scroll-area-root.js +3 -7
  130. package/dist/select/root/select-root.js +1 -6
  131. package/dist/skeleton/root/skeleton-root.js +1 -6
  132. package/dist/skip-link/root/skip-link-root.js +1 -6
  133. package/dist/slider/root/slider-root.js +1 -6
  134. package/dist/sparkline/root/sparkline-root.d.ts +1 -0
  135. package/dist/sparkline/root/sparkline-root.js +3 -7
  136. package/dist/speed-dial/group/speed-dial-group.js +1 -6
  137. package/dist/speed-dial/item/speed-dial-item.js +1 -6
  138. package/dist/speed-dial/root/speed-dial-root.js +1 -6
  139. package/dist/splitter/root/splitter-root.js +1 -6
  140. package/dist/stat/group/stat-group.js +1 -6
  141. package/dist/stat/root/stat-root.js +1 -6
  142. package/dist/steps/root/steps-root.js +1 -6
  143. package/dist/steps/step/step.js +1 -6
  144. package/dist/switch/root/switch-root.js +1 -6
  145. package/dist/table/cell/table-cell.js +1 -6
  146. package/dist/table/column/table-column.js +1 -6
  147. package/dist/table/root/table-root.d.ts +1 -0
  148. package/dist/table/root/table-root.js +3 -7
  149. package/dist/table/row/table-row.d.ts +1 -0
  150. package/dist/table/row/table-row.js +3 -7
  151. package/dist/tabs/panel/tab-panel.js +1 -6
  152. package/dist/tabs/root/tabs-root.d.ts +1 -0
  153. package/dist/tabs/root/tabs-root.js +3 -7
  154. package/dist/tabs/tab/tab.js +1 -6
  155. package/dist/tag/group/tag-group.js +1 -6
  156. package/dist/tag/root/tag-root.js +1 -6
  157. package/dist/textarea/root/textarea-root.js +1 -6
  158. package/dist/time-input/root/time-input-root.js +1 -6
  159. package/dist/time-picker/root/time-picker-root.js +1 -6
  160. package/dist/timeline/group/timeline-group.js +1 -6
  161. package/dist/timeline/item/timeline-item.js +1 -6
  162. package/dist/timeline/root/timeline-root.js +1 -6
  163. package/dist/toast/item/toast-item.js +1 -6
  164. package/dist/toast/root/toast-root.js +1 -6
  165. package/dist/toggle/group/toggle-group.js +1 -6
  166. package/dist/toggle/root/toggle-root.js +1 -6
  167. package/dist/toolbar/root/toolbar-root.js +1 -6
  168. package/dist/tooltip/root/tooltip-root.js +1 -6
  169. package/dist/tour/root/tour-root.js +1 -6
  170. package/dist/tour/stop/tour-stop.js +1 -6
  171. package/dist/tree/item/tree-item.js +1 -6
  172. package/dist/tree/root/tree-root.js +1 -6
  173. package/dist/trend/root/trend-root.js +1 -6
  174. package/dist/video/root/video-root.js +1 -6
  175. package/dist/video-playlist/item/video-playlist-item.js +1 -6
  176. package/dist/video-playlist/menu/video-playlist-menu.js +1 -6
  177. package/dist/video-playlist/root/video-playlist-root.js +1 -6
  178. package/dist/virtual-list/reorder/virtual-list-reorder.js +5 -1
  179. package/dist/virtual-list/root/virtual-list-root.d.ts +96 -17
  180. package/dist/virtual-list/root/virtual-list-root.js +126 -35
  181. package/lint.json +1 -1
  182. package/package.json +6 -5
  183. package/types/jsx.d.ts +318 -222
  184. package/types/vue.d.ts +11 -3
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { animationsFinished, customElement, DelayController, deepActiveElement, deepContains, FocusScopeController, focusableElements, formatWords, HelixElement, hostAria, matchesChord, onApple, scrollHolders, words, } from '@fusion.dev/helix-core';
8
3
  import { html } from 'lit';
9
4
  import { property, state } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { commaList, customElement, DisabledCascadeController, HelixFormElement, hostAria, IndicatorController, KeyboardNavigationController, MixinControllerValue, MixinField, reportValues, rovingStop, toggleValue, toolbarAround, UpgradeController, } from '@fusion.dev/helix-core';
8
3
  import { html, nothing } from 'lit';
9
4
  import { property } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { auditName, customElement, HelixElement, HostClickController, MixinSelectableItem, } from '@fusion.dev/helix-core';
8
3
  import { html, nothing } from 'lit';
9
4
  import { property } from 'lit/decorators.js';
@@ -1,10 +1,5 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
1
  var HelixHeadlessToolbar_1;
2
+ import { __decorate } from "tslib";
8
3
  import { AriaForwardController, closestInstance, customElement, HelixElement, inlineStep, keyClaimed, toolbarAround, words, } from '@fusion.dev/helix-core';
9
4
  import { html, nothing } from 'lit';
10
5
  import { property } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { anchorElement, arrowReach, customElement, elementById, focusTarget, HelixElement, hostAria, linkDescription, MixinControllerOpen, OpenPhaseController, onUnlessFalse, PopoverController, reportRuntime, sideOf, unlinkDescription, } from '@fusion.dev/helix-core';
8
3
  import { html } from 'lit';
9
4
  import { property, state } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { auditName, controlsIn, customElement, deepActiveElement, deepContains, formatWords, HelixActivateEvent, HelixBeforeActivateEvent, HelixCompleteEvent, HelixElement, HelixTourStatusEvent, hostAria, inlineStep, keyClaimed, MixinControllerOpen, requestChange, whenHydrated, words, } from '@fusion.dev/helix-core';
8
3
  import { html } from 'lit';
9
4
  import { property, queryAssignedElements, state } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { arrowReach, customElement, elementById, HelixElement, HelixTourAskEvent, OpenPhaseController, PopoverController, reflectElements, sideOf, words, } from '@fusion.dev/helix-core';
8
3
  import { nothing } from 'lit';
9
4
  import { property, state } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { auditNesting, customElement, HelixElement, HelixLoadEvent, HelixSelectEvent, MixinControllerOpen, } from '@fusion.dev/helix-core';
8
3
  import { caretDown, check, dotsSixVertical, minus } from '@fusion.dev/helix-icons';
9
4
  import { html, nothing } from 'lit';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { AriaForwardController, auditName, closestInstance, commaList, customElement, deepActiveElement, formatWords, HelixElement, inlineStep, keyClaimed, MixinCollection, MixinControllerActive, ReorderController, requestReorder, scrollItemIntoView, selectsAll, slottedWords, Typeahead, treeArrow, typesCharacter, UpgradeController, whenHydrated, words, } from '@fusion.dev/helix-core';
8
3
  import { html, nothing } from 'lit';
9
4
  import { property } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { customElement, formatWords, HelixElement, reportRuntime, words, wordsLocale, } from '@fusion.dev/helix-core';
8
3
  import { arrowDown, arrowUp, minus } from '@fusion.dev/helix-icons';
9
4
  import { html } from 'lit';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { activeCue, adoptTrack, auditName, CueController, captionsAmong, captionTracks, copiesOf, customElement, drawIcon, FullscreenController, formatWords, HelixElement, HelixNextEvent, HelixPreviousEvent, IdleController, MediaSessionController, onUnlessFalse, RemotePlaybackController, reportRuntime, SKIP_SECONDS, sameCopies, showCaption, words, writtenList, writtenNumbers, } from '@fusion.dev/helix-core';
8
3
  import { airplay, arrowClockwise, arrowCounterClockwise, closedCaptioning, cornersIn, cornersOut, dotsThreeVertical, download, gauge, pause, pictureInPicture, play, skipBack, skipForward, speakerHigh, speakerX, } from '@fusion.dev/helix-icons';
9
4
  import { nothing } from 'lit';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { customElement, HelixElement, HelixSelectEvent } from '@fusion.dev/helix-core';
8
3
  import { html, nothing } from 'lit';
9
4
  import { property } from 'lit/decorators.js';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { closestInstance, customElement, drawIcon, HelixElement, HelixSelectEvent, words, } from '@fusion.dev/helix-core';
8
3
  import { list } from '@fusion.dev/helix-icons';
9
4
  import { nothing } from 'lit';
@@ -1,9 +1,4 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
1
+ import { __decorate } from "tslib";
7
2
  import { customElement, drawStatus, formatWords, HelixElement, HelixEndEvent, inlineStep, MixinControllerActive, ReorderController, StatusController, words, } from '@fusion.dev/helix-core';
8
3
  import { html, nothing } from 'lit';
9
4
  import { property } from 'lit/decorators.js';
@@ -57,7 +57,11 @@ export class VirtualListReorderController {
57
57
  }
58
58
  get enabled() {
59
59
  const host = this.host;
60
- return (host.reorderable && host.columns <= 1 && host.minColumnWidth <= 0 && host.sectionField === '');
60
+ return (host.reorderable &&
61
+ host.columns <= 1 &&
62
+ host.minColumnWidth <= 0 &&
63
+ host.sectionField === '' &&
64
+ host.layout !== 'waterfall');
61
65
  }
62
66
  hostUpdated() {
63
67
  queueMicrotask(() => this.mark());
@@ -61,6 +61,32 @@ export interface VirtualListRange {
61
61
  * smallest item size, and follows the box as it resizes. `gap` spaces the rows, and the columns
62
62
  * of a grid, by a number of pixels the list counts in each row's place.
63
63
  *
64
+ * A grid without `selection-mode` is a grid to a reader, as the APG's grid
65
+ * and React Aria's grid list are: the box is a `grid` with `aria-rowcount`
66
+ * and `aria-colcount`, each line drawn is a `row` with `aria-rowindex`, and
67
+ * each item a `gridcell` with `aria-colindex`. Each line is a slot of the
68
+ * list's own, so your rows stay its children: give an item one element. With
69
+ * `selection-mode` it stays a list box of options, as React Aria's list box
70
+ * in a grid layout does.
71
+ *
72
+ * **A waterfall.** `layout="waterfall"` puts each item, in the order of the
73
+ * set, under the column that ends highest so far, the leftmost of a tie, as a
74
+ * wall of photos of different heights is, and as React Aria's waterfall
75
+ * layout and TanStack Virtual's lanes do. `columns`, or `min-column-width`,
76
+ * says how many columns. Every item is measured, at the width of its column,
77
+ * and placed at its column and its height, so items of any height leave no
78
+ * holes. The list draws the items that reach into the box, and the item
79
+ * holding focus. A reader hears a list, or a list box, in the order of the
80
+ * set, which is also the order Tab and a screen reader's own keys take.
81
+ *
82
+ * In a waterfall, Down and Up move along the column to the next or the
83
+ * previous item in it, Right and Left move to the next or the previous
84
+ * column, to the item there that sits beside this one the most, or the
85
+ * nearest above where none does, and Page Down and Page Up move a box down
86
+ * or up the column. Home and End go to the first and the last item of the
87
+ * set, and Shift with a key takes in the items between in the order of the
88
+ * set.
89
+ *
64
90
  * **Across.** `orientation="horizontal"` lays the items out along a line and
65
91
  * scrolls it sideways, as a strip of cards does, windowed the same way:
66
92
  * `estimate` is then an item's width, and the box needs an inline size.
@@ -79,10 +105,11 @@ export interface VirtualListRange {
79
105
  *
80
106
  * | Key | What it does |
81
107
  * |---|---|
82
- * | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line. |
83
- * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
84
- * | Home, End | Moves to the first or the last item. |
85
- * | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen. |
108
+ * | Down, Up | Moves to the next or the previous item, or in a grid to the item in the same column on the next or the previous line, or in a waterfall to the next or the previous item down the same column. |
109
+ * | Right, Left | In a grid, moves to the next or the previous item along the line, the other way round on a right-to-left page. In a waterfall, moves to the item beside in the next or the previous column. In a list that runs across, moves to the next or the previous item the same way, and Down and Up are left to the row. |
110
+ * | Home, End | Moves to the first or the last item. In a grid without `selection-mode`, to the first or the last item of the line. |
111
+ * | Control or Command with Home or End | In a grid without `selection-mode`, moves to the first or the last item. |
112
+ * | Page Down, Page Up | Moves by the number of items, or of lines in a grid, on screen, or in a waterfall a box down or up the column. |
86
113
  * | A letter or a word | Moves to the next item whose text starts with what you typed. |
87
114
  * | Escape | Lets go of every chosen item, in a list with `selection-mode`. |
88
115
  * | Alt with Up or Down | In a `reorderable` list, moves the item a place. Alt with Home or End moves it to either end. |
@@ -97,8 +124,9 @@ export interface VirtualListRange {
97
124
  * or the item itself when it is a string or a number.
98
125
  *
99
126
  * Each row says its place in the whole set with `aria-posinset` and
100
- * `aria-setsize`, so a screen reader says "4,000 of 10,000". The row holding
101
- * focus stays drawn when it scrolls out.
127
+ * `aria-setsize`, so a screen reader says "4,000 of 10,000", and each cell of
128
+ * a grid its line and its column. The row holding focus stays drawn when it
129
+ * scrolls out.
102
130
  *
103
131
  * **Selecting.** `selection-mode` makes the list a list box a reader chooses
104
132
  * from: `single` selects one item and `multiple` any number. Space or a press
@@ -204,6 +232,7 @@ export interface VirtualListRange {
204
232
  * @cssstate loading - While `loading` is set.
205
233
  */
206
234
  export declare class HelixHeadlessVirtualList extends HelixElement {
235
+ protected static markRules: string[];
207
236
  /**
208
237
  * The key this family's words are registered under, its styled tag:
209
238
  * `registerWords('de', { 'helix-virtual-list': { loadingLabel: 'Weitere werden geladen' } })`.
@@ -266,6 +295,15 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
266
295
  * wins over this.
267
296
  */
268
297
  label: string;
298
+ /**
299
+ * How items of more than one column are laid out. `grid`, the default, puts
300
+ * them in lines of equal columns. `waterfall` puts each item, in the order
301
+ * of the set, under the column that ends highest, as a wall of photos of
302
+ * different heights is: `columns`, or `min-column-width`, says how many
303
+ * columns. Rows of a waterfall are measured, and Up and Down move along a
304
+ * column.
305
+ */
306
+ layout: 'grid' | 'waterfall';
269
307
  /**
270
308
  * Marks the list as busy fetching more items, and draws a row after the last
271
309
  * item that says so.
@@ -299,7 +337,7 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
299
337
  * Which way the list runs. `horizontal` lays the items out along a line
300
338
  * and scrolls it sideways: Left and Right move between items, the other
301
339
  * way round on a right-to-left page, and `estimate` is an item's width. A
302
- * grid always runs down.
340
+ * grid and a waterfall always run down.
303
341
  */
304
342
  orientation: 'horizontal' | 'vertical';
305
343
  /**
@@ -323,7 +361,8 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
323
361
  * with an arrow moves the row the keys are on, and a pointer drags a row.
324
362
  * The list moves no item itself: you move your `items` on `helix-reorder`.
325
363
  * Without that import it does nothing, so a list that never moves items
326
- * carries none of the code. A list of one column, without sections.
364
+ * carries none of the code. A list of one column, without sections or a
365
+ * waterfall.
327
366
  */
328
367
  reorderable: boolean;
329
368
  /**
@@ -421,24 +460,42 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
421
460
  get range(): VirtualListRange;
422
461
  /** The gap in pixels, none where it is not a positive number. */
423
462
  private get space();
463
+ /** Where each item of a waterfall stands, which the controller places. */
464
+ private readonly lanes;
465
+ /** Whether the items are laid out as a waterfall, each down a column. */
466
+ private get waterfall();
424
467
  /**
425
- * How many items a line holds: as many as fit at `min-column-width` where
426
- * it is set and the box has a width, and `columns` otherwise, at least one.
468
+ * Whether the list is a grid a reader reads, and not a list box: lines of
469
+ * columns with no `selection-mode`, which are `grid`, `row` and `gridcell`
470
+ * to a reader, as the APG's grid and React Aria's grid list are.
471
+ */
472
+ private get lined();
473
+ /**
474
+ * How many items a line holds, which a waterfall draws one at a time: its
475
+ * columns are not lines.
427
476
  */
428
477
  private get across();
478
+ /**
479
+ * How many columns there are: as many as fit at `min-column-width` where
480
+ * it is set and the box has a width, and `columns` otherwise, at least one.
481
+ */
482
+ private get columnCount();
429
483
  /** How wide the box is, read for `min-column-width`. */
430
484
  private boxWidth;
431
485
  /** Watches the box's width, for `min-column-width`. */
432
486
  private widthWatch;
433
- /** The items to a line the measurements were taken at. */
487
+ /** The items to a line the measurements were taken at, or a waterfall's columns and width. */
434
488
  private measuredAcross;
435
- /** Watches the box for its width while `min-column-width` asks for it. */
489
+ /**
490
+ * Watches the box for its width while `min-column-width` asks for it, or a
491
+ * waterfall, whose items are as tall as their width makes them.
492
+ */
436
493
  private watchWidth;
437
494
  /** The items a span of lines holds. */
438
495
  private itemsOn;
439
496
  /** The line item `at` is on: its entry in a list with sections. */
440
497
  private lineOf;
441
- /** Whether the list runs across, which a grid never does. */
498
+ /** Whether the list runs across, which a grid and a waterfall never do. */
442
499
  private get horizontal();
443
500
  /** The sections and the items they were read from, kept until either changes. */
444
501
  private sectionsRead;
@@ -540,6 +597,14 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
540
597
  * is that control's, so a field in a row keeps its arrows.
541
598
  */
542
599
  private readonly handleKeydown;
600
+ /**
601
+ * Where a key goes in a waterfall, through the columns `Waterfall.step`
602
+ * reads: along the column for Down, Up, Page Down and Page Up, and to the
603
+ * item beside in the next column or the one before for the keys along the
604
+ * line, the other way round on a right-to-left page. Past a disabled item,
605
+ * on the same way.
606
+ */
607
+ private inWaterfall;
543
608
  /** The key of item `at` in `value`. See `keyField`. */
544
609
  private keyAt;
545
610
  /** @internal Every item's key, in the order of the set, which the reorder entry moves. */
@@ -599,15 +664,25 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
599
664
  private keptIndex;
600
665
  /**
601
666
  * Writes a row's role, and whether it is chosen in a list that selects:
602
- * `option` with `aria-selected` there, and `listitem` otherwise, and
603
- * `aria-disabled` on an item `disabled-keys` names. Every pass,
604
- * since a choice changes no row's content.
667
+ * `option` with `aria-selected` there, `gridcell` in a grid, and `listitem`
668
+ * otherwise, and `aria-disabled` on an item `disabled-keys` names. Every
669
+ * pass, since a choice changes no row's content.
670
+ *
671
+ * Its place too: `aria-posinset` and `aria-setsize` in a list, and in a
672
+ * grid its column, with the line's `row` given by the slot it is drawn in.
605
673
  *
606
674
  * `data-selected` and `data-disabled` say the same to a stylesheet, as
607
675
  * React Aria's rows do, so one rule reads the same in either kind of list.
608
676
  */
609
677
  private mark;
610
- /** Writes a row's place in the set. */
678
+ /**
679
+ * Writes which item a row drew, for the controller to measure it against:
680
+ * the real index, the same one `aria-posinset` carries one higher.
681
+ *
682
+ * `mark` writes the place a reader hears from it, the real index and the
683
+ * real total, not the position in the window. A reader arrowing through
684
+ * this should hear where they are in the set.
685
+ */
611
686
  private stamp;
612
687
  /** Fills a drawn row from its item, by `renderItem` or by the template's holes. */
613
688
  private fill;
@@ -641,6 +716,10 @@ export declare class HelixHeadlessVirtualList extends HelixElement {
641
716
  private place;
642
717
  /** The sections the rows were last placed in. */
643
718
  private placedSections;
719
+ /** Whether the rows were last placed in a waterfall. */
720
+ private placedWaterfall;
721
+ /** The lines of a grid drawn on the last pass, each a `row` the render draws a slot in. */
722
+ private drawnLines;
644
723
  /** The function the drawn headers were drawn by, so a new one draws them again. */
645
724
  private headedBy;
646
725
  /** Ties each header's id to this list. */