@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
@@ -20,7 +20,7 @@ var l = class extends o {
20
20
  static {
21
21
  this.metadata = {
22
22
  tag: "nve-notification-group",
23
- version: "2.2.0",
23
+ version: "2.2.1",
24
24
  children: ["nve-notification"]
25
25
  };
26
26
  }
@@ -14,7 +14,7 @@ import { TypeNativePopoverController } from '@nvidia-elements/core/internal';
14
14
  * @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)
15
15
  * @event open - Dispatched when the notification opens.
16
16
  * @event close - Dispatched when the notification closes.
17
- * @slot - default content slot
17
+ * @slot - The message communicated by the notification.
18
18
  * @slot icon - content slot for the status icon
19
19
  * @cssprop --border-radius
20
20
  * @cssprop --background
@@ -34,7 +34,7 @@ var m = class extends d {
34
34
  static {
35
35
  this.metadata = {
36
36
  tag: "nve-notification",
37
- version: "2.2.0"
37
+ version: "2.2.1"
38
38
  };
39
39
  }
40
40
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"notification2.js","names":["#i18nController","#popoverContent","#hiddenAttributeObserver","#syncInlineCloseTimeout","#clearCloseTimeout","#closeTimeout"],"sources":["../../src/notification/notification.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverType, SupportStatus, PopoverPosition } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n popoverStyles,\n statusIcons,\n useStyles,\n I18nController,\n TypeNativePopoverController,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport styles from './notification.css?inline';\n\n/**\n * @element nve-notification\n * @description Displays real time updates without interrupting the user's workflow to communicate an important message or status. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)\n * @documentation https://nvidia.github.io/elements/docs/elements/notification/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/notification\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 notification opens.\n * @event close - Dispatched when the notification closes.\n * @slot - default content slot\n * @slot icon - content slot for the status icon\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --min-width\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --border\n * @cssprop --status-border\n * @cssprop --gap\n * @cssprop --status-color\n * @cssprop --animation-duration - Duration of notification open/close animations\n * @csspart status-icon - The status icon element\n * @csspart icon-button - The close icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/\n */\n@scopedRegistry()\nexport class Notification extends LitElement {\n /**\n * (optional) By default the popover will automatically anchor 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 = globalThis.document?.body;\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;\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 * Determines if a close button should render within notification.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * A delayed `close` event will occur determined from the provided millisecond value.\n */\n @property({ type: Number, attribute: 'close-timeout' }) closeTimeout = 0;\n\n /**\n * Determines the visual status of the notification.\n */\n @property({ type: String, reflect: true }) status: SupportStatus;\n\n /**\n * Flat container option applies when embedding within another containing element such as a drawer.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /**\n * @private\n */\n @property({ type: Boolean }) inline = false;\n\n /** @private */\n get popoverType(): PopoverType {\n return 'manual';\n }\n\n /** @private */\n get popoverInline() {\n return this.parentElement?.localName === 'nve-notification-group' || this.inline || this.container === 'flat';\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n protected typeNativePopoverController: TypeNativePopoverController<Notification>;\n\n #closeTimeout?: ReturnType<typeof setTimeout>;\n\n #hiddenAttributeObserver?: MutationObserver;\n\n get #popoverContent() {\n return html`\n <slot name=\"icon\"><nve-icon .name=${statusIcons[this.status]} .ariaLabel=${(this.status ? (this.i18n as Record<string, string>)[this.status] : undefined) ?? this.i18n.information} part=\"status-icon\"></nve-icon></slot>\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" @click=${this.hidePopover} icon-name=\"cancel\" size=\"sm\" container=\"flat\" .ariaLabel=${this.i18n.close}></nve-icon-button>` : ''}\n <slot></slot>`;\n }\n\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-notification',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon,\n [IconButton.metadata.tag]: IconButton\n };\n\n render() {\n return html`\n <div internal-host>\n ${this.#popoverContent}\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this.#hiddenAttributeObserver = new MutationObserver(() => this.#syncInlineCloseTimeout());\n this.#hiddenAttributeObserver.observe(this, { attributeFilter: ['hidden'] });\n this._internals.role = 'alert';\n this.#syncInlineCloseTimeout();\n }\n\n disconnectedCallback() {\n this.#clearCloseTimeout();\n this.#hiddenAttributeObserver?.disconnect();\n this.#hiddenAttributeObserver = undefined;\n super.disconnectedCallback();\n }\n\n async firstUpdated(props: PropertyValues<this>) {\n super.firstUpdated(props);\n\n if (!this.popoverInline) {\n this.typeNativePopoverController = new TypeNativePopoverController<Notification>(this);\n } else {\n this.setAttribute('nve-popover', '');\n }\n\n this.#syncInlineCloseTimeout();\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n\n if (props.has('closeTimeout') || props.has('container') || props.has('inline')) {\n this.#syncInlineCloseTimeout();\n }\n }\n\n hidePopover(): void {\n this.#clearCloseTimeout();\n\n if (this.popoverInline) {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n } else {\n super.hidePopover();\n }\n }\n\n /**\n * The popover controller provides this functionality.\n * But when the notification is in inline mode the\n * controller does not run so this sets it up directly.\n */\n #syncInlineCloseTimeout() {\n this.#clearCloseTimeout();\n\n if (this.popoverInline && this.closeTimeout && !this.hidden) {\n this.#closeTimeout = setTimeout(() => this.hidePopover(), this.closeTimeout);\n }\n }\n\n #clearCloseTimeout() {\n if (this.#closeTimeout !== undefined) {\n clearTimeout(this.#closeTimeout);\n this.#closeTimeout = undefined;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"notification2.js","names":["#i18nController","#popoverContent","#hiddenAttributeObserver","#syncInlineCloseTimeout","#clearCloseTimeout","#closeTimeout"],"sources":["../../src/notification/notification.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyValues } from 'lit';\nimport { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { Icon } from '@nvidia-elements/core/icon';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport type { PopoverAlign, PopoverType, SupportStatus, PopoverPosition } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n popoverStyles,\n statusIcons,\n useStyles,\n I18nController,\n TypeNativePopoverController,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport styles from './notification.css?inline';\n\n/**\n * @element nve-notification\n * @description Displays real time updates without interrupting the user's workflow to communicate an important message or status. [MDN Popover API](https://developer.mozilla.org/en-US/docs/Web/API/Popover_API)\n * @documentation https://nvidia.github.io/elements/docs/elements/notification/\n * @since 0.6.0\n * @entrypoint \\@nvidia-elements/core/notification\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 notification opens.\n * @event close - Dispatched when the notification closes.\n * @slot - The message communicated by the notification.\n * @slot icon - content slot for the status icon\n * @cssprop --border-radius\n * @cssprop --background\n * @cssprop --color\n * @cssprop --padding\n * @cssprop --box-shadow\n * @cssprop --min-width\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --border\n * @cssprop --status-border\n * @cssprop --gap\n * @cssprop --status-color\n * @cssprop --animation-duration - Duration of notification open/close animations\n * @csspart status-icon - The status icon element\n * @csspart icon-button - The close icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/\n */\n@scopedRegistry()\nexport class Notification extends LitElement {\n /**\n * (optional) By default the popover will automatically anchor 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 = globalThis.document?.body;\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;\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 * Determines if a close button should render within notification.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * A delayed `close` event will occur determined from the provided millisecond value.\n */\n @property({ type: Number, attribute: 'close-timeout' }) closeTimeout = 0;\n\n /**\n * Determines the visual status of the notification.\n */\n @property({ type: String, reflect: true }) status: SupportStatus;\n\n /**\n * Flat container option applies when embedding within another containing element such as a drawer.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n /**\n * @private\n */\n @property({ type: Boolean }) inline = false;\n\n /** @private */\n get popoverType(): PopoverType {\n return 'manual';\n }\n\n /** @private */\n get popoverInline() {\n return this.parentElement?.localName === 'nve-notification-group' || this.inline || this.container === 'flat';\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n protected typeNativePopoverController: TypeNativePopoverController<Notification>;\n\n #closeTimeout?: ReturnType<typeof setTimeout>;\n\n #hiddenAttributeObserver?: MutationObserver;\n\n get #popoverContent() {\n return html`\n <slot name=\"icon\"><nve-icon .name=${statusIcons[this.status]} .ariaLabel=${(this.status ? (this.i18n as Record<string, string>)[this.status] : undefined) ?? this.i18n.information} part=\"status-icon\"></nve-icon></slot>\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" @click=${this.hidePopover} icon-name=\"cancel\" size=\"sm\" container=\"flat\" .ariaLabel=${this.i18n.close}></nve-icon-button>` : ''}\n <slot></slot>`;\n }\n\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-notification',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Icon.metadata.tag]: Icon,\n [IconButton.metadata.tag]: IconButton\n };\n\n render() {\n return html`\n <div internal-host>\n ${this.#popoverContent}\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this.#hiddenAttributeObserver = new MutationObserver(() => this.#syncInlineCloseTimeout());\n this.#hiddenAttributeObserver.observe(this, { attributeFilter: ['hidden'] });\n this._internals.role = 'alert';\n this.#syncInlineCloseTimeout();\n }\n\n disconnectedCallback() {\n this.#clearCloseTimeout();\n this.#hiddenAttributeObserver?.disconnect();\n this.#hiddenAttributeObserver = undefined;\n super.disconnectedCallback();\n }\n\n async firstUpdated(props: PropertyValues<this>) {\n super.firstUpdated(props);\n\n if (!this.popoverInline) {\n this.typeNativePopoverController = new TypeNativePopoverController<Notification>(this);\n } else {\n this.setAttribute('nve-popover', '');\n }\n\n this.#syncInlineCloseTimeout();\n }\n\n updated(props: PropertyValues<this>) {\n super.updated(props);\n\n if (props.has('closeTimeout') || props.has('container') || props.has('inline')) {\n this.#syncInlineCloseTimeout();\n }\n }\n\n hidePopover(): void {\n this.#clearCloseTimeout();\n\n if (this.popoverInline) {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n } else {\n super.hidePopover();\n }\n }\n\n /**\n * The popover controller provides this functionality.\n * But when the notification is in inline mode the\n * controller does not run so this sets it up directly.\n */\n #syncInlineCloseTimeout() {\n this.#clearCloseTimeout();\n\n if (this.popoverInline && this.closeTimeout && !this.hidden) {\n this.#closeTimeout = setTimeout(() => this.hidePopover(), this.closeTimeout);\n }\n }\n\n #clearCloseTimeout() {\n if (this.#closeTimeout !== undefined) {\n clearTimeout(this.#closeTimeout);\n this.#closeTimeout = undefined;\n }\n }\n}\n"],"mappings":"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"}
@@ -9,7 +9,7 @@ var i = class extends n {
9
9
  static {
10
10
  this.metadata = {
11
11
  tag: "nve-page-panel-content",
12
- version: "2.2.0"
12
+ version: "2.2.1"
13
13
  };
14
14
  }
15
15
  render() {
@@ -19,6 +19,7 @@ export declare class PagePanelFooter extends LitElement {
19
19
  tag: string;
20
20
  version: string;
21
21
  };
22
+ /** @private */
22
23
  slot: string;
23
24
  render(): import("lit").TemplateResult<1>;
24
25
  }
@@ -14,7 +14,7 @@ var o = class extends i {
14
14
  static {
15
15
  this.metadata = {
16
16
  tag: "nve-page-panel-footer",
17
- version: "2.2.0"
17
+ version: "2.2.1"
18
18
  };
19
19
  }
20
20
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"page-panel-footer2.js","names":[],"sources":["../../../src/page/page-panel/page-panel-footer.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 { hostAttr, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './page-panel-footer.css?inline';\n\n/**\n * @element nve-page-panel-footer\n * @description Provides a fixed action area at the bottom of a page panel for persistent controls or status information.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - default slot for the page-panel footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n * @cssprop --min-height\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\nexport class PagePanelFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel-footer',\n version: '0.0.0'\n };\n\n @hostAttr() slot = 'footer';\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAa,IAAb,cAAqC,EAAW;;2BAQ3B;;;gBAPH,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;CAIA,SAAS;EACP,OAAO,CAAI;CAKb;AACF;GATG,EAAS,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"page-panel-footer2.js","names":[],"sources":["../../../src/page/page-panel/page-panel-footer.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 { hostAttr, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './page-panel-footer.css?inline';\n\n/**\n * @element nve-page-panel-footer\n * @description Provides a fixed action area at the bottom of a page panel for persistent controls or status information.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - default slot for the page-panel footer\n * @cssprop --border-top\n * @cssprop --padding\n * @cssprop --gap\n * @cssprop --min-height\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\nexport class PagePanelFooter extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel-footer',\n version: '0.0.0'\n };\n\n /** @private */\n @hostAttr() slot = 'footer';\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAa,IAAb,cAAqC,EAAW;;2BAS3B;;;gBARH,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;CAKA,SAAS;EACP,OAAO,CAAI;CAKb;AACF;GATG,EAAS,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA"}
@@ -18,6 +18,7 @@ export declare class PagePanelHeader extends LitElement {
18
18
  tag: string;
19
19
  version: string;
20
20
  };
21
+ /** @private */
21
22
  slot: string;
22
23
  render(): import("lit").TemplateResult<1>;
23
24
  }
@@ -14,7 +14,7 @@ var o = class extends i {
14
14
  static {
15
15
  this.metadata = {
16
16
  tag: "nve-page-panel-header",
17
- version: "2.2.0"
17
+ version: "2.2.1"
18
18
  };
19
19
  }
20
20
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"page-panel-header2.js","names":[],"sources":["../../../src/page/page-panel/page-panel-header.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 { hostAttr, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './page-panel-header.css?inline';\n\n/**\n * @element nve-page-panel-header\n * @description Displays the title and contextual controls at the top of a page panel to identify its purpose.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - default slot for the page panel header\n * @cssprop --border-bottom\n * @cssprop --min-height\n * @cssprop --padding\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\nexport class PagePanelHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel-header',\n version: '0.0.0'\n };\n\n @hostAttr() slot = 'header';\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAa,IAAb,cAAqC,EAAW;;2BAQ3B;;;gBAPH,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;CAIA,SAAS;EACP,OAAO,CAAI;CAKb;AACF;GATG,EAAS,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"page-panel-header2.js","names":[],"sources":["../../../src/page/page-panel/page-panel-header.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 { hostAttr, useStyles } from '@nvidia-elements/core/internal';\nimport styles from './page-panel-header.css?inline';\n\n/**\n * @element nve-page-panel-header\n * @description Displays the title and contextual controls at the top of a page panel to identify its purpose.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - default slot for the page panel header\n * @cssprop --border-bottom\n * @cssprop --min-height\n * @cssprop --padding\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\nexport class PagePanelHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel-header',\n version: '0.0.0'\n };\n\n /** @private */\n @hostAttr() slot = 'header';\n\n render() {\n return html`\n <div internal-host>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAa,IAAb,cAAqC,EAAW;;2BAS3B;;;gBARH,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;CAKA,SAAS;EACP,OAAO,CAAI;CAKb;AACF;GATG,EAAS,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA"}
@@ -8,7 +8,7 @@ import type { Size } from '@nvidia-elements/core/internal';
8
8
  * @since 1.15.0
9
9
  * @event open - Dispatched after an invoker command removes `hidden` and opens the panel.
10
10
  * @event close - Dispatched after an invoker command sets `hidden` and closes the panel.
11
- * @slot - default content slot
11
+ * @slot - `nve-page-panel-content` elements that provide the panel body.
12
12
  * @slot actions - slot for action / dismiss buttons
13
13
  * @command --open - Removes `hidden` and dispatches `open`.
14
14
  * @command --close - Sets `hidden` and dispatches `close`.
@@ -18,7 +18,7 @@ var f = class extends l {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-page-panel",
21
- version: "2.2.0",
21
+ version: "2.2.1",
22
22
  parents: ["nve-page"]
23
23
  };
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-panel2.js","names":["#i18nController"],"sources":["../../../src/page/page-panel/page-panel.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 type { Size } from '@nvidia-elements/core/internal';\nimport {\n appendRootNodeStyle,\n attachInternals,\n audit,\n I18nController,\n TypeExpandableController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport styles from './page-panel.css?inline';\nimport globalStyles from './page-panel.global.css?inline';\n\n/**\n * @element nve-page-panel\n * @description Child panel for embedded panels within the page component. Typically used for left/right/bottom page slot positions.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @event open - Dispatched after an invoker command removes `hidden` and opens the panel.\n * @event close - Dispatched after an invoker command sets `hidden` and closes the panel.\n * @slot - default content slot\n * @slot actions - slot for action / dismiss buttons\n * @command --open - Removes `hidden` and dispatches `open`.\n * @command --close - Sets `hidden` and dispatches `close`.\n * @command --toggle - Toggles `hidden` and dispatches `open` or `close`.\n * @cssprop --background\n * @cssprop --border\n * @cssprop --color\n * @cssprop --gap\n * @cssprop --padding\n * @cssprop --height\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --max-height\n * @cssprop --animation-duration - Duration of panel open/close animations\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\n@audit()\nexport class PagePanel extends LitElement {\n /**\n * Sets the max size of the panel.\n */\n @property({ type: String, reflect: true }) size?: Size;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel',\n version: '0.0.0',\n parents: ['nve-page']\n };\n\n constructor() {\n super();\n new TypeExpandableController(this, { useHidden: true });\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <div part=\"_header\">\n <slot name=\"header\"></slot>\n <slot name=\"actions\"></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n <div>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n appendRootNodeStyle(this, globalStyles);\n this._internals.role = 'region';\n }\n}\n"],"mappings":";;;;;;;;;;;;AA4CO,IAAA,IAAA,cAAwB,EAAW;CAMxC;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,UAAU;EACtB;;CAEA,cAAc;EAEZ,AADA,MAAM,aAhBgC,IAAI,EAAqB,IAAI,eAKlC,KAAKA,GAAgB,MAYtD,IAAI,EAAyB,MAAM,EAAE,WAAW,GAAK,CAAC;CACxD;CAKA,SAAS;EACP,OAAO,CAAI;CAcb;CAEA,oBAAoB;EAIlB,AAHA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,EAAoB,MAAM,CAAY,GACtC,KAAK,WAAW,OAAO;CACzB;AACF;GAhDG,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAOxC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UAZ3B,EAAM,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"page-panel2.js","names":["#i18nController"],"sources":["../../../src/page/page-panel/page-panel.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 type { Size } from '@nvidia-elements/core/internal';\nimport {\n appendRootNodeStyle,\n attachInternals,\n audit,\n I18nController,\n TypeExpandableController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport styles from './page-panel.css?inline';\nimport globalStyles from './page-panel.global.css?inline';\n\n/**\n * @element nve-page-panel\n * @description Child panel for embedded panels within the page component. Typically used for left/right/bottom page slot positions.\n * @documentation https://nvidia.github.io/elements/docs/elements/page/\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @event open - Dispatched after an invoker command removes `hidden` and opens the panel.\n * @event close - Dispatched after an invoker command sets `hidden` and closes the panel.\n * @slot - `nve-page-panel-content` elements that provide the panel body.\n * @slot actions - slot for action / dismiss buttons\n * @command --open - Removes `hidden` and dispatches `open`.\n * @command --close - Sets `hidden` and dispatches `close`.\n * @command --toggle - Toggles `hidden` and dispatches `open` or `close`.\n * @cssprop --background\n * @cssprop --border\n * @cssprop --color\n * @cssprop --gap\n * @cssprop --padding\n * @cssprop --height\n * @cssprop --width\n * @cssprop --max-width\n * @cssprop --max-height\n * @cssprop --animation-duration - Duration of panel open/close animations\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\n@audit()\nexport class PagePanel extends LitElement {\n /**\n * Sets the max size of the panel.\n */\n @property({ type: String, reflect: true }) size?: Size;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-panel',\n version: '0.0.0',\n parents: ['nve-page']\n };\n\n constructor() {\n super();\n new TypeExpandableController(this, { useHidden: true });\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <div part=\"_header\">\n <slot name=\"header\"></slot>\n <slot name=\"actions\"></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n <div>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n appendRootNodeStyle(this, globalStyles);\n this._internals.role = 'region';\n }\n}\n"],"mappings":";;;;;;;;;;;;AA4CO,IAAA,IAAA,cAAwB,EAAW;CAMxC;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,UAAU;EACtB;;CAEA,cAAc;EAEZ,AADA,MAAM,aAhBgC,IAAI,EAAqB,IAAI,eAKlC,KAAKA,GAAgB,MAYtD,IAAI,EAAyB,MAAM,EAAE,WAAW,GAAK,CAAC;CACxD;CAKA,SAAS;EACP,OAAO,CAAI;CAcb;CAEA,oBAAoB;EAIlB,AAHA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,EAAoB,MAAM,CAAY,GACtC,KAAK,WAAW,OAAO;CACzB;AACF;GAhDG,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAOxC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UAZ3B,EAAM,CAAA,GAAA,CAAA"}
@@ -16,7 +16,7 @@ var c = class extends a {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-page",
19
- version: "2.2.0"
19
+ version: "2.2.1"
20
20
  };
21
21
  }
22
22
  static {
@@ -12,7 +12,7 @@ var s = class extends a {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-page-header",
15
- version: "2.2.0"
15
+ version: "2.2.1"
16
16
  };
17
17
  }
18
18
  render() {
@@ -8,7 +8,7 @@ import { ProgressRing } from '@nvidia-elements/core/progress-ring';
8
8
  * @documentation https://nvidia.github.io/elements/docs/elements/page-loader/
9
9
  * @since 0.19.0
10
10
  * @entrypoint \@nvidia-elements/core/page-loader
11
- * @slot - default slot for content
11
+ * @slot - Loading status text displayed with the progress indicator.
12
12
  * @cssprop --gap
13
13
  * @cssprop --animation-duration - Duration of page loader open/close animations
14
14
  * @csspart progress-ring - The progress ring element
@@ -18,7 +18,7 @@ var u = class extends s {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-page-loader",
21
- version: "2.2.0"
21
+ version: "2.2.1"
22
22
  };
23
23
  }
24
24
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"page-loader2.js","names":[],"sources":["../../src/page-loader/page-loader.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport type { PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport { popoverStyles, scopedRegistry, TypeNativePopoverController, useStyles } from '@nvidia-elements/core/internal';\nimport { ProgressRing } from '@nvidia-elements/core/progress-ring';\nimport styles from './page-loader.css?inline';\n\n/**\n * @element nve-page-loader\n * @description Page Loader is a full-screen version of the `progress-ring` component, for use when the page should remain unusable as the loader displays.\n * @documentation https://nvidia.github.io/elements/docs/elements/page-loader/\n * @since 0.19.0\n * @entrypoint \\@nvidia-elements/core/page-loader\n * @slot - default slot for content\n * @cssprop --gap\n * @cssprop --animation-duration - Duration of page loader open/close animations\n * @csspart progress-ring - The progress ring element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class PageLoader extends LitElement {\n /** @private */\n readonly position: PopoverPosition = 'center';\n\n /** @private */\n readonly popoverType: PopoverType = 'manual';\n\n /** @private */\n protected typeNativePopoverController = new TypeNativePopoverController<PageLoader>(this);\n\n /**\n * @private\n */\n @state() anchor = globalThis.document?.body;\n\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-page-loader',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [ProgressRing.metadata.tag]: ProgressRing\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <nve-progress-ring part=\"progress-ring\" status=\"accent\" size=\"xl\"></nve-progress-ring>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;;;;;AAuBO,IAAA,IAAA,cAAyB,EAAW;;+BAEJ,6BAGD,6CAGI,IAAI,EAAwC,IAAI,iBAKtE,WAAW,UAAU;;;gBAEvB,EAAU,CAAC,GAAe,CAAM,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAa,SAAS,MAAM,EAC/B;;CAKA,SAAS;EACP,OAAO,CAAI;CAMb;AACF;GAxBG,EAAM,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,UAdR,EAAe,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"page-loader2.js","names":[],"sources":["../../src/page-loader/page-loader.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LitElement, html } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport type { PopoverPosition, PopoverType } from '@nvidia-elements/core/internal';\nimport { popoverStyles, scopedRegistry, TypeNativePopoverController, useStyles } from '@nvidia-elements/core/internal';\nimport { ProgressRing } from '@nvidia-elements/core/progress-ring';\nimport styles from './page-loader.css?inline';\n\n/**\n * @element nve-page-loader\n * @description Page Loader is a full-screen version of the `progress-ring` component, for use when the page should remain unusable as the loader displays.\n * @documentation https://nvidia.github.io/elements/docs/elements/page-loader/\n * @since 0.19.0\n * @entrypoint \\@nvidia-elements/core/page-loader\n * @slot - Loading status text displayed with the progress indicator.\n * @cssprop --gap\n * @cssprop --animation-duration - Duration of page loader open/close animations\n * @csspart progress-ring - The progress ring element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/progressbar_role\n */\n@scopedRegistry()\nexport class PageLoader extends LitElement {\n /** @private */\n readonly position: PopoverPosition = 'center';\n\n /** @private */\n readonly popoverType: PopoverType = 'manual';\n\n /** @private */\n protected typeNativePopoverController = new TypeNativePopoverController<PageLoader>(this);\n\n /**\n * @private\n */\n @state() anchor = globalThis.document?.body;\n\n static styles = useStyles([popoverStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-page-loader',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [ProgressRing.metadata.tag]: ProgressRing\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <nve-progress-ring part=\"progress-ring\" status=\"accent\" size=\"xl\"></nve-progress-ring>\n <slot></slot>\n </div>\n `;\n }\n}\n"],"mappings":";;;;;;;;;;AAuBO,IAAA,IAAA,cAAyB,EAAW;;+BAEJ,6BAGD,6CAGI,IAAI,EAAwC,IAAI,iBAKtE,WAAW,UAAU;;;gBAEvB,EAAU,CAAC,GAAe,CAAM,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAa,SAAS,MAAM,EAC/B;;CAKA,SAAS;EACP,OAAO,CAAI;CAMb;AACF;GAxBG,EAAM,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,UAdR,EAAe,CAAA,GAAA,CAAA"}
@@ -13,8 +13,8 @@ declare const Pagination_base: import("@nvidia-elements/forms/mixins").FormContr
13
13
  * @event change - Dispatched when the value (page) has changed
14
14
  * @event first-page - Dispatched when the first page is active
15
15
  * @event last-page - Dispatched when the last page is active
16
- * @slot - default slot for content
17
- * @slot suffix-label - slot for overriding the "n of total" label when total is an approximation
16
+ * @event step-change - Dispatched after the page size changes with the current page size in `detail`. The event bubbles and crosses shadow boundaries.
17
+ * @slot suffix-label - Overrides the "of total" label when the total is an approximation.
18
18
  * @cssprop --background
19
19
  * @cssprop --font-size
20
20
  * @cssprop --width
@@ -26,6 +26,7 @@ declare const Pagination_base: import("@nvidia-elements/forms/mixins").FormContr
26
26
  * @csspart select - The page size select element
27
27
  * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/
28
28
  * @property {number} value - value the current page number
29
+ * @attribute {string} step-sizes - A JSON-serialized array of page-size options available in the selector.
29
30
  */
30
31
  export declare class Pagination extends Pagination_base {
31
32
  #private;
@@ -34,7 +35,7 @@ export declare class Pagination extends Pagination_base {
34
35
  */
35
36
  step: number;
36
37
  /**
37
- * The array of custom step-size.
38
+ * Page-size options available in the selector.
38
39
  */
39
40
  stepSizes: number[];
40
41
  /**
@@ -21,7 +21,7 @@ var g = class extends h(d) {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-pagination",
24
- version: "2.2.0",
24
+ version: "2.2.1",
25
25
  valueSchema: { type: "number" }
26
26
  };
27
27
  }
@@ -107,7 +107,10 @@ var g = class extends h(d) {
107
107
  }));
108
108
  }
109
109
  };
110
- s([m({ type: Number })], g.prototype, "step", void 0), s([m({ type: Array })], g.prototype, "stepSizes", void 0), s([m({ type: Number })], g.prototype, "items", void 0), s([m({ type: Boolean })], g.prototype, "skippable", void 0), s([m({
110
+ s([m({ type: Number })], g.prototype, "step", void 0), s([m({
111
+ type: Array,
112
+ attribute: "step-sizes"
113
+ })], g.prototype, "stepSizes", void 0), s([m({ type: Number })], g.prototype, "items", void 0), s([m({ type: Boolean })], g.prototype, "skippable", void 0), s([m({
111
114
  type: Boolean,
112
115
  attribute: "disable-step"
113
116
  })], g.prototype, "disableStep", void 0), s([m({
@@ -1 +1 @@
1
- {"version":3,"file":"pagination2.js","names":["#currentPage","#isLastPage","#isFirstPage","#selectLabel","#label","#previousButton","#setValue","#nextButton","#startButton","#endButton","#select","#setStep","#i18nController","#setupLabelWidth","#resizeObserver"],"sources":["../../src/pagination/pagination.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport type { KeynavListConfig } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n I18nController,\n formatStandardNumber,\n keyNavigationList,\n typeSSR,\n useStyles,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { Select } from '@nvidia-elements/core/select';\nimport styles from './pagination.css?inline';\n\n/* eslint-disable jsdoc/no-types */\n// explicit jsdoc annotation due to inheritance context lost with CEM generator\n\n/**\n * @element nve-pagination\n * @description Pagination is a control that enables users to navigate through pages of content.\n * @documentation https://nvidia.github.io/elements/docs/elements/pagination/\n * @since 0.11.0\n * @entrypoint \\@nvidia-elements/core/pagination\n * @event input - Dispatched when the value (page) has changed\n * @event change - Dispatched when the value (page) has changed\n * @event first-page - Dispatched when the first page is active\n * @event last-page - Dispatched when the last page is active\n * @slot - default slot for content\n * @slot suffix-label - slot for overriding the \"n of total\" label when total is an approximation\n * @cssprop --background\n * @cssprop --font-size\n * @cssprop --width\n * @csspart icon-button - Base part applied to all icon button elements\n * @csspart previous-icon-button - The previous page icon button\n * @csspart next-icon-button - The next page icon button\n * @csspart start-icon-button - The first page icon button\n * @csspart end-icon-button - The last page icon button\n * @csspart select - The page size select element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n * @property {number} value - value the current page number\n */\n@typeSSR()\n@keyNavigationList<Pagination>()\n@scopedRegistry()\nexport class Pagination extends FormControlMixin<typeof LitElement, number>(LitElement) {\n /**\n * The number of items per page.\n */\n @property({ type: Number }) step = 10;\n /**\n * The array of custom step-size.\n */\n @property({ type: Array }) stepSizes: number[] = [10, 20, 50, 100];\n\n /**\n * The total number of items.\n */\n @property({ type: Number }) items: number;\n\n /**\n * Whether the pagination is skippable to start/end.\n */\n @property({ type: Boolean }) skippable: boolean;\n\n /**\n * Whether the step selector has a disabled state.\n */\n @property({ type: Boolean, attribute: 'disable-step' }) disableStep: boolean;\n\n /**\n * Determines the container styles of component. Flat applies when nesting within other containers. Inline applies when placing within other inline content.\n */\n @property({ type: String, reflect: true }) container?: 'flat' | 'inline';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-pagination',\n version: '0.0.0',\n valueSchema: {\n type: 'number' as const\n }\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Select.metadata.tag]: Select\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.shadowRoot!.querySelectorAll<HTMLElement>(`${IconButton.metadata.tag}, input, select`),\n layout: 'horizontal'\n };\n }\n\n get #currentPage() {\n return (this.value! - 1) * this.step + this.step;\n }\n\n get #isLastPage() {\n return this.items / this.value! === this.step;\n }\n\n get #isFirstPage() {\n return this.value === 1;\n }\n\n get #selectLabel() {\n const start = (this.value! - 1) * this.step + 1;\n const end = Math.min(this.value! * this.step, this.items || Infinity);\n return `${formatStandardNumber(start)}-${formatStandardNumber(end)}`;\n }\n\n get #label() {\n return this.items\n ? html`<label><slot name=\"suffix-label\">${this.i18n.of} ${formatStandardNumber(this.items)}</slot></label>`\n : nothing;\n }\n\n get #previousButton() {\n return html`<nve-icon-button part=\"icon-button previous-icon-button\"\n @click=${() => this.#setValue(this.value! - 1)}\n .disabled=${this.disabled || this.#currentPage <= this.step}\n .ariaLabel=${this.i18n.previous}\n container=\"inline\"\n icon-name=\"chevron\"\n direction=\"left\"\n ></nve-icon-button>`;\n }\n\n get #nextButton() {\n return html`<nve-icon-button part=\"icon-button next-icon-button\"\n @click=${() => this.#setValue(this.value! + 1)}\n .disabled=${this.disabled || this.#currentPage >= this.items}\n .ariaLabel=${this.i18n.next}\n container=\"inline\"\n icon-name=\"chevron\"\n direction=\"right\"\n ></nve-icon-button>`;\n }\n\n get #startButton() {\n return html`<nve-icon-button part=\"icon-button start-icon-button\"\n @click=${() => this.#setValue(1)}\n .disabled=${this.disabled || this.#currentPage <= this.step}\n .ariaLabel=${this.i18n.start}\n container=\"inline\"\n icon-name=\"arrow-stop\"\n direction=\"left\"\n ></nve-icon-button>`;\n }\n\n get #endButton() {\n return html`<nve-icon-button part=\"icon-button end-icon-button\"\n @click=${() => this.#setValue(this.items / this.step)}\n .disabled=${this.disabled || (this.value! - 1) * this.step + this.step >= this.items}\n .ariaLabel=${this.i18n.end}\n container=\"inline\"\n icon-name=\"arrow-stop\"\n direction=\"right\"\n ></nve-icon-button>`;\n }\n\n #resizeObserver: ResizeObserver;\n\n get #select() {\n return this.disableStep\n ? html`<label>${this.#selectLabel}&nbsp;</label>`\n : html`\n <nve-select part=\"select\" .container=${this.container}>\n <select\n .ariaLabel=${this.i18n.currentPage}\n @change=${(e: Event) => this.#setStep(parseInt((e.target as HTMLSelectElement).value, 10))}\n value=${this.step}\n .disabled=${this.disabled || this.disableStep}\n >\n ${this.stepSizes.map(i => html`<option ?selected=${this.step === i} value=${i}>${i}</option>`)}\n </select>\n <div class=\"select-label\">${this.#selectLabel}</div>\n </nve-select>\n `;\n }\n\n render() {\n return html`\n <div internal-host role=\"presentation\">\n ${\n this.skippable && this.items\n ? html`\n ${this.#startButton} ${this.#previousButton} ${this.#select} ${this.#label} ${this.#nextButton}\n ${this.#endButton}\n `\n : html` ${this.#select} ${this.#label} ${this.#previousButton} ${this.#nextButton} `\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = 1;\n }\n\n async connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n await this.updateComplete;\n this.#setupLabelWidth();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#resizeObserver?.unobserve(this);\n }\n\n #setupLabelWidth() {\n const label = this.shadowRoot!.querySelector('.select-label');\n const select = this.shadowRoot!.querySelector('select');\n if (label && select) {\n this.#resizeObserver = new ResizeObserver(\n entries => (select!.style.minWidth = `${entries[0]!.contentRect.width + 36}px`)\n );\n this.#resizeObserver.observe(label);\n }\n }\n\n #setStep(value: number) {\n /* eslint-disable-next-line */\n this.step = value; // stateful due to internalized select element\n this.dispatchEvent(new CustomEvent('step-change', { detail: this.step, bubbles: true, composed: true }));\n this.#setValue(this.value!);\n }\n\n #setValue(value: number) {\n if (this.value !== value) {\n this.value = value;\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n\n if (this.#isLastPage) {\n this.dispatchEvent(new CustomEvent('last-page', { bubbles: true, composed: true }));\n }\n\n if (this.#isFirstPage) {\n this.dispatchEvent(new CustomEvent('first-page', { bubbles: true, composed: true }));\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAkDO,IAAA,IAAA,cAAyB,EAA4C,CAAU,CAAC,CAAC;CA8BtF;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,aAAa,EACX,MAAM,SACR;EACF;;;4BAE4B;IACzB,EAAW,SAAS,MAAM;IAC1B,EAAO,SAAS,MAAM;EACzB;;CAGA,IAAI,mBAAqC;EACvC,OAAO;GACL,OAAO,KAAK,WAAY,iBAA8B,GAAG,EAAW,SAAS,IAAI,gBAAgB;GACjG,QAAQ;EACV;CACF;CAEA,IAAIA,KAAe;EACjB,QAAQ,KAAK,QAAS,KAAK,KAAK,OAAO,KAAK;CAC9C;CAEA,IAAIC,KAAc;EAChB,OAAO,KAAK,QAAQ,KAAK,UAAW,KAAK;CAC3C;CAEA,IAAIC,KAAe;EACjB,OAAO,KAAK,UAAU;CACxB;CAEA,IAAIC,KAAe;EACjB,IAAM,KAAS,KAAK,QAAS,KAAK,KAAK,OAAO,GACxC,IAAM,KAAK,IAAI,KAAK,QAAS,KAAK,MAAM,KAAK,SAAS,QAAQ;EACpE,OAAO,GAAG,EAAqB,CAAK,EAAE,GAAG,EAAqB,CAAG;CACnE;CAEA,IAAIC,KAAS;EACX,OAAO,KAAK,QACR,CAAI,oCAAoC,KAAK,KAAK,GAAG,GAAG,EAAqB,KAAK,KAAK,EAAE,mBACzF;CACN;CAEA,IAAIC,KAAkB;EACpB,OAAO,CAAI,0EACM,KAAKC,GAAU,KAAK,QAAS,CAAC,EAAE,eACnC,KAAK,YAAY,KAAKN,MAAgB,KAAK,KAAK,gBAC/C,KAAK,KAAK,SAAS;CAKpC;CAEA,IAAIO,KAAc;EAChB,OAAO,CAAI,sEACM,KAAKD,GAAU,KAAK,QAAS,CAAC,EAAE,eACnC,KAAK,YAAY,KAAKN,MAAgB,KAAK,MAAM,gBAChD,KAAK,KAAK,KAAK;CAKhC;CAEA,IAAIQ,KAAe;EACjB,OAAO,CAAI,uEACM,KAAKF,GAAU,CAAC,EAAE,eACrB,KAAK,YAAY,KAAKN,MAAgB,KAAK,KAAK,gBAC/C,KAAK,KAAK,MAAM;CAKjC;CAEA,IAAIS,KAAa;EACf,OAAO,CAAI,qEACM,KAAKH,GAAU,KAAK,QAAQ,KAAK,IAAI,EAAE,eAC1C,KAAK,aAAa,KAAK,QAAS,KAAK,KAAK,OAAO,KAAK,QAAQ,KAAK,MAAM,gBACxE,KAAK,KAAK,IAAI;CAK/B;CAEA;CAEA,IAAII,KAAU;EACZ,OAAO,KAAK,cACR,CAAI,UAAU,KAAKP,GAAa,aAChC,CAAI,yCACqC,KAAK,UAAU,wBAErC,KAAK,KAAK,YAAY,cACxB,MAAa,KAAKQ,GAAS,SAAU,EAAE,OAA6B,OAAO,EAAE,CAAC,EAAE,WACnF,KAAK,KAAK,eACN,KAAK,YAAY,KAAK,YAAY,IAE9C,KAAK,UAAU,KAAI,MAAK,CAAI,sBAAqB,KAAK,SAAS,EAAE,WAAS,EAAE,IAAG,EAAE,UAAU,EAAE,qCAEnE,KAAKR,GAAa;CAGxD;CAEA,SAAS;EACP,OAAO,CAAI,0CAGL,KAAK,aAAa,KAAK,QACnB,CAAI,GACF,KAAKK,GAAa,GAAG,KAAKH,GAAgB,GAAG,KAAKK,GAAQ,GAAG,KAAKN,GAAO,GAAG,KAAKG,GAAY,GAC7F,KAAKE,OAEP,CAAI,GAAI,KAAKC,GAAQ,GAAG,KAAKN,GAAO,GAAG,KAAKC,GAAgB,GAAG,KAAKE,KACzE;CAGP;CAEA,cAAc;EAEZ,AADA,MAAM,eAhK2B,qBAIc;GAAC;GAAI;GAAI;GAAI;EAAG,aAsBzB,IAAI,EAAqB,IAAI,eAKlC,KAAKK,GAAgB,MAkItD,KAAK,QAAQ;CACf;CAEA,MAAM,oBAAoB;EAKxB,AAJA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,MAAM,KAAK,gBACX,KAAKC,GAAiB;CACxB;CAEA,uBAA6B;EAE3B,AADA,MAAM,qBAAqB,GAC3B,KAAKC,IAAiB,UAAU,IAAI;CACtC;CAEA,KAAmB;EACjB,IAAM,IAAQ,KAAK,WAAY,cAAc,eAAe,GACtD,IAAS,KAAK,WAAY,cAAc,QAAQ;EACtD,AAAI,KAAS,MACX,KAAKA,KAAkB,IAAI,gBACzB,MAAY,EAAQ,MAAM,WAAW,GAAG,EAAQ,EAAE,CAAE,YAAY,QAAQ,GAAG,GAC7E,GACA,KAAKA,GAAgB,QAAQ,CAAK;CAEtC;CAEA,GAAS,GAAe;EAItB,AAFA,KAAK,OAAO,GACZ,KAAK,cAAc,IAAI,YAAY,eAAe;GAAE,QAAQ,KAAK;GAAM,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,GACvG,KAAKR,GAAU,KAAK,KAAM;CAC5B;CAEA,GAAU,GAAe;EAWvB,AAVI,KAAK,UAAU,MACjB,KAAK,QAAQ,GACb,KAAK,mBAAmB,GACxB,KAAK,oBAAoB,IAGvB,KAAKL,MACP,KAAK,cAAc,IAAI,YAAY,aAAa;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC,GAGhF,KAAKC,MACP,KAAK,cAAc,IAAI,YAAY,cAAc;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CAEvF;AACF;GAlNG,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAIzB,EAAS,EAAE,MAAM,MAAM,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAKxB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,KAAA,CAAA,MAKzB,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAK1B,EAAS;CAAE,MAAM;CAAS,WAAW;AAAe,CAAC,CAAA,GAAA,EAAA,WAAA,eAAA,KAAA,CAAA,MAKrD,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAOxC,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA;CAtC3B,EAAQ;CACR,EAA8B;CAC9B,EAAe"}
1
+ {"version":3,"file":"pagination2.js","names":["#currentPage","#isLastPage","#isFirstPage","#selectLabel","#label","#previousButton","#setValue","#nextButton","#startButton","#endButton","#select","#setStep","#i18nController","#setupLabelWidth","#resizeObserver"],"sources":["../../src/pagination/pagination.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport type { KeynavListConfig } from '@nvidia-elements/core/internal';\nimport {\n attachInternals,\n I18nController,\n formatStandardNumber,\n keyNavigationList,\n typeSSR,\n useStyles,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport { Select } from '@nvidia-elements/core/select';\nimport styles from './pagination.css?inline';\n\n/* eslint-disable jsdoc/no-types */\n// explicit jsdoc annotation due to inheritance context lost with CEM generator\n\n/**\n * @element nve-pagination\n * @description Pagination is a control that enables users to navigate through pages of content.\n * @documentation https://nvidia.github.io/elements/docs/elements/pagination/\n * @since 0.11.0\n * @entrypoint \\@nvidia-elements/core/pagination\n * @event input - Dispatched when the value (page) has changed\n * @event change - Dispatched when the value (page) has changed\n * @event first-page - Dispatched when the first page is active\n * @event last-page - Dispatched when the last page is active\n * @event step-change - Dispatched after the page size changes with the current page size in `detail`. The event bubbles and crosses shadow boundaries.\n * @slot suffix-label - Overrides the \"of total\" label when the total is an approximation.\n * @cssprop --background\n * @cssprop --font-size\n * @cssprop --width\n * @csspart icon-button - Base part applied to all icon button elements\n * @csspart previous-icon-button - The previous page icon button\n * @csspart next-icon-button - The next page icon button\n * @csspart start-icon-button - The first page icon button\n * @csspart end-icon-button - The last page icon button\n * @csspart select - The page size select element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n * @property {number} value - value the current page number\n * @attribute {string} step-sizes - A JSON-serialized array of page-size options available in the selector.\n */\n@typeSSR()\n@keyNavigationList<Pagination>()\n@scopedRegistry()\nexport class Pagination extends FormControlMixin<typeof LitElement, number>(LitElement) {\n /**\n * The number of items per page.\n */\n @property({ type: Number }) step = 10;\n /**\n * Page-size options available in the selector.\n */\n @property({ type: Array, attribute: 'step-sizes' }) stepSizes: number[] = [10, 20, 50, 100];\n\n /**\n * The total number of items.\n */\n @property({ type: Number }) items: number;\n\n /**\n * Whether the pagination is skippable to start/end.\n */\n @property({ type: Boolean }) skippable: boolean;\n\n /**\n * Whether the step selector has a disabled state.\n */\n @property({ type: Boolean, attribute: 'disable-step' }) disableStep: boolean;\n\n /**\n * Determines the container styles of component. Flat applies when nesting within other containers. Inline applies when placing within other inline content.\n */\n @property({ type: String, reflect: true }) container?: 'flat' | 'inline';\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-pagination',\n version: '0.0.0',\n valueSchema: {\n type: 'number' as const\n }\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton,\n [Select.metadata.tag]: Select\n };\n\n /** @private */\n get keynavListConfig(): KeynavListConfig {\n return {\n items: this.shadowRoot!.querySelectorAll<HTMLElement>(`${IconButton.metadata.tag}, input, select`),\n layout: 'horizontal'\n };\n }\n\n get #currentPage() {\n return (this.value! - 1) * this.step + this.step;\n }\n\n get #isLastPage() {\n return this.items / this.value! === this.step;\n }\n\n get #isFirstPage() {\n return this.value === 1;\n }\n\n get #selectLabel() {\n const start = (this.value! - 1) * this.step + 1;\n const end = Math.min(this.value! * this.step, this.items || Infinity);\n return `${formatStandardNumber(start)}-${formatStandardNumber(end)}`;\n }\n\n get #label() {\n return this.items\n ? html`<label><slot name=\"suffix-label\">${this.i18n.of} ${formatStandardNumber(this.items)}</slot></label>`\n : nothing;\n }\n\n get #previousButton() {\n return html`<nve-icon-button part=\"icon-button previous-icon-button\"\n @click=${() => this.#setValue(this.value! - 1)}\n .disabled=${this.disabled || this.#currentPage <= this.step}\n .ariaLabel=${this.i18n.previous}\n container=\"inline\"\n icon-name=\"chevron\"\n direction=\"left\"\n ></nve-icon-button>`;\n }\n\n get #nextButton() {\n return html`<nve-icon-button part=\"icon-button next-icon-button\"\n @click=${() => this.#setValue(this.value! + 1)}\n .disabled=${this.disabled || this.#currentPage >= this.items}\n .ariaLabel=${this.i18n.next}\n container=\"inline\"\n icon-name=\"chevron\"\n direction=\"right\"\n ></nve-icon-button>`;\n }\n\n get #startButton() {\n return html`<nve-icon-button part=\"icon-button start-icon-button\"\n @click=${() => this.#setValue(1)}\n .disabled=${this.disabled || this.#currentPage <= this.step}\n .ariaLabel=${this.i18n.start}\n container=\"inline\"\n icon-name=\"arrow-stop\"\n direction=\"left\"\n ></nve-icon-button>`;\n }\n\n get #endButton() {\n return html`<nve-icon-button part=\"icon-button end-icon-button\"\n @click=${() => this.#setValue(this.items / this.step)}\n .disabled=${this.disabled || (this.value! - 1) * this.step + this.step >= this.items}\n .ariaLabel=${this.i18n.end}\n container=\"inline\"\n icon-name=\"arrow-stop\"\n direction=\"right\"\n ></nve-icon-button>`;\n }\n\n #resizeObserver: ResizeObserver;\n\n get #select() {\n return this.disableStep\n ? html`<label>${this.#selectLabel}&nbsp;</label>`\n : html`\n <nve-select part=\"select\" .container=${this.container}>\n <select\n .ariaLabel=${this.i18n.currentPage}\n @change=${(e: Event) => this.#setStep(parseInt((e.target as HTMLSelectElement).value, 10))}\n value=${this.step}\n .disabled=${this.disabled || this.disableStep}\n >\n ${this.stepSizes.map(i => html`<option ?selected=${this.step === i} value=${i}>${i}</option>`)}\n </select>\n <div class=\"select-label\">${this.#selectLabel}</div>\n </nve-select>\n `;\n }\n\n render() {\n return html`\n <div internal-host role=\"presentation\">\n ${\n this.skippable && this.items\n ? html`\n ${this.#startButton} ${this.#previousButton} ${this.#select} ${this.#label} ${this.#nextButton}\n ${this.#endButton}\n `\n : html` ${this.#select} ${this.#label} ${this.#previousButton} ${this.#nextButton} `\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = 1;\n }\n\n async connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n await this.updateComplete;\n this.#setupLabelWidth();\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.#resizeObserver?.unobserve(this);\n }\n\n #setupLabelWidth() {\n const label = this.shadowRoot!.querySelector('.select-label');\n const select = this.shadowRoot!.querySelector('select');\n if (label && select) {\n this.#resizeObserver = new ResizeObserver(\n entries => (select!.style.minWidth = `${entries[0]!.contentRect.width + 36}px`)\n );\n this.#resizeObserver.observe(label);\n }\n }\n\n #setStep(value: number) {\n /* eslint-disable-next-line */\n this.step = value; // stateful due to internalized select element\n this.dispatchEvent(new CustomEvent('step-change', { detail: this.step, bubbles: true, composed: true }));\n this.#setValue(this.value!);\n }\n\n #setValue(value: number) {\n if (this.value !== value) {\n this.value = value;\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n\n if (this.#isLastPage) {\n this.dispatchEvent(new CustomEvent('last-page', { bubbles: true, composed: true }));\n }\n\n if (this.#isFirstPage) {\n this.dispatchEvent(new CustomEvent('first-page', { bubbles: true, composed: true }));\n }\n }\n}\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ var g = class extends f {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-panel-header",
24
- version: "2.2.0"
24
+ version: "2.2.1"
25
25
  };
26
26
  }
27
27
  render() {
@@ -37,7 +37,7 @@ var g = class extends f {
37
37
  static {
38
38
  this.metadata = {
39
39
  tag: "nve-panel-content",
40
- version: "2.2.0"
40
+ version: "2.2.1"
41
41
  };
42
42
  }
43
43
  render() {
@@ -50,7 +50,7 @@ var g = class extends f {
50
50
  static {
51
51
  this.metadata = {
52
52
  tag: "nve-panel-footer",
53
- version: "2.2.0"
53
+ version: "2.2.1"
54
54
  };
55
55
  }
56
56
  render() {
@@ -69,7 +69,7 @@ var g = class extends f {
69
69
  static {
70
70
  this.metadata = {
71
71
  tag: "nve-panel",
72
- version: "2.2.0"
72
+ version: "2.2.1"
73
73
  };
74
74
  }
75
75
  static {
@@ -23,7 +23,7 @@ var u = class extends r {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-password",
26
- version: "2.2.0"
26
+ version: "2.2.1"
27
27
  };
28
28
  }
29
29
  static {
@@ -19,6 +19,8 @@ declare const PreferencesInput_base: import("@nvidia-elements/forms/mixins").For
19
19
  * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/
20
20
  * @since 1.23.7
21
21
  * @entrypoint \@nvidia-elements/core/preferences-input
22
+ * @property {PreferencesInputValue} value - Contains the current color scheme, scale, and reduced motion preferences. Assign an object through JavaScript or provide its JSON serialization in the HTML `value` attribute.
23
+ * @attribute {string} value - JSON object parsed as `PreferencesInputValue`.
22
24
  * @event input - Dispatched when the value has changed
23
25
  * @event change - Dispatched when the value has changed
24
26
  * @cssprop --color
@@ -43,7 +43,7 @@ var x = class extends g(d) {
43
43
  static {
44
44
  this.metadata = {
45
45
  tag: "nve-preferences-input",
46
- version: "2.2.0",
46
+ version: "2.2.1",
47
47
  valueSchema: {
48
48
  type: "object",
49
49
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"preferences-input2.js","names":["#setColorScheme","#setScale","#setReducedMotion","#i18nController","#updatePreferences","#update"],"sources":["../../src/preferences-input/preferences-input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { I18nController, scopedRegistry, useStyles } from '@nvidia-elements/core/internal';\nimport { state } from 'lit/decorators/state.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport { type IconName, Icon } from '@nvidia-elements/core/icon';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Divider } from '@nvidia-elements/core/divider';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Switch } from '@nvidia-elements/core/switch';\nimport styles from './preferences-input.css?inline';\n\nexport type ColorScheme = 'auto' | 'light' | 'dark' | 'high-contrast';\nexport type Scale = 'default' | 'compact' | 'relaxed';\nexport type Variant = 'reduced-motion';\n\nconst colorSchemes: ColorScheme[] = ['auto', 'light', 'dark', 'high-contrast'];\nconst scales: Scale[] = ['default', 'compact'];\nconst colorSchemesIcons = {\n auto: 'computer',\n light: 'sun',\n dark: 'moon',\n 'high-contrast': 'circle-half'\n} satisfies Record<ColorScheme, IconName>;\n\nfunction getActivePreferences(element = globalThis.document.documentElement) {\n const computedStyle = getComputedStyle(element);\n\n return {\n light: computedStyle.getPropertyValue('--nve-config-color-scheme-light') === 'true',\n dark: computedStyle.getPropertyValue('--nve-config-color-scheme-dark') === 'true',\n 'high-contrast': computedStyle.getPropertyValue('--nve-config-color-scheme-high-contrast') === 'true',\n compact: computedStyle.getPropertyValue('--nve-config-scale-compact') === 'true',\n 'reduced-motion': computedStyle.getPropertyValue('--nve-config-reduced-motion') === 'true'\n } satisfies Partial<Record<ColorScheme | Scale | Variant, boolean>>;\n}\n\nexport interface PreferencesInputValue {\n 'color-scheme'?: ColorScheme | string;\n scale?: Scale | string;\n 'reduced-motion'?: boolean;\n}\n\n/**\n * @element nve-preferences-input\n * @description A preferences input is a widget for controlling apperance. Stylesheets register to the preferences input by including a css-property, see Standard for an example.\n * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/\n * @since 1.23.7\n * @entrypoint \\@nvidia-elements/core/preferences-input\n * @event input - Dispatched when the value has changed\n * @event change - Dispatched when the value has changed\n * @cssprop --color\n * @cssprop --width\n * @csspart control - The control wrapper elements that contain the labels and menus\n * @csspart menu - The menu elements that display color scheme and scale options\n * @csspart menu-item - The individual menu item elements for each selectable option\n * @csspart icon - The icon element displayed next to color scheme options\n * @csspart divider - The divider elements that separate preference sections\n * @csspart switch - The switch element for the reduced motion toggle\n *\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/listbox/\n *\n */\n@scopedRegistry()\nexport class PreferencesInput extends FormControlMixin<typeof LitElement, PreferencesInputValue>(LitElement) {\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-preferences-input',\n version: '0.0.0',\n valueSchema: {\n type: 'object' as const,\n properties: {\n 'color-scheme': { type: 'string' as const },\n scale: { type: 'string' as const },\n 'reduced-motion': { type: 'boolean' as const }\n }\n }\n };\n\n static elementDefinitions = {\n [Control.metadata.tag]: Control,\n [Divider.metadata.tag]: Divider,\n [Icon.metadata.tag]: Icon,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Switch.metadata.tag]: Switch\n };\n\n @state() private activePreferences: ReturnType<typeof getActivePreferences> = {\n light: false,\n dark: false,\n 'high-contrast': false,\n compact: false,\n 'reduced-motion': false\n };\n\n // eslint-disable-next-line max-lines-per-function\n render() {\n return html`\n <div internal-host>\n <nve-control part=\"control\">\n <label>${this.i18n.colorScheme}</label>\n <nve-menu part=\"menu\" nve-control>\n ${colorSchemes.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['color-scheme'] === value}\n .value=${value}\n @click=${() => this.#setColorScheme(value)}\n >\n <nve-icon part=\"icon\" name=${colorSchemesIcons[value]}></nve-icon> ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n ${\n this.activePreferences['compact']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-control part=\"control\">\n <label>${this.i18n.scale}</label>\n <nve-menu part=\"menu\" nve-control>\n ${scales.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['scale'] === value}\n .value=${value}\n @click=${() => this.#setScale(value)}\n >\n ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n `\n : ''\n }\n ${\n this.activePreferences['reduced-motion']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-switch part=\"switch\">\n <label>${this.i18n.reducedMotion}</label>\n <input\n type=\"checkbox\"\n value=\"reduced-motion\"\n .checked=${this.value?.['reduced-motion']}\n @change=${(e: { target: HTMLInputElement }) => this.#setReducedMotion(e.target.checked)}\n />\n </nve-switch>`\n : ''\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = {\n 'color-scheme': 'auto',\n 'reduced-motion': false,\n scale: 'default'\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('nve-control', '');\n this.#updatePreferences();\n }\n\n /** @private */\n updateValue(value: PreferencesInputValue) {\n super.updateValue({ ...this.value, ...value });\n this.#updatePreferences();\n }\n\n #updatePreferences() {\n /* istanbul ignore else -- Lit SSR mode is not reachable in browser unit tests. */\n if (!isServer) {\n const preferences = getActivePreferences();\n if (JSON.stringify(this.activePreferences) !== JSON.stringify(preferences)) {\n this.activePreferences = preferences;\n }\n }\n }\n\n #setColorScheme(value: ColorScheme) {\n this.value = { ...this.value, 'color-scheme': value };\n this.#update();\n }\n\n #setScale(value: Scale) {\n this.value = { ...this.value, scale: value };\n this.#update();\n }\n\n #setReducedMotion(value: boolean) {\n this.value = { ...this.value, 'reduced-motion': value };\n this.#update();\n }\n\n #update() {\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAmBA,IAAM,IAA8B;CAAC;CAAQ;CAAS;CAAQ;AAAe,GACvE,IAAkB,CAAC,WAAW,SAAS,GACvC,IAAoB;CACxB,MAAM;CACN,OAAO;CACP,MAAM;CACN,iBAAiB;AACnB;AAEA,SAAS,EAAqB,IAAU,WAAW,SAAS,iBAAiB;CAC3E,IAAM,IAAgB,iBAAiB,CAAO;CAE9C,OAAO;EACL,OAAO,EAAc,iBAAiB,iCAAiC,MAAM;EAC7E,MAAM,EAAc,iBAAiB,gCAAgC,MAAM;EAC3E,iBAAiB,EAAc,iBAAiB,yCAAyC,MAAM;EAC/F,SAAS,EAAc,iBAAiB,4BAA4B,MAAM;EAC1E,kBAAkB,EAAc,iBAAiB,6BAA6B,MAAM;CACtF;AACF;AA6BO,IAAA,IAAA,cAA+B,EAA2D,CAAU,CAAC,CAAC;CAC3G;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,aAAa;IACX,MAAM;IACN,YAAY;KACV,gBAAgB,EAAE,MAAM,SAAkB;KAC1C,OAAO,EAAE,MAAM,SAAkB;KACjC,kBAAkB,EAAE,MAAM,UAAmB;IAC/C;GACF;EACF;;;4BAE4B;IACzB,EAAQ,SAAS,MAAM;IACvB,EAAQ,SAAS,MAAM;IACvB,EAAK,SAAS,MAAM;IACpB,EAAK,SAAS,MAAM;IACpB,EAAS,SAAS,MAAM;IACxB,EAAO,SAAS,MAAM;EACzB;;CAWA,SAAS;EACP,OAAO,CAAI,yDAGI,KAAK,KAAK,YAAY,4CAE7B,EAAa,KACb,MAAS,CAAI,8CAEC,KAAK,QAAQ,oBAAoB,EAAM,YAC1C,EAAM,kBACA,KAAKA,GAAgB,CAAK,EAAE,gCAEd,EAAkB,GAAO,eAAe,EAAM,iBAG/E,EAAE,2BAIF,KAAK,kBAAkB,UACnB,CAAI,gFAGC,KAAK,KAAK,MAAM,4CAEvB,EAAO,KACP,MAAS,CAAI,8CAEC,KAAK,OAAQ,UAAa,EAAM,YACnC,EAAM,kBACA,KAAKC,GAAU,CAAK,EAAE,IAEnC,EAAM,iBAGZ,EAAE,6BAIE,GACL,GAEC,KAAK,kBAAkB,oBACnB,CAAI,8EAGC,KAAK,KAAK,cAAc,mEAIpB,KAAK,QAAQ,kBAAkB,cAC/B,MAAoC,KAAKC,GAAkB,EAAE,OAAO,OAAO,EAAE,mBAGtF,GACL;CAGP;CAEA,cAAc;EAEZ,AADA,MAAM,aAtGgC,IAAI,EAAqB,IAAI,eAKlC,KAAKC,GAAgB,+BA0BsB;GAC5E,OAAO;GACP,MAAM;GACN,iBAAiB;GACjB,SAAS;GACT,kBAAkB;EACpB,GAkEE,KAAK,QAAQ;GACX,gBAAgB;GAChB,kBAAkB;GAClB,OAAO;EACT;CACF;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxB,KAAK,aAAa,eAAe,EAAE,GACnC,KAAKC,GAAmB;CAC1B;CAGA,YAAY,GAA8B;EAExC,AADA,MAAM,YAAY;GAAE,GAAG,KAAK;GAAO,GAAG;EAAM,CAAC,GAC7C,KAAKA,GAAmB;CAC1B;CAEA,KAAqB;;EAEnB,IAAI,CAAC,GAAU;GACb,IAAM,IAAc,EAAqB;GACzC,AAAI,KAAK,UAAU,KAAK,iBAAiB,MAAM,KAAK,UAAU,CAAW,MACvE,KAAK,oBAAoB;EAE7B;CACF;CAEA,GAAgB,GAAoB;EAElC,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,gBAAgB;EAAM,GACpD,KAAKC,GAAQ;CACf;CAEA,GAAU,GAAc;EAEtB,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,OAAO;EAAM,GAC3C,KAAKA,GAAQ;CACf;CAEA,GAAkB,GAAgB;EAEhC,AADA,KAAK,QAAQ;GAAE,GAAG,KAAK;GAAO,kBAAkB;EAAM,GACtD,KAAKA,GAAQ;CACf;CAEA,KAAU;EAER,AADA,KAAK,mBAAmB,GACxB,KAAK,oBAAoB;CAC3B;AACF;GAlJG,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MA0BzB,EAAM,CAAA,GAAA,EAAA,WAAA,qBAAA,KAAA,CAAA,UAjCR,EAAe,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"preferences-input2.js","names":["#setColorScheme","#setScale","#setReducedMotion","#i18nController","#updatePreferences","#update"],"sources":["../../src/preferences-input/preferences-input.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { I18nController, scopedRegistry, useStyles } from '@nvidia-elements/core/internal';\nimport { state } from 'lit/decorators/state.js';\nimport { FormControlMixin } from '@nvidia-elements/forms/mixins';\nimport { type IconName, Icon } from '@nvidia-elements/core/icon';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { Divider } from '@nvidia-elements/core/divider';\nimport { Menu, MenuItem } from '@nvidia-elements/core/menu';\nimport { Switch } from '@nvidia-elements/core/switch';\nimport styles from './preferences-input.css?inline';\n\n/* eslint-disable jsdoc/no-types */\n// Explicit JSDoc types because the CEM analyzer loses the inherited generic specialization.\n\nexport type ColorScheme = 'auto' | 'light' | 'dark' | 'high-contrast';\nexport type Scale = 'default' | 'compact' | 'relaxed';\nexport type Variant = 'reduced-motion';\n\nconst colorSchemes: ColorScheme[] = ['auto', 'light', 'dark', 'high-contrast'];\nconst scales: Scale[] = ['default', 'compact'];\nconst colorSchemesIcons = {\n auto: 'computer',\n light: 'sun',\n dark: 'moon',\n 'high-contrast': 'circle-half'\n} satisfies Record<ColorScheme, IconName>;\n\nfunction getActivePreferences(element = globalThis.document.documentElement) {\n const computedStyle = getComputedStyle(element);\n\n return {\n light: computedStyle.getPropertyValue('--nve-config-color-scheme-light') === 'true',\n dark: computedStyle.getPropertyValue('--nve-config-color-scheme-dark') === 'true',\n 'high-contrast': computedStyle.getPropertyValue('--nve-config-color-scheme-high-contrast') === 'true',\n compact: computedStyle.getPropertyValue('--nve-config-scale-compact') === 'true',\n 'reduced-motion': computedStyle.getPropertyValue('--nve-config-reduced-motion') === 'true'\n } satisfies Partial<Record<ColorScheme | Scale | Variant, boolean>>;\n}\n\nexport interface PreferencesInputValue {\n 'color-scheme'?: ColorScheme | string;\n scale?: Scale | string;\n 'reduced-motion'?: boolean;\n}\n\n/**\n * @element nve-preferences-input\n * @description A preferences input is a widget for controlling apperance. Stylesheets register to the preferences input by including a css-property, see Standard for an example.\n * @documentation https://nvidia.github.io/elements/docs/elements/preferences-input/\n * @since 1.23.7\n * @entrypoint \\@nvidia-elements/core/preferences-input\n * @property {PreferencesInputValue} value - Contains the current color scheme, scale, and reduced motion preferences. Assign an object through JavaScript or provide its JSON serialization in the HTML `value` attribute.\n * @attribute {string} value - JSON object parsed as `PreferencesInputValue`.\n * @event input - Dispatched when the value has changed\n * @event change - Dispatched when the value has changed\n * @cssprop --color\n * @cssprop --width\n * @csspart control - The control wrapper elements that contain the labels and menus\n * @csspart menu - The menu elements that display color scheme and scale options\n * @csspart menu-item - The individual menu item elements for each selectable option\n * @csspart icon - The icon element displayed next to color scheme options\n * @csspart divider - The divider elements that separate preference sections\n * @csspart switch - The switch element for the reduced motion toggle\n *\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/listbox/\n *\n */\n@scopedRegistry()\nexport class PreferencesInput extends FormControlMixin<typeof LitElement, PreferencesInputValue>(LitElement) {\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-preferences-input',\n version: '0.0.0',\n valueSchema: {\n type: 'object' as const,\n properties: {\n 'color-scheme': { type: 'string' as const },\n scale: { type: 'string' as const },\n 'reduced-motion': { type: 'boolean' as const }\n }\n }\n };\n\n static elementDefinitions = {\n [Control.metadata.tag]: Control,\n [Divider.metadata.tag]: Divider,\n [Icon.metadata.tag]: Icon,\n [Menu.metadata.tag]: Menu,\n [MenuItem.metadata.tag]: MenuItem,\n [Switch.metadata.tag]: Switch\n };\n\n @state() private activePreferences: ReturnType<typeof getActivePreferences> = {\n light: false,\n dark: false,\n 'high-contrast': false,\n compact: false,\n 'reduced-motion': false\n };\n\n // eslint-disable-next-line max-lines-per-function\n render() {\n return html`\n <div internal-host>\n <nve-control part=\"control\">\n <label>${this.i18n.colorScheme}</label>\n <nve-menu part=\"menu\" nve-control>\n ${colorSchemes.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['color-scheme'] === value}\n .value=${value}\n @click=${() => this.#setColorScheme(value)}\n >\n <nve-icon part=\"icon\" name=${colorSchemesIcons[value]}></nve-icon> ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n ${\n this.activePreferences['compact']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-control part=\"control\">\n <label>${this.i18n.scale}</label>\n <nve-menu part=\"menu\" nve-control>\n ${scales.map(\n value => html`\n <nve-menu-item part=\"menu-item\"\n .selected=${this.value?.['scale'] === value}\n .value=${value}\n @click=${() => this.#setScale(value)}\n >\n ${value}\n </nve-menu-item>\n `\n )}\n </nve-menu>\n </nve-control>\n `\n : ''\n }\n ${\n this.activePreferences['reduced-motion']\n ? html`\n <nve-divider part=\"divider\"></nve-divider>\n <nve-switch part=\"switch\">\n <label>${this.i18n.reducedMotion}</label>\n <input\n type=\"checkbox\"\n value=\"reduced-motion\"\n .checked=${this.value?.['reduced-motion']}\n @change=${(e: { target: HTMLInputElement }) => this.#setReducedMotion(e.target.checked)}\n />\n </nve-switch>`\n : ''\n }\n </div>\n `;\n }\n\n constructor() {\n super();\n this.value = {\n 'color-scheme': 'auto',\n 'reduced-motion': false,\n scale: 'default'\n };\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('nve-control', '');\n this.#updatePreferences();\n }\n\n /** @private */\n updateValue(value: PreferencesInputValue) {\n super.updateValue({ ...this.value, ...value });\n this.#updatePreferences();\n }\n\n #updatePreferences() {\n /* istanbul ignore else -- Lit SSR mode is not reachable in browser unit tests. */\n if (!isServer) {\n const preferences = getActivePreferences();\n if (JSON.stringify(this.activePreferences) !== JSON.stringify(preferences)) {\n this.activePreferences = preferences;\n }\n }\n }\n\n #setColorScheme(value: ColorScheme) {\n this.value = { ...this.value, 'color-scheme': value };\n this.#update();\n }\n\n #setScale(value: Scale) {\n this.value = { ...this.value, scale: value };\n this.#update();\n }\n\n #setReducedMotion(value: boolean) {\n this.value = { ...this.value, 'reduced-motion': value };\n this.#update();\n }\n\n #update() {\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n }\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ var c = class extends i {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-progress-bar",
19
- version: "2.2.0"
19
+ version: "2.2.1"
20
20
  };
21
21
  }
22
22
  render() {
@@ -19,7 +19,7 @@ var d = class extends c {
19
19
  static {
20
20
  this.metadata = {
21
21
  tag: "nve-progress-ring",
22
- version: "2.2.0"
22
+ version: "2.2.1"
23
23
  };
24
24
  }
25
25
  static {
@@ -9,7 +9,7 @@ import { IconButton } from '@nvidia-elements/core/icon-button';
9
9
  * @documentation https://nvidia.github.io/elements/docs/elements/progressive-filter-chip/
10
10
  * @since 0.16.0
11
11
  * @entrypoint \@nvidia-elements/core/progressive-filter-chip
12
- * @slot - default slot for content
12
+ * @slot - `input`, `select`, `nve-button`, or other `[nve-control]` elements used to build the filter.
13
13
  * @event close - Dispatched when the filter chip closes.
14
14
  * @cssprop --gap
15
15
  * @cssprop --border-radius
@@ -23,7 +23,7 @@ var b = class extends h {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-progressive-filter-chip",
26
- version: "2.2.0"
26
+ version: "2.2.1"
27
27
  };
28
28
  }
29
29
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"progressive-filter-chip2.js","names":["#i18nController","#removeItem","#getControlTemplate","#typeClosableController","#createItems","#resetItems"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport {\n appendRootNodeStyle,\n attachInternals,\n generateId,\n I18nController,\n scopedRegistry,\n TypeClosableController,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { Input } from '@nvidia-elements/core/input';\nimport { Select } from '@nvidia-elements/core/select';\nimport { Date } from '@nvidia-elements/core/date';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport globalStyles from './progressive-filter-chip.global.css?inline';\nimport styles from './progressive-filter-chip.css?inline';\n\n/**\n * @element nve-progressive-filter-chip\n * @description A filter chip is a control that enables users to select many options from a set of choices.\n * @documentation https://nvidia.github.io/elements/docs/elements/progressive-filter-chip/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progressive-filter-chip\n * @slot - default slot for content\n * @event close - Dispatched when the filter chip closes.\n * @cssprop --gap\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --background\n * @cssprop --font-weight\n * @cssprop --padding\n * @cssprop --width\n * @csspart select - The select element\n * @csspart date - The date input element\n * @csspart input - The input element\n * @csspart icon-button - The icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@typeSSR()\n@scopedRegistry()\nexport class ProgressiveFilterChip extends LitElement {\n static readonly metadata = {\n tag: 'nve-progressive-filter-chip',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Input.metadata.tag]: Input,\n [Select.metadata.tag]: Select,\n [Date.metadata.tag]: Date,\n [IconButton.metadata.tag]: IconButton\n };\n\n /** Determines if a close button should render within filter chip */\n @property({ type: Boolean }) closable: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @state() private inputs: Element[] = [];\n\n static styles = useStyles([styles]);\n\n #typeClosableController = new TypeClosableController(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n #getControlTemplate(el: Element) {\n const slot = html`<slot name=${el.slot} @slotchange=${this.#removeItem}></slot>`;\n if (el.tagName === 'SELECT') {\n return html`<nve-select part=\"select\" multiple-overflow ?fit-text=${!(el as HTMLSelectElement).multiple}>${slot}</nve-select>`;\n } else if (el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'date') {\n return html`<nve-date part=\"date\">${slot}</nve-date>`;\n } else if (el.tagName === 'INPUT') {\n return html`<nve-input part=\"input\">${slot}</nve-input>`;\n } else {\n return slot;\n }\n }\n\n render() {\n return html`\n <div internal-host>\n ${this.inputs.map(el => this.#getControlTemplate(el))}\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeClosableController.close()} .ariaLabel=${this.i18n.close} icon-name=\"cancel\"></nve-icon-button>` : nothing}\n </div>\n <slot hidden-slot @slotchange=${this.#createItems}></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n this.setAttribute('nve-control', '');\n appendRootNodeStyle(this, globalStyles);\n }\n\n #removeItem(e: Event) {\n if (!(e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n }\n }\n\n #createItems(e: Event) {\n if (e.target && (e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n const items = Array.from(\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!.assignedElements()\n ).filter(i => i.matches('input, select, nve-button, [nve-control]'));\n items.forEach(i => (i.slot = generateId()));\n this.inputs = items.length ? items : this.inputs;\n }\n }\n\n #resetItems() {\n Array.from(this.shadowRoot!.querySelectorAll('slot'))\n .flatMap(i => i.assignedElements())\n .forEach(i => (i.slot = ''));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA8CO,IAAA,IAAA,cAAoC,EAAW;;yBAgBZ,IAAI,EAAqB,IAAI,eAGlC,KAAKA,GAAgB,oBAEnB,CAAC,aAIZ,IAAI,EAAuB,IAAI;;;kBAxB9B;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B;IACzB,EAAM,SAAS,MAAM;IACrB,EAAO,SAAS,MAAM;IACtB,EAAK,SAAS,MAAM;IACpB,EAAW,SAAS,MAAM;EAC7B;;CAKA;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;CAElC;CAKA,GAAoB,GAAa;EAC/B,IAAM,IAAO,CAAI,eAAc,EAAG,KAAK,iBAAe,KAAKC,GAAY;EAQrE,OAPE,EAAG,YAAY,WACV,CAAI,0DAAyD,CAAE,EAAyB,SAAS,IAAG,EAAK,iBACvG,EAAG,YAAY,WAAY,EAAwB,SAAS,SAC9D,CAAI,yBAAyB,EAAK,eAChC,EAAG,YAAY,UACjB,CAAI,2BAA2B,EAAK,gBAEpC;CAEX;CAEA,SAAS;EACP,OAAO,CAAI,sBAEP,KAAK,OAAO,KAAI,MAAM,KAAKC,GAAoB,CAAE,CAAC,EAAE,GACpD,KAAK,WAAW,CAAI,yFAAwF,KAAKC,GAAwB,MAAM,EAAE,gBAAc,KAAK,KAAK,MAAM,2CAA0C,EAAQ,uCAErM,KAAKC,GAAa;CAEpD;CAEA,oBAAoB;EAKlB,AAJA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,KAAK,aAAa,eAAe,EAAE,GACnC,EAAoB,MAAM,CAAY;CACxC;CAEA,GAAY,GAAU;EACpB,AAAM,EAAE,OAA2B,iBAAiB,CAAC,CAAC,UACpD,KAAKC,GAAY;CAErB;CAEA,GAAa,GAAU;EACrB,IAAI,EAAE,UAAW,EAAE,OAA2B,iBAAiB,CAAC,CAAC,QAAQ;GACvE,KAAKA,GAAY;GACjB,IAAM,IAAQ,MAAM,KAClB,KAAK,WAAY,cAA+B,kBAAkB,CAAC,CAAE,iBAAiB,CACxF,CAAC,CAAC,QAAO,MAAK,EAAE,QAAQ,0CAA0C,CAAC;GAEnE,AADA,EAAM,SAAQ,MAAM,EAAE,OAAO,EAAW,CAAE,GAC1C,KAAK,SAAS,EAAM,SAAS,IAAQ,KAAK;EAC5C;CACF;CAEA,KAAc;EACZ,MAAM,KAAK,KAAK,WAAY,iBAAiB,MAAM,CAAC,CAAC,CAClD,SAAQ,MAAK,EAAE,iBAAiB,CAAC,CAAC,CAClC,SAAQ,MAAM,EAAE,OAAO,EAAG;CAC/B;AACF;GArEG,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAK1B,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAEzB,EAAM,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,UAvBR,EAAQ,GACR,EAAe,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"progressive-filter-chip2.js","names":["#i18nController","#removeItem","#getControlTemplate","#typeClosableController","#createItems","#resetItems"],"sources":["../../src/progressive-filter-chip/progressive-filter-chip.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators/property.js';\nimport { state } from 'lit/decorators/state.js';\nimport {\n appendRootNodeStyle,\n attachInternals,\n generateId,\n I18nController,\n scopedRegistry,\n TypeClosableController,\n typeSSR,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { Input } from '@nvidia-elements/core/input';\nimport { Select } from '@nvidia-elements/core/select';\nimport { Date } from '@nvidia-elements/core/date';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport globalStyles from './progressive-filter-chip.global.css?inline';\nimport styles from './progressive-filter-chip.css?inline';\n\n/**\n * @element nve-progressive-filter-chip\n * @description A filter chip is a control that enables users to select many options from a set of choices.\n * @documentation https://nvidia.github.io/elements/docs/elements/progressive-filter-chip/\n * @since 0.16.0\n * @entrypoint \\@nvidia-elements/core/progressive-filter-chip\n * @slot - `input`, `select`, `nve-button`, or other `[nve-control]` elements used to build the filter.\n * @event close - Dispatched when the filter chip closes.\n * @cssprop --gap\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --background\n * @cssprop --font-weight\n * @cssprop --padding\n * @cssprop --width\n * @csspart select - The select element\n * @csspart date - The date input element\n * @csspart input - The input element\n * @csspart icon-button - The icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/\n */\n@typeSSR()\n@scopedRegistry()\nexport class ProgressiveFilterChip extends LitElement {\n static readonly metadata = {\n tag: 'nve-progressive-filter-chip',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [Input.metadata.tag]: Input,\n [Select.metadata.tag]: Select,\n [Date.metadata.tag]: Date,\n [IconButton.metadata.tag]: IconButton\n };\n\n /** Determines if a close button should render within filter chip */\n @property({ type: Boolean }) closable: boolean;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n\n /** Enables updating internal string values for internationalization. */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n @state() private inputs: Element[] = [];\n\n static styles = useStyles([styles]);\n\n #typeClosableController = new TypeClosableController(this);\n\n /** @private */\n declare _internals: ElementInternals;\n\n #getControlTemplate(el: Element) {\n const slot = html`<slot name=${el.slot} @slotchange=${this.#removeItem}></slot>`;\n if (el.tagName === 'SELECT') {\n return html`<nve-select part=\"select\" multiple-overflow ?fit-text=${!(el as HTMLSelectElement).multiple}>${slot}</nve-select>`;\n } else if (el.tagName === 'INPUT' && (el as HTMLInputElement).type === 'date') {\n return html`<nve-date part=\"date\">${slot}</nve-date>`;\n } else if (el.tagName === 'INPUT') {\n return html`<nve-input part=\"input\">${slot}</nve-input>`;\n } else {\n return slot;\n }\n }\n\n render() {\n return html`\n <div internal-host>\n ${this.inputs.map(el => this.#getControlTemplate(el))}\n ${this.closable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeClosableController.close()} .ariaLabel=${this.i18n.close} icon-name=\"cancel\"></nve-icon-button>` : nothing}\n </div>\n <slot hidden-slot @slotchange=${this.#createItems}></slot>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'toolbar';\n this.setAttribute('nve-control', '');\n appendRootNodeStyle(this, globalStyles);\n }\n\n #removeItem(e: Event) {\n if (!(e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n }\n }\n\n #createItems(e: Event) {\n if (e.target && (e.target as HTMLSlotElement).assignedElements().length) {\n this.#resetItems();\n const items = Array.from(\n this.shadowRoot!.querySelector<HTMLSlotElement>('slot:not([name])')!.assignedElements()\n ).filter(i => i.matches('input, select, nve-button, [nve-control]'));\n items.forEach(i => (i.slot = generateId()));\n this.inputs = items.length ? items : this.inputs;\n }\n }\n\n #resetItems() {\n Array.from(this.shadowRoot!.querySelectorAll('slot'))\n .flatMap(i => i.assignedElements())\n .forEach(i => (i.slot = ''));\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA8CO,IAAA,IAAA,cAAoC,EAAW;;yBAgBZ,IAAI,EAAqB,IAAI,eAGlC,KAAKA,GAAgB,oBAEnB,CAAC,aAIZ,IAAI,EAAuB,IAAI;;;kBAxB9B;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B;IACzB,EAAM,SAAS,MAAM;IACrB,EAAO,SAAS,MAAM;IACtB,EAAK,SAAS,MAAM;IACpB,EAAW,SAAS,MAAM;EAC7B;;CAKA;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;CAElC;CAKA,GAAoB,GAAa;EAC/B,IAAM,IAAO,CAAI,eAAc,EAAG,KAAK,iBAAe,KAAKC,GAAY;EAQrE,OAPE,EAAG,YAAY,WACV,CAAI,0DAAyD,CAAE,EAAyB,SAAS,IAAG,EAAK,iBACvG,EAAG,YAAY,WAAY,EAAwB,SAAS,SAC9D,CAAI,yBAAyB,EAAK,eAChC,EAAG,YAAY,UACjB,CAAI,2BAA2B,EAAK,gBAEpC;CAEX;CAEA,SAAS;EACP,OAAO,CAAI,sBAEP,KAAK,OAAO,KAAI,MAAM,KAAKC,GAAoB,CAAE,CAAC,EAAE,GACpD,KAAK,WAAW,CAAI,yFAAwF,KAAKC,GAAwB,MAAM,EAAE,gBAAc,KAAK,KAAK,MAAM,2CAA0C,EAAQ,uCAErM,KAAKC,GAAa;CAEpD;CAEA,oBAAoB;EAKlB,AAJA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO,WACvB,KAAK,aAAa,eAAe,EAAE,GACnC,EAAoB,MAAM,CAAY;CACxC;CAEA,GAAY,GAAU;EACpB,AAAM,EAAE,OAA2B,iBAAiB,CAAC,CAAC,UACpD,KAAKC,GAAY;CAErB;CAEA,GAAa,GAAU;EACrB,IAAI,EAAE,UAAW,EAAE,OAA2B,iBAAiB,CAAC,CAAC,QAAQ;GACvE,KAAKA,GAAY;GACjB,IAAM,IAAQ,MAAM,KAClB,KAAK,WAAY,cAA+B,kBAAkB,CAAC,CAAE,iBAAiB,CACxF,CAAC,CAAC,QAAO,MAAK,EAAE,QAAQ,0CAA0C,CAAC;GAEnE,AADA,EAAM,SAAQ,MAAM,EAAE,OAAO,EAAW,CAAE,GAC1C,KAAK,SAAS,EAAM,SAAS,IAAQ,KAAK;EAC5C;CACF;CAEA,KAAc;EACZ,MAAM,KAAK,KAAK,WAAY,iBAAiB,MAAM,CAAC,CAAC,CAClD,SAAQ,MAAK,EAAE,iBAAiB,CAAC,CAAC,CAClC,SAAQ,MAAM,EAAE,OAAO,EAAG;CAC/B;AACF;GArEG,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAK1B,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAEzB,EAAM,CAAA,GAAA,EAAA,WAAA,UAAA,KAAA,CAAA,UAvBR,EAAQ,GACR,EAAe,CAAA,GAAA,CAAA"}
@@ -13,7 +13,7 @@ var c = class extends a {
13
13
  static {
14
14
  this.metadata = {
15
15
  tag: "nve-pulse",
16
- version: "2.2.0"
16
+ version: "2.2.1"
17
17
  };
18
18
  }
19
19
  static {
@@ -12,7 +12,7 @@ var o = class extends i {
12
12
  static {
13
13
  this.metadata = {
14
14
  tag: "nve-radio-group",
15
- version: "2.2.0",
15
+ version: "2.2.1",
16
16
  children: [
17
17
  "label",
18
18
  "nve-control-message",
@@ -15,7 +15,7 @@ var o = class extends i {
15
15
  static {
16
16
  this.metadata = {
17
17
  tag: "nve-radio",
18
- version: "2.2.0",
18
+ version: "2.2.1",
19
19
  children: [
20
20
  "label",
21
21
  "input",