@fusion.dev/helix-headless 0.118.0 → 0.120.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.
@@ -50631,6 +50631,40 @@
50631
50631
  "text": "laidOut(positions: Record<string, { x: number; y: number }>) => void"
50632
50632
  }
50633
50633
  },
50634
+ {
50635
+ "kind": "method",
50636
+ "name": "signal",
50637
+ "return": {
50638
+ "type": {
50639
+ "text": "void"
50640
+ }
50641
+ },
50642
+ "parameters": [
50643
+ {
50644
+ "name": "from",
50645
+ "type": {
50646
+ "text": "string"
50647
+ }
50648
+ },
50649
+ {
50650
+ "name": "to",
50651
+ "type": {
50652
+ "text": "string"
50653
+ }
50654
+ },
50655
+ {
50656
+ "name": "options",
50657
+ "default": "{}",
50658
+ "type": {
50659
+ "text": "{ tone?: GraphSignalDetail['tone'] }"
50660
+ }
50661
+ }
50662
+ ],
50663
+ "description": "Shows something passing from one note to another, such as a message, a\nrequest or a payment, drawn traveling along the drawing and arriving with\na pulse. `tone` says what it means and colors it. Call it as often as\nthings happen; each call is one signal.\n\n**Drawn, and never said.** A signal is motion in the drawing, which a\nscreen reader does not hear: where what passed matters to a reader, say it\nin the page's own words as well.",
50664
+ "type": {
50665
+ "text": "signal(from: string, to: string, options: { tone?: GraphSignalDetail['tone'] } = {}) => void"
50666
+ }
50667
+ },
50634
50668
  {
50635
50669
  "kind": "method",
50636
50670
  "name": "panEvent",
@@ -52074,6 +52108,14 @@
52074
52108
  "name": "helix-graph-ready",
52075
52109
  "reactProp": "onhelix-graph-ready"
52076
52110
  },
52111
+ {
52112
+ "type": {
52113
+ "text": "HelixGraphSignalEvent"
52114
+ },
52115
+ "description": "Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.",
52116
+ "name": "helix-graph-signal",
52117
+ "reactProp": "onhelix-graph-signal"
52118
+ },
52077
52119
  {
52078
52120
  "type": {
52079
52121
  "text": "HelixGraphZoomEvent"
@@ -94,6 +94,7 @@ registerElementEvents({
94
94
  'helix-graph-pan',
95
95
  'helix-graph-part-change',
96
96
  'helix-graph-ready',
97
+ 'helix-graph-signal',
97
98
  'helix-graph-zoom',
98
99
  ],
99
100
  'helix-headless-heatmap': ['helix-resize'],
@@ -1,4 +1,4 @@
1
- import { HelixElement, type ViewportGestureLabels, type ViewportPanDetail, type ViewportZoomDetail } from '@fusion.dev/helix-core';
1
+ import { type GraphSignalDetail, HelixElement, type ViewportGestureLabels, type ViewportPanDetail, type ViewportZoomDetail } from '@fusion.dev/helix-core';
2
2
  import { type PropertyValues, type TemplateResult } from 'lit';
3
3
  import { type GraphLink, type GraphNode } from './graph-model.js';
4
4
  declare const HelixHeadlessGraph_base: (new (...args: any[]) => import("@fusion.dev/helix-core").ViewportElement) & (new (...args: any[]) => import("@fusion.dev/helix-core").MixinControllerActiveInterface) & typeof HelixElement;
@@ -45,6 +45,7 @@ declare const HelixHeadlessGraph_base: (new (...args: any[]) => import("@fusion.
45
45
  * @event {HelixGraphPanEvent} helix-graph-pan - A pan button or arrow key was pressed. `connectGraph` moves the drawing.
46
46
  * @event {HelixGraphPartChangeEvent} helix-graph-part-change - The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
47
47
  * @event {HelixGraphReadyEvent} helix-graph-ready - The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not.
48
+ * @event {HelixGraphSignalEvent} helix-graph-signal - Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
48
49
  * @event {HelixGraphZoomEvent} helix-graph-zoom - A zoom button or key was pressed. `connectGraph` zooms the drawing.
49
50
  *
50
51
  * @csspart after - The room the notes after those drawn would take, so the list scrolls its whole length.
@@ -157,6 +158,19 @@ export declare class HelixHeadlessGraph extends HelixHeadlessGraph_base {
157
158
  x: number;
158
159
  y: number;
159
160
  }>): void;
161
+ /**
162
+ * Shows something passing from one note to another, such as a message, a
163
+ * request or a payment, drawn traveling along the drawing and arriving with
164
+ * a pulse. `tone` says what it means and colors it. Call it as often as
165
+ * things happen; each call is one signal.
166
+ *
167
+ * **Drawn, and never said.** A signal is motion in the drawing, which a
168
+ * screen reader does not hear: where what passed matters to a reader, say it
169
+ * in the page's own words as well.
170
+ */
171
+ signal(from: string, to: string, options?: {
172
+ tone?: GraphSignalDetail['tone'];
173
+ }): void;
160
174
  protected willUpdate(changed: PropertyValues): void;
161
175
  protected updated(changed: PropertyValues): void;
162
176
  protected panEvent(detail: ViewportPanDetail): Event;
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { customElement, fillTemplate, formatNumbers, HelixElement, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphZoomEvent, MixinControllerActive, MixinViewport, VirtualizeController, } from '@fusion.dev/helix-core';
7
+ import { customElement, fillTemplate, formatNumbers, HelixElement, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, MixinControllerActive, MixinViewport, VirtualizeController, } from '@fusion.dev/helix-core';
8
8
  import { magnifyingGlass } from '@fusion.dev/helix-icons';
9
9
  import { html, nothing } from 'lit';
10
10
  import { property, state } from 'lit/decorators.js';
@@ -98,6 +98,9 @@ let HelixHeadlessGraph = class HelixHeadlessGraph extends MixinViewport(MixinCon
98
98
  laidOut(positions) {
99
99
  this.dispatchEvent(new HelixGraphLayoutEvent({ positions }));
100
100
  }
101
+ signal(from, to, options = {}) {
102
+ this.dispatchEvent(new HelixGraphSignalEvent({ from, to, tone: options.tone }));
103
+ }
101
104
  willUpdate(changed) {
102
105
  super.willUpdate(changed);
103
106
  this.toggleState('fullscreen', this.filled);
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.118.0",
4
+ "version": "0.120.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.118.0",
50
- "@fusion.dev/helix-icons": "0.118.0",
49
+ "@fusion.dev/helix-core": "0.120.0",
50
+ "@fusion.dev/helix-icons": "0.120.0",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
- "@fusion.dev/helix-cem": "0.118.0",
55
- "@fusion.dev/helix-testing": "0.118.0",
54
+ "@fusion.dev/helix-cem": "0.120.0",
55
+ "@fusion.dev/helix-testing": "0.120.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",
package/types/jsx.d.ts CHANGED
@@ -40,6 +40,7 @@ import type {
40
40
  HelixGraphPanEvent,
41
41
  HelixGraphPartChangeEvent,
42
42
  HelixGraphReadyEvent,
43
+ HelixGraphSignalEvent,
43
44
  HelixGraphZoomEvent,
44
45
  HelixHeadlessAccordion,
45
46
  HelixHeadlessAccordionItem,
@@ -9386,6 +9387,9 @@ export type HelixHeadlessGraphHelixGraphPartChangeElementEvent =
9386
9387
  /** `helix-graph-ready` event type */
9387
9388
  export type HelixHeadlessGraphHelixGraphReadyElementEvent =
9388
9389
  HelixHeadlessGraphElementEvent<HelixGraphReadyEvent>;
9390
+ /** `helix-graph-signal` event type */
9391
+ export type HelixHeadlessGraphHelixGraphSignalElementEvent =
9392
+ HelixHeadlessGraphElementEvent<HelixGraphSignalEvent>;
9389
9393
  /** `helix-graph-zoom` event type */
9390
9394
  export type HelixHeadlessGraphHelixGraphZoomElementEvent =
9391
9395
  HelixHeadlessGraphElementEvent<HelixGraphZoomEvent>;
@@ -9641,6 +9645,10 @@ Ignored once `active` is written. */
9641
9645
  "onhelix-graph-ready"?: ((
9642
9646
  e: HelixHeadlessGraphHelixGraphReadyElementEvent,
9643
9647
  ) => void) | undefined;
9648
+ /** Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it. */
9649
+ "onhelix-graph-signal"?: ((
9650
+ e: HelixHeadlessGraphHelixGraphSignalElementEvent,
9651
+ ) => void) | undefined;
9644
9652
  /** A zoom button or key was pressed. `connectGraph` zooms the drawing. */
9645
9653
  "onhelix-graph-zoom"?: ((
9646
9654
  e: HelixHeadlessGraphHelixGraphZoomElementEvent,
@@ -9899,6 +9907,10 @@ Ignored once `active` is written. */
9899
9907
  "on:helix-graph-ready"?: ((
9900
9908
  e: HelixHeadlessGraphHelixGraphReadyElementEvent,
9901
9909
  ) => void) | undefined;
9910
+ /** Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it. */
9911
+ "on:helix-graph-signal"?: ((
9912
+ e: HelixHeadlessGraphHelixGraphSignalElementEvent,
9913
+ ) => void) | undefined;
9902
9914
  /** A zoom button or key was pressed. `connectGraph` zooms the drawing. */
9903
9915
  "on:helix-graph-zoom"?: ((
9904
9916
  e: HelixHeadlessGraphHelixGraphZoomElementEvent,
@@ -31390,6 +31402,7 @@ export type CustomElements = {
31390
31402
  * - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing.
31391
31403
  * - `helix-graph-part-change`: The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
31392
31404
  * - `helix-graph-ready`: The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not.
31405
+ * - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
31393
31406
  * - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing.
31394
31407
  *
31395
31408
  * ## Slots
@@ -31414,6 +31427,14 @@ export type CustomElements = {
31414
31427
  * `helix-graph-layout` for the page to keep. Called by `connectGraph` once
31415
31428
  * its layout has settled; a page laying out its own graph calls it the same
31416
31429
  * way.
31430
+ * - `signal(from: string, to: string, options: { tone?: GraphSignalDetail['tone'] } = {}) => void`: Shows something passing from one note to another, such as a message, a
31431
+ * request or a payment, drawn traveling along the drawing and arriving with
31432
+ * a pulse. `tone` says what it means and colors it. Call it as often as
31433
+ * things happen; each call is one signal.
31434
+ *
31435
+ * **Drawn, and never said.** A signal is motion in the drawing, which a
31436
+ * screen reader does not hear: where what passed matters to a reader, say it
31437
+ * in the page's own words as well.
31417
31438
  * - `pan(to: ViewportWay) => void`: Pans the view one step in a direction.
31418
31439
  * - `zoom(by: number) => void`: Zooms the view one step: `1` zooms in and `-1` zooms out.
31419
31440
  * - `toggleFullscreen() => void`: Turns fullscreen on or off.
@@ -51758,6 +51779,7 @@ export type CustomElementsSolidJs = {
51758
51779
  * - `helix-graph-pan`: A pan button or arrow key was pressed. `connectGraph` moves the drawing.
51759
51780
  * - `helix-graph-part-change`: The notes, the links, the selection, the depth or the gestures changed. Used by `connectGraph`; pages do not need to listen for it.
51760
51781
  * - `helix-graph-ready`: The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not.
51782
+ * - `helix-graph-signal`: Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it.
51761
51783
  * - `helix-graph-zoom`: A zoom button or key was pressed. `connectGraph` zooms the drawing.
51762
51784
  *
51763
51785
  * ## Slots
@@ -51782,6 +51804,14 @@ export type CustomElementsSolidJs = {
51782
51804
  * `helix-graph-layout` for the page to keep. Called by `connectGraph` once
51783
51805
  * its layout has settled; a page laying out its own graph calls it the same
51784
51806
  * way.
51807
+ * - `signal(from: string, to: string, options: { tone?: GraphSignalDetail['tone'] } = {}) => void`: Shows something passing from one note to another, such as a message, a
51808
+ * request or a payment, drawn traveling along the drawing and arriving with
51809
+ * a pulse. `tone` says what it means and colors it. Call it as often as
51810
+ * things happen; each call is one signal.
51811
+ *
51812
+ * **Drawn, and never said.** A signal is motion in the drawing, which a
51813
+ * screen reader does not hear: where what passed matters to a reader, say it
51814
+ * in the page's own words as well.
51785
51815
  * - `pan(to: ViewportWay) => void`: Pans the view one step in a direction.
51786
51816
  * - `zoom(by: number) => void`: Zooms the view one step: `1` zooms in and `-1` zooms out.
51787
51817
  * - `toggleFullscreen() => void`: Turns fullscreen on or off.
package/types/vue.d.ts CHANGED
@@ -200,6 +200,7 @@ import type {
200
200
  HelixGraphPanEvent,
201
201
  HelixGraphPartChangeEvent,
202
202
  HelixGraphReadyEvent,
203
+ HelixGraphSignalEvent,
203
204
  HelixGraphZoomEvent,
204
205
  HelixResizeEvent,
205
206
  HelixShortcutEvent,
@@ -4822,6 +4823,9 @@ export type HelixHeadlessGraphHelixGraphPartChangeElementEvent =
4822
4823
  /** `helix-graph-ready` event type */
4823
4824
  export type HelixHeadlessGraphHelixGraphReadyElementEvent =
4824
4825
  HelixHeadlessGraphElementEvent<HelixGraphReadyEvent>;
4826
+ /** `helix-graph-signal` event type */
4827
+ export type HelixHeadlessGraphHelixGraphSignalElementEvent =
4828
+ HelixHeadlessGraphElementEvent<HelixGraphSignalEvent>;
4825
4829
  /** `helix-graph-zoom` event type */
4826
4830
  export type HelixHeadlessGraphHelixGraphZoomElementEvent =
4827
4831
  HelixHeadlessGraphElementEvent<HelixGraphZoomEvent>;
@@ -5069,6 +5073,8 @@ export type HelixHeadlessGraphVueEvents = {
5069
5073
  "helix-graph-part-change": HelixHeadlessGraphHelixGraphPartChangeElementEvent;
5070
5074
  /** The graph has been drawn whole, laid out and settled. Sent each time `drawn()` says it is drawn after it was not. */
5071
5075
  "helix-graph-ready": HelixHeadlessGraphHelixGraphReadyElementEvent;
5076
+ /** Something passed between two notes, sent by `signal()`. Used by `connectGraph`; pages do not need to listen for it. */
5077
+ "helix-graph-signal": HelixHeadlessGraphHelixGraphSignalElementEvent;
5072
5078
  /** A zoom button or key was pressed. `connectGraph` zooms the drawing. */
5073
5079
  "helix-graph-zoom": HelixHeadlessGraphHelixGraphZoomElementEvent;
5074
5080
  };