@nvidia-elements/core 2.19.1 → 2.20.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.
Files changed (130) hide show
  1. package/CHANGELOG.md +6 -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/bundle.d.ts +2 -0
  10. package/dist/bundles/index.d.ts +128 -0
  11. package/dist/bundles/index.js +6 -6
  12. package/dist/button/button2.js +1 -1
  13. package/dist/button-group/button-group2.js +1 -1
  14. package/dist/card/card2.js +4 -4
  15. package/dist/chat-message/chat-message2.js +1 -1
  16. package/dist/checkbox/checkbox-group2.js +1 -1
  17. package/dist/checkbox/checkbox2.js +1 -1
  18. package/dist/color/color2.js +1 -1
  19. package/dist/combobox/combobox2.js +1 -1
  20. package/dist/copy-button/copy-button2.js +1 -1
  21. package/dist/custom-elements-jsx.d.ts +166 -0
  22. package/dist/custom-elements-vue.d.ts +160 -0
  23. package/dist/custom-elements.json +1189 -0
  24. package/dist/data.html.json +117 -0
  25. package/dist/data.snippets.json +27 -27
  26. package/dist/date/date2.js +1 -1
  27. package/dist/datetime/datetime2.js +1 -1
  28. package/dist/dialog/dialog-footer2.js +1 -1
  29. package/dist/dialog/dialog-header2.js +1 -1
  30. package/dist/dialog/dialog2.js +1 -1
  31. package/dist/divider/divider2.js +1 -1
  32. package/dist/dot/dot2.js +1 -1
  33. package/dist/drag-handle/drag-handle2.js +1 -1
  34. package/dist/drawer/drawer-content2.js +1 -1
  35. package/dist/drawer/drawer-footer2.js +1 -1
  36. package/dist/drawer/drawer-header2.js +1 -1
  37. package/dist/drawer/drawer2.js +1 -1
  38. package/dist/dropdown/dropdown-footer2.js +1 -1
  39. package/dist/dropdown/dropdown-header2.js +1 -1
  40. package/dist/dropdown/dropdown2.js +1 -1
  41. package/dist/dropdown-group/dropdown-group.js +1 -1
  42. package/dist/dropzone/dropzone2.js +1 -1
  43. package/dist/file/file2.js +1 -1
  44. package/dist/format-bytes/format-bytes2.js +1 -1
  45. package/dist/format-datetime/format-datetime2.js +1 -1
  46. package/dist/format-number/format-number2.js +1 -1
  47. package/dist/format-relative-time/format-relative-time2.js +1 -1
  48. package/dist/format-truncate/format-truncate2.js +1 -1
  49. package/dist/forms/control/control2.js +1 -1
  50. package/dist/forms/control-group/control-group2.js +1 -1
  51. package/dist/forms/control-message/control-message2.js +1 -1
  52. package/dist/gauge/gauge2.js +1 -1
  53. package/dist/grid/cell/cell2.js +1 -1
  54. package/dist/grid/column/column2.js +1 -1
  55. package/dist/grid/footer/footer2.js +1 -1
  56. package/dist/grid/grid2.js +1 -1
  57. package/dist/grid/header/header2.js +1 -1
  58. package/dist/grid/placeholder/placeholder2.js +1 -1
  59. package/dist/grid/row/row2.js +1 -1
  60. package/dist/icon/icon2.js +2 -2
  61. package/dist/icon-button/icon-button2.js +1 -1
  62. package/dist/iframe/iframe2.js +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/input/input-group2.js +1 -1
  65. package/dist/input/input2.js +1 -1
  66. package/dist/joystick/define.d.ts +6 -0
  67. package/dist/joystick/define.js +7 -0
  68. package/dist/joystick/define.js.map +1 -0
  69. package/dist/joystick/index.d.ts +1 -0
  70. package/dist/joystick/index.js +2 -0
  71. package/dist/joystick/joystick.d.ts +126 -0
  72. package/dist/joystick/joystick.examples.js +6 -0
  73. package/dist/joystick/joystick.examples.js.map +1 -0
  74. package/dist/joystick/joystick.examples.json +107 -0
  75. package/dist/joystick/joystick.js +6 -0
  76. package/dist/joystick/joystick.js.map +1 -0
  77. package/dist/joystick/joystick2.js +347 -0
  78. package/dist/joystick/joystick2.js.map +1 -0
  79. package/dist/logo/logo2.js +1 -1
  80. package/dist/menu/menu-group2.js +1 -1
  81. package/dist/menu/menu-item2.js +1 -1
  82. package/dist/menu/menu2.js +1 -1
  83. package/dist/month/month2.js +1 -1
  84. package/dist/notification/notification-group2.js +1 -1
  85. package/dist/notification/notification2.js +1 -1
  86. package/dist/page/page-panel/page-panel-content2.js +1 -1
  87. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  88. package/dist/page/page-panel/page-panel-header2.js +1 -1
  89. package/dist/page/page-panel/page-panel2.js +1 -1
  90. package/dist/page/page2.js +1 -1
  91. package/dist/page-header/page-header2.js +1 -1
  92. package/dist/page-loader/page-loader2.js +1 -1
  93. package/dist/pagination/pagination2.js +1 -1
  94. package/dist/panel/panel2.js +4 -4
  95. package/dist/password/password2.js +1 -1
  96. package/dist/preferences-input/preferences-input2.js +1 -1
  97. package/dist/progress-bar/progress-bar2.js +1 -1
  98. package/dist/progress-dot/progress-dot2.js +1 -1
  99. package/dist/progress-ring/progress-ring2.js +1 -1
  100. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  101. package/dist/pulse/pulse2.js +1 -1
  102. package/dist/radio/radio-group2.js +1 -1
  103. package/dist/radio/radio2.js +1 -1
  104. package/dist/range/range2.js +1 -1
  105. package/dist/resize-handle/resize-handle2.js +1 -1
  106. package/dist/search/search2.js +1 -1
  107. package/dist/select/select2.js +1 -1
  108. package/dist/skeleton/skeleton2.js +1 -1
  109. package/dist/sort-button/sort-button2.js +1 -1
  110. package/dist/sparkline/sparkline2.js +1 -1
  111. package/dist/star-rating/star-rating2.js +1 -1
  112. package/dist/steps/steps2.js +2 -2
  113. package/dist/switch/switch-group2.js +1 -1
  114. package/dist/switch/switch2.js +1 -1
  115. package/dist/tabs/tabs-group2.js +1 -1
  116. package/dist/tabs/tabs-item-group2.js +1 -1
  117. package/dist/tabs/tabs2.js +2 -2
  118. package/dist/tag/tag2.js +1 -1
  119. package/dist/textarea/textarea2.js +1 -1
  120. package/dist/time/time2.js +1 -1
  121. package/dist/toast/toast2.js +1 -1
  122. package/dist/toggletip/toggletip-footer2.js +1 -1
  123. package/dist/toggletip/toggletip-header2.js +1 -1
  124. package/dist/toggletip/toggletip2.js +1 -1
  125. package/dist/toolbar/toolbar2.js +1 -1
  126. package/dist/tooltip/tooltip2.js +1 -1
  127. package/dist/tree/tree-node2.js +1 -1
  128. package/dist/tree/tree2.js +1 -1
  129. package/dist/week/week2.js +1 -1
  130. package/package.json +13 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## [2.20.0](https://github.com/NVIDIA/elements/compare/@nvidia-elements/core-v2.19.1...@nvidia-elements/core-v2.20.0) (2026-10-29)
2
+
3
+ ### Features
4
+
5
+ * **core:** joystick ([a4461e1](https://github.com/NVIDIA/elements/commit/a4461e10930ec198bc43b846f7b090f5db70c371))
6
+
1
7
  ## [2.19.1](https://github.com/NVIDIA/elements/compare/@nvidia-elements/core-v2.19.0...@nvidia-elements/core-v2.19.1) (2026-10-29)
2
8
 
3
9
  ### Features
@@ -31,7 +31,7 @@ var b = {
31
31
  static {
32
32
  this.metadata = {
33
33
  tag: "nve-accordion-header",
34
- version: "2.19.1"
34
+ version: "2.20.0"
35
35
  };
36
36
  }
37
37
  render() {
@@ -49,7 +49,7 @@ var S = class extends h {
49
49
  static {
50
50
  this.metadata = {
51
51
  tag: "nve-accordion-content",
52
- version: "2.19.1"
52
+ version: "2.20.0"
53
53
  };
54
54
  }
55
55
  render() {
@@ -65,7 +65,7 @@ var S = class extends h {
65
65
  static {
66
66
  this.metadata = {
67
67
  tag: "nve-accordion",
68
- version: "2.19.1",
68
+ version: "2.20.0",
69
69
  children: [
70
70
  x.metadata.tag,
71
71
  S.metadata.tag,
@@ -123,7 +123,7 @@ var w = class extends h {
123
123
  static {
124
124
  this.metadata = {
125
125
  tag: "nve-accordion-group",
126
- version: "2.19.1",
126
+ version: "2.20.0",
127
127
  children: [C.metadata.tag]
128
128
  };
129
129
  }
@@ -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.19.1",
22
+ version: "2.20.0",
23
23
  children: [o.metadata.tag]
24
24
  };
25
25
  }
@@ -34,7 +34,7 @@ var v = {
34
34
  static {
35
35
  this.metadata = {
36
36
  tag: "nve-alert",
37
- version: "2.19.1"
37
+ version: "2.20.0"
38
38
  };
39
39
  }
40
40
  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.19.1"
13
+ version: "2.20.0"
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.19.1"
14
+ version: "2.20.0"
15
15
  };
16
16
  }
17
17
  render() {
@@ -21,7 +21,7 @@ var h = class extends d {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-badge",
24
- version: "2.19.1"
24
+ version: "2.20.0"
25
25
  };
26
26
  }
27
27
  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.19.1"
27
+ version: "2.20.0"
28
28
  };
29
29
  }
30
30
  static {
package/dist/bundle.d.ts CHANGED
@@ -34,6 +34,7 @@ import '@nvidia-elements/core/icon/define.js';
34
34
  import '@nvidia-elements/core/icon-button/define.js';
35
35
  import '@nvidia-elements/core/iframe/define.js';
36
36
  import '@nvidia-elements/core/input/define.js';
37
+ import '@nvidia-elements/core/joystick/define.js';
37
38
  import '@nvidia-elements/core/logo/define.js';
38
39
  import '@nvidia-elements/core/menu/define.js';
39
40
  import '@nvidia-elements/core/month/define.js';
@@ -107,6 +108,7 @@ export * from '@nvidia-elements/core/icon';
107
108
  export * from '@nvidia-elements/core/icon-button';
108
109
  export * from '@nvidia-elements/core/iframe';
109
110
  export * from '@nvidia-elements/core/input';
111
+ export * from '@nvidia-elements/core/joystick';
110
112
  export * from '@nvidia-elements/core/logo';
111
113
  export * from '@nvidia-elements/core/menu';
112
114
  export * from '@nvidia-elements/core/month';
@@ -148,6 +148,11 @@ export interface I18nStrings {
148
148
  seekToStart: string;
149
149
  unmuteMedia: string;
150
150
  volume: string;
151
+ joystickPosition: string;
152
+ joystickNoPosition: string;
153
+ joystickInstructions: string;
154
+ joystickHoldInstructions: string;
155
+ joystickReturnedToCenter: string;
151
156
  }
152
157
  export type I18nDefaults = Readonly<Partial<I18nStrings>>;
153
158
  export type Color = "red-cardinal" | "gray-slate" | "gray-denim" | "blue-indigo" | "blue-cobalt" | "blue-sky" | "teal-cyan" | "green-mint" | "teal-seafoam" | "green-grass" | "yellow-amber" | "orange-pumpkin" | "red-tomato" | "pink-magenta" | "purple-plum" | "purple-violet" | "purple-lavender" | "pink-rose" | "green-jade" | "lime-pear" | "yellow-nova" | "brand-green";
@@ -3727,6 +3732,129 @@ export declare class InputGroup extends ControlGroup {
3727
3732
  };
3728
3733
  connectedCallback(): Promise<void>;
3729
3734
  }
3735
+ export interface JoystickValue {
3736
+ readonly x: number;
3737
+ readonly y: number;
3738
+ }
3739
+ export type JoystickConstraint = "circle" | "square" | "horizontal" | "vertical";
3740
+ export type JoystickRelease = "center" | "hold";
3741
+ export interface JoystickInteractionStart {
3742
+ readonly source: "pointer" | "keyboard";
3743
+ }
3744
+ export interface JoystickInteractionEnd extends JoystickInteractionStart {
3745
+ readonly reason: "release" | "escape" | "pointer-cancel" | "lost-capture" | "blur" | "hidden" | "disabled" | "readonly" | "configuration-change" | "reset" | "disconnect";
3746
+ }
3747
+ declare const Joystick_base: FormControlMixinReturn<typeof LitElement, JoystickValue>;
3748
+ /**
3749
+ * @element nve-joystick
3750
+ * @description A joystick selects a normalized two-axis vector with pointer or keyboard input.
3751
+ * Applications own physical units, coordinate frames, input shaping, publishing cadence, recording clocks,
3752
+ * command-outcome feedback, and alternative controls when needed.
3753
+ *
3754
+ * Give each joystick an accessible name with a label, aria-label, or aria-labelledby.
3755
+ * Editable controls use the application role to receive two-axis keyboard input.
3756
+ * The default accessible description includes both normalized coordinates, keyboard instructions, and release behavior.
3757
+ * A locked axis stays at zero; an absent value reads "No position." Disabled and read-only controls omit instructions.
3758
+ * Coordinates use up to six decimal places and the document language for number formatting.
3759
+ * An explicit aria-description or aria-describedby replaces the default focus description through standard ARIA precedence;
3760
+ * it does not disable live announcements.
3761
+ * @documentation https://nvidia.github.io/elements/docs/elements/joystick/
3762
+ * @since 0.0.0
3763
+ * @entrypoint \@nvidia-elements/core/joystick
3764
+ * @property {JoystickValue | undefined} value - The normalized vector: positive x points right and positive y points down, independent of text direction. Assign a complete finite object within the selected constraint. Invalid vectors throw TypeError without replacing the previous value. Programmatic writes do not dispatch input or change events. Use undefined for an absent sample and a zero vector for recorded neutral input. Set readOnly before assigning replay ownership. User input can replace external writes during an interaction.
3765
+ * @attribute {string} value - A JSON object containing normalized x and y coordinates.
3766
+ * @event input - Dispatched after user input changes the vector, including a return to neutral. Read .value for the current vector. A held position does not generate repeated events. Publish commands at an application-controlled cadence.
3767
+ * @event change - Dispatched after a normal interaction completes and produces input. Cancellation sends any necessary neutral input without change.
3768
+ * @event interaction-start - Dispatched with the pointer or keyboard source after setting :state(active), including engagement at neutral.
3769
+ * @event interaction-end - Dispatched with the source and terminal reason after clearing :state(active). Interruption first sends any necessary neutral input. Reset restores the declared default without value events. Detached events cannot bubble to former ancestors.
3770
+ * @cssprop --width
3771
+ * @cssprop --height
3772
+ * @cssprop --background
3773
+ * @cssprop --opacity - Background opacity when the opacity flag is present. Defaults to 0.6. The border, crosshair, thumb, and focus indicator keep their opacity.
3774
+ * @cssprop --border
3775
+ * @cssprop --thumb-width
3776
+ * @cssprop --thumb-height
3777
+ * @cssprop --thumb-background
3778
+ * @cssprop --thumb-border
3779
+ * @stable false
3780
+ */
3781
+ export declare class Joystick extends Joystick_base {
3782
+ #private;
3783
+ static styles: CSSResult[];
3784
+ static readonly metadata: {
3785
+ tag: string;
3786
+ version: string;
3787
+ valueSchema: {
3788
+ type: "object";
3789
+ properties: {
3790
+ x: {
3791
+ type: "number";
3792
+ minimum: number;
3793
+ maximum: number;
3794
+ };
3795
+ y: {
3796
+ type: "number";
3797
+ minimum: number;
3798
+ maximum: number;
3799
+ };
3800
+ };
3801
+ required: string[];
3802
+ additionalProperties: boolean;
3803
+ };
3804
+ };
3805
+ /**
3806
+ * Constrains the movement region or selects one axis. Circle limits vector magnitude to one;
3807
+ * square permits both axes at full scale and a magnitude of up to Math.SQRT2.
3808
+ * With equally scaled planar velocity axes, square corners allow about 41% greater speed.
3809
+ * Mixed forward-velocity and turning-rate axes have no common physical magnitude.
3810
+ * Changing the constraint projects the current value silently and cancels an active interaction.
3811
+ */
3812
+ constraint: JoystickConstraint;
3813
+ /** Sets surface and thumb size. At the default font size, sm is 104px, md is 130px, and lg is 156px. */
3814
+ size: Size;
3815
+ /** Enables background transparency using the --opacity CSS custom property. */
3816
+ opacity: boolean;
3817
+ /**
3818
+ * Determines whether normal release returns to center or holds the final vector.
3819
+ * Interrupted interactions return to neutral in either mode. Form reset restores the declared default instead.
3820
+ */
3821
+ release: JoystickRelease;
3822
+ /**
3823
+ * Sets the normalized increment for each arrow key press. Repeated presses continue adjusting;
3824
+ * releasing the final arrow applies the release behavior. Escape cancels the interaction.
3825
+ * Invalid steps fall back to 0.1. Modifier shortcuts and locked-axis directions remain available to the browser.
3826
+ */
3827
+ keyboardStep: number;
3828
+ /**
3829
+ * Controls automatic position announcements. Focused user input produces polite announcements at most every 500 ms.
3830
+ * A quick tap in center mode reports the input coordinates and the return to center.
3831
+ * Escape announces the resulting coordinates without a separate cancellation message.
3832
+ * Programmatic writes and read-only playback update the description without live announcements.
3833
+ * Set off when the application supplies spoken output, the position description on focus remains available.
3834
+ */
3835
+ announce: "polite" | "off";
3836
+ /** Enables updating internal string values for internationalization. */
3837
+ i18n: Partial<I18nStrings & {
3838
+ __set: boolean;
3839
+ }>;
3840
+ static get observedAttributes(): string[];
3841
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
3842
+ get disabled(): boolean;
3843
+ set disabled(value: boolean | unknown);
3844
+ get readOnly(): boolean;
3845
+ set readOnly(value: boolean | unknown);
3846
+ constructor();
3847
+ connectedCallback(): void;
3848
+ disconnectedCallback(): void;
3849
+ firstUpdated(): void;
3850
+ willUpdate(changes: PropertyValues<this>): void;
3851
+ updated(): void;
3852
+ render(): TemplateResult<1>;
3853
+ updateValue(value: JoystickValue): void;
3854
+ reset(): void;
3855
+ formStateRestoreCallback(state: unknown, _reason?: string): void;
3856
+ _updateFormState(): void;
3857
+ }
3730
3858
  /**
3731
3859
  * @element nve-logo
3732
3860
  * @description A visual indicator for a brand or application.