@nvidia-elements/core 2.2.0 → 2.2.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 (187) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/accordion/accordion.d.ts +7 -5
  3. package/dist/accordion/accordion2.js +4 -4
  4. package/dist/accordion/accordion2.js.map +1 -1
  5. package/dist/alert/alert-group2.js +1 -1
  6. package/dist/alert/alert2.js +1 -1
  7. package/dist/avatar/avatar-group.d.ts +1 -1
  8. package/dist/avatar/avatar-group2.js +1 -1
  9. package/dist/avatar/avatar-group2.js.map +1 -1
  10. package/dist/avatar/avatar.d.ts +1 -1
  11. package/dist/avatar/avatar2.js +1 -1
  12. package/dist/avatar/avatar2.js.map +1 -1
  13. package/dist/badge/badge.d.ts +1 -1
  14. package/dist/badge/badge2.js +1 -1
  15. package/dist/badge/badge2.js.map +1 -1
  16. package/dist/breadcrumb/breadcrumb2.js +1 -1
  17. package/dist/bundles/index.d.ts +67 -45
  18. package/dist/bundles/index.js +1 -1
  19. package/dist/button/button2.js +1 -1
  20. package/dist/button-group/button-group2.js +1 -1
  21. package/dist/card/card.d.ts +3 -1
  22. package/dist/card/card2.js +4 -4
  23. package/dist/card/card2.js.map +1 -1
  24. package/dist/chat-message/chat-message.d.ts +3 -1
  25. package/dist/chat-message/chat-message2.js +1 -1
  26. package/dist/chat-message/chat-message2.js.map +1 -1
  27. package/dist/checkbox/checkbox-group2.js +1 -1
  28. package/dist/checkbox/checkbox2.js +1 -1
  29. package/dist/color/color2.js +1 -1
  30. package/dist/combobox/combobox2.js +1 -1
  31. package/dist/copy-button/copy-button.d.ts +1 -1
  32. package/dist/copy-button/copy-button2.js +1 -1
  33. package/dist/copy-button/copy-button2.js.map +1 -1
  34. package/dist/custom-elements-jsx.d.ts +1340 -982
  35. package/dist/custom-elements-vue.d.ts +1048 -859
  36. package/dist/custom-elements.json +1382 -1948
  37. package/dist/data.html.json +330 -510
  38. package/dist/date/date2.js +1 -1
  39. package/dist/datetime/datetime2.js +1 -1
  40. package/dist/dialog/dialog-footer2.js +1 -1
  41. package/dist/dialog/dialog-header2.js +1 -1
  42. package/dist/dialog/dialog.d.ts +1 -1
  43. package/dist/dialog/dialog2.js +1 -1
  44. package/dist/dialog/dialog2.js.map +1 -1
  45. package/dist/divider/divider2.js +1 -1
  46. package/dist/dot/dot2.js +1 -1
  47. package/dist/drawer/drawer-content2.js +1 -1
  48. package/dist/drawer/drawer-footer2.js +1 -1
  49. package/dist/drawer/drawer-header2.js +1 -1
  50. package/dist/drawer/drawer.d.ts +1 -1
  51. package/dist/drawer/drawer2.js +1 -1
  52. package/dist/drawer/drawer2.js.map +1 -1
  53. package/dist/dropdown/dropdown-footer2.js +1 -1
  54. package/dist/dropdown/dropdown-header2.js +1 -1
  55. package/dist/dropdown/dropdown.d.ts +1 -0
  56. package/dist/dropdown/dropdown2.js +1 -1
  57. package/dist/dropdown/dropdown2.js.map +1 -1
  58. package/dist/dropdown-group/dropdown-group.d.ts +1 -2
  59. package/dist/dropdown-group/dropdown-group.js +1 -1
  60. package/dist/dropdown-group/dropdown-group.js.map +1 -1
  61. package/dist/dropzone/dropzone.d.ts +6 -3
  62. package/dist/dropzone/dropzone2.js +1 -1
  63. package/dist/dropzone/dropzone2.js.map +1 -1
  64. package/dist/file/file2.js +1 -1
  65. package/dist/format-datetime/format-datetime2.js +1 -1
  66. package/dist/format-number/format-number.d.ts +1 -1
  67. package/dist/format-number/format-number2.js +1 -1
  68. package/dist/format-number/format-number2.js.map +1 -1
  69. package/dist/format-relative-time/format-relative-time2.js +1 -1
  70. package/dist/forms/control/control2.js +1 -1
  71. package/dist/forms/control-group/control-group2.js +1 -1
  72. package/dist/forms/control-message/control-message.d.ts +2 -1
  73. package/dist/forms/control-message/control-message2.js +1 -1
  74. package/dist/forms/control-message/control-message2.js.map +1 -1
  75. package/dist/gauge/gauge2.js +1 -1
  76. package/dist/grid/cell/cell.d.ts +1 -1
  77. package/dist/grid/cell/cell2.js +1 -1
  78. package/dist/grid/cell/cell2.js.map +1 -1
  79. package/dist/grid/column/column.d.ts +1 -1
  80. package/dist/grid/column/column2.js +1 -1
  81. package/dist/grid/column/column2.js.map +1 -1
  82. package/dist/grid/footer/footer.d.ts +2 -1
  83. package/dist/grid/footer/footer2.js +1 -1
  84. package/dist/grid/footer/footer2.js.map +1 -1
  85. package/dist/grid/grid.d.ts +1 -1
  86. package/dist/grid/grid2.js +1 -1
  87. package/dist/grid/grid2.js.map +1 -1
  88. package/dist/grid/header/header2.js +1 -1
  89. package/dist/grid/placeholder/placeholder.d.ts +1 -1
  90. package/dist/grid/placeholder/placeholder2.js +1 -1
  91. package/dist/grid/placeholder/placeholder2.js.map +1 -1
  92. package/dist/grid/row/row2.js +1 -1
  93. package/dist/icon/icon2.js +2 -2
  94. package/dist/icon-button/icon-button2.js +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/input/input-group2.js +1 -1
  97. package/dist/input/input2.js +1 -1
  98. package/dist/internal/services/global.service.js +1 -1
  99. package/dist/internal/types/index.d.ts +3 -3
  100. package/dist/internal/types/index.js.map +1 -1
  101. package/dist/logo/logo.d.ts +1 -1
  102. package/dist/logo/logo2.js +1 -1
  103. package/dist/logo/logo2.js.map +1 -1
  104. package/dist/menu/menu-item.d.ts +2 -1
  105. package/dist/menu/menu-item2.js +1 -1
  106. package/dist/menu/menu-item2.js.map +1 -1
  107. package/dist/menu/menu2.js +1 -1
  108. package/dist/month/month2.js +1 -1
  109. package/dist/notification/notification-group2.js +1 -1
  110. package/dist/notification/notification.d.ts +1 -1
  111. package/dist/notification/notification2.js +1 -1
  112. package/dist/notification/notification2.js.map +1 -1
  113. package/dist/page/page-panel/page-panel-content2.js +1 -1
  114. package/dist/page/page-panel/page-panel-footer.d.ts +1 -0
  115. package/dist/page/page-panel/page-panel-footer2.js +1 -1
  116. package/dist/page/page-panel/page-panel-footer2.js.map +1 -1
  117. package/dist/page/page-panel/page-panel-header.d.ts +1 -0
  118. package/dist/page/page-panel/page-panel-header2.js +1 -1
  119. package/dist/page/page-panel/page-panel-header2.js.map +1 -1
  120. package/dist/page/page-panel/page-panel.d.ts +1 -1
  121. package/dist/page/page-panel/page-panel2.js +1 -1
  122. package/dist/page/page-panel/page-panel2.js.map +1 -1
  123. package/dist/page/page2.js +1 -1
  124. package/dist/page-header/page-header2.js +1 -1
  125. package/dist/page-loader/page-loader.d.ts +1 -1
  126. package/dist/page-loader/page-loader2.js +1 -1
  127. package/dist/page-loader/page-loader2.js.map +1 -1
  128. package/dist/pagination/pagination.d.ts +4 -3
  129. package/dist/pagination/pagination2.js +5 -2
  130. package/dist/pagination/pagination2.js.map +1 -1
  131. package/dist/panel/panel2.js +4 -4
  132. package/dist/password/password2.js +1 -1
  133. package/dist/preferences-input/preferences-input.d.ts +2 -0
  134. package/dist/preferences-input/preferences-input2.js +1 -1
  135. package/dist/preferences-input/preferences-input2.js.map +1 -1
  136. package/dist/progress-bar/progress-bar2.js +1 -1
  137. package/dist/progress-ring/progress-ring2.js +1 -1
  138. package/dist/progressive-filter-chip/progressive-filter-chip.d.ts +1 -1
  139. package/dist/progressive-filter-chip/progressive-filter-chip2.js +1 -1
  140. package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
  141. package/dist/pulse/pulse2.js +1 -1
  142. package/dist/radio/radio-group2.js +1 -1
  143. package/dist/radio/radio2.js +1 -1
  144. package/dist/range/range2.js +1 -1
  145. package/dist/resize-handle/resize-handle2.js +1 -1
  146. package/dist/search/search2.js +1 -1
  147. package/dist/select/select2.js +1 -1
  148. package/dist/skeleton/skeleton.d.ts +2 -2
  149. package/dist/skeleton/skeleton2.js +1 -1
  150. package/dist/skeleton/skeleton2.js.map +1 -1
  151. package/dist/sort-button/sort-button2.js +1 -1
  152. package/dist/sparkline/sparkline2.js +1 -1
  153. package/dist/star-rating/star-rating2.js +1 -1
  154. package/dist/steps/steps.d.ts +1 -1
  155. package/dist/steps/steps2.js +2 -2
  156. package/dist/steps/steps2.js.map +1 -1
  157. package/dist/switch/switch-group2.js +1 -1
  158. package/dist/switch/switch2.js +1 -1
  159. package/dist/tabs/tabs-group2.js +1 -1
  160. package/dist/tabs/tabs.d.ts +1 -1
  161. package/dist/tabs/tabs2.js +2 -2
  162. package/dist/tabs/tabs2.js.map +1 -1
  163. package/dist/tag/tag.d.ts +1 -1
  164. package/dist/tag/tag2.js +1 -1
  165. package/dist/tag/tag2.js.map +1 -1
  166. package/dist/textarea/textarea2.js +1 -1
  167. package/dist/time/time2.js +1 -1
  168. package/dist/toast/toast.d.ts +1 -1
  169. package/dist/toast/toast2.js +1 -1
  170. package/dist/toast/toast2.js.map +1 -1
  171. package/dist/toggletip/toggletip-footer2.js +1 -1
  172. package/dist/toggletip/toggletip-header2.js +1 -1
  173. package/dist/toggletip/toggletip.d.ts +1 -0
  174. package/dist/toggletip/toggletip2.js +1 -1
  175. package/dist/toggletip/toggletip2.js.map +1 -1
  176. package/dist/toolbar/toolbar.d.ts +1 -1
  177. package/dist/toolbar/toolbar2.js +1 -1
  178. package/dist/toolbar/toolbar2.js.map +1 -1
  179. package/dist/tooltip/tooltip.d.ts +2 -1
  180. package/dist/tooltip/tooltip2.js +1 -1
  181. package/dist/tooltip/tooltip2.js.map +1 -1
  182. package/dist/tree/tree-node.d.ts +3 -0
  183. package/dist/tree/tree-node2.js +1 -1
  184. package/dist/tree/tree-node2.js.map +1 -1
  185. package/dist/tree/tree2.js +1 -1
  186. package/dist/week/week2.js +1 -1
  187. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip2.js","names":[],"sources":["../../src/tooltip/tooltip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport type { PopoverAlign, PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n TypeNativePopoverController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport styles from './tooltip.css?inline';\n\n/**\n * @element nve-tooltip\n * @description A contextual popup that displays a plaintext description. Tooltips are [triggered](https://w3c.github.io/aria/#tooltip) by hovering, focusing, or tapping an element and cannot have interactive elements within them. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)\n * @documentation https://nvidia.github.io/elements/docs/elements/tooltip/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/tooltip\n * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)\n * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)\n * @event open - Dispatched when the tooltip opens.\n * @event close - Dispatched when the tooltip closes.\n * @slot - default content slot\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --arrow-transform\n * @cssprop --width\n * @cssprop --height\n * @cssprop --border\n * @csspart arrow\n * @cssprop --animation-duration - Duration of tooltip open/close animations\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@audit({ excessiveInstanceLimit })\nexport class Tooltip extends LitElement {\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-tooltip',\n version: '0.0.0'\n };\n\n /**\n * (optional) By default the popover automatically anchors itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) position: PopoverPosition = 'top';\n\n /**\n * Sets the alignment of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) alignment: PopoverAlign;\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n /**\n * visual treatment to represent a ongoing task or support status\n */\n @property({ type: String, reflect: true }) status: 'muted';\n\n /**\n * @deprecated Use interest-delay-start css property instead\n */\n @property({ type: Number, attribute: 'open-delay' }) openDelay: number;\n\n @query('.arrow') popoverArrow: HTMLElement;\n\n /** @private */\n readonly popoverType: PopoverType = 'hint';\n\n protected typeNativePopoverController = new TypeNativePopoverController<Tooltip>(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n /* eslint-disable local/no-invalid-css-parts */\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n <div part=\"arrow\" class=\"arrow\"></div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'tooltip';\n }\n}\n"],"mappings":";;;;;;;;;;;AA4CO,IAAA,IAAA,cAAsB,EAAW;;+BAwBiC,0BA0BnC,2CAEI,IAAI,EAAqC,IAAI;;;gBAnDrE,EAAU,CAAC,GAAe,CAAM,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;CAoDA,SAAS;EACP,OAAO,CAAI;CAMb;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF;GA5DG,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,MAOzB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,WAAA,KAAA,CAAA,MAKzB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAKxC,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAMxC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAA,EAAA,WAAA,mBAAA,KAAA,CAAA,MAKxE,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,MAKxC,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAa,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAElD,EAAM,QAAQ,CAAA,GAAA,EAAA,WAAA,gBAAA,KAAA,CAAA,UAhDhB,EAAM,EAAE,wBAAA,GAAuB,CAAC,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"tooltip2.js","names":[],"sources":["../../src/tooltip/tooltip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { query } from 'lit/decorators/query.js';\nimport type { PopoverAlign, PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n audit,\n excessiveInstanceLimit,\n popoverStyles,\n TypeNativePopoverController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport styles from './tooltip.css?inline';\n\n/**\n * @element nve-tooltip\n * @description A contextual popup that displays a plaintext description. Tooltips are [triggered](https://w3c.github.io/aria/#tooltip) by hovering, focusing, or tapping an element and cannot have interactive elements within them. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)\n * @documentation https://nvidia.github.io/elements/docs/elements/tooltip/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/tooltip\n * @event beforetoggle - Dispatched on a popover just before showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforetoggle_event)\n * @event toggle - Dispatched on a popover element just after showing or hiding. [MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/toggle_event)\n * @event open - Dispatched when the tooltip opens.\n * @event close - Dispatched when the tooltip closes.\n * @slot - Noninteractive text or other descriptive content shown in the tooltip.\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --font-size\n * @cssprop --font-weight\n * @cssprop --arrow-transform\n * @cssprop --width\n * @cssprop --height\n * @cssprop --border\n * @csspart arrow\n * @cssprop --animation-duration - Duration of tooltip open/close animations\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/\n */\n@audit({ excessiveInstanceLimit })\nexport class Tooltip extends LitElement {\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-tooltip',\n version: '0.0.0'\n };\n\n /**\n * (optional) By default the popover automatically anchors itself relative to the trigger element.\n * Pass an optional custom anchor element as an idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) anchor: string | HTMLElement;\n\n /**\n * @deprecated Use the popover API instead.\n * The trigger defines what element triggers an `open` interaction event.\n * A trigger can accept a idref string within the same render root or a HTMLElement DOM reference.\n */\n @property({ type: String }) trigger: string | HTMLElement;\n\n /**\n * Sets the side position of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) position: PopoverPosition = 'top';\n\n /**\n * Sets the alignment of the popover relative to the provided anchor element.\n */\n @property({ type: String, reflect: true }) alignment: PopoverAlign;\n\n /**\n * @deprecated Use the popover API instead.\n * Determines if popover visibility behavior should be automatically controlled by the trigger.\n */\n @property({ type: Boolean, reflect: true, attribute: 'behavior-trigger' }) behaviorTrigger: boolean;\n\n /**\n * visual treatment to represent a ongoing task or support status\n */\n @property({ type: String, reflect: true }) status: 'muted';\n\n /**\n * @deprecated Use interest-delay-start css property instead\n */\n @property({ type: Number, attribute: 'open-delay' }) openDelay: number;\n\n /** @private */\n @query('.arrow') popoverArrow: HTMLElement;\n\n /** @private */\n readonly popoverType: PopoverType = 'hint';\n\n protected typeNativePopoverController = new TypeNativePopoverController<Tooltip>(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n /* eslint-disable local/no-invalid-css-parts */\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n <div part=\"arrow\" class=\"arrow\"></div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'tooltip';\n }\n}\n"],"mappings":";;;;;;;;;;;AA4CO,IAAA,IAAA,cAAsB,EAAW;;+BAwBiC,0BA2BnC,2CAEI,IAAI,EAAqC,IAAI;;;gBApDrE,EAAU,CAAC,GAAe,CAAM,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;CAqDA,SAAS;EACP,OAAO,CAAI;CAMb;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF;GA7DG,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,MAOzB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,WAAA,KAAA,CAAA,MAKzB,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAKxC,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAMxC,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAmB,CAAC,CAAA,GAAA,EAAA,WAAA,mBAAA,KAAA,CAAA,MAKxE,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,MAKxC,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAa,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAGlD,EAAM,QAAQ,CAAA,GAAA,EAAA,WAAA,gBAAA,KAAA,CAAA,UAjDhB,EAAM,EAAE,wBAAA,GAAuB,CAAC,CAAA,GAAA,CAAA"}
@@ -68,8 +68,11 @@ export declare class TreeNode extends LitElement {
68
68
  * Returns list of child nodes
69
69
  */
70
70
  readonly nodes: TreeNode[];
71
+ /** @private */
71
72
  indeterminate: boolean;
73
+ /** @private */
72
74
  behaviorExpand: boolean;
75
+ /** @private */
73
76
  behaviorSelect: boolean;
74
77
  static metadata: {
75
78
  tag: string;
@@ -41,7 +41,7 @@ var E = class extends b {
41
41
  static {
42
42
  this.metadata = {
43
43
  tag: "nve-tree-node",
44
- version: "2.2.0",
44
+ version: "2.2.1",
45
45
  parents: ["nve-tree", "nve-tree-node"]
46
46
  };
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree-node2.js","names":["#i18nController","#isExpandable","#toggleSelection","#tree","#nodeUpdate","#toggleExpand","#toggleMultiSelection","#nodeHeaderClick","#onKeyup","#typeExpandableController","#toggleExpandableState","#toggleSingleSelection","#typeSelectableController"],"sources":["../../src/tree/tree-node.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport {\n I18nController,\n TypeExpandableController,\n TypeSelectableController,\n attachInternals,\n audit,\n getFlattenedFocusableItems,\n hostAttr,\n scopedRegistry,\n stateExpanded,\n stateHighlighted,\n stateSelected,\n typeAnchor,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { Checkbox } from '@nvidia-elements/core/checkbox';\nimport type { Tree } from './tree.js';\nimport styles from './tree-node.css?inline';\nimport { updateNodeSelection } from './utils.js';\n\n/**\n * @element nve-tree-node\n * @description A tree view widget presents a hierarchical list. Any item in the hierarchy may have child items, and items that have children can expand or collapse to show or hide the children.\n * @documentation https://nvidia.github.io/elements/docs/elements/tree/\n * @since 1.2.0\n * @entrypoint \\@nvidia-elements/core/tree\n * @event open - Dispatched when the node opens.\n * @event close - Dispatched when the node closes.\n * @event select - Dispatched when the node selection state changes.\n * @command --select - use to select the node\n * @command --deselect - use to deselect the node\n * @command --toggle-select - use to toggle the node selection state\n * @command --open - use to open the node\n * @command --close - use to close the node\n * @command --toggle - use to toggle open / closed state of the node\n * @slot - Use default slot for basic text content or nested <nve-tree-node> elements.\n * @slot content - Use only for extended long form content containing interactive elements or form inputs.\n * @cssprop --color\n * @cssprop --border-radius\n * @cssprop --font-size\n * @cssprop --min-height\n * @cssprop --text-wrap\n * @cssprop --font-weight\n * @cssprop --width\n\n * @csspart icon-button - The icon button element\n * @csspart icon - The icon element\n * @csspart checkbox - The checkbox element\n\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/treeview/\n *\n */\n@audit()\n@typeSSR({ log: false }) // warning about ssr mismatch disabled as tree node will never be a 1:1 match in ssr due to performance constraints and slot complexity\n@typeAnchor()\n@stateSelected()\n@stateExpanded()\n@scopedRegistry()\n@stateHighlighted()\nexport class TreeNode extends LitElement {\n /**\n * Determines if node is in an expanded state.\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Determines whether if node is in a selected state.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Determines whether a node can be expandable. Expandable by default if slotted nodes exist.\n */\n @property({ type: Boolean }) expandable = false;\n\n /**\n * Determines whether a node can be in a selected state. Nodes can be in a single or multi select state.\n */\n @property({ type: String }) selectable: 'single' | 'multi';\n\n /**\n * Determines the highlighted state of the element. Highlighted states serve non-interactive selections where nodes may relate to other selected portions of the UI.\n */\n @property({ type: Boolean }) highlighted = false;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Updates internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /** @private */\n @hostAttr() slot = 'nodes';\n\n get #tree() {\n return this.closest<Tree>('nve-tree');\n }\n\n /**\n * Returns list of child nodes\n */\n @queryAssignedElements({ slot: 'nodes' }) readonly nodes!: TreeNode[];\n\n /* @private */\n @state() indeterminate = false;\n\n /* @private */\n @state() behaviorExpand = false;\n\n /* @private */\n @state() behaviorSelect = false;\n\n #typeExpandableController = new TypeExpandableController(this);\n\n #typeSelectableController = new TypeSelectableController(this);\n\n get #isExpandable() {\n return this.expandable || this.expanded || !!this.nodes?.length;\n }\n\n static metadata = {\n tag: 'nve-tree-node',\n version: '0.0.0',\n parents: ['nve-tree', 'nve-tree-node']\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Icon.metadata.tag]: Icon,\n [Checkbox.metadata.tag]: Checkbox\n };\n\n static styles = useStyles([styles]);\n\n declare _internals: ElementInternals;\n\n /* eslint-disable @nvidia-elements/lint/no-missing-control-label */\n render() {\n return html`\n <div internal-host @slotchange=${this.#nodeUpdate}>\n <div part=\"_node\">\n ${\n this.#isExpandable\n ? html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @pointerup=${this.#toggleExpand} role=\"presentation\" tabindex=\"-1\" size=\"sm\" container=\"inline\" nofocus>\n <nve-icon part=\"icon\" name=\"caret\" direction=${this.expanded ? 'down' : 'right'} size=\"sm\"></nve-icon>\n </nve-icon-button>`\n : nothing\n }\n ${\n this.selectable === 'multi'\n ? html`\n <nve-checkbox part=\"checkbox\" nofocus>\n <input type=\"checkbox\" @change=${this.#toggleMultiSelection} .checked=${this.selected} .indeterminate=${this.indeterminate} .ariaLabel=${this.i18n.expand} tabindex=\"-1\" />\n </nve-checkbox>`\n : nothing\n }\n <div tabindex=\"0\" part=\"_node-header\">\n <slot tabindex=\"0\" class=\"node-title\" @click=${this.#nodeHeaderClick}></slot>\n <slot name=\"content\" part=\"_content\"></slot>\n </div>\n </div>\n <div role=\"group\" part=\"_nodes\"><slot name=\"nodes\"></slot></div>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'treeitem';\n this.addEventListener('keyup', this.#onKeyup);\n this.#nodeUpdate();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keyup', this.#onKeyup);\n }\n\n /** opens and sets the expanded state automatically if behaviorExpand is true */\n open() {\n this.#typeExpandableController.open();\n }\n\n /** closes and sets the expanded state automatically if behaviorExpand is true */\n close() {\n this.#typeExpandableController.close();\n }\n\n #nodeUpdate() {\n this.requestUpdate();\n this.#toggleExpandableState();\n }\n\n #toggleExpandableState() {\n this.#isExpandable ? this._internals.states.add('is-expandable') : this._internals.states.delete('is-expandable');\n }\n\n #onKeyup = (e: KeyboardEvent) => {\n if (this.#isExpandable && e.code === 'ArrowLeft' && e.target === this) {\n this.close();\n }\n\n if (this.#isExpandable && e.code === 'ArrowRight' && e.target === this) {\n this.open();\n }\n\n if (e.code === 'Space' && e.target === this && this.selectable) {\n e.preventDefault();\n this.#toggleSelection();\n }\n };\n\n #nodeHeaderClick(e: Event) {\n const hasFocusableElements = getFlattenedFocusableItems(e.currentTarget as HTMLElement).length;\n if (this.#isExpandable && !this.selectable && !hasFocusableElements) {\n this.#toggleExpand();\n }\n\n if (this.selectable && (!hasFocusableElements || (e.target as HTMLElement).localName === 'a')) {\n this.#toggleSelection();\n }\n }\n\n #toggleExpand() {\n this.#typeExpandableController.toggle();\n }\n\n #toggleSelection() {\n if (this.selectable === 'single') {\n this.#toggleSingleSelection();\n }\n\n if (this.selectable === 'multi') {\n this.#toggleMultiSelection();\n }\n }\n\n #toggleSingleSelection() {\n this.#typeSelectableController.toggle();\n if (this.behaviorSelect) {\n this.#tree!.nodes.filter(n => n !== this).forEach(n => (n.selected = false));\n }\n }\n\n #toggleMultiSelection() {\n this.#typeSelectableController.toggle();\n\n if (this.behaviorSelect) {\n this.nodes.forEach(n => {\n n.selected = this.selected;\n n.indeterminate = false;\n });\n this.#tree!.nodes.forEach(node => updateNodeSelection(node));\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"tree-node2.js","names":["#i18nController","#isExpandable","#toggleSelection","#tree","#nodeUpdate","#toggleExpand","#toggleMultiSelection","#nodeHeaderClick","#onKeyup","#typeExpandableController","#toggleExpandableState","#toggleSingleSelection","#typeSelectableController"],"sources":["../../src/tree/tree-node.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LitElement, html, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport { queryAssignedElements } from 'lit/decorators/query-assigned-elements.js';\nimport {\n I18nController,\n TypeExpandableController,\n TypeSelectableController,\n attachInternals,\n audit,\n getFlattenedFocusableItems,\n hostAttr,\n scopedRegistry,\n stateExpanded,\n stateHighlighted,\n stateSelected,\n typeAnchor,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { Checkbox } from '@nvidia-elements/core/checkbox';\nimport type { Tree } from './tree.js';\nimport styles from './tree-node.css?inline';\nimport { updateNodeSelection } from './utils.js';\n\n/**\n * @element nve-tree-node\n * @description A tree view widget presents a hierarchical list. Any item in the hierarchy may have child items, and items that have children can expand or collapse to show or hide the children.\n * @documentation https://nvidia.github.io/elements/docs/elements/tree/\n * @since 1.2.0\n * @entrypoint \\@nvidia-elements/core/tree\n * @event open - Dispatched when the node opens.\n * @event close - Dispatched when the node closes.\n * @event select - Dispatched when the node selection state changes.\n * @command --select - use to select the node\n * @command --deselect - use to deselect the node\n * @command --toggle-select - use to toggle the node selection state\n * @command --open - use to open the node\n * @command --close - use to close the node\n * @command --toggle - use to toggle open / closed state of the node\n * @slot - Use default slot for basic text content or nested <nve-tree-node> elements.\n * @slot content - Use only for extended long form content containing interactive elements or form inputs.\n * @cssprop --color\n * @cssprop --border-radius\n * @cssprop --font-size\n * @cssprop --min-height\n * @cssprop --text-wrap\n * @cssprop --font-weight\n * @cssprop --width\n\n * @csspart icon-button - The icon button element\n * @csspart icon - The icon element\n * @csspart checkbox - The checkbox element\n\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/treeview/\n *\n */\n@audit()\n@typeSSR({ log: false }) // warning about ssr mismatch disabled as tree node will never be a 1:1 match in ssr due to performance constraints and slot complexity\n@typeAnchor()\n@stateSelected()\n@stateExpanded()\n@scopedRegistry()\n@stateHighlighted()\nexport class TreeNode extends LitElement {\n /**\n * Determines if node is in an expanded state.\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Determines whether if node is in a selected state.\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Determines whether a node can be expandable. Expandable by default if slotted nodes exist.\n */\n @property({ type: Boolean }) expandable = false;\n\n /**\n * Determines whether a node can be in a selected state. Nodes can be in a single or multi select state.\n */\n @property({ type: String }) selectable: 'single' | 'multi';\n\n /**\n * Determines the highlighted state of the element. Highlighted states serve non-interactive selections where nodes may relate to other selected portions of the UI.\n */\n @property({ type: Boolean }) highlighted = false;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Updates internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /** @private */\n @hostAttr() slot = 'nodes';\n\n get #tree() {\n return this.closest<Tree>('nve-tree');\n }\n\n /**\n * Returns list of child nodes\n */\n @queryAssignedElements({ slot: 'nodes' }) readonly nodes!: TreeNode[];\n\n /** @private */\n @state() indeterminate = false;\n\n /** @private */\n @state() behaviorExpand = false;\n\n /** @private */\n @state() behaviorSelect = false;\n\n #typeExpandableController = new TypeExpandableController(this);\n\n #typeSelectableController = new TypeSelectableController(this);\n\n get #isExpandable() {\n return this.expandable || this.expanded || !!this.nodes?.length;\n }\n\n static metadata = {\n tag: 'nve-tree-node',\n version: '0.0.0',\n parents: ['nve-tree', 'nve-tree-node']\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Icon.metadata.tag]: Icon,\n [Checkbox.metadata.tag]: Checkbox\n };\n\n static styles = useStyles([styles]);\n\n declare _internals: ElementInternals;\n\n /* eslint-disable @nvidia-elements/lint/no-missing-control-label */\n render() {\n return html`\n <div internal-host @slotchange=${this.#nodeUpdate}>\n <div part=\"_node\">\n ${\n this.#isExpandable\n ? html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @pointerup=${this.#toggleExpand} role=\"presentation\" tabindex=\"-1\" size=\"sm\" container=\"inline\" nofocus>\n <nve-icon part=\"icon\" name=\"caret\" direction=${this.expanded ? 'down' : 'right'} size=\"sm\"></nve-icon>\n </nve-icon-button>`\n : nothing\n }\n ${\n this.selectable === 'multi'\n ? html`\n <nve-checkbox part=\"checkbox\" nofocus>\n <input type=\"checkbox\" @change=${this.#toggleMultiSelection} .checked=${this.selected} .indeterminate=${this.indeterminate} .ariaLabel=${this.i18n.expand} tabindex=\"-1\" />\n </nve-checkbox>`\n : nothing\n }\n <div tabindex=\"0\" part=\"_node-header\">\n <slot tabindex=\"0\" class=\"node-title\" @click=${this.#nodeHeaderClick}></slot>\n <slot name=\"content\" part=\"_content\"></slot>\n </div>\n </div>\n <div role=\"group\" part=\"_nodes\"><slot name=\"nodes\"></slot></div>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'treeitem';\n this.addEventListener('keyup', this.#onKeyup);\n this.#nodeUpdate();\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keyup', this.#onKeyup);\n }\n\n /** opens and sets the expanded state automatically if behaviorExpand is true */\n open() {\n this.#typeExpandableController.open();\n }\n\n /** closes and sets the expanded state automatically if behaviorExpand is true */\n close() {\n this.#typeExpandableController.close();\n }\n\n #nodeUpdate() {\n this.requestUpdate();\n this.#toggleExpandableState();\n }\n\n #toggleExpandableState() {\n this.#isExpandable ? this._internals.states.add('is-expandable') : this._internals.states.delete('is-expandable');\n }\n\n #onKeyup = (e: KeyboardEvent) => {\n if (this.#isExpandable && e.code === 'ArrowLeft' && e.target === this) {\n this.close();\n }\n\n if (this.#isExpandable && e.code === 'ArrowRight' && e.target === this) {\n this.open();\n }\n\n if (e.code === 'Space' && e.target === this && this.selectable) {\n e.preventDefault();\n this.#toggleSelection();\n }\n };\n\n #nodeHeaderClick(e: Event) {\n const hasFocusableElements = getFlattenedFocusableItems(e.currentTarget as HTMLElement).length;\n if (this.#isExpandable && !this.selectable && !hasFocusableElements) {\n this.#toggleExpand();\n }\n\n if (this.selectable && (!hasFocusableElements || (e.target as HTMLElement).localName === 'a')) {\n this.#toggleSelection();\n }\n }\n\n #toggleExpand() {\n this.#typeExpandableController.toggle();\n }\n\n #toggleSelection() {\n if (this.selectable === 'single') {\n this.#toggleSingleSelection();\n }\n\n if (this.selectable === 'multi') {\n this.#toggleMultiSelection();\n }\n }\n\n #toggleSingleSelection() {\n this.#typeSelectableController.toggle();\n if (this.behaviorSelect) {\n this.#tree!.nodes.filter(n => n !== this).forEach(n => (n.selected = false));\n }\n }\n\n #toggleMultiSelection() {\n this.#typeSelectableController.toggle();\n\n if (this.behaviorSelect) {\n this.nodes.forEach(n => {\n n.selected = this.selected;\n n.indeterminate = false;\n });\n this.#tree!.nodes.forEach(node => updateNodeSelection(node));\n }\n }\n}\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ var m = class extends d {
22
22
  static {
23
23
  this.metadata = {
24
24
  tag: "nve-tree",
25
- version: "2.2.0",
25
+ version: "2.2.1",
26
26
  children: ["nve-tree-node"]
27
27
  };
28
28
  }
@@ -19,7 +19,7 @@ var l = class extends r {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-week",
22
- version: "2.2.0"
22
+ version: "2.2.1"
23
23
  };
24
24
  }
25
25
  static {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nvidia-elements/core",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "release": {
5
5
  "extends": "../../release.config.js"
6
6
  },
@@ -966,9 +966,9 @@
966
966
  "vitest": "4.1.10",
967
967
  "@internals/eslint": "0.0.0",
968
968
  "@internals/testing": "0.0.0",
969
- "@nvidia-elements/lint": "2.1.3",
969
+ "@nvidia-elements/lint": "2.2.0",
970
970
  "@internals/vite": "0.0.0",
971
- "@nvidia-elements/styles": "^2.1.0"
971
+ "@nvidia-elements/styles": "^2.1.1"
972
972
  },
973
973
  "wireit": {
974
974
  "ci": {