@fusion.dev/helix-headless 0.53.1 → 0.53.3

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 (71) hide show
  1. package/custom-elements.json +184 -193
  2. package/dist/accordion/item/accordion-item.d.ts +13 -13
  3. package/dist/accordion/root/accordion-root.d.ts +1 -1
  4. package/dist/area-chart/root/area-chart-root.js +1 -1
  5. package/dist/avatar/group/avatar-group.d.ts +11 -11
  6. package/dist/bar-chart/root/bar-chart-root.d.ts +1 -1
  7. package/dist/breadcrumbs/breadcrumb/breadcrumb.d.ts +6 -6
  8. package/dist/button/root/button-root.d.ts +1 -1
  9. package/dist/card/root/card-root.d.ts +1 -1
  10. package/dist/carousel/root/carousel-root.d.ts +19 -20
  11. package/dist/chat/composer/chat-composer.d.ts +6 -6
  12. package/dist/chat/root/chat-root.d.ts +9 -9
  13. package/dist/checkbox/root/checkbox-root.d.ts +2 -2
  14. package/dist/checkbox-group/root/checkbox-group-root.d.ts +4 -4
  15. package/dist/code-block/root/code-block-root.d.ts +5 -5
  16. package/dist/color-input/root/color-input-root.d.ts +3 -3
  17. package/dist/color-picker/root/color-picker-root.d.ts +14 -14
  18. package/dist/combobox/root/combobox-root.d.ts +9 -5
  19. package/dist/combobox/root/combobox-root.js +2 -3
  20. package/dist/command/root/command-root.d.ts +6 -7
  21. package/dist/data-table/root/data-table-root.d.ts +42 -41
  22. package/dist/data-table/root/order.d.ts +3 -3
  23. package/dist/date-input/root/date-input-root.d.ts +12 -11
  24. package/dist/dialog/root/dialog-root.d.ts +4 -4
  25. package/dist/donut-chart/root/donut-chart-root.d.ts +1 -1
  26. package/dist/drawer/root/drawer-root.d.ts +5 -5
  27. package/dist/filter-input/menu/filter-menu.d.ts +7 -1
  28. package/dist/filter-input/menu/filter-menu.js +2 -1
  29. package/dist/filter-input/root/filter-input-root.d.ts +13 -14
  30. package/dist/format-date/root/format-date-root.d.ts +6 -5
  31. package/dist/heatmap/root/heatmap-root.d.ts +11 -16
  32. package/dist/image/root/image-root.d.ts +4 -4
  33. package/dist/input/root/input-root.d.ts +7 -7
  34. package/dist/line-chart/root/line-chart-root.d.ts +1 -2
  35. package/dist/list/item/list-item.d.ts +6 -7
  36. package/dist/list/root/list-root.d.ts +4 -4
  37. package/dist/megamenu/root/megamenu-root.d.ts +4 -4
  38. package/dist/notifications/notification/notification.d.ts +10 -10
  39. package/dist/notifications/root/notifications-root.d.ts +1 -1
  40. package/dist/object-inspector/root/object-inspector-root.d.ts +10 -0
  41. package/dist/object-inspector/root/object-inspector-root.js +6 -3
  42. package/dist/option/root/option-root.d.ts +7 -8
  43. package/dist/pagination/root/pagination-root.d.ts +5 -5
  44. package/dist/pagination/size/pagination-size.d.ts +2 -1
  45. package/dist/pin-input/root/pin-input-root.d.ts +4 -4
  46. package/dist/popover/root/popover-root.d.ts +7 -6
  47. package/dist/radio/root/radio-root.d.ts +1 -1
  48. package/dist/speed-dial/root/speed-dial-root.d.ts +8 -9
  49. package/dist/stat/root/stat-root.d.ts +3 -3
  50. package/dist/steps/root/steps-root.d.ts +1 -1
  51. package/dist/steps/step/step.d.ts +5 -5
  52. package/dist/table/column/table-column.d.ts +28 -28
  53. package/dist/table/root/table-root.d.ts +14 -17
  54. package/dist/table/row/table-row.d.ts +4 -4
  55. package/dist/tabs/panel/tab-panel.d.ts +2 -2
  56. package/dist/time-input/root/time-input-root.d.ts +13 -13
  57. package/dist/time-picker/root/time-picker-root.d.ts +8 -8
  58. package/dist/toast/root/toast-root.d.ts +2 -2
  59. package/dist/toggle/root/toggle-root.d.ts +5 -5
  60. package/dist/tooltip/root/tooltip-root.d.ts +2 -2
  61. package/dist/tour/stop/tour-stop.d.ts +3 -3
  62. package/dist/tree/item/tree-item.d.ts +2 -2
  63. package/dist/tree/root/tree-root.d.ts +8 -7
  64. package/dist/tree/root/tree-root.js +1 -1
  65. package/dist/video-playlist/menu/video-playlist-menu.d.ts +7 -1
  66. package/dist/video-playlist/menu/video-playlist-menu.js +4 -2
  67. package/dist/video-playlist/root/video-playlist-root.d.ts +5 -5
  68. package/dist/video-playlist/root/video-playlist-root.js +2 -3
  69. package/package.json +5 -5
  70. package/types/jsx.d.ts +958 -990
  71. package/types/vue.d.ts +229 -244
@@ -74,14 +74,15 @@ export declare class HelixHeadlessTree extends HelixHeadlessTree_base {
74
74
  /**
75
75
  * Every item, in the order a reader moving down would meet them.
76
76
  *
77
- * Selected by tag, never by `'*'` and a filter: this is the array a single
78
- * arrow press rebuilds, and `'*'` makes it every descendant element in the
79
- * tree, labels and icons and whatever a consumer slotted into a row included.
77
+ * **By identity rather than by tag**, which is the same reason Splitter
78
+ * writes out at `findOuter`: a tag list names one tier's element from the
79
+ * other's package, and misses any third tag, which is exactly what
80
+ * subclassing an item produces. The item then never enters the array a single
81
+ * arrow press rebuilds, so it is silently unreachable from the keyboard.
80
82
  *
81
- * The two tag names rather than `instanceof` on everything: a styled
82
- * `helix-tree-item` extends the base, so both names are needed, and the
83
- * `instanceof` stays as the type guard because a consumer can write either
84
- * tag and neither selector proves what the element is.
83
+ * `'*'` and a filter rather than a tag: the walk is one native pass and the
84
+ * `instanceof` is what narrows it, so the labels, icons and whatever a
85
+ * consumer slotted into a row are gone by the time the array exists.
85
86
  */
86
87
  private get items();
87
88
  /** Items a reader can actually reach: not inside a collapsed branch. */
@@ -81,7 +81,7 @@ let HelixHeadlessTree = class HelixHeadlessTree extends MixinCollection(MixinCon
81
81
  };
82
82
  }
83
83
  get items() {
84
- return [...this.querySelectorAll('helix-tree-item, helix-headless-tree-item')].filter((node) => node instanceof HelixHeadlessTreeItem);
84
+ return [...this.querySelectorAll('*')].filter((node) => node instanceof HelixHeadlessTreeItem);
85
85
  }
86
86
  get visibleItems() {
87
87
  return this.items.filter((item) => {
@@ -61,7 +61,13 @@ export declare class HelixHeadlessVideoPlaylistMenu extends HelixElement {
61
61
  private foundPlaylist;
62
62
  /** The playlist this menu belongs to, found upward through the slots. */
63
63
  private get playlist();
64
- /** The playlist's entries, in the order it holds them. */
64
+ /**
65
+ * The playlist's entries, in the order it holds them.
66
+ *
67
+ * By identity rather than by tag, the same reason the playlist itself reads
68
+ * them that way: a tag list names one tier's element from the other's package
69
+ * and misses any third one.
70
+ */
65
71
  private get entries();
66
72
  /**
67
73
  * Watches the playlist for entries arriving, and re-reads it on every open.
@@ -9,9 +9,9 @@ import { list } from '@fusion.dev/helix-icons';
9
9
  import { nothing } from 'lit';
10
10
  import { property } from 'lit/decorators.js';
11
11
  import { html } from 'lit/static-html.js';
12
+ import { HelixHeadlessVideoPlaylistItem } from '../item/video-playlist-item.js';
12
13
  import { HelixHeadlessVideoPlaylist } from '../root/video-playlist-root.js';
13
14
  import '../../menu/index.js';
14
- const ITEMS = 'helix-video-playlist-item, helix-headless-video-playlist-item';
15
15
  let HelixHeadlessVideoPlaylistMenu = class HelixHeadlessVideoPlaylistMenu extends HelixElement {
16
16
  constructor() {
17
17
  super(...arguments);
@@ -39,7 +39,9 @@ let HelixHeadlessVideoPlaylistMenu = class HelixHeadlessVideoPlaylistMenu extend
39
39
  }
40
40
  get entries() {
41
41
  const playlist = this.playlist;
42
- return playlist ? [...playlist.querySelectorAll(ITEMS)] : [];
42
+ return playlist
43
+ ? [...playlist.querySelectorAll('*')].filter((one) => one instanceof HelixHeadlessVideoPlaylistItem)
44
+ : [];
43
45
  }
44
46
  watch() {
45
47
  this.foundPlaylist ??= closestInstance(this, HelixHeadlessVideoPlaylist) ?? undefined;
@@ -35,7 +35,7 @@ declare const HelixHeadlessVideoPlaylist_base: (new (...args: any[]) => import("
35
35
  * @documentation https://fusion.dev/helix/components/video-playlist
36
36
  *
37
37
  * @slot - The entries.
38
- * @slot player - The `helix-video` they play in.
38
+ * @slot player - The player the entries take turns in.
39
39
  *
40
40
  * @event {HelixActivateEvent} helix-activate - Fired once the current one has moved, so the element already holds it.
41
41
  * @event {HelixBeforeActivateEvent} helix-before-activate - Fired before the current entry changes, and cancelable.
@@ -80,10 +80,10 @@ export declare class HelixHeadlessVideoPlaylist extends HelixHeadlessVideoPlayli
80
80
  /**
81
81
  * The player, whichever tag the consumer slotted.
82
82
  *
83
- * Asked of the slot rather than matched by tag name: the headless tier's
84
- * player is `helix-headless-video` and the styled tier's is `helix-video`, and
85
- * a consumer bringing a third under either name should still be driven. What
86
- * is needed of it is `src`, which is the whole of the contract.
83
+ * Asked of the slot rather than matched by tag name: each tier registers its
84
+ * own player under its own name, and a consumer bringing a third should still
85
+ * be driven. What is needed of it is `src`, which is the whole of the
86
+ * contract.
87
87
  */
88
88
  private get player();
89
89
  /** Moves by one, and does nothing at either end. */
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { customElement, HelixElement, MixinControllerActive } from '@fusion.dev/helix-core';
8
8
  import { html } from 'lit';
9
9
  import { property } from 'lit/decorators.js';
10
+ import { HelixHeadlessVideoPlaylistItem } from '../item/video-playlist-item.js';
10
11
  let HelixHeadlessVideoPlaylist = class HelixHeadlessVideoPlaylist extends MixinControllerActive(HelixElement) {
11
12
  constructor() {
12
13
  super(...arguments);
@@ -34,9 +35,7 @@ let HelixHeadlessVideoPlaylist = class HelixHeadlessVideoPlaylist extends MixinC
34
35
  };
35
36
  }
36
37
  get items() {
37
- return [
38
- ...this.querySelectorAll('helix-video-playlist-item, helix-headless-video-playlist-item'),
39
- ].filter((one) => one.value !== '');
38
+ return [...this.querySelectorAll('*')].filter((one) => one instanceof HelixHeadlessVideoPlaylistItem && one.value !== '');
40
39
  }
41
40
  get player() {
42
41
  const slot = this.renderRoot?.querySelector('slot[name="player"]');
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.53.1",
4
+ "version": "0.53.3",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,14 +46,14 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.53.1",
50
- "@fusion.dev/helix-icons": "0.53.1",
49
+ "@fusion.dev/helix-core": "0.53.3",
50
+ "@fusion.dev/helix-icons": "0.53.3",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@custom-elements-manifest/analyzer": "^0.11.0",
55
- "@fusion.dev/helix-cem": "0.53.1",
56
- "@fusion.dev/helix-testing": "0.53.1",
55
+ "@fusion.dev/helix-cem": "0.53.3",
56
+ "@fusion.dev/helix-testing": "0.53.3",
57
57
  "@fusion.dev/scripts": "0.0.0-dev",
58
58
  "@happy-dom/global-registrator": "^20.0.0",
59
59
  "@lit-labs/ssr": "^4.1.0",