@nvidia-elements/core 2.10.0 → 2.11.1

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 (169) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/accordion/accordion2.js +4 -4
  3. package/dist/alert/alert-group2.js +1 -1
  4. package/dist/alert/alert2.js +1 -1
  5. package/dist/avatar/avatar-group2.js +1 -1
  6. package/dist/avatar/avatar2.js +1 -1
  7. package/dist/badge/badge2.js +1 -1
  8. package/dist/breadcrumb/breadcrumb2.js +1 -1
  9. package/dist/bundles/index.d.ts +176 -43
  10. package/dist/bundles/index.js +6 -6
  11. package/dist/button/button2.js +1 -1
  12. package/dist/button-group/button-group2.js +1 -1
  13. package/dist/card/card2.js +4 -4
  14. package/dist/chat-message/chat-message2.js +1 -1
  15. package/dist/checkbox/checkbox-group2.js +1 -1
  16. package/dist/checkbox/checkbox2.js +1 -1
  17. package/dist/color/color2.js +1 -1
  18. package/dist/combobox/combobox2.js +1 -1
  19. package/dist/copy-button/copy-button2.js +1 -1
  20. package/dist/custom-elements-jsx.d.ts +101 -9
  21. package/dist/custom-elements-vue.d.ts +99 -9
  22. package/dist/custom-elements.json +1055 -322
  23. package/dist/data.html.json +51 -3
  24. package/dist/date/date2.js +1 -1
  25. package/dist/datetime/datetime2.js +1 -1
  26. package/dist/dialog/dialog-footer2.js +1 -1
  27. package/dist/dialog/dialog-header2.js +1 -1
  28. package/dist/dialog/dialog2.js +1 -1
  29. package/dist/divider/divider2.js +1 -1
  30. package/dist/dot/dot2.js +1 -1
  31. package/dist/drawer/drawer-content2.js +1 -1
  32. package/dist/drawer/drawer-footer2.js +1 -1
  33. package/dist/drawer/drawer-header2.js +1 -1
  34. package/dist/drawer/drawer2.js +1 -1
  35. package/dist/dropdown/dropdown-footer2.js +1 -1
  36. package/dist/dropdown/dropdown-header2.js +1 -1
  37. package/dist/dropdown/dropdown2.js +1 -1
  38. package/dist/dropdown-group/dropdown-group.js +1 -1
  39. package/dist/dropzone/dropzone2.js +1 -1
  40. package/dist/file/file2.js +1 -1
  41. package/dist/format-bytes/format-bytes2.js +1 -1
  42. package/dist/format-datetime/format-datetime2.js +1 -1
  43. package/dist/format-number/format-number2.js +1 -1
  44. package/dist/format-relative-time/format-relative-time2.js +1 -1
  45. package/dist/format-truncate/format-truncate2.js +1 -1
  46. package/dist/forms/control/control2.js +1 -1
  47. package/dist/forms/control-group/control-group2.js +1 -1
  48. package/dist/forms/control-message/control-message2.js +1 -1
  49. package/dist/gauge/gauge2.js +1 -1
  50. package/dist/grid/cell/cell2.js +1 -1
  51. package/dist/grid/column/column2.js +1 -1
  52. package/dist/grid/footer/footer2.js +1 -1
  53. package/dist/grid/grid2.js +1 -1
  54. package/dist/grid/header/header2.js +1 -1
  55. package/dist/grid/placeholder/placeholder2.js +1 -1
  56. package/dist/grid/row/row2.js +1 -1
  57. package/dist/icon/icon2.js +2 -2
  58. package/dist/icon-button/icon-button2.js +1 -1
  59. package/dist/index.js +1 -1
  60. package/dist/input/input-group2.js +1 -1
  61. package/dist/input/input2.js +1 -1
  62. package/dist/internal/controllers/state-scroll.controller.js +27 -17
  63. package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
  64. package/dist/internal/services/global.service.js +1 -1
  65. package/dist/internal/types/index.d.ts +6 -2
  66. package/dist/internal/types/index.js.map +1 -1
  67. package/dist/internal/utils/audit.js +1 -1
  68. package/dist/internal/utils/audit.js.map +1 -1
  69. package/dist/logo/logo2.js +1 -1
  70. package/dist/menu/define.d.ts +2 -1
  71. package/dist/menu/define.js +3 -2
  72. package/dist/menu/define.js.map +1 -1
  73. package/dist/menu/index.d.ts +1 -0
  74. package/dist/menu/index.js +3 -2
  75. package/dist/menu/menu-group.d.ts +50 -0
  76. package/dist/menu/menu-group.js +6 -0
  77. package/dist/menu/menu-group.js.map +1 -0
  78. package/dist/menu/menu-group2.js +53 -0
  79. package/dist/menu/menu-group2.js.map +1 -0
  80. package/dist/menu/menu-item.d.ts +1 -0
  81. package/dist/menu/menu-item.js +1 -1
  82. package/dist/menu/menu-item.js.map +1 -1
  83. package/dist/menu/menu-item2.js +2 -2
  84. package/dist/menu/menu-item2.js.map +1 -1
  85. package/dist/menu/menu.d.ts +6 -1
  86. package/dist/menu/menu.examples.js.map +1 -1
  87. package/dist/menu/menu.examples.json +53 -13
  88. package/dist/menu/menu.global.js +1 -1
  89. package/dist/menu/menu.global.js.map +1 -1
  90. package/dist/menu/menu2.js +16 -8
  91. package/dist/menu/menu2.js.map +1 -1
  92. package/dist/month/month2.js +1 -1
  93. package/dist/notification/notification-group2.js +1 -1
  94. package/dist/notification/notification2.js +1 -1
  95. package/dist/page/page-panel/page-panel-content2.js +1 -1
  96. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  97. package/dist/page/page-panel/page-panel-header2.js +1 -1
  98. package/dist/page/page-panel/page-panel2.js +1 -1
  99. package/dist/page/page2.js +1 -1
  100. package/dist/page-header/page-header2.js +1 -1
  101. package/dist/page-loader/page-loader2.js +1 -1
  102. package/dist/pagination/pagination2.js +1 -1
  103. package/dist/panel/panel2.js +4 -4
  104. package/dist/password/password2.js +1 -1
  105. package/dist/preferences-input/preferences-input2.js +1 -1
  106. package/dist/progress-bar/progress-bar2.js +1 -1
  107. package/dist/progress-ring/progress-ring2.js +1 -1
  108. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  109. package/dist/pulse/pulse2.js +1 -1
  110. package/dist/radio/radio-group2.js +1 -1
  111. package/dist/radio/radio2.js +1 -1
  112. package/dist/range/range2.js +1 -1
  113. package/dist/resize-handle/resize-handle2.js +1 -1
  114. package/dist/search/search2.js +1 -1
  115. package/dist/select/select2.js +1 -1
  116. package/dist/skeleton/skeleton2.js +1 -1
  117. package/dist/sort-button/sort-button2.js +1 -1
  118. package/dist/sparkline/sparkline2.js +1 -1
  119. package/dist/star-rating/star-rating2.js +1 -1
  120. package/dist/steps/steps.d.ts +3 -3
  121. package/dist/steps/steps2.js +2 -2
  122. package/dist/steps/steps2.js.map +1 -1
  123. package/dist/switch/switch-group2.js +1 -1
  124. package/dist/switch/switch2.js +1 -1
  125. package/dist/tabs/tabs-group2.js +1 -1
  126. package/dist/tabs/tabs2.js +2 -2
  127. package/dist/tag/tag2.js +1 -1
  128. package/dist/textarea/textarea2.js +1 -1
  129. package/dist/time/time2.js +1 -1
  130. package/dist/toast/toast2.js +1 -1
  131. package/dist/toggletip/toggletip-footer2.js +1 -1
  132. package/dist/toggletip/toggletip-header2.js +1 -1
  133. package/dist/toggletip/toggletip2.js +1 -1
  134. package/dist/toolbar/toolbar2.js +1 -1
  135. package/dist/tooltip/tooltip2.js +1 -1
  136. package/dist/tree/tree-node2.js +1 -1
  137. package/dist/tree/tree2.js +1 -1
  138. package/dist/viewport/define.d.ts +2 -1
  139. package/dist/viewport/define.js +2 -1
  140. package/dist/viewport/define.js.map +1 -1
  141. package/dist/viewport/index.d.ts +2 -1
  142. package/dist/viewport/index.js +2 -1
  143. package/dist/viewport/viewport-gesture-navigation.controller.d.ts +8 -10
  144. package/dist/viewport/viewport-gesture-navigation.controller.js +73 -66
  145. package/dist/viewport/viewport-gesture-navigation.controller.js.map +1 -1
  146. package/dist/viewport/viewport-gridlines2.js +3 -3
  147. package/dist/viewport/viewport-gridlines2.js.map +1 -1
  148. package/dist/viewport/viewport-minimap.d.ts +36 -0
  149. package/dist/viewport/viewport-minimap.js +6 -0
  150. package/dist/viewport/viewport-minimap.js.map +1 -0
  151. package/dist/viewport/viewport-minimap.utils.d.ts +13 -0
  152. package/dist/viewport/viewport-minimap.utils.js +49 -0
  153. package/dist/viewport/viewport-minimap.utils.js.map +1 -0
  154. package/dist/viewport/viewport-minimap2.js +309 -0
  155. package/dist/viewport/viewport-minimap2.js.map +1 -0
  156. package/dist/viewport/viewport-navigation.controller.d.ts +7 -13
  157. package/dist/viewport/viewport-navigation.controller.js +14 -20
  158. package/dist/viewport/viewport-navigation.controller.js.map +1 -1
  159. package/dist/viewport/viewport-navigation.types.d.ts +0 -8
  160. package/dist/viewport/viewport.d.ts +30 -5
  161. package/dist/viewport/viewport.examples.js.map +1 -1
  162. package/dist/viewport/viewport.examples.json +15 -6
  163. package/dist/viewport/viewport.js +1 -1
  164. package/dist/viewport/viewport.js.map +1 -1
  165. package/dist/viewport/viewport.types.d.ts +50 -23
  166. package/dist/viewport/viewport2.js +173 -118
  167. package/dist/viewport/viewport2.js.map +1 -1
  168. package/dist/week/week2.js +1 -1
  169. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [2.11.1](https://github.com/NVIDIA/elements/compare/@nvidia-elements/core-v2.11.0...@nvidia-elements/core-v2.11.1) (2026-10-01)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **core:** debounce scroll tracking state updates ([ce5b688](https://github.com/NVIDIA/elements/commit/ce5b688310d13dcc51e26bd0434599fecc610e4b))
6
+ * **docs:** correct example api mapping and summary fallback ([f0dd837](https://github.com/NVIDIA/elements/commit/f0dd837756f44f05f1c115384d18e02a40cff32d))
7
+
8
+ ## [2.11.0](https://github.com/NVIDIA/elements/compare/@nvidia-elements/core-v2.10.0...@nvidia-elements/core-v2.11.0) (2026-09-30)
9
+
10
+ ### Features
11
+
12
+ * **core:** menu group ([d9a24e9](https://github.com/NVIDIA/elements/commit/d9a24e961e1c5394367e7ae9bf931d9e1e2d58b0))
13
+
14
+ ### Bug Fixes
15
+
16
+ * **cli:** ui resources ([166a537](https://github.com/NVIDIA/elements/commit/166a5374c9aa022a2cc86c262d5165acdee7112e))
17
+
1
18
  ## [2.10.0](https://github.com/NVIDIA/elements/compare/@nvidia-elements/core-v2.9.0...@nvidia-elements/core-v2.10.0) (2026-09-30)
2
19
 
3
20
  ### Features
@@ -28,7 +28,7 @@ var b = class extends g {
28
28
  static {
29
29
  this.metadata = {
30
30
  tag: "nve-accordion-header",
31
- version: "2.10.0"
31
+ version: "2.11.1"
32
32
  };
33
33
  }
34
34
  render() {
@@ -46,7 +46,7 @@ var x = class extends g {
46
46
  static {
47
47
  this.metadata = {
48
48
  tag: "nve-accordion-content",
49
- version: "2.10.0"
49
+ version: "2.11.1"
50
50
  };
51
51
  }
52
52
  render() {
@@ -62,7 +62,7 @@ var x = class extends g {
62
62
  static {
63
63
  this.metadata = {
64
64
  tag: "nve-accordion",
65
- version: "2.10.0",
65
+ version: "2.11.1",
66
66
  children: [
67
67
  b.metadata.tag,
68
68
  x.metadata.tag,
@@ -120,7 +120,7 @@ var C = class extends g {
120
120
  static {
121
121
  this.metadata = {
122
122
  tag: "nve-accordion-group",
123
- version: "2.10.0",
123
+ version: "2.11.1",
124
124
  children: [S.metadata.tag]
125
125
  };
126
126
  }
@@ -19,7 +19,7 @@ var f = class extends c {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-alert-group",
22
- version: "2.10.0",
22
+ version: "2.11.1",
23
23
  children: [o.metadata.tag]
24
24
  };
25
25
  }
@@ -28,7 +28,7 @@ var v = class extends m {
28
28
  static {
29
29
  this.metadata = {
30
30
  tag: "nve-alert",
31
- version: "2.10.0"
31
+ version: "2.11.1"
32
32
  };
33
33
  }
34
34
  static {
@@ -10,7 +10,7 @@ var a = class extends r {
10
10
  static {
11
11
  this.metadata = {
12
12
  tag: "nve-avatar-group",
13
- version: "2.10.0"
13
+ version: "2.11.1"
14
14
  };
15
15
  }
16
16
  render() {
@@ -11,7 +11,7 @@ var s = class extends i {
11
11
  static {
12
12
  this.metadata = {
13
13
  tag: "nve-avatar",
14
- version: "2.10.0"
14
+ version: "2.11.1"
15
15
  };
16
16
  }
17
17
  render() {
@@ -25,7 +25,7 @@ var g = class extends f {
25
25
  static {
26
26
  this.metadata = {
27
27
  tag: "nve-badge",
28
- version: "2.10.0"
28
+ version: "2.11.1"
29
29
  };
30
30
  }
31
31
  static {
@@ -24,7 +24,7 @@ var m = class extends u {
24
24
  static {
25
25
  this.metadata = {
26
26
  tag: "nve-breadcrumb",
27
- version: "2.10.0"
27
+ version: "2.11.1"
28
28
  };
29
29
  }
30
30
  static {
@@ -78,19 +78,6 @@ export interface RenderOptions {
78
78
  */
79
79
  isConnected?: boolean;
80
80
  }
81
- /** Coordinates and deltas use CSS pixels; movement is sample-relative and total displacement is start-relative. */
82
- export interface PointerMovementGesture {
83
- readonly event: PointerEvent;
84
- readonly clientX: number;
85
- readonly clientY: number;
86
- readonly movementX: number;
87
- readonly movementY: number;
88
- readonly startClientX: number;
89
- readonly startClientY: number;
90
- readonly totalDisplacementX: number;
91
- readonly totalDisplacementY: number;
92
- }
93
- export type PointerEndReason = "up" | "cancel" | "lost-capture" | "buttons-released";
94
81
  export interface I18nStrings {
95
82
  close: string;
96
83
  copy: string;
@@ -538,9 +525,13 @@ export type Prominence = "emphasis" | "muted";
538
525
  * - `inline` Element container reduces to fit within inline content such as a block of text.
539
526
  * - `inset` Element container optimizes for embedding or inset placement inside another containing element.
540
527
  * - `full` Element container optimizes for filling its container bounds.
541
- * - `condensed` Element container optimizes for small, summarized or contained spaces.
542
528
  */
543
- export type Container = "inline" | "flat" | "inset" | "full" | "condensed";
529
+ export type Container = "inline" | "flat" | "inset" | "full";
530
+ /** Controls the visual density of an element to match its context and available space.
531
+ * - `compact` - Reduces visual weight and spacing for dense layouts or secondary elements with less visual prominence.
532
+ * - `default` - Standard size that works well in most contexts and provides balanced visibility.
533
+ */
534
+ export type Density = "compact" | "default";
544
535
  /** Communicates the intent and semantic meaning of an element to help users understand the outcome of their actions.
545
536
  * - `accent` - Highlights important actions or draws attention to primary interactive elements.
546
537
  * - `warning` - Indicates cautionary actions that require careful consideration before proceeding.
@@ -1895,6 +1886,10 @@ export declare class Menu extends LitElement {
1895
1886
  children: string[];
1896
1887
  };
1897
1888
  static elementDefinitions: {};
1889
+ /**
1890
+ * Determines if the menu is in a compact layout. This hides all menu item content except the prefix icon slot.
1891
+ */
1892
+ density?: Density;
1898
1893
  /** @private */
1899
1894
  get keynavListConfig(): KeynavListConfig;
1900
1895
  /** @private */
@@ -1903,6 +1898,55 @@ export declare class Menu extends LitElement {
1903
1898
  render(): TemplateResult<1>;
1904
1899
  firstUpdated(): Promise<void>;
1905
1900
  connectedCallback(): void;
1901
+ disconnectedCallback(): void;
1902
+ }
1903
+ /**
1904
+ * @element nve-menu-group
1905
+ * @description Organizes related menu items under a disclosure header that can show or hide one child menu.
1906
+ * @documentation https://nvidia.github.io/elements/docs/elements/menu/
1907
+ * @since 0.0.0
1908
+ * @entrypoint \@nvidia-elements/core/menu
1909
+ * @command --open - Opens the menu group.
1910
+ * @command --close - Closes the menu group.
1911
+ * @command --toggle - Toggles the menu group.
1912
+ * @event open - Dispatched when the user requests that the menu group open.
1913
+ * @event close - Dispatched when the user requests that the menu group close.
1914
+ * @slot - Label content for the disclosure header.
1915
+ * @slot prefix - Non-interactive content before the header label, such as an icon or avatar.
1916
+ * @slot suffix - Non-interactive content after the header label, such as a badge or count.
1917
+ * @slot menu - One `nve-menu` containing the grouped menu items. Direct menus use this slot automatically in browsers; server-rendered menus must set `slot="menu"` explicitly.
1918
+ * @cssprop --background
1919
+ * @cssprop --font-size
1920
+ * @cssprop --padding
1921
+ * @cssprop --gap
1922
+ * @cssprop --border-radius
1923
+ * @cssprop --color
1924
+ * @cssprop --width
1925
+ * @cssprop --min-height
1926
+ * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/
1927
+ * @stable false
1928
+ */
1929
+ export declare class MenuGroup extends LitElement {
1930
+ #private;
1931
+ static styles: CSSResult[];
1932
+ static readonly metadata: {
1933
+ tag: string;
1934
+ version: string;
1935
+ children: string[];
1936
+ };
1937
+ static elementDefinitions: {
1938
+ [Icon.metadata.tag]: typeof Icon;
1939
+ };
1940
+ /** Determines whether the child menu is visible. */
1941
+ expanded: boolean;
1942
+ /** Prevents user activation of the disclosure header. */
1943
+ disabled: boolean;
1944
+ /** Determines whether user activation automatically updates the expanded state. */
1945
+ behaviorExpand: boolean;
1946
+ /** @private */
1947
+ _internals: ElementInternals;
1948
+ render(): TemplateResult<1>;
1949
+ connectedCallback(): void;
1906
1950
  }
1907
1951
  declare const MenuItem_base: ButtonFormControlMixinReturn<typeof LitElement>;
1908
1952
  /**
@@ -1912,6 +1956,7 @@ declare const MenuItem_base: ButtonFormControlMixinReturn<typeof LitElement>;
1912
1956
  * @since 0.11.0
1913
1957
  * @entrypoint \@nvidia-elements/core/menu
1914
1958
  * @slot - Label and supporting content for the menu option.
1959
+ * @slot prefix - slot for prefix icon
1915
1960
  * @slot suffix - slot for suffix icon
1916
1961
  * @cssprop --background
1917
1962
  * @cssprop --border-radius
@@ -4972,7 +5017,7 @@ export declare class StepsItem extends StepsItem_base {
4972
5017
  /**
4973
5018
  * Determines whether the steps should display in condensed format with no text labels.
4974
5019
  */
4975
- container?: Extract<Container, "condensed">;
5020
+ container?: "condensed";
4976
5021
  /** @private */
4977
5022
  index: number;
4978
5023
  static styles: CSSResult[];
@@ -5008,7 +5053,7 @@ export declare class Steps extends LitElement {
5008
5053
  /**
5009
5054
  * Determines whether the steps should display in condensed format with no text labels.
5010
5055
  */
5011
- container?: Extract<Container, "condensed">;
5056
+ container?: "condensed";
5012
5057
  /**
5013
5058
  * Determines whether the steps should handle selection behavior vs. defaults to off.
5014
5059
  */
@@ -5574,47 +5619,75 @@ export interface ViewportRect extends ViewportPoint {
5574
5619
  readonly height: number;
5575
5620
  }
5576
5621
  export type ViewportPanBehavior = boolean | "space";
5577
- export interface ViewportPointerPanDetail extends PointerMovementGesture {
5578
- readonly source: "pointer";
5579
- readonly start: ViewportTransform;
5622
+ export type ViewportNavigationSource = "pointer" | "wheel" | "pinch" | "keyboard" | "command" | "minimap" | "control";
5623
+ export interface ViewportPanProposal {
5624
+ readonly source: ViewportNavigationSource;
5625
+ readonly event: Event;
5580
5626
  readonly next: ViewportTransform;
5627
+ readonly clientX?: number;
5628
+ readonly clientY?: number;
5629
+ readonly deltaX?: number;
5630
+ readonly deltaY?: number;
5631
+ }
5632
+ export type ViewportPanUpdateProposal = Omit<ViewportPanProposal, "source">;
5633
+ export interface ViewportPanDetail extends ViewportPanProposal {
5634
+ readonly start: ViewportTransform;
5635
+ }
5636
+ export interface ViewportPointerPanDetail extends ViewportPanDetail {
5637
+ readonly source: "pointer";
5638
+ readonly event: PointerEvent;
5639
+ readonly clientX: number;
5640
+ readonly clientY: number;
5641
+ readonly movementX: number;
5642
+ readonly movementY: number;
5643
+ readonly startClientX: number;
5644
+ readonly startClientY: number;
5645
+ readonly totalDisplacementX: number;
5646
+ readonly totalDisplacementY: number;
5581
5647
  }
5582
- export interface ViewportWheelPanDetail {
5648
+ export type ViewportWheelPanDetail = ViewportPanDetail & {
5583
5649
  readonly source: "wheel";
5584
5650
  readonly event: WheelEvent;
5585
5651
  readonly clientX: number;
5586
5652
  readonly clientY: number;
5587
5653
  readonly deltaX: number;
5588
5654
  readonly deltaY: number;
5589
- readonly start: ViewportTransform;
5590
- readonly next: ViewportTransform;
5591
- }
5592
- export interface ViewportDiscretePanDetail {
5655
+ };
5656
+ export type ViewportDiscretePanDetail = ViewportPanDetail & {
5593
5657
  readonly source: "keyboard" | "command";
5594
5658
  readonly event: KeyboardEvent | CommandEvent;
5595
- readonly start: ViewportTransform;
5596
- readonly next: ViewportTransform;
5597
- }
5598
- export type ViewportPanDetail = ViewportPointerPanDetail | ViewportWheelPanDetail | ViewportDiscretePanDetail;
5599
- export type ViewportPanEndReason = PointerEndReason | "pinch";
5600
- export interface ViewportPanEndDetail {
5601
- readonly source: "pointer";
5602
- readonly event: PointerEvent;
5659
+ };
5660
+ export type ViewportPanEndReason = "up" | "cancel" | "lost-capture" | "buttons-released" | "pinch";
5661
+ export interface ViewportPanEndRequest {
5662
+ readonly event: Event;
5603
5663
  readonly interrupted: boolean;
5604
5664
  readonly reason: ViewportPanEndReason;
5665
+ }
5666
+ export interface ViewportPanEndDetail extends ViewportPanEndRequest {
5667
+ readonly source: ViewportNavigationSource;
5605
5668
  readonly start: ViewportTransform;
5606
5669
  readonly transform: ViewportTransform;
5607
5670
  }
5608
- export interface ViewportZoomDetail {
5609
- readonly source: "wheel" | "pinch" | "keyboard" | "command";
5610
- readonly event: WheelEvent | PointerEvent | KeyboardEvent | CommandEvent;
5611
- readonly clientX: number;
5612
- readonly clientY: number;
5671
+ export interface ViewportPanSession {
5672
+ readonly start: ViewportTransform;
5673
+ update(proposal: ViewportPanUpdateProposal): boolean;
5674
+ end(request: ViewportPanEndRequest): void;
5675
+ }
5676
+ export interface ViewportZoomProposal {
5677
+ readonly source: ViewportNavigationSource;
5678
+ readonly event: Event;
5679
+ readonly clientX?: number;
5680
+ readonly clientY?: number;
5613
5681
  readonly anchor: ViewportPoint;
5614
5682
  readonly factor: number;
5615
- readonly start: ViewportTransform;
5616
5683
  readonly next: ViewportTransform;
5617
5684
  }
5685
+ export interface ViewportZoomRequestOptions {
5686
+ readonly animated?: boolean;
5687
+ }
5688
+ export interface ViewportZoomDetail extends ViewportZoomProposal {
5689
+ readonly start: ViewportTransform;
5690
+ }
5618
5691
  export interface ViewportAnimationOptions {
5619
5692
  readonly duration?: number;
5620
5693
  }
@@ -5633,11 +5706,13 @@ export interface ViewportRevealOptions {
5633
5706
  * @entrypoint \@nvidia-elements/core/viewport
5634
5707
  * @slot - Content positioned in the viewport's infinite content space.
5635
5708
  * @slot background - Custom content rendered behind viewport content and excluded from content fitting
5636
- * @event panstart - Dispatched when pointer movement crosses the pan threshold. Cancel to disable built-in pointer panning for the sequence.
5637
- * @event pan - Dispatched when pointer, wheel, keyboard, or command input requests a pan. Cancel to skip the proposed transform mutation.
5638
- * @event panend - Dispatched when a pointer pan ends, including its terminal reason.
5639
- * @event zoom - Dispatched when wheel, pinch, or command input requests a scale change. Cancel to skip the proposed transform mutation.
5709
+ * @slot overlay - Interactive content fixed above the transformed plane and excluded from content fitting
5710
+ * @event panstart - Dispatched when a sustained pointer or control pan begins. Cancel to suppress the default for its session.
5711
+ * @event pan - Dispatched for admitted user pan proposals. Cancel to skip the proposed transform mutation.
5712
+ * @event panend - Dispatched once when a sustained pan ends, including its terminal reason.
5713
+ * @event zoom - Dispatched for admitted user zoom proposals. Cancel to skip the proposed transform mutation.
5640
5714
  * @event viewportchange - Dispatched once after a render that commits one or more viewport transform changes.
5715
+ * @event capabilitieschange - Dispatched after effective user-input pan or zoom admission changes.
5641
5716
  * @cssprop --background - Background color of the fixed viewport area.
5642
5717
  * @cssprop --min-height
5643
5718
  * @cssprop --pan-cursor - Cursor shown over a background eligible for primary-pointer panning.
@@ -5683,6 +5758,10 @@ export declare class Viewport extends LitElement {
5683
5758
  set behaviorPan(value: ViewportPanBehavior | null | undefined);
5684
5759
  /** Enables zooming by pinch, focused modified wheel, focused keyboard, and Invoker commands. */
5685
5760
  behaviorZoom: boolean;
5761
+ /** Whether the viewport may admit new user-input panning. */
5762
+ get pannable(): boolean;
5763
+ /** Whether the viewport may admit new user-input zooming. */
5764
+ get zoomable(): boolean;
5686
5765
  /** Fits measurable direct default-slot content once after initial layout. */
5687
5766
  autoFit: boolean;
5688
5767
  /** Default uniform CSS-pixel inset reserved around bounds when fitting content. */
@@ -5703,6 +5782,25 @@ export declare class Viewport extends LitElement {
5703
5782
  getTransform(): ViewportTransform;
5704
5783
  /** Returns the visible content-space rectangle. */
5705
5784
  getVisibleRect(): ViewportRect;
5785
+ /**
5786
+ * Requests one discrete user-originated pan. When pannable, the viewport dispatches
5787
+ * a cancelable `pan` and applies the default transform if no listener cancels the event.
5788
+ * Returns true only when that default changes the transform.
5789
+ */
5790
+ requestPan(proposal: ViewportPanProposal): boolean;
5791
+ /**
5792
+ * Requests one discrete user-originated zoom. When zoomable, the viewport dispatches
5793
+ * a cancelable `zoom` and applies the default transform if no listener cancels the event.
5794
+ * Set `options.animated` to animate the uncanceled default; the option is absent from the `zoom` detail.
5795
+ * Returns true when the default changes or schedules a change to the transform.
5796
+ */
5797
+ requestZoom(proposal: ViewportZoomProposal, options?: ViewportZoomRequestOptions): boolean;
5798
+ /**
5799
+ * Starts a sustained semantic pan after the caller crosses its activation threshold.
5800
+ * Dispatches `panstart`, performs the initial `pan` update, and returns a session for later updates
5801
+ * and one terminal `panend`. Returns undefined when pannable is false.
5802
+ */
5803
+ startPan(proposal: ViewportPanProposal): ViewportPanSession | undefined;
5706
5804
  /** Animates the viewport to the requested partial transform. */
5707
5805
  animateTo(target: Partial<ViewportTransform>, options?: ViewportAnimationOptions): void;
5708
5806
  /** Centers or fits a content-space region within the viewport. */
@@ -5752,6 +5850,41 @@ export declare class ViewportGridlines extends LitElement {
5752
5850
  protected willUpdate(changed: PropertyValues<this>): void;
5753
5851
  render(): typeof nothing | TemplateResult<1>;
5754
5852
  }
5853
+ /**
5854
+ * @element nve-viewport-minimap
5855
+ * @description Provides a simplified overview and direct navigation for its parent viewport.
5856
+ * @documentation https://nvidia.github.io/elements/docs/elements/viewport/
5857
+ * @since 0.0.0
5858
+ * @entrypoint \@nvidia-elements/core/viewport
5859
+ * @cssprop --background - Color of the surface behind preview geometry.
5860
+ * @cssprop --color - Color of automatically drawn root rectangles.
5861
+ * @cssprop --indicator-color - Color of the current visible-region indicator.
5862
+ * @cssprop --border-radius - Corner radius of the minimap.
5863
+ * @cssprop --recenter-cursor - Cursor for clicking the background to center the viewport.
5864
+ * @cssprop --pan-cursor - Cursor over a draggable visible region.
5865
+ * @cssprop --panning-cursor - Cursor during a visible-region drag.
5866
+ * @slot preview - Optional simplified content drawn in viewport content coordinates. Replaces automatic root rectangles.
5867
+ */
5868
+ export declare class ViewportMinimap extends LitElement {
5869
+ #private;
5870
+ static styles: CSSResult[];
5871
+ static readonly metadata: {
5872
+ tag: string;
5873
+ version: string;
5874
+ };
5875
+ /** @private */
5876
+ _internals: ElementInternals;
5877
+ /** @private */
5878
+ slot: string;
5879
+ /** @private */
5880
+ protected accessibilityHidden: string;
5881
+ constructor();
5882
+ connectedCallback(): void;
5883
+ disconnectedCallback(): void;
5884
+ /** Remeasures content bounds after preview or viewport roots move without resizing. */
5885
+ refresh(): void;
5886
+ render(): TemplateResult<1>;
5887
+ }
5755
5888
  /**
5756
5889
  * @element nve-week
5757
5890
  * @description A week picker is a control that enables users to choose a week value.