@nvidia-elements/core 2.8.0 → 2.9.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.
- package/CHANGELOG.md +23 -0
- package/dist/accordion/accordion.examples.json +9 -9
- package/dist/accordion/accordion2.js +4 -4
- package/dist/alert/alert-group2.js +1 -1
- package/dist/alert/alert.examples.json +3 -3
- package/dist/alert/alert2.js +1 -1
- package/dist/avatar/avatar-group2.js +1 -1
- package/dist/avatar/avatar2.js +1 -1
- package/dist/badge/badge.examples.json +2 -2
- package/dist/badge/badge2.js +1 -1
- package/dist/breadcrumb/breadcrumb.examples.json +1 -1
- package/dist/breadcrumb/breadcrumb2.js +1 -1
- package/dist/bundle.d.ts +2 -0
- package/dist/bundles/index.d.ts +211 -0
- package/dist/bundles/index.js +6 -6
- package/dist/button/button.examples.json +3 -3
- package/dist/button/button2.js +1 -1
- package/dist/button-group/button-group2.js +1 -1
- package/dist/card/card.examples.json +2 -2
- package/dist/card/card2.js +4 -4
- package/dist/chat-message/chat-message.examples.json +4 -4
- package/dist/chat-message/chat-message2.js +1 -1
- package/dist/checkbox/checkbox-group2.js +1 -1
- package/dist/checkbox/checkbox2.js +1 -1
- package/dist/color/color2.js +1 -1
- package/dist/combobox/combobox.examples.json +5 -5
- package/dist/combobox/combobox2.js +1 -1
- package/dist/copy-button/copy-button.examples.json +2 -2
- package/dist/copy-button/copy-button2.js +1 -1
- package/dist/custom-elements-jsx.d.ts +112 -1
- package/dist/custom-elements-vue.d.ts +110 -1
- package/dist/custom-elements.json +3554 -291
- package/dist/data.html.json +95 -1
- package/dist/data.snippets.json +45 -45
- package/dist/date/date2.js +1 -1
- package/dist/datetime/datetime2.js +1 -1
- package/dist/dialog/dialog-footer2.js +1 -1
- package/dist/dialog/dialog-header2.js +1 -1
- package/dist/dialog/dialog.examples.json +3 -3
- package/dist/dialog/dialog2.js +1 -1
- package/dist/divider/divider.examples.json +1 -1
- package/dist/divider/divider2.js +1 -1
- package/dist/dot/dot2.js +1 -1
- package/dist/drawer/drawer-content2.js +1 -1
- package/dist/drawer/drawer-footer2.js +1 -1
- package/dist/drawer/drawer-header2.js +1 -1
- package/dist/drawer/drawer2.js +1 -1
- package/dist/dropdown/dropdown-footer2.js +1 -1
- package/dist/dropdown/dropdown-header2.js +1 -1
- package/dist/dropdown/dropdown2.js +1 -1
- package/dist/dropdown-group/dropdown-group.examples.json +4 -4
- package/dist/dropdown-group/dropdown-group.js +1 -1
- package/dist/dropzone/dropzone.examples.json +1 -1
- package/dist/dropzone/dropzone2.js +1 -1
- package/dist/file/file2.js +1 -1
- package/dist/format-bytes/format-bytes2.js +1 -1
- package/dist/format-datetime/format-datetime.examples.json +3 -3
- package/dist/format-datetime/format-datetime2.js +1 -1
- package/dist/format-number/format-number2.js +1 -1
- package/dist/format-relative-time/format-relative-time2.js +1 -1
- package/dist/format-truncate/format-truncate.examples.json +4 -4
- package/dist/format-truncate/format-truncate2.js +1 -1
- package/dist/forms/actions.examples.json +1 -1
- package/dist/forms/control/control.examples.json +1 -1
- package/dist/forms/control/control2.js +1 -1
- package/dist/forms/control-group/control-group2.js +1 -1
- package/dist/forms/control-message/control-message2.js +1 -1
- package/dist/gauge/gauge.examples.json +2 -2
- package/dist/gauge/gauge2.js +1 -1
- package/dist/grid/cell/cell2.js +1 -1
- package/dist/grid/column/column2.js +1 -1
- package/dist/grid/footer/footer2.js +1 -1
- package/dist/grid/grid.examples.js.map +1 -1
- package/dist/grid/grid.examples.json +34 -34
- package/dist/grid/grid2.js +1 -1
- package/dist/grid/header/header2.js +1 -1
- package/dist/grid/placeholder/placeholder2.js +1 -1
- package/dist/grid/row/row2.js +1 -1
- package/dist/icon/icon2.js +2 -2
- package/dist/icon-button/icon-button2.js +1 -1
- package/dist/index.js +1 -1
- package/dist/input/input-group2.js +1 -1
- package/dist/input/input2.js +1 -1
- package/dist/internal/controllers/gesture.controller.d.ts +122 -42
- package/dist/internal/controllers/gesture.controller.examples.js.map +1 -1
- package/dist/internal/controllers/gesture.controller.examples.json +2 -2
- package/dist/internal/controllers/gesture.controller.js +300 -159
- package/dist/internal/controllers/gesture.controller.js.map +1 -1
- package/dist/internal/controllers/key-state.controller.d.ts +18 -0
- package/dist/internal/controllers/key-state.controller.js +84 -0
- package/dist/internal/controllers/key-state.controller.js.map +1 -0
- package/dist/internal/controllers/keynav-grid.controller.examples.json +1 -1
- package/dist/internal/controllers/keynav-list.controller.examples.json +1 -1
- package/dist/internal/controllers/keynav-spatial.controller.d.ts +4 -1
- package/dist/internal/controllers/keynav-spatial.controller.js +7 -6
- package/dist/internal/controllers/keynav-spatial.controller.js.map +1 -1
- package/dist/internal/controllers/popover.examples.json +2 -2
- package/dist/internal/index.d.ts +2 -0
- package/dist/internal/index.js +29 -27
- package/dist/internal/services/global.service.js +1 -1
- package/dist/internal/utils/dom.d.ts +1 -0
- package/dist/internal/utils/dom.js +42 -38
- package/dist/internal/utils/dom.js.map +1 -1
- package/dist/internal/utils/focus.d.ts +2 -0
- package/dist/internal/utils/focus.js +14 -7
- package/dist/internal/utils/focus.js.map +1 -1
- package/dist/internal/utils/numeric.d.ts +3 -0
- package/dist/internal/utils/numeric.js +14 -0
- package/dist/internal/utils/numeric.js.map +1 -0
- package/dist/logo/logo.examples.json +1 -1
- package/dist/logo/logo2.js +1 -1
- package/dist/menu/menu-item2.js +1 -1
- package/dist/menu/menu.examples.js.map +1 -1
- package/dist/menu/menu.examples.json +4 -4
- package/dist/menu/menu2.js +1 -1
- package/dist/month/month2.js +1 -1
- package/dist/notification/notification-group2.js +1 -1
- package/dist/notification/notification.examples.json +3 -3
- package/dist/notification/notification2.js +1 -1
- package/dist/page/page-panel/page-panel-content2.js +1 -1
- package/dist/page/page-panel/page-panel-footer2.js +1 -1
- package/dist/page/page-panel/page-panel-header2.js +1 -1
- package/dist/page/page-panel/page-panel2.js +1 -1
- package/dist/page/page.examples.json +10 -10
- package/dist/page/page2.js +1 -1
- package/dist/page-header/page-header.examples.json +1 -1
- package/dist/page-header/page-header2.js +1 -1
- package/dist/page-loader/page-loader2.js +1 -1
- package/dist/pagination/pagination.examples.json +6 -6
- package/dist/pagination/pagination2.js +1 -1
- package/dist/panel/panel2.js +4 -4
- package/dist/password/password2.js +1 -1
- package/dist/preferences-input/preferences-input.examples.json +1 -1
- package/dist/preferences-input/preferences-input2.js +1 -1
- package/dist/progress-bar/progress-bar.examples.json +1 -1
- package/dist/progress-bar/progress-bar2.js +1 -1
- package/dist/progress-ring/progress-ring2.js +1 -1
- package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
- package/dist/pulse/pulse2.js +1 -1
- package/dist/radio/radio-group2.js +1 -1
- package/dist/radio/radio2.js +1 -1
- package/dist/range/range.examples.json +1 -1
- package/dist/range/range2.js +1 -1
- package/dist/resize-handle/resize-handle.examples.json +4 -4
- package/dist/resize-handle/resize-handle2.js +6 -10
- package/dist/resize-handle/resize-handle2.js.map +1 -1
- package/dist/search/search2.js +1 -1
- package/dist/select/select2.js +1 -1
- package/dist/skeleton/skeleton2.js +1 -1
- package/dist/sort-button/sort-button2.js +1 -1
- package/dist/sparkline/sparkline.examples.json +2 -2
- package/dist/sparkline/sparkline2.js +1 -1
- package/dist/star-rating/star-rating2.js +1 -1
- package/dist/steps/steps2.js +2 -2
- package/dist/switch/switch-group2.js +1 -1
- package/dist/switch/switch2.js +1 -1
- package/dist/tabs/tabs-group2.js +1 -1
- package/dist/tabs/tabs.examples.json +4 -4
- package/dist/tabs/tabs2.js +2 -2
- package/dist/tag/tag.examples.json +1 -1
- package/dist/tag/tag2.js +1 -1
- package/dist/textarea/textarea.d.ts +7 -1
- package/dist/textarea/textarea.examples.js.map +1 -1
- package/dist/textarea/textarea.examples.json +22 -0
- package/dist/textarea/textarea.js +1 -1
- package/dist/textarea/textarea.js.map +1 -1
- package/dist/textarea/textarea2.js +10 -3
- package/dist/textarea/textarea2.js.map +1 -1
- package/dist/time/time2.js +1 -1
- package/dist/toast/toast.examples.json +1 -1
- package/dist/toast/toast2.js +1 -1
- package/dist/toggletip/toggletip-footer2.js +1 -1
- package/dist/toggletip/toggletip-header2.js +1 -1
- package/dist/toggletip/toggletip2.js +1 -1
- package/dist/toolbar/toolbar2.js +1 -1
- package/dist/tooltip/tooltip.examples.json +2 -2
- package/dist/tooltip/tooltip2.js +1 -1
- package/dist/tree/tree-node2.js +1 -1
- package/dist/tree/tree2.js +1 -1
- package/dist/viewport/define.d.ts +7 -0
- package/dist/viewport/define.js +7 -0
- package/dist/viewport/define.js.map +1 -0
- package/dist/viewport/index.d.ts +3 -0
- package/dist/viewport/index.js +3 -0
- package/dist/viewport/viewport-animation.controller.d.ts +21 -0
- package/dist/viewport/viewport-animation.controller.js +93 -0
- package/dist/viewport/viewport-animation.controller.js.map +1 -0
- package/dist/viewport/viewport-autofit.controller.d.ts +18 -0
- package/dist/viewport/viewport-autofit.controller.js +105 -0
- package/dist/viewport/viewport-autofit.controller.js.map +1 -0
- package/dist/viewport/viewport-fitting.utils.d.ts +36 -0
- package/dist/viewport/viewport-fitting.utils.js +35 -0
- package/dist/viewport/viewport-fitting.utils.js.map +1 -0
- package/dist/viewport/viewport-gesture-navigation.controller.d.ts +29 -0
- package/dist/viewport/viewport-gesture-navigation.controller.js +311 -0
- package/dist/viewport/viewport-gesture-navigation.controller.js.map +1 -0
- package/dist/viewport/viewport-gridlines.d.ts +38 -0
- package/dist/viewport/viewport-gridlines.js +6 -0
- package/dist/viewport/viewport-gridlines.js.map +1 -0
- package/dist/viewport/viewport-gridlines.utils.d.ts +11 -0
- package/dist/viewport/viewport-gridlines.utils.js +54 -0
- package/dist/viewport/viewport-gridlines.utils.js.map +1 -0
- package/dist/viewport/viewport-gridlines2.js +154 -0
- package/dist/viewport/viewport-gridlines2.js.map +1 -0
- package/dist/viewport/viewport-navigation.controller.d.ts +27 -0
- package/dist/viewport/viewport-navigation.controller.js +142 -0
- package/dist/viewport/viewport-navigation.controller.js.map +1 -0
- package/dist/viewport/viewport-navigation.types.d.ts +9 -0
- package/dist/viewport/viewport-projection.utils.d.ts +7 -0
- package/dist/viewport/viewport-projection.utils.js +25 -0
- package/dist/viewport/viewport-projection.utils.js.map +1 -0
- package/dist/viewport/viewport.d.ts +92 -0
- package/dist/viewport/viewport.examples.js +6 -0
- package/dist/viewport/viewport.examples.js.map +1 -0
- package/dist/viewport/viewport.examples.json +60 -0
- package/dist/viewport/viewport.js +6 -0
- package/dist/viewport/viewport.js.map +1 -0
- package/dist/viewport/viewport.types.d.ts +66 -0
- package/dist/viewport/viewport2.js +375 -0
- package/dist/viewport/viewport2.js.map +1 -0
- package/dist/week/week2.js +1 -1
- package/package.json +14 -2
package/dist/grid/grid2.js
CHANGED
package/dist/grid/row/row2.js
CHANGED
package/dist/icon/icon2.js
CHANGED
|
@@ -16,7 +16,7 @@ var f = class e extends o {
|
|
|
16
16
|
static {
|
|
17
17
|
this.metadata = {
|
|
18
18
|
tag: "nve-icon",
|
|
19
|
-
version: "2.
|
|
19
|
+
version: "2.9.0"
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
static {
|
|
@@ -103,7 +103,7 @@ a([l({
|
|
|
103
103
|
})], f.prototype, "name", void 0), a([d()], f.prototype, "svg", void 0);
|
|
104
104
|
function p(t) {
|
|
105
105
|
if (typeof globalThis.customElements?.get == "function") {
|
|
106
|
-
let n = e(t.metadata.version), i = e("2.
|
|
106
|
+
let n = e(t.metadata.version), i = e("2.9.0");
|
|
107
107
|
n.minor <= i.minor && n.major <= i.major && (t._icons = {
|
|
108
108
|
...t._icons,
|
|
109
109
|
...r
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { I18nService as e } from "./internal/services/i18n.service.js";
|
|
|
2
2
|
import { getThemeTokens as t } from "./internal/utils/dom.js";
|
|
3
3
|
import { statusIcons as n } from "./internal/types/index.js";
|
|
4
4
|
//#region src/index.ts
|
|
5
|
-
var r = "2.
|
|
5
|
+
var r = "2.9.0", i = "@nvidia-elements";
|
|
6
6
|
//#endregion
|
|
7
7
|
export { e as I18nService, i as SCOPE, r as VERSION, t as getThemeTokens, n as statusIcons };
|
|
8
8
|
|
package/dist/input/input2.js
CHANGED
|
@@ -1,65 +1,145 @@
|
|
|
1
1
|
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
|
2
|
-
export interface
|
|
3
|
-
readonly drag
|
|
4
|
-
readonly
|
|
5
|
-
readonly pinch: boolean;
|
|
6
|
-
readonly wheel: boolean;
|
|
2
|
+
export interface PointerClaimOptions {
|
|
3
|
+
readonly kind?: 'drag' | 'pan';
|
|
4
|
+
readonly pinchCandidate?: boolean;
|
|
7
5
|
}
|
|
8
|
-
interface
|
|
6
|
+
export interface PinchStartDecision<TContext> {
|
|
7
|
+
readonly context: TContext;
|
|
8
|
+
}
|
|
9
|
+
/** Coordinates and deltas use CSS pixels; movement is sample-relative and total displacement is start-relative. */
|
|
10
|
+
export interface PointerMovementGesture {
|
|
9
11
|
readonly event: PointerEvent;
|
|
12
|
+
readonly clientX: number;
|
|
13
|
+
readonly clientY: number;
|
|
10
14
|
readonly movementX: number;
|
|
11
15
|
readonly movementY: number;
|
|
16
|
+
readonly startClientX: number;
|
|
17
|
+
readonly startClientY: number;
|
|
18
|
+
readonly totalDisplacementX: number;
|
|
19
|
+
readonly totalDisplacementY: number;
|
|
20
|
+
}
|
|
21
|
+
export interface PinchStart {
|
|
22
|
+
readonly firstPointerId: number;
|
|
23
|
+
readonly firstPointerType: string;
|
|
24
|
+
readonly firstStartClientX: number;
|
|
25
|
+
readonly firstStartClientY: number;
|
|
26
|
+
readonly secondPointerId: number;
|
|
27
|
+
readonly secondPointerType: string;
|
|
28
|
+
readonly secondStartClientX: number;
|
|
29
|
+
readonly secondStartClientY: number;
|
|
30
|
+
readonly startCenterClientX: number;
|
|
31
|
+
readonly startCenterClientY: number;
|
|
32
|
+
}
|
|
33
|
+
export interface PinchGesture<TContext> extends PinchStart {
|
|
34
|
+
readonly kind: 'pinch';
|
|
35
|
+
readonly event: PointerEvent;
|
|
36
|
+
readonly context: TContext;
|
|
37
|
+
/** Current pointer distance divided by the starting pointer distance. */
|
|
38
|
+
readonly scale: number;
|
|
39
|
+
readonly centerClientX: number;
|
|
40
|
+
readonly centerClientY: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Per-event wheel input normalized to CSS pixels.
|
|
44
|
+
*
|
|
45
|
+
* Modifier-assisted trackpad pinch remains wheel input: consumers can classify it using the native event's
|
|
46
|
+
* `ctrlKey` or `metaKey` without conflating it with the start-relative lifecycle of a two-pointer pinch.
|
|
47
|
+
*/
|
|
48
|
+
export interface WheelGesture {
|
|
49
|
+
readonly kind: 'wheel';
|
|
50
|
+
readonly event: WheelEvent;
|
|
51
|
+
readonly clientX: number;
|
|
52
|
+
readonly clientY: number;
|
|
53
|
+
readonly deltaX: number;
|
|
54
|
+
readonly deltaY: number;
|
|
55
|
+
}
|
|
56
|
+
export type PointerEndReason = 'up' | 'cancel' | 'lost-capture' | 'buttons-released';
|
|
57
|
+
export interface PointerEndGesture extends PointerMovementGesture {
|
|
58
|
+
readonly kind: 'pointerend';
|
|
59
|
+
/** Whether the pointer session ended without an observed physical release. */
|
|
60
|
+
readonly interrupted: boolean;
|
|
61
|
+
readonly reason: PointerEndReason;
|
|
12
62
|
}
|
|
13
63
|
export type Gesture<TPinchContext> = (PointerMovementGesture & {
|
|
14
64
|
readonly kind: 'drag';
|
|
15
65
|
}) | (PointerMovementGesture & {
|
|
16
66
|
readonly kind: 'pan';
|
|
17
|
-
}) |
|
|
18
|
-
|
|
19
|
-
readonly event: PointerEvent;
|
|
20
|
-
readonly kind: 'pinch';
|
|
21
|
-
readonly scale: number;
|
|
22
|
-
} | {
|
|
23
|
-
readonly deltaPixels: number;
|
|
24
|
-
readonly event: WheelEvent;
|
|
25
|
-
readonly kind: 'wheel';
|
|
26
|
-
};
|
|
27
|
-
export type UnhandledPointerInput = {
|
|
28
|
-
readonly event: PointerEvent;
|
|
29
|
-
readonly kind: 'click';
|
|
30
|
-
} | {
|
|
31
|
-
readonly event: PointerEvent;
|
|
32
|
-
readonly kind: 'lostpointercapture';
|
|
33
|
-
} | {
|
|
34
|
-
readonly event: PointerEvent;
|
|
35
|
-
readonly kind: 'pointercancel';
|
|
36
|
-
} | {
|
|
67
|
+
}) | PinchGesture<TPinchContext>;
|
|
68
|
+
export interface PointerDownInput {
|
|
37
69
|
readonly event: PointerEvent;
|
|
38
70
|
readonly kind: 'pointerdown';
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
readonly
|
|
44
|
-
|
|
45
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Claims this pointer sequence once during the synchronous input dispatch and suppresses native text selection for
|
|
73
|
+
* its lifetime; returns `false` after that window.
|
|
74
|
+
*/
|
|
75
|
+
readonly claim: (options?: PointerClaimOptions) => boolean;
|
|
76
|
+
}
|
|
77
|
+
export interface WheelGestureInput extends WheelGesture {
|
|
78
|
+
/** Claims and prevents this wheel event during the synchronous input dispatch; returns `false` afterward. */
|
|
79
|
+
readonly claim: () => boolean;
|
|
80
|
+
}
|
|
81
|
+
/** Claimable starts, claimed pointer terminals, and normalized claimable wheel input. */
|
|
82
|
+
export type GestureInput = PointerDownInput | PointerEndGesture | WheelGestureInput;
|
|
83
|
+
/** Precedence policy for claims among nested GestureController targets. */
|
|
84
|
+
export type GestureClaimPriority = 'self-first' | 'descendant-first';
|
|
46
85
|
export interface GestureControllerOptions<TPinchContext = undefined> {
|
|
47
|
-
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Skips admission of a new pointer sequence or a stateless native event.
|
|
88
|
+
* The controller does not consult it again after a pointerdown claim.
|
|
89
|
+
*/
|
|
90
|
+
readonly shouldIgnoreEvent?: (event: Event) => boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Consulted once when the controller first observes two claimed pinch candidates.
|
|
93
|
+
* Returning `undefined` declines that pair; otherwise the controller retains the context for its pinch lifetime.
|
|
94
|
+
* The pair remains locked until fewer than two pinch candidates remain.
|
|
95
|
+
*/
|
|
96
|
+
readonly beginPinch?: (start: PinchStart) => PinchStartDecision<TPinchContext> | undefined;
|
|
97
|
+
/** Consulted independently for each context-menu event. */
|
|
98
|
+
readonly shouldPreventContextMenu?: (event: MouseEvent) => boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Determines precedence among nested GestureController targets.
|
|
101
|
+
*
|
|
102
|
+
* `self-first` is appropriate for a dedicated interaction surface.
|
|
103
|
+
* `descendant-first` lets nested controllers claim input before this controller.
|
|
104
|
+
*
|
|
105
|
+
* Defaults to `self-first`.
|
|
106
|
+
*/
|
|
107
|
+
readonly claimPriority?: GestureClaimPriority;
|
|
108
|
+
/**
|
|
109
|
+
* Consulted during native pointerdown capture before descendant handlers.
|
|
110
|
+
*
|
|
111
|
+
* Returning true calls preventDefault() on the pointerdown, but does not
|
|
112
|
+
* claim the pointer, capture it, stop propagation, create pointer state,
|
|
113
|
+
* suppress selection, or start a gesture.
|
|
114
|
+
*
|
|
115
|
+
* This is meaningful with `claimPriority: 'descendant-first'`. It lets an
|
|
116
|
+
* activated higher-level interaction mode reserve a sequence for ordinary
|
|
117
|
+
* target-phase application code while preserving nested GestureController
|
|
118
|
+
* claim priority.
|
|
119
|
+
*/
|
|
120
|
+
readonly shouldReservePointerDown?: (event: PointerEvent) => boolean;
|
|
121
|
+
/** Prevents native HTML drag competition on a dedicated interaction surface. */
|
|
122
|
+
readonly suppressNativeDrag?: boolean;
|
|
123
|
+
/**
|
|
124
|
+
* Inline `touch-action` for a dedicated interaction surface. The controller reevaluates a callback after host updates.
|
|
125
|
+
* Restores the target's prior inline value afterward.
|
|
126
|
+
* Avoid applying it to a general root that contains native interactive content.
|
|
127
|
+
*/
|
|
128
|
+
readonly touchAction?: string | (() => string | undefined);
|
|
55
129
|
}
|
|
56
130
|
type GestureHost = EventTarget & ReactiveControllerHost;
|
|
57
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Normalizes claimable platform pointer and wheel input on a dynamically assigned target.
|
|
133
|
+
* A pointer claim owns native input competition for its lifetime: the controller prevents claimed movement and text
|
|
134
|
+
* selection, and can suppress native drag when configured.
|
|
135
|
+
*/
|
|
58
136
|
export declare class GestureController<TPinchContext = undefined> implements ReactiveController {
|
|
59
137
|
#private;
|
|
60
138
|
constructor(host: GestureHost, options: GestureControllerOptions<TPinchContext>);
|
|
139
|
+
getWheelZoomFactor(input: Pick<WheelGesture, 'deltaY' | 'event'>): number;
|
|
61
140
|
set target(target: HTMLElement | undefined);
|
|
62
141
|
hostConnected(): void;
|
|
63
142
|
hostDisconnected(): void;
|
|
143
|
+
hostUpdated(): void;
|
|
64
144
|
}
|
|
65
145
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gesture.controller.examples.js","names":[],"sources":["../../../src/internal/controllers/gesture.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { GestureController } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n};\n\nclass GestureDemoElement extends LitElement {\n readonly #gestureController = new GestureController(this, {
|
|
1
|
+
{"version":3,"file":"gesture.controller.examples.js","names":[],"sources":["../../../src/internal/controllers/gesture.controller.examples.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { css, html, LitElement } from 'lit';\nimport { GestureController } from '@nvidia-elements/core/internal';\n\nexport default {\n title: 'Internal/Controllers'\n};\n\nclass GestureDemoElement extends LitElement {\n readonly #gestureController = new GestureController(this, {});\n\n static styles = css`\n :host {\n cursor: grab;\n display: grid;\n height: 64px;\n place-items: center;\n width: 64px;\n }\n\n :host([data-active]) {\n cursor: grabbing;\n }\n `;\n\n constructor() {\n super();\n this.#gestureController.target = this;\n }\n\n render() {\n return html`drag`;\n }\n}\n\nif (!customElements.get('gesture-controller-demo-element')) {\n customElements.define('gesture-controller-demo-element', GestureDemoElement);\n}\n\n/**\n * @summary Synchronously claimed pointer input produces drag gestures while preserving start and end input. Use this pattern when a control owns a pointer sequence.\n * @tags test-case\n */\nexport const Drag = {\n render: () => html`\n<gesture-controller-demo-element></gesture-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector('gesture-controller-demo-element');\n let x = 0;\n let y = 0;\n\n element.addEventListener('nve-gesture-input', ({ detail }) => {\n if (detail.kind === 'pointerdown' && detail.claim({ kind: 'drag' })) element.dataset.active = '';\n if (detail.kind === 'pointerend') delete element.dataset.active;\n });\n\n element.addEventListener('nve-gesture', ({ detail }) => {\n if (detail.kind !== 'drag') return;\n x += detail.movementX;\n y += detail.movementY;\n element.style.translate = x + 'px ' + y + 'px';\n });\n</script>\n`\n};\n"],"mappings":";AAGA,IAAA,IAAc"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
{
|
|
5
5
|
"id": "internal-controllers-gesture.controller-drag",
|
|
6
6
|
"name": "Drag",
|
|
7
|
-
"template": "<gesture-controller-demo-element></gesture-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector(\"gesture-controller-demo-element\");\n let x = 0;\n let y = 0;\n element.addEventListener(\"nve-
|
|
8
|
-
"summary": "
|
|
7
|
+
"template": "<gesture-controller-demo-element></gesture-controller-demo-element>\n<script type=\"module\">\n const element = document.querySelector(\"gesture-controller-demo-element\");\n let x = 0;\n let y = 0;\n element.addEventListener(\"nve-gesture-input\", ({ detail }) => {\n if (detail.kind === \"pointerdown\" && detail.claim({ kind: \"drag\" })) element.dataset.active = \"\";\n if (detail.kind === \"pointerend\") delete element.dataset.active;\n });\n element.addEventListener(\"nve-gesture\", ({ detail }) => {\n if (detail.kind !== \"drag\") return;\n x += detail.movementX;\n y += detail.movementY;\n element.style.translate = x + \"px \" + y + \"px\";\n });\n</script>\n",
|
|
8
|
+
"summary": "Synchronously claimed pointer input produces drag gestures while preserving start and end input. Use this pattern when a control owns a pointer sequence.",
|
|
9
9
|
"description": "",
|
|
10
10
|
"composition": false,
|
|
11
11
|
"tags": [
|