@fusion.dev/helix-core 0.100.0 → 0.102.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.
@@ -3196,6 +3196,50 @@
3196
3196
  },
3197
3197
  "helix": {}
3198
3198
  },
3199
+ {
3200
+ "kind": "class",
3201
+ "description": "The reader asked the map to move, which is as far as this library goes.\n\n**Helix draws no map and moves nobody's.** A tile renderer is a library and\nthe frame around it is what this adds, so panning is a request the consumer\nanswers against whatever they slotted: MapLibre, Leaflet, Google, or their\nown. The direction is in reading order rather than compass order, because the\ncontrol that sent it is a button a reader pressed and `start` on a\nright-to-left page is east.\n\nNot cancelable. Nothing here moves on its own, and an event whose\n`preventDefault` means nothing is an event that lies about what it offers.",
3202
+ "name": "HelixMapPanEvent",
3203
+ "members": [
3204
+ {
3205
+ "kind": "field",
3206
+ "name": "eventName",
3207
+ "type": {
3208
+ "text": "string"
3209
+ },
3210
+ "static": true,
3211
+ "readonly": true,
3212
+ "default": "'helix-map-pan'"
3213
+ }
3214
+ ],
3215
+ "superclass": {
3216
+ "name": "CustomEvent",
3217
+ "module": "src/events/events.ts"
3218
+ },
3219
+ "helix": {}
3220
+ },
3221
+ {
3222
+ "kind": "class",
3223
+ "description": "The reader asked the map to zoom, and for the same reason it is a request.\n\n`by` is a direction rather than a level: a scale a consumer's map understands\nis the consumer's to decide, and a frame that said \"go to zoom 14\" would be\nasserting a numbering that Leaflet, MapLibre and a static tile server do not\nagree on.",
3224
+ "name": "HelixMapZoomEvent",
3225
+ "members": [
3226
+ {
3227
+ "kind": "field",
3228
+ "name": "eventName",
3229
+ "type": {
3230
+ "text": "string"
3231
+ },
3232
+ "static": true,
3233
+ "readonly": true,
3234
+ "default": "'helix-map-zoom'"
3235
+ }
3236
+ ],
3237
+ "superclass": {
3238
+ "name": "CustomEvent",
3239
+ "module": "src/events/events.ts"
3240
+ },
3241
+ "helix": {}
3242
+ },
3199
3243
  {
3200
3244
  "kind": "class",
3201
3245
  "description": "A message is about to be pinned or unpinned, and can be refused.",
@@ -3837,6 +3881,22 @@
3837
3881
  "module": "src/events/events.ts"
3838
3882
  }
3839
3883
  },
3884
+ {
3885
+ "kind": "js",
3886
+ "name": "HelixMapPanEvent",
3887
+ "declaration": {
3888
+ "name": "HelixMapPanEvent",
3889
+ "module": "src/events/events.ts"
3890
+ }
3891
+ },
3892
+ {
3893
+ "kind": "js",
3894
+ "name": "HelixMapZoomEvent",
3895
+ "declaration": {
3896
+ "name": "HelixMapZoomEvent",
3897
+ "module": "src/events/events.ts"
3898
+ }
3899
+ },
3840
3900
  {
3841
3901
  "kind": "js",
3842
3902
  "name": "HelixBeforePinEvent",
@@ -5705,6 +5765,22 @@
5705
5765
  "module": "./events/events.js"
5706
5766
  }
5707
5767
  },
5768
+ {
5769
+ "kind": "js",
5770
+ "name": "HelixMapPanEvent",
5771
+ "declaration": {
5772
+ "name": "HelixMapPanEvent",
5773
+ "module": "./events/events.js"
5774
+ }
5775
+ },
5776
+ {
5777
+ "kind": "js",
5778
+ "name": "HelixMapZoomEvent",
5779
+ "declaration": {
5780
+ "name": "HelixMapZoomEvent",
5781
+ "module": "./events/events.js"
5782
+ }
5783
+ },
5708
5784
  {
5709
5785
  "kind": "js",
5710
5786
  "name": "HelixNavigateEvent",
@@ -5817,6 +5893,22 @@
5817
5893
  "module": "./events/events.js"
5818
5894
  }
5819
5895
  },
5896
+ {
5897
+ "kind": "js",
5898
+ "name": "MapPanDetail",
5899
+ "declaration": {
5900
+ "name": "MapPanDetail",
5901
+ "module": "./events/events.js"
5902
+ }
5903
+ },
5904
+ {
5905
+ "kind": "js",
5906
+ "name": "MapZoomDetail",
5907
+ "declaration": {
5908
+ "name": "MapZoomDetail",
5909
+ "module": "./events/events.js"
5910
+ }
5911
+ },
5820
5912
  {
5821
5913
  "kind": "js",
5822
5914
  "name": "NavigateDetail",
@@ -70,6 +70,18 @@ export interface SkipDetail {
70
70
  /** Which way the reader asked to go. */
71
71
  to: 'next' | 'previous';
72
72
  }
73
+ /** Detail carried by `helix-map-pan`. */
74
+ export interface MapPanDetail {
75
+ /** Which way the reader asked to go, in reading order rather than compass order. */
76
+ to: 'up' | 'down' | 'start' | 'end';
77
+ /** How far, as a fraction of the viewport the map is drawn in. */
78
+ by: number;
79
+ }
80
+ /** Detail carried by `helix-map-zoom`. */
81
+ export interface MapZoomDetail {
82
+ /** Which way, `1` in and `-1` out, so a consumer can multiply by their own step. */
83
+ by: number;
84
+ }
73
85
  /** Detail carried by `helix-navigate`. */
74
86
  export interface NavigateDetail {
75
87
  /** Where the view is moving to, in whatever the component pages by. */
@@ -282,6 +294,35 @@ export declare class HelixActivateEvent extends CustomEvent<ChangeDetail> {
282
294
  static readonly eventName = "helix-activate";
283
295
  constructor(detail: ChangeDetail);
284
296
  }
297
+ /**
298
+ * The reader asked the map to move, which is as far as this library goes.
299
+ *
300
+ * **Helix draws no map and moves nobody's.** A tile renderer is a library and
301
+ * the frame around it is what this adds, so panning is a request the consumer
302
+ * answers against whatever they slotted: MapLibre, Leaflet, Google, or their
303
+ * own. The direction is in reading order rather than compass order, because the
304
+ * control that sent it is a button a reader pressed and `start` on a
305
+ * right-to-left page is east.
306
+ *
307
+ * Not cancelable. Nothing here moves on its own, and an event whose
308
+ * `preventDefault` means nothing is an event that lies about what it offers.
309
+ */
310
+ export declare class HelixMapPanEvent extends CustomEvent<MapPanDetail> {
311
+ static readonly eventName = "helix-map-pan";
312
+ constructor(detail: MapPanDetail);
313
+ }
314
+ /**
315
+ * The reader asked the map to zoom, and for the same reason it is a request.
316
+ *
317
+ * `by` is a direction rather than a level: a scale a consumer's map understands
318
+ * is the consumer's to decide, and a frame that said "go to zoom 14" would be
319
+ * asserting a numbering that Leaflet, MapLibre and a static tile server do not
320
+ * agree on.
321
+ */
322
+ export declare class HelixMapZoomEvent extends CustomEvent<MapZoomDetail> {
323
+ static readonly eventName = "helix-map-zoom";
324
+ constructor(detail: MapZoomDetail);
325
+ }
285
326
  /** A message is about to be pinned or unpinned, and can be refused. */
286
327
  export declare class HelixBeforePinEvent extends CustomEvent<ChangeDetail> {
287
328
  static readonly eventName = "helix-before-pin";
@@ -752,6 +793,8 @@ declare const registry: {
752
793
  readonly HelixFacetEvent: typeof HelixFacetEvent;
753
794
  readonly HelixFilterEvent: typeof HelixFilterEvent;
754
795
  readonly HelixHistoryEvent: typeof HelixHistoryEvent;
796
+ readonly HelixMapPanEvent: typeof HelixMapPanEvent;
797
+ readonly HelixMapZoomEvent: typeof HelixMapZoomEvent;
755
798
  readonly HelixNavigateEvent: typeof HelixNavigateEvent;
756
799
  readonly HelixNextEvent: typeof HelixNextEvent;
757
800
  readonly HelixPreviousEvent: typeof HelixPreviousEvent;
@@ -98,6 +98,28 @@ export class HelixActivateEvent extends CustomEvent {
98
98
  });
99
99
  }
100
100
  }
101
+ export class HelixMapPanEvent extends CustomEvent {
102
+ static { this.eventName = 'helix-map-pan'; }
103
+ constructor(detail) {
104
+ super(HelixMapPanEvent.eventName, {
105
+ bubbles: true,
106
+ cancelable: false,
107
+ composed: true,
108
+ detail,
109
+ });
110
+ }
111
+ }
112
+ export class HelixMapZoomEvent extends CustomEvent {
113
+ static { this.eventName = 'helix-map-zoom'; }
114
+ constructor(detail) {
115
+ super(HelixMapZoomEvent.eventName, {
116
+ bubbles: true,
117
+ cancelable: false,
118
+ composed: true,
119
+ detail,
120
+ });
121
+ }
122
+ }
101
123
  export class HelixBeforePinEvent extends CustomEvent {
102
124
  static { this.eventName = 'helix-before-pin'; }
103
125
  constructor(detail) {
@@ -394,6 +416,8 @@ const registry = {
394
416
  HelixFacetEvent,
395
417
  HelixFilterEvent,
396
418
  HelixHistoryEvent,
419
+ HelixMapPanEvent,
420
+ HelixMapZoomEvent,
397
421
  HelixNavigateEvent,
398
422
  HelixNextEvent,
399
423
  HelixPreviousEvent,
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export { SourceController, type SourceHost, } from './controllers/source-control
19
19
  export { type TokenColor, TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
20
20
  export { type Rendered, VirtualizeController, type VirtualizeOptions, type Window as VirtualizeWindow, } from './controllers/virtualize-controller/virtualize-controller.js';
21
21
  export { eventsForTag, registerElementEvents } from './events/element-events.js';
22
- export { type CaretDetail, type ChangeDetail, type CompleteDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCaretEvent, HelixCompleteEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixHistoryEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, type NavigateDetail, type OpenDetail, type ReadDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, } from './events/events.js';
22
+ export { type CaretDetail, type ChangeDetail, type CompleteDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCaretEvent, HelixCompleteEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixHistoryEvent, HelixMapPanEvent, HelixMapZoomEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, type MapPanDetail, type MapZoomDetail, type NavigateDetail, type OpenDetail, type ReadDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, } from './events/events.js';
23
23
  export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
24
24
  export { HelixFormElement } from './helix-form-element/helix-form-element.js';
25
25
  export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ export { SourceController, } from './controllers/source-controller/source-contro
19
19
  export { TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
20
20
  export { VirtualizeController, } from './controllers/virtualize-controller/virtualize-controller.js';
21
21
  export { eventsForTag, registerElementEvents } from './events/element-events.js';
22
- export { HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCaretEvent, HelixCompleteEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixHistoryEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, } from './events/events.js';
22
+ export { HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCaretEvent, HelixCompleteEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixHistoryEvent, HelixMapPanEvent, HelixMapZoomEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, } from './events/events.js';
23
23
  export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
24
24
  export { HelixFormElement } from './helix-form-element/helix-form-element.js';
25
25
  export { MixinChartSource, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-core",
3
3
  "description": "Helix element primitives: base classes, mixins, decorators, utilities.",
4
- "version": "0.100.0",
4
+ "version": "0.102.0",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -34,11 +34,11 @@
34
34
  "bugs": "https://github.com/project-fusion/fusion/issues",
35
35
  "dependencies": {
36
36
  "@floating-ui/dom": "^1.8.0",
37
- "@fusion.dev/helix-icons": "0.100.0"
37
+ "@fusion.dev/helix-icons": "0.102.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@fusion.dev/helix-cem": "0.100.0",
41
- "@fusion.dev/helix-testing": "0.100.0",
40
+ "@fusion.dev/helix-cem": "0.102.0",
41
+ "@fusion.dev/helix-testing": "0.102.0",
42
42
  "@lit-labs/ssr": "^4.1.0",
43
43
  "lit": "^3.2.1"
44
44
  },