@nvidia-elements/core 0.1.1 → 0.1.2

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 (332) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/_virtual/{_@oxc-project_runtime@0.128.0 → _@oxc-project_runtime@0.130.0}/helpers/decorate.js +1 -1
  3. package/dist/accordion/accordion2.js +5 -5
  4. package/dist/accordion/accordion2.js.map +1 -1
  5. package/dist/accordion/define.js.map +1 -1
  6. package/dist/alert/alert-group2.js +2 -2
  7. package/dist/alert/alert-group2.js.map +1 -1
  8. package/dist/alert/alert2.js +2 -2
  9. package/dist/alert/alert2.js.map +1 -1
  10. package/dist/alert/define.js.map +1 -1
  11. package/dist/avatar/avatar-group2.js +1 -1
  12. package/dist/avatar/avatar-group2.js.map +1 -1
  13. package/dist/avatar/avatar2.js +2 -2
  14. package/dist/avatar/avatar2.js.map +1 -1
  15. package/dist/avatar/define.js.map +1 -1
  16. package/dist/badge/badge2.js +2 -2
  17. package/dist/badge/badge2.js.map +1 -1
  18. package/dist/badge/define.js.map +1 -1
  19. package/dist/breadcrumb/breadcrumb2.js +2 -2
  20. package/dist/breadcrumb/breadcrumb2.js.map +1 -1
  21. package/dist/breadcrumb/define.js.map +1 -1
  22. package/dist/bundles/index.js +4 -4
  23. package/dist/button/button.js +1 -1
  24. package/dist/button/button.js.map +1 -1
  25. package/dist/button/button2.js +2 -2
  26. package/dist/button/button2.js.map +1 -1
  27. package/dist/button/define.js.map +1 -1
  28. package/dist/button-group/button-group2.js +2 -2
  29. package/dist/button-group/button-group2.js.map +1 -1
  30. package/dist/button-group/define.js.map +1 -1
  31. package/dist/card/card2.js +5 -5
  32. package/dist/card/card2.js.map +1 -1
  33. package/dist/card/define.js.map +1 -1
  34. package/dist/chat-message/chat-message2.js +2 -2
  35. package/dist/chat-message/chat-message2.js.map +1 -1
  36. package/dist/chat-message/define.js.map +1 -1
  37. package/dist/checkbox/checkbox-group2.js +2 -2
  38. package/dist/checkbox/checkbox-group2.js.map +1 -1
  39. package/dist/checkbox/checkbox2.js +2 -2
  40. package/dist/checkbox/checkbox2.js.map +1 -1
  41. package/dist/checkbox/define.js.map +1 -1
  42. package/dist/color/color2.js +2 -2
  43. package/dist/color/color2.js.map +1 -1
  44. package/dist/color/define.js.map +1 -1
  45. package/dist/combobox/combobox2.js +2 -2
  46. package/dist/combobox/combobox2.js.map +1 -1
  47. package/dist/combobox/define.js.map +1 -1
  48. package/dist/copy-button/copy-button2.js +2 -2
  49. package/dist/copy-button/copy-button2.js.map +1 -1
  50. package/dist/copy-button/define.js.map +1 -1
  51. package/dist/custom-elements.json +0 -12
  52. package/dist/data.snippets.json +18 -18
  53. package/dist/date/date2.js +2 -2
  54. package/dist/date/date2.js.map +1 -1
  55. package/dist/date/define.js.map +1 -1
  56. package/dist/datetime/datetime2.js +2 -2
  57. package/dist/datetime/datetime2.js.map +1 -1
  58. package/dist/datetime/define.js.map +1 -1
  59. package/dist/dialog/define.js.map +1 -1
  60. package/dist/dialog/dialog-footer2.js +2 -2
  61. package/dist/dialog/dialog-footer2.js.map +1 -1
  62. package/dist/dialog/dialog-header2.js +2 -2
  63. package/dist/dialog/dialog-header2.js.map +1 -1
  64. package/dist/dialog/dialog2.js +2 -2
  65. package/dist/dialog/dialog2.js.map +1 -1
  66. package/dist/divider/define.js.map +1 -1
  67. package/dist/divider/divider2.js +2 -2
  68. package/dist/divider/divider2.js.map +1 -1
  69. package/dist/dot/define.js.map +1 -1
  70. package/dist/dot/dot2.js +2 -2
  71. package/dist/dot/dot2.js.map +1 -1
  72. package/dist/drawer/define.js.map +1 -1
  73. package/dist/drawer/drawer-content2.js +2 -2
  74. package/dist/drawer/drawer-content2.js.map +1 -1
  75. package/dist/drawer/drawer-footer2.js +2 -2
  76. package/dist/drawer/drawer-footer2.js.map +1 -1
  77. package/dist/drawer/drawer-header2.js +2 -2
  78. package/dist/drawer/drawer-header2.js.map +1 -1
  79. package/dist/drawer/drawer2.js +2 -2
  80. package/dist/drawer/drawer2.js.map +1 -1
  81. package/dist/dropdown/define.js.map +1 -1
  82. package/dist/dropdown/dropdown-footer2.js +2 -2
  83. package/dist/dropdown/dropdown-footer2.js.map +1 -1
  84. package/dist/dropdown/dropdown-header2.js +2 -2
  85. package/dist/dropdown/dropdown-header2.js.map +1 -1
  86. package/dist/dropdown/dropdown2.js +2 -2
  87. package/dist/dropdown/dropdown2.js.map +1 -1
  88. package/dist/dropdown-group/define.js.map +1 -1
  89. package/dist/dropdown-group/dropdown-group.js +2 -2
  90. package/dist/dropdown-group/dropdown-group.js.map +1 -1
  91. package/dist/dropzone/define.js.map +1 -1
  92. package/dist/dropzone/dropzone.util.js.map +1 -1
  93. package/dist/dropzone/dropzone2.js +2 -2
  94. package/dist/dropzone/dropzone2.js.map +1 -1
  95. package/dist/file/define.js.map +1 -1
  96. package/dist/file/file2.js +1 -1
  97. package/dist/file/file2.js.map +1 -1
  98. package/dist/format-datetime/define.js.map +1 -1
  99. package/dist/format-datetime/format-datetime2.js +2 -2
  100. package/dist/format-datetime/format-datetime2.js.map +1 -1
  101. package/dist/format-number/define.js.map +1 -1
  102. package/dist/format-number/format-number2.js +2 -2
  103. package/dist/format-number/format-number2.js.map +1 -1
  104. package/dist/format-relative-time/define.js.map +1 -1
  105. package/dist/format-relative-time/format-relative-time2.js +2 -2
  106. package/dist/format-relative-time/format-relative-time2.js.map +1 -1
  107. package/dist/forms/control/control2.js +2 -2
  108. package/dist/forms/control/control2.js.map +1 -1
  109. package/dist/forms/control-group/control-group2.js +2 -2
  110. package/dist/forms/control-group/control-group2.js.map +1 -1
  111. package/dist/forms/control-message/control-message2.js +2 -2
  112. package/dist/forms/control-message/control-message2.js.map +1 -1
  113. package/dist/forms/define.js.map +1 -1
  114. package/dist/forms/utils/layout.js.map +1 -1
  115. package/dist/forms/utils/states.js.map +1 -1
  116. package/dist/grid/cell/cell2.js +1 -1
  117. package/dist/grid/cell/cell2.js.map +1 -1
  118. package/dist/grid/column/column2.js +2 -2
  119. package/dist/grid/column/column2.js.map +1 -1
  120. package/dist/grid/define.js.map +1 -1
  121. package/dist/grid/footer/footer2.js +2 -2
  122. package/dist/grid/footer/footer2.js.map +1 -1
  123. package/dist/grid/grid2.js +2 -2
  124. package/dist/grid/grid2.js.map +1 -1
  125. package/dist/grid/header/header2.js +2 -2
  126. package/dist/grid/header/header2.js.map +1 -1
  127. package/dist/grid/placeholder/placeholder2.js +1 -1
  128. package/dist/grid/placeholder/placeholder2.js.map +1 -1
  129. package/dist/grid/row/row2.js +2 -2
  130. package/dist/grid/row/row2.js.map +1 -1
  131. package/dist/icon/define.js.map +1 -1
  132. package/dist/icon/icon2.js +3 -3
  133. package/dist/icon/icon2.js.map +1 -1
  134. package/dist/icon/icons.js.map +1 -1
  135. package/dist/icon/server.js.map +1 -1
  136. package/dist/icon-button/define.js.map +1 -1
  137. package/dist/icon-button/icon-button2.js +2 -2
  138. package/dist/icon-button/icon-button2.js.map +1 -1
  139. package/dist/index.js +1 -1
  140. package/dist/input/define.js.map +1 -1
  141. package/dist/input/input-group2.js +1 -1
  142. package/dist/input/input-group2.js.map +1 -1
  143. package/dist/input/input2.js +2 -2
  144. package/dist/input/input2.js.map +1 -1
  145. package/dist/internal/base/button.js +1 -1
  146. package/dist/internal/base/button.js.map +1 -1
  147. package/dist/internal/controllers/audit.controller.js.map +1 -1
  148. package/dist/internal/controllers/i18n.controller.js.map +1 -1
  149. package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
  150. package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
  151. package/dist/internal/controllers/state-active.controller.js.map +1 -1
  152. package/dist/internal/controllers/state-current.controller.js.map +1 -1
  153. package/dist/internal/controllers/state-disabled.controller.js.map +1 -1
  154. package/dist/internal/controllers/state-expanded.controller.js.map +1 -1
  155. package/dist/internal/controllers/state-highlighted.controller.js.map +1 -1
  156. package/dist/internal/controllers/state-pressed.controller.js.map +1 -1
  157. package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
  158. package/dist/internal/controllers/state-selected.controller.js.map +1 -1
  159. package/dist/internal/controllers/type-anchor.controller.js.map +1 -1
  160. package/dist/internal/controllers/type-button.controller.js.map +1 -1
  161. package/dist/internal/controllers/type-closable.controller.js.map +1 -1
  162. package/dist/internal/controllers/type-command.controller.js.map +1 -1
  163. package/dist/internal/controllers/type-expandable.controller.js.map +1 -1
  164. package/dist/internal/controllers/type-interest.controller.js.map +1 -1
  165. package/dist/internal/controllers/type-native-popover-trigger.controller.js.map +1 -1
  166. package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
  167. package/dist/internal/controllers/type-native-popover.utils.js.map +1 -1
  168. package/dist/internal/controllers/type-selectable.controller.js.map +1 -1
  169. package/dist/internal/controllers/type-ssr.controller.js.map +1 -1
  170. package/dist/internal/controllers/type-submit.controller.js.map +1 -1
  171. package/dist/internal/controllers/type-touch.controller.js.map +1 -1
  172. package/dist/internal/decorators/host-attr.js.map +1 -1
  173. package/dist/internal/decorators/scoped-registry.js.map +1 -1
  174. package/dist/internal/services/global.service.js +1 -1
  175. package/dist/internal/services/global.service.js.map +1 -1
  176. package/dist/internal/services/global.utils.js +6 -8
  177. package/dist/internal/services/global.utils.js.map +1 -1
  178. package/dist/internal/services/i18n.service.js.map +1 -1
  179. package/dist/internal/services/log.service.js.map +1 -1
  180. package/dist/internal/services/transition.service.js.map +1 -1
  181. package/dist/internal/styles/index.js.map +1 -1
  182. package/dist/internal/styles/popover2.js.map +1 -1
  183. package/dist/internal/types/index.js.map +1 -1
  184. package/dist/internal/utils/a11y.js.map +1 -1
  185. package/dist/internal/utils/audit-logs.d.ts +0 -1
  186. package/dist/internal/utils/audit-logs.js +1 -4
  187. package/dist/internal/utils/audit-logs.js.map +1 -1
  188. package/dist/internal/utils/audit.js.map +1 -1
  189. package/dist/internal/utils/dom.js.map +1 -1
  190. package/dist/internal/utils/events.js.map +1 -1
  191. package/dist/internal/utils/focus.js.map +1 -1
  192. package/dist/internal/utils/keynav.js.map +1 -1
  193. package/dist/internal/utils/objects.js.map +1 -1
  194. package/dist/internal/utils/strings.js.map +1 -1
  195. package/dist/internal/utils/supports.js.map +1 -1
  196. package/dist/logo/define.js.map +1 -1
  197. package/dist/logo/logo2.js +2 -2
  198. package/dist/logo/logo2.js.map +1 -1
  199. package/dist/menu/define.js.map +1 -1
  200. package/dist/menu/menu-item2.js +2 -2
  201. package/dist/menu/menu-item2.js.map +1 -1
  202. package/dist/menu/menu2.js +2 -2
  203. package/dist/menu/menu2.js.map +1 -1
  204. package/dist/month/define.js.map +1 -1
  205. package/dist/month/month2.js +2 -2
  206. package/dist/month/month2.js.map +1 -1
  207. package/dist/notification/define.js.map +1 -1
  208. package/dist/notification/notification-group2.js +2 -2
  209. package/dist/notification/notification-group2.js.map +1 -1
  210. package/dist/notification/notification2.js +2 -2
  211. package/dist/notification/notification2.js.map +1 -1
  212. package/dist/page/define.js.map +1 -1
  213. package/dist/page/page-panel/page-panel-content2.js +1 -1
  214. package/dist/page/page-panel/page-panel-content2.js.map +1 -1
  215. package/dist/page/page-panel/page-panel-footer2.js +2 -2
  216. package/dist/page/page-panel/page-panel-footer2.js.map +1 -1
  217. package/dist/page/page-panel/page-panel-header2.js +2 -2
  218. package/dist/page/page-panel/page-panel-header2.js.map +1 -1
  219. package/dist/page/page-panel/page-panel2.js +2 -2
  220. package/dist/page/page-panel/page-panel2.js.map +1 -1
  221. package/dist/page/page2.js +2 -2
  222. package/dist/page/page2.js.map +1 -1
  223. package/dist/page-header/define.js.map +1 -1
  224. package/dist/page-header/page-header2.js +1 -1
  225. package/dist/page-header/page-header2.js.map +1 -1
  226. package/dist/page-loader/define.js.map +1 -1
  227. package/dist/page-loader/page-loader2.js +2 -2
  228. package/dist/page-loader/page-loader2.js.map +1 -1
  229. package/dist/pagination/define.js.map +1 -1
  230. package/dist/pagination/pagination2.js +2 -2
  231. package/dist/pagination/pagination2.js.map +1 -1
  232. package/dist/panel/define.js.map +1 -1
  233. package/dist/panel/panel2.js +5 -5
  234. package/dist/panel/panel2.js.map +1 -1
  235. package/dist/password/define.js.map +1 -1
  236. package/dist/password/password2.js +2 -2
  237. package/dist/password/password2.js.map +1 -1
  238. package/dist/polyfills/custom-state-set.js.map +1 -1
  239. package/dist/polyfills/index.js.map +1 -1
  240. package/dist/preferences-input/define.js.map +1 -1
  241. package/dist/preferences-input/preferences-input2.js +2 -2
  242. package/dist/preferences-input/preferences-input2.js.map +1 -1
  243. package/dist/progress-bar/define.js.map +1 -1
  244. package/dist/progress-bar/progress-bar2.js +2 -2
  245. package/dist/progress-bar/progress-bar2.js.map +1 -1
  246. package/dist/progress-ring/define.js.map +1 -1
  247. package/dist/progress-ring/progress-ring2.js +2 -2
  248. package/dist/progress-ring/progress-ring2.js.map +1 -1
  249. package/dist/progressive-filter-chip/define.js.map +1 -1
  250. package/dist/progressive-filter-chip/progressive-filter-chip2.js +2 -2
  251. package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
  252. package/dist/pulse/define.js.map +1 -1
  253. package/dist/pulse/pulse2.js +2 -2
  254. package/dist/pulse/pulse2.js.map +1 -1
  255. package/dist/radio/define.js.map +1 -1
  256. package/dist/radio/radio-group2.js +2 -2
  257. package/dist/radio/radio-group2.js.map +1 -1
  258. package/dist/radio/radio2.js +2 -2
  259. package/dist/radio/radio2.js.map +1 -1
  260. package/dist/range/define.js.map +1 -1
  261. package/dist/range/range2.js +2 -2
  262. package/dist/range/range2.js.map +1 -1
  263. package/dist/resize-handle/define.js.map +1 -1
  264. package/dist/resize-handle/resize-handle2.js +2 -2
  265. package/dist/resize-handle/resize-handle2.js.map +1 -1
  266. package/dist/search/define.js.map +1 -1
  267. package/dist/search/search2.js +2 -2
  268. package/dist/search/search2.js.map +1 -1
  269. package/dist/select/define.js.map +1 -1
  270. package/dist/select/select2.js +2 -2
  271. package/dist/select/select2.js.map +1 -1
  272. package/dist/skeleton/define.js.map +1 -1
  273. package/dist/skeleton/skeleton2.js +2 -2
  274. package/dist/skeleton/skeleton2.js.map +1 -1
  275. package/dist/sort-button/define.js.map +1 -1
  276. package/dist/sort-button/sort-button2.js +2 -2
  277. package/dist/sort-button/sort-button2.js.map +1 -1
  278. package/dist/sparkline/define.js.map +1 -1
  279. package/dist/sparkline/sparkline.utils.js.map +1 -1
  280. package/dist/sparkline/sparkline2.js +2 -2
  281. package/dist/sparkline/sparkline2.js.map +1 -1
  282. package/dist/star-rating/define.js.map +1 -1
  283. package/dist/star-rating/star-rating2.js +2 -2
  284. package/dist/star-rating/star-rating2.js.map +1 -1
  285. package/dist/steps/define.js.map +1 -1
  286. package/dist/steps/steps2.js +3 -3
  287. package/dist/steps/steps2.js.map +1 -1
  288. package/dist/switch/define.js.map +1 -1
  289. package/dist/switch/switch-group2.js +2 -2
  290. package/dist/switch/switch-group2.js.map +1 -1
  291. package/dist/switch/switch2.js +2 -2
  292. package/dist/switch/switch2.js.map +1 -1
  293. package/dist/tabs/define.js.map +1 -1
  294. package/dist/tabs/tabs-group2.js +2 -2
  295. package/dist/tabs/tabs-group2.js.map +1 -1
  296. package/dist/tabs/tabs2.js +3 -3
  297. package/dist/tabs/tabs2.js.map +1 -1
  298. package/dist/tag/define.js.map +1 -1
  299. package/dist/tag/tag2.js +2 -2
  300. package/dist/tag/tag2.js.map +1 -1
  301. package/dist/textarea/define.js.map +1 -1
  302. package/dist/textarea/textarea2.js +1 -1
  303. package/dist/textarea/textarea2.js.map +1 -1
  304. package/dist/time/define.js.map +1 -1
  305. package/dist/time/time2.js +2 -2
  306. package/dist/time/time2.js.map +1 -1
  307. package/dist/toast/define.js.map +1 -1
  308. package/dist/toast/toast2.js +2 -2
  309. package/dist/toast/toast2.js.map +1 -1
  310. package/dist/toggletip/define.js.map +1 -1
  311. package/dist/toggletip/toggletip-footer2.js +2 -2
  312. package/dist/toggletip/toggletip-footer2.js.map +1 -1
  313. package/dist/toggletip/toggletip-header2.js +2 -2
  314. package/dist/toggletip/toggletip-header2.js.map +1 -1
  315. package/dist/toggletip/toggletip2.js +2 -2
  316. package/dist/toggletip/toggletip2.js.map +1 -1
  317. package/dist/toolbar/define.js.map +1 -1
  318. package/dist/toolbar/toolbar2.js +2 -2
  319. package/dist/toolbar/toolbar2.js.map +1 -1
  320. package/dist/tooltip/define.js.map +1 -1
  321. package/dist/tooltip/tooltip2.js +2 -2
  322. package/dist/tooltip/tooltip2.js.map +1 -1
  323. package/dist/tree/define.js.map +1 -1
  324. package/dist/tree/tree-node2.js +2 -2
  325. package/dist/tree/tree-node2.js.map +1 -1
  326. package/dist/tree/tree2.js +2 -2
  327. package/dist/tree/tree2.js.map +1 -1
  328. package/dist/tree/utils.js.map +1 -1
  329. package/dist/week/define.js.map +1 -1
  330. package/dist/week/week2.js +2 -2
  331. package/dist/week/week2.js.map +1 -1
  332. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- import { __decorate as e } from "../../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
1
+ import { __decorate as e } from "../../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
2
  import { hostAttr as t } from "../../internal/decorators/host-attr.js";
3
3
  import { useStyles as n } from "../../internal/styles/index.js";
4
4
  import r from "./page-panel-footer.js";
@@ -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: "0.1.1"
17
+ version: "0.1.2"
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 * @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":";;;;;;AAoBA,IAAa,IAAb,cAAqC,EAAW;;2BAQ3B;;;gBAPH,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;CAID,SAAS;EACP,OAAO,CAAI;;;GAHZ,GAAU,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA"}
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 * @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":";;;;;;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,4 +1,4 @@
1
- import { __decorate as e } from "../../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
1
+ import { __decorate as e } from "../../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
2
  import { hostAttr as t } from "../../internal/decorators/host-attr.js";
3
3
  import { useStyles as n } from "../../internal/styles/index.js";
4
4
  import r from "./page-panel-header.js";
@@ -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: "0.1.1"
17
+ version: "0.1.2"
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 * @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":";;;;;;AAmBA,IAAa,IAAb,cAAqC,EAAW;;2BAQ3B;;;gBAPH,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;CAID,SAAS;EACP,OAAO,CAAI;;;GAHZ,GAAU,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA"}
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 * @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":";;;;;;AAmBA,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,6 +1,6 @@
1
1
  import { appendRootNodeStyle as e } from "../../internal/utils/dom.js";
2
2
  import { attachInternals as t } from "../../internal/utils/a11y.js";
3
- import { __decorate as n } from "../../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
3
+ import { __decorate as n } from "../../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
4
4
  import { audit as r } from "../../internal/controllers/audit.controller.js";
5
5
  import { I18nController as i } from "../../internal/controllers/i18n.controller.js";
6
6
  import { TypeExpandableController as a } from "../../internal/controllers/type-expandable.controller.js";
@@ -23,7 +23,7 @@ var h = class extends d {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-page-panel",
26
- version: "0.1.1",
26
+ version: "0.1.2",
27
27
  parents: ["nve-page"]
28
28
  };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page-panel2.js","names":["#i18nController","#position","#closableIconName","#closableIconDirection","#typeExpandableController"],"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, nothing } 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 scopedRegistry,\n TypeExpandableController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\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 * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @event open\n * @event close\n * @slot - default content slot\n * @slot actions - slot for action / dismiss buttons\n * @command --open - use to open the panel\n * @command --close - use to close the panel\n * @command --toggle - use to toggle the panel\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\n * @csspart icon-button - The close/collapse icon button element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\n@audit()\n@scopedRegistry()\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 /**\n * Determines if a closable button should render within page panel.\n * @deprecated use the `actions` slot instead\n */\n @property({ type: Boolean }) closable: boolean;\n\n /**\n * Determines if a expandable button should render within page panel.\n * @deprecated use the `actions` slot instead\n */\n @property({ type: Boolean }) expandable: boolean;\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 static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n #typeExpandableController = new TypeExpandableController(this, { useHidden: true });\n\n get #position() {\n const position: Record<string, string> = {\n left: 'left',\n right: 'right',\n bottom: 'bottom'\n };\n\n return position[this.slot] || '';\n }\n\n get #closableIconName() {\n return this.expandable ? 'double-chevron' : 'cancel';\n }\n\n get #closableIconDirection() {\n const directions: Record<string, string> = {\n left: 'left',\n right: 'right',\n bottom: 'down'\n };\n\n return directions[this.#position] || 'up';\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\">\n ${this.closable || this.expandable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeExpandableController.close()} .iconName=${this.#closableIconName} .direction=${this.#closableIconDirection} aria-label=${this.i18n.close} container=\"inline\" role=\"button\"></nve-icon-button>` : nothing}\n </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":";;;;;;;;;;;;;;AAgDO,IAAA,IAAA,cAAwB,EAAW;;yBAkBA,IAAI,EAAqB,KAAK,cAKnC,KAAKA,GAAgB,gBAc5B,IAAI,EAAyB,MAAM,EAAE,WAAW,IAAM,CAAC;;CAnBnF;;gBAOgB,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,WAAA;GACX;;;4BAE2B,GACzB,EAAW,SAAS,MAAM,GAC5B;;CAED;CAEA,IAAIC,KAAY;EAOd,OAAO;GALL,MAAM;GACN,OAAO;GACP,QAAQ;GAGH,CAAS,KAAK,SAAS;;CAGhC,IAAIC,KAAoB;EACtB,OAAO,KAAK,aAAa,mBAAmB;;CAG9C,IAAIC,KAAyB;EAO3B,OAAO;GALL,MAAM;GACN,OAAO;GACP,QAAQ;GAGH,CAAW,KAAKF,OAAc;;CAMvC,SAAS;EACP,OAAO,CAAI,0FAKH,KAAK,YAAY,KAAK,aAAa,CAAI,yFAAwF,KAAKG,GAA0B,OAAO,CAAC,eAAa,KAAKF,GAAkB,gBAAc,KAAKC,GAAuB,gBAAc,KAAK,KAAK,MAAM,yDAAwD,EAAQ;;CAa5V,oBAAoB;EAIlB,AAHA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,EAAoB,MAAM,EAAa,EACvC,KAAK,WAAW,OAAO;;;GArFxB,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAMzC,EAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAM3B,EAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,EAAA,WAAA,cAAA,KAAA,EAAA,KAO3B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,SAzB5B,GAAO,EACP,GAAgB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"page-panel2.js","names":["#i18nController","#position","#closableIconName","#closableIconDirection","#typeExpandableController"],"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, nothing } 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 scopedRegistry,\n TypeExpandableController,\n useStyles\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\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 * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @event open\n * @event close\n * @slot - default content slot\n * @slot actions - slot for action / dismiss buttons\n * @command --open - use to open the panel\n * @command --close - use to close the panel\n * @command --toggle - use to toggle the panel\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\n * @csspart icon-button - The close/collapse icon button element\n * @aria https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/region_role\n *\n */\n@audit()\n@scopedRegistry()\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 /**\n * Determines if a closable button should render within page panel.\n * @deprecated use the `actions` slot instead\n */\n @property({ type: Boolean }) closable: boolean;\n\n /**\n * Determines if a expandable button should render within page panel.\n * @deprecated use the `actions` slot instead\n */\n @property({ type: Boolean }) expandable: boolean;\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 static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n #typeExpandableController = new TypeExpandableController(this, { useHidden: true });\n\n get #position() {\n const position: Record<string, string> = {\n left: 'left',\n right: 'right',\n bottom: 'bottom'\n };\n\n return position[this.slot] || '';\n }\n\n get #closableIconName() {\n return this.expandable ? 'double-chevron' : 'cancel';\n }\n\n get #closableIconDirection() {\n const directions: Record<string, string> = {\n left: 'left',\n right: 'right',\n bottom: 'down'\n };\n\n return directions[this.#position] || 'up';\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\">\n ${this.closable || this.expandable ? html`<nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" @click=${() => this.#typeExpandableController.close()} .iconName=${this.#closableIconName} .direction=${this.#closableIconDirection} aria-label=${this.i18n.close} container=\"inline\" role=\"button\"></nve-icon-button>` : nothing}\n </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":";;;;;;;;;;;;;;AAgDO,IAAA,IAAA,cAAwB,EAAW;;yBAkBA,IAAI,EAAqB,IAAI,eAKlC,KAAKA,GAAgB,gBAc5B,IAAI,EAAyB,MAAM,EAAE,WAAW,GAAK,CAAC;;CAnBlF;;gBAOgB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;GACT,SAAS,CAAC,UAAU;EACtB;;;4BAE4B,GACzB,EAAW,SAAS,MAAM,EAC7B;;CAEA;CAEA,IAAIC,KAAY;EAOd,OAAO;GALL,MAAM;GACN,OAAO;GACP,QAAQ;EAGH,EAAS,KAAK,SAAS;CAChC;CAEA,IAAIC,KAAoB;EACtB,OAAO,KAAK,aAAa,mBAAmB;CAC9C;CAEA,IAAIC,KAAyB;EAO3B,OAAO;GALL,MAAM;GACN,OAAO;GACP,QAAQ;EAGH,EAAW,KAAKF,OAAc;CACvC;CAKA,SAAS;EACP,OAAO,CAAI,0FAKH,KAAK,YAAY,KAAK,aAAa,CAAI,yFAAwF,KAAKG,GAA0B,MAAM,EAAE,eAAa,KAAKF,GAAkB,gBAAc,KAAKC,GAAuB,gBAAc,KAAK,KAAK,MAAM,yDAAwD,EAAQ;CAW5V;CAEA,oBAAoB;EAIlB,AAHA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,EAAoB,MAAM,CAAY,GACtC,KAAK,WAAW,OAAO;CACzB;AACF;GAvFG,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAMxC,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAM1B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,KAAA,CAAA,MAO1B,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UAzB3B,EAAM,GACN,EAAe,CAAA,GAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { attachInternals as e } from "../internal/utils/a11y.js";
2
- import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
2
+ import { __decorate as t } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
3
3
  import { audit as n } from "../internal/controllers/audit.controller.js";
4
4
  import { useStyles as r } from "../internal/styles/index.js";
5
5
  import i from "./page.js";
@@ -16,7 +16,7 @@ var c = class extends a {
16
16
  static {
17
17
  this.metadata = {
18
18
  tag: "nve-page",
19
- version: "0.1.1"
19
+ version: "0.1.2"
20
20
  };
21
21
  }
22
22
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"page2.js","names":[],"sources":["../../src/page/page.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 { useStyles, attachInternals, audit } from '@nvidia-elements/core/internal';\nimport styles from './page.css?inline';\n\n/**\n * @element nve-page\n * @description Provide a consistent page structure across the applications, ensuring a seamless user experience.\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - The central content area of the page, where the primary focus of the user's attention should be.\n * @slot header - The topmost section of the page, typically containing navigation, branding, or other global elements.\n * @slot subheader - A secondary section below the header, often used for breadcrumbs, filters, or other contextual information.\n * @slot left-aside - A narrow section on the left side of the page, commonly used for navigation, filters, or other secondary content.\n * @slot left - The main content area on the left side of the page, typically containing primary navigation or features.\n * @slot bottom - A section for extra tooling outputs such as console outputs.\n * @slot right - The main content area on the right side of the page, typically containing secondary navigation or features.\n * @slot right-aside - A narrow section on the right side of the page, commonly used for navigation, filters, or other secondary content.\n * @slot subfooter - A secondary section below the main content area, often used for more information or calls to action.\n * @slot footer - The bottommost section of the page, typically containing global elements, such as copyright information.\n * @cssprop --padding\n * @cssprop --background\n * @cssprop --color\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --box-shadow\n * @cssprop --min-height\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/\n * @responsive false\n *\n */\n@audit({\n excessiveInstanceLimit: 0\n})\nexport class Page extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page',\n version: '0.0.0'\n };\n\n static elementDefinitions = {};\n\n /**\n * Enables the page to use the document content scroll rather than its internal fixed scroll.\n */\n @property({ type: Boolean, reflect: true, attribute: 'document-scroll' }) documentScroll = false;\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"header\"></slot>\n <slot name=\"subheader\"></slot>\n <slot name=\"left-aside\"></slot>\n <slot name=\"left\"></slot>\n <slot></slot>\n <slot name=\"bottom\"></slot>\n <slot name=\"right\"></slot>\n <slot name=\"right-aside\"></slot>\n <slot name=\"subfooter\"></slot>\n <slot name=\"footer\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n }\n}\n"],"mappings":";;;;;;;;AAqCO,IAAA,IAAA,cAAmB,EAAW;;qCAawD;;;gBAZ3E,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,EAAE;;CAU9B,SAAS;EACP,OAAO,CAAI;;CAgBb,oBAAoB;EAElB,AADA,MAAM,mBAAmB,EACzB,EAAgB,KAAK;;;GAxBtB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,SAhB1E,EAAM,EACL,wBAAwB,GACzB,CAAC,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"page2.js","names":[],"sources":["../../src/page/page.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 { useStyles, attachInternals, audit } from '@nvidia-elements/core/internal';\nimport styles from './page.css?inline';\n\n/**\n * @element nve-page\n * @description Provide a consistent page structure across the applications, ensuring a seamless user experience.\n * @entrypoint \\@nvidia-elements/core/page\n * @since 1.15.0\n * @slot - The central content area of the page, where the primary focus of the user's attention should be.\n * @slot header - The topmost section of the page, typically containing navigation, branding, or other global elements.\n * @slot subheader - A secondary section below the header, often used for breadcrumbs, filters, or other contextual information.\n * @slot left-aside - A narrow section on the left side of the page, commonly used for navigation, filters, or other secondary content.\n * @slot left - The main content area on the left side of the page, typically containing primary navigation or features.\n * @slot bottom - A section for extra tooling outputs such as console outputs.\n * @slot right - The main content area on the right side of the page, typically containing secondary navigation or features.\n * @slot right-aside - A narrow section on the right side of the page, commonly used for navigation, filters, or other secondary content.\n * @slot subfooter - A secondary section below the main content area, often used for more information or calls to action.\n * @slot footer - The bottommost section of the page, typically containing global elements, such as copyright information.\n * @cssprop --padding\n * @cssprop --background\n * @cssprop --color\n * @cssprop --border\n * @cssprop --border-radius\n * @cssprop --box-shadow\n * @cssprop --min-height\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/landmarks/\n * @responsive false\n *\n */\n@audit({\n excessiveInstanceLimit: 0\n})\nexport class Page extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page',\n version: '0.0.0'\n };\n\n static elementDefinitions = {};\n\n /**\n * Enables the page to use the document content scroll rather than its internal fixed scroll.\n */\n @property({ type: Boolean, reflect: true, attribute: 'document-scroll' }) documentScroll = false;\n\n /** @private */\n declare _internals: ElementInternals;\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"header\"></slot>\n <slot name=\"subheader\"></slot>\n <slot name=\"left-aside\"></slot>\n <slot name=\"left\"></slot>\n <slot></slot>\n <slot name=\"bottom\"></slot>\n <slot name=\"right\"></slot>\n <slot name=\"right-aside\"></slot>\n <slot name=\"subfooter\"></slot>\n <slot name=\"footer\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n }\n}\n"],"mappings":";;;;;;;;AAqCO,IAAA,IAAA,cAAmB,EAAW;;qCAawD;;;gBAZ3E,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,CAAC;;CAU7B,SAAS;EACP,OAAO,CAAI;CAcb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,EAAgB,IAAI;CACtB;AACF;GA1BG,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,WAAW;AAAkB,CAAC,CAAA,GAAA,EAAA,WAAA,kBAAA,KAAA,CAAA,UAhBzE,EAAM,EACL,wBAAwB,EAC1B,CAAC,CAAA,GAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/page-header/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PageHeader } from '@nvidia-elements/core/page-header';\n\ndefine(PageHeader);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-page-header': PageHeader;\n }\n}\n"],"mappings":";;;AAMA,EAAO,EAAW"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/page-header/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PageHeader } from '@nvidia-elements/core/page-header';\n\ndefine(PageHeader);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-page-header': PageHeader;\n }\n}\n"],"mappings":";;;AAMA,EAAO,CAAU"}
@@ -10,7 +10,7 @@ var a = class extends r {
10
10
  static {
11
11
  this.metadata = {
12
12
  tag: "nve-page-header",
13
- version: "0.1.1"
13
+ version: "0.1.2"
14
14
  };
15
15
  }
16
16
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"page-header2.js","names":[],"sources":["../../src/page-header/page-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 { useStyles, attachInternals } from '@nvidia-elements/core/internal';\nimport styles from './page-header.css?inline';\n\n/**\n * @element nve-page-header\n * @description An element that appears across the top of all pages containing the application name and primary navigation.\n * @entrypoint \\@nvidia-elements/core/page-header\n * @since 1.15.0\n * @slot - The default content slot\n * @slot prefix - Content displayed at the start of the header\n * @slot suffix - Content displayed at the end of the header\n * @cssprop --background - Background color of the header\n * @cssprop --padding - Padding inside the header\n * @cssprop --border-bottom - Border below the header\n * @cssprop --gap - Gap between the prefix, default, and suffix slots\n * @cssprop --margin-inline - left and right margin applied to the default content slot\n\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav\n *\n */\nexport class PageHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-header',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n </div>\n `;\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n connectedCallback(): void {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'navigation';\n }\n}\n"],"mappings":";;;;;AAwBA,IAAa,IAAb,cAAgC,EAAW;;gBACzB,EAAU,CAAC,EAAO,CAAC;;;kBAER;GACzB,KAAK;GACL,SAAS;GACV;;CAED,SAAS;EACP,OAAO,CAAI;;CAYb,oBAA0B;EAGxB,AAFA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO"}
1
+ {"version":3,"file":"page-header2.js","names":[],"sources":["../../src/page-header/page-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 { useStyles, attachInternals } from '@nvidia-elements/core/internal';\nimport styles from './page-header.css?inline';\n\n/**\n * @element nve-page-header\n * @description An element that appears across the top of all pages containing the application name and primary navigation.\n * @entrypoint \\@nvidia-elements/core/page-header\n * @since 1.15.0\n * @slot - The default content slot\n * @slot prefix - Content displayed at the start of the header\n * @slot suffix - Content displayed at the end of the header\n * @cssprop --background - Background color of the header\n * @cssprop --padding - Padding inside the header\n * @cssprop --border-bottom - Border below the header\n * @cssprop --gap - Gap between the prefix, default, and suffix slots\n * @cssprop --margin-inline - left and right margin applied to the default content slot\n\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav\n *\n */\nexport class PageHeader extends LitElement {\n static styles = useStyles([styles]);\n\n static readonly metadata = {\n tag: 'nve-page-header',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <div internal-host>\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n </div>\n `;\n }\n\n /** @private */\n declare _internals: ElementInternals;\n\n connectedCallback(): void {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'navigation';\n }\n}\n"],"mappings":";;;;;AAwBA,IAAa,IAAb,cAAgC,EAAW;;gBACzB,EAAU,CAAC,CAAM,CAAC;;;kBAEP;GACzB,KAAK;GACL,SAAS;EACX;;CAEA,SAAS;EACP,OAAO,CAAI;CAOb;CAKA,oBAA0B;EAGxB,AAFA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/page-loader/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PageLoader } from '@nvidia-elements/core/page-loader';\n\ndefine(PageLoader);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-page-loader': PageLoader;\n }\n}\n"],"mappings":";;;AAMA,EAAO,EAAW"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/page-loader/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PageLoader } from '@nvidia-elements/core/page-loader';\n\ndefine(PageLoader);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-page-loader': PageLoader;\n }\n}\n"],"mappings":";;;AAMA,EAAO,CAAU"}
@@ -1,4 +1,4 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
2
  import { TypeNativePopoverController as t } from "../internal/controllers/type-native-popover.controller.js";
3
3
  import { scopedRegistry as n } from "../internal/decorators/scoped-registry.js";
4
4
  import { useStyles as r } from "../internal/styles/index.js";
@@ -18,7 +18,7 @@ var u = class extends s {
18
18
  static {
19
19
  this.metadata = {
20
20
  tag: "nve-page-loader",
21
- version: "0.1.1"
21
+ version: "0.1.2"
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 * @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":";;;;;;;;;;AAsBO,IAAA,IAAA,cAAyB,EAAW;;+BAEJ,6BAGD,6CAGI,IAAI,EAAwC,KAAK,gBAKvE,WAAW,UAAU;;;gBAEvB,EAAU,CAAC,GAAe,EAAO,CAAC;;;kBAEvB;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,GACzB,EAAa,SAAS,MAAM,GAC9B;;CAKD,SAAS;EACP,OAAO,CAAI;;;GAjBZ,GAAO,CAAA,EAAA,EAAA,WAAA,UAAA,KAAA,EAAA,SAdT,GAAgB,CAAA,EAAA,EAAA"}
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 * @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":";;;;;;;;;;AAsBO,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 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/pagination/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Pagination } from '@nvidia-elements/core/pagination';\n\ndefine(Pagination);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-pagination': Pagination;\n }\n}\n"],"mappings":";;;AAMA,EAAO,EAAW"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/pagination/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Pagination } from '@nvidia-elements/core/pagination';\n\ndefine(Pagination);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-pagination': Pagination;\n }\n}\n"],"mappings":";;;AAMA,EAAO,CAAU"}
@@ -1,6 +1,6 @@
1
1
  import { formatStandardNumber as e } from "../internal/utils/objects.js";
2
2
  import { attachInternals as t } from "../internal/utils/a11y.js";
3
- import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
4
4
  import { I18nController as r } from "../internal/controllers/i18n.controller.js";
5
5
  import { keyNavigationList as i } from "../internal/controllers/keynav-list.controller.js";
6
6
  import { typeSSR as a } from "../internal/controllers/type-ssr.controller.js";
@@ -21,7 +21,7 @@ var g = class extends h(d) {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-pagination",
24
- version: "0.1.1",
24
+ version: "0.1.2",
25
25
  valueSchema: { type: "number" }
26
26
  };
27
27
  }
@@ -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/mixin';\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 * @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 = [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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"}
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/mixin';\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 * @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 = [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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/panel/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Panel, PanelHeader, PanelContent, PanelFooter } from '@nvidia-elements/core/panel';\n\ndefine(Panel);\ndefine(PanelHeader);\ndefine(PanelContent);\ndefine(PanelFooter);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-panel': Panel;\n 'nve-panel-header': PanelHeader;\n 'nve-panel-content': PanelContent;\n 'nve-panel-footer': PanelFooter;\n }\n}\n"],"mappings":";;AAMA,EAAO,EAAM,EACb,EAAO,EAAY,EACnB,EAAO,EAAa,EACpB,EAAO,EAAY"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/panel/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Panel, PanelHeader, PanelContent, PanelFooter } from '@nvidia-elements/core/panel';\n\ndefine(Panel);\ndefine(PanelHeader);\ndefine(PanelContent);\ndefine(PanelFooter);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-panel': Panel;\n 'nve-panel-header': PanelHeader;\n 'nve-panel-content': PanelContent;\n 'nve-panel-footer': PanelFooter;\n }\n}\n"],"mappings":";;AAMA,EAAO,CAAK,GACZ,EAAO,CAAW,GAClB,EAAO,CAAY,GACnB,EAAO,CAAW"}
@@ -1,6 +1,6 @@
1
1
  import { attachInternals as e } from "../internal/utils/a11y.js";
2
2
  import { stateExpanded as t } from "../internal/controllers/state-expanded.controller.js";
3
- import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
3
+ import { __decorate as n } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
4
4
  import { I18nController as r } from "../internal/controllers/i18n.controller.js";
5
5
  import { TypeExpandableController as i } from "../internal/controllers/type-expandable.controller.js";
6
6
  import { scopedRegistry as a } from "../internal/decorators/scoped-registry.js";
@@ -21,7 +21,7 @@ var g = class extends f {
21
21
  static {
22
22
  this.metadata = {
23
23
  tag: "nve-panel-header",
24
- version: "0.1.1"
24
+ version: "0.1.2"
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: "0.1.1"
40
+ version: "0.1.2"
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: "0.1.1"
53
+ version: "0.1.2"
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: "0.1.1"
72
+ version: "0.1.2"
73
73
  };
74
74
  }
75
75
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"panel2.js","names":["#i18nController","#direction","#typeExpandableController"],"sources":["../../src/panel/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 { when } from 'lit/directives/when.js';\nimport {\n stateExpanded,\n I18nController,\n TypeExpandableController,\n useStyles,\n attachInternals,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport panelStyleSheet from './panel.css?inline';\nimport panelHeaderStyleSheet from './panel-header.css?inline';\nimport panelContentStyleSheet from './panel-content.css?inline';\nimport panelFooterStyleSheet from './panel-footer.css?inline';\n\n/**\n * @element nve-panel-header\n * @description Displays the title, subtitle, and optional action controls at the top of a panel.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - default content slot\n * @slot title - Title Text\n * @slot subtitle - Subtitle Text\n * @slot action-icon - Extra Action Button\n * @cssprop --padding\n * @cssprop --border-bottom\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n * @deprecated use `nve-page-panel` with `nve-page` instead\n */\nexport class PanelHeader extends LitElement {\n static styles = useStyles([panelHeaderStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-header',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <div internal-host>\n <div id=\"titles\">\n <slot name=\"title\"></slot>\n <slot name=\"subtitle\"></slot>\n <slot></slot>\n </div>\n\n <slot name=\"action-icon\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback(); // Do not override connectedCallback w/out supering\n this.slot = 'header';\n }\n}\n\n/**\n * @element nve-panel-content\n * @description Contains the main body content within a panel, providing a structured region for detailed information.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - This is a default/unnamed slot for panel content\n * @cssprop --padding\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\nexport class PanelContent extends LitElement {\n static styles = useStyles([panelContentStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-content',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n}\n\n/**\n * @element nve-panel-footer\n * @description Provides a designated area at the bottom of a panel for actions or supplementary controls.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - This is a default/unnamed slot for panel footer content\n * @cssprop --padding\n * @cssprop --border-top\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\nexport class PanelFooter extends LitElement {\n static styles = useStyles([panelFooterStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-footer',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <footer internal-host>\n <slot></slot>\n </footer>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback(); // Do not override connectedCallback w/out supering\n this.slot = 'footer';\n }\n}\n\n/**\n * @element nve-panel\n * @description Panel is inline container for content that couples to the content on the page (details, extra actions/options). Or [Drawer](./docs/elements/drawer/) is out of context of the rest of the page (notifications, navigations, settings).\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @event open - Dispatched when the panel opens.\n * @event close - Dispatched when the panel closes.\n * @slot - This is a default/unnamed slot for panel content\n * @slot header - header element (Use `panel-header` or custom content)\n * @slot content - content element (Use `panel-content` or custom content)\n * @slot footer - footer element (Use `panel-footer` or custom content)\n * @cssprop --background\n * @cssprop --color\n * @cssprop --box-shadow\n * @cssprop --panel-button-border-radius - Border radius of the panel expand/collapse button\n * @csspart icon-button - The expand/collapse icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\n\n@scopedRegistry()\n@stateExpanded<Panel>()\nexport class Panel extends LitElement {\n /**\n * Determines whether the panel is fully expanded, displaying its contents, or not.\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Determines whether the panel collapses down to an expand icon, or fully hides.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * Determines whether the panel should handle auto-closing behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-expand' }) behaviorExpand = false;\n\n /**\n * Sets the proper collapse icon and collapse animation, based on which side of the page the panel occupies.\n */\n @property({ type: String }) side: 'left' | 'right' = 'left';\n\n static styles = useStyles([panelStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n #typeExpandableController = new TypeExpandableController(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n get #direction() {\n if (this.side === 'left') {\n return this.expanded ? 'left' : 'right';\n } else {\n return this.expanded ? 'right' : 'left';\n }\n }\n\n render() {\n return html`\n <div internal-host>\n <div class=\"header\">\n <slot name=\"header\"></slot>\n\n ${when(\n !this.closable,\n () => html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" .container=${this.expanded ? 'flat' : undefined} icon-name=\"double-chevron\"\n @click=${() => this.#typeExpandableController.toggle()}\n .direction=${this.#direction}\n .expanded=${this.expanded}\n .ariaLabel=${this.expanded ? this.i18n.close : this.i18n.expand}\n ></nve-icon-button>\n `,\n () => html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" container=\"flat\" icon-name=\"cancel\"\n @click=${() => this.#typeExpandableController.close()}\n .expanded=${this.expanded}\n .ariaLabel=${this.expanded ? this.i18n.hide : this.i18n.show}\n ></nve-icon-button>\n `\n )}\n </div>\n\n <div class=\"content\">\n <slot></slot>\n </div>\n\n <slot name=\"footer\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'region';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,IAAa,IAAb,cAAiC,EAAW;;gBAC1B,EAAU,CAAC,EAAsB,CAAC;;;kBAEvB;GACzB,KAAK;GACL,SAAS;GACV;;CAED,SAAS;EACP,OAAO,CAAI;;CAab,oBAAoB;EAElB,AADA,MAAM,mBAAmB,EACzB,KAAK,OAAO;;GAaH,IAAb,cAAkC,EAAW;;gBAC3B,EAAU,CAAC,EAAuB,CAAC;;;kBAExB;GACzB,KAAK;GACL,SAAS;GACV;;CAED,SAAS;EACP,OAAO,CAAI;;GAiBF,IAAb,cAAiC,EAAW;;gBAC1B,EAAU,CAAC,EAAsB,CAAC;;;kBAEvB;GACzB,KAAK;GACL,SAAS;GACV;;CAED,SAAS;EACP,OAAO,CAAI;;CAOb,oBAAoB;EAElB,AADA,MAAM,mBAAmB,EACzB,KAAK,OAAO;;GAyBT,IAAA,cAAoB,EAAW;;+BAImB,oBAKf,0BAKoC,gBAKvB,kBAgBb,IAAI,EAAqB,KAAK,YAC1C,IAAI,EAAyB,KAAK,cAK3B,KAAKA,GAAgB;;;gBApBxC,EAAU,CAAC,EAAgB,CAAC;;;kBAEjB;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,GACzB,EAAW,SAAS,MAAM,GAC5B;;CAKD;CACA;CAOA,IAAIC,KAAa;EAIb,OAHE,KAAK,SAAS,SACT,KAAK,WAAW,SAAS,UAEzB,KAAK,WAAW,UAAU;;CAIrC,SAAS;EACP,OAAO,CAAI,qEAKH,EACA,CAAC,KAAK,gBACA,CAAI,uFAC6E,KAAK,WAAW,SAAS,KAAA,EAAU,6CACvG,KAAKC,GAA0B,QAAQ,CAAC,gBAC1C,KAAKD,GAAW,eACjB,KAAK,SAAS,gBACb,KAAK,WAAW,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,6BAG9D,CAAI,6HAES,KAAKC,GAA0B,OAAO,CAAC,eAC1C,KAAK,SAAS,gBACb,KAAK,WAAW,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK,sBAGlE,CAAC;;CAYV,oBAAoB;EAGlB,AAFA,MAAM,mBAAmB,EACzB,EAAgB,KAAK,EACrB,KAAK,WAAW,OAAO;;;GArFxB,EAAS;CAAE,MAAM;CAAS,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK1C,EAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,EAAA,WAAA,YAAA,KAAA,EAAA,KAK3B,EAAS;CAAE,MAAM;CAAS,WAAW;CAAmB,CAAC,CAAA,EAAA,EAAA,WAAA,kBAAA,KAAA,EAAA,KAKzD,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,KAsB1B,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,EAAA,WAAA,QAAA,KAAA,EAAA,SA3C5B,GAAgB,EAChB,GAAsB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"panel2.js","names":["#i18nController","#direction","#typeExpandableController"],"sources":["../../src/panel/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 { when } from 'lit/directives/when.js';\nimport {\n stateExpanded,\n I18nController,\n TypeExpandableController,\n useStyles,\n attachInternals,\n scopedRegistry\n} from '@nvidia-elements/core/internal';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport panelStyleSheet from './panel.css?inline';\nimport panelHeaderStyleSheet from './panel-header.css?inline';\nimport panelContentStyleSheet from './panel-content.css?inline';\nimport panelFooterStyleSheet from './panel-footer.css?inline';\n\n/**\n * @element nve-panel-header\n * @description Displays the title, subtitle, and optional action controls at the top of a panel.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - default content slot\n * @slot title - Title Text\n * @slot subtitle - Subtitle Text\n * @slot action-icon - Extra Action Button\n * @cssprop --padding\n * @cssprop --border-bottom\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n * @deprecated use `nve-page-panel` with `nve-page` instead\n */\nexport class PanelHeader extends LitElement {\n static styles = useStyles([panelHeaderStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-header',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <div internal-host>\n <div id=\"titles\">\n <slot name=\"title\"></slot>\n <slot name=\"subtitle\"></slot>\n <slot></slot>\n </div>\n\n <slot name=\"action-icon\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback(); // Do not override connectedCallback w/out supering\n this.slot = 'header';\n }\n}\n\n/**\n * @element nve-panel-content\n * @description Contains the main body content within a panel, providing a structured region for detailed information.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - This is a default/unnamed slot for panel content\n * @cssprop --padding\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\nexport class PanelContent extends LitElement {\n static styles = useStyles([panelContentStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-content',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n}\n\n/**\n * @element nve-panel-footer\n * @description Provides a designated area at the bottom of a panel for actions or supplementary controls.\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @slot - This is a default/unnamed slot for panel footer content\n * @cssprop --padding\n * @cssprop --border-top\n * @cssprop --gap\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\nexport class PanelFooter extends LitElement {\n static styles = useStyles([panelFooterStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel-footer',\n version: '0.0.0'\n };\n\n render() {\n return html`\n <footer internal-host>\n <slot></slot>\n </footer>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback(); // Do not override connectedCallback w/out supering\n this.slot = 'footer';\n }\n}\n\n/**\n * @element nve-panel\n * @description Panel is inline container for content that couples to the content on the page (details, extra actions/options). Or [Drawer](./docs/elements/drawer/) is out of context of the rest of the page (notifications, navigations, settings).\n * @since 0.10.0\n * @entrypoint \\@nvidia-elements/core/panel\n * @event open - Dispatched when the panel opens.\n * @event close - Dispatched when the panel closes.\n * @slot - This is a default/unnamed slot for panel content\n * @slot header - header element (Use `panel-header` or custom content)\n * @slot content - content element (Use `panel-content` or custom content)\n * @slot footer - footer element (Use `panel-footer` or custom content)\n * @cssprop --background\n * @cssprop --color\n * @cssprop --box-shadow\n * @cssprop --panel-button-border-radius - Border radius of the panel expand/collapse button\n * @csspart icon-button - The expand/collapse icon button element\n * @aria https://www.w3.org/WAI/ARIA/apg/patterns/disclosure/\n */\n\n@scopedRegistry()\n@stateExpanded<Panel>()\nexport class Panel extends LitElement {\n /**\n * Determines whether the panel is fully expanded, displaying its contents, or not.\n */\n @property({ type: Boolean, reflect: true }) expanded = false;\n\n /**\n * Determines whether the panel collapses down to an expand icon, or fully hides.\n */\n @property({ type: Boolean }) closable = false;\n\n /**\n * Determines whether the panel should handle auto-closing behavior vs. defaults to off.\n */\n @property({ type: Boolean, attribute: 'behavior-expand' }) behaviorExpand = false;\n\n /**\n * Sets the proper collapse icon and collapse animation, based on which side of the page the panel occupies.\n */\n @property({ type: String }) side: 'left' | 'right' = 'left';\n\n static styles = useStyles([panelStyleSheet]);\n\n static readonly metadata = {\n tag: 'nve-panel',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n /** @private */\n declare _internals: ElementInternals;\n\n #i18nController: I18nController<this> = new I18nController<this>(this);\n #typeExpandableController = new TypeExpandableController(this);\n\n /**\n * Enables updating internal string values for internationalization.\n */\n @property({ type: Object }) i18n = this.#i18nController.i18n;\n\n get #direction() {\n if (this.side === 'left') {\n return this.expanded ? 'left' : 'right';\n } else {\n return this.expanded ? 'right' : 'left';\n }\n }\n\n render() {\n return html`\n <div internal-host>\n <div class=\"header\">\n <slot name=\"header\"></slot>\n\n ${when(\n !this.closable,\n () => html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" .container=${this.expanded ? 'flat' : undefined} icon-name=\"double-chevron\"\n @click=${() => this.#typeExpandableController.toggle()}\n .direction=${this.#direction}\n .expanded=${this.expanded}\n .ariaLabel=${this.expanded ? this.i18n.close : this.i18n.expand}\n ></nve-icon-button>\n `,\n () => html`\n <nve-icon-button part=\"icon-button\" exportparts=\"icon:icon-button-icon\" container=\"flat\" icon-name=\"cancel\"\n @click=${() => this.#typeExpandableController.close()}\n .expanded=${this.expanded}\n .ariaLabel=${this.expanded ? this.i18n.hide : this.i18n.show}\n ></nve-icon-button>\n `\n )}\n </div>\n\n <div class=\"content\">\n <slot></slot>\n </div>\n\n <slot name=\"footer\"></slot>\n </div>\n `;\n }\n\n connectedCallback() {\n super.connectedCallback();\n attachInternals(this);\n this._internals.role = 'region';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAkCA,IAAa,IAAb,cAAiC,EAAW;;gBAC1B,EAAU,CAAC,CAAqB,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;CAEA,SAAS;EACP,OAAO,CAAI;CAWb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF,GAWa,IAAb,cAAkC,EAAW;;gBAC3B,EAAU,CAAC,CAAsB,CAAC;;;kBAEvB;GACzB,KAAK;GACL,SAAS;EACX;;CAEA,SAAS;EACP,OAAO,CAAI;CAGb;AACF,GAaa,IAAb,cAAiC,EAAW;;gBAC1B,EAAU,CAAC,CAAqB,CAAC;;;kBAEtB;GACzB,KAAK;GACL,SAAS;EACX;;CAEA,SAAS;EACP,OAAO,CAAI;CAKb;CAEA,oBAAoB;EAElB,AADA,MAAM,kBAAkB,GACxB,KAAK,OAAO;CACd;AACF,GAuBO,IAAA,cAAoB,EAAW;;+BAImB,oBAKf,0BAKoC,gBAKvB,kBAgBb,IAAI,EAAqB,IAAI,aACzC,IAAI,EAAyB,IAAI,eAK1B,KAAKA,GAAgB;;;gBApBxC,EAAU,CAAC,CAAe,CAAC;;;kBAEhB;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAW,SAAS,MAAM,EAC7B;;CAKA;CACA;CAOA,IAAIC,KAAa;EAIb,OAHE,KAAK,SAAS,SACT,KAAK,WAAW,SAAS,UAEzB,KAAK,WAAW,UAAU;CAErC;CAEA,SAAS;EACP,OAAO,CAAI,qEAKH,EACA,CAAC,KAAK,gBACA,CAAI,uFAC6E,KAAK,WAAW,SAAS,KAAA,EAAU,6CACvG,KAAKC,GAA0B,OAAO,EAAE,gBAC1C,KAAKD,GAAW,eACjB,KAAK,SAAS,gBACb,KAAK,WAAW,KAAK,KAAK,QAAQ,KAAK,KAAK,OAAO,6BAG9D,CAAI,6HAES,KAAKC,GAA0B,MAAM,EAAE,eAC1C,KAAK,SAAS,gBACb,KAAK,WAAW,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK,qBAGnE,EAAE;CAUV;CAEA,oBAAoB;EAGlB,AAFA,MAAM,kBAAkB,GACxB,EAAgB,IAAI,GACpB,KAAK,WAAW,OAAO;CACzB;AACF;GAvFG,EAAS;CAAE,MAAM;CAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAKzC,EAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,KAAA,CAAA,MAK1B,EAAS;CAAE,MAAM;CAAS,WAAW;AAAkB,CAAC,CAAA,GAAA,EAAA,WAAA,kBAAA,KAAA,CAAA,MAKxD,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,MAsBzB,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,KAAA,CAAA,UA3C3B,EAAe,GACf,EAAqB,CAAA,GAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/password/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Password } from '@nvidia-elements/core/password';\nimport { Control, ControlGroup, ControlMessage } from '@nvidia-elements/core/forms';\n\ndefine(Password);\ndefine(Control);\ndefine(ControlGroup);\ndefine(ControlMessage);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-password': Password;\n }\n}\n"],"mappings":";;;;;AAOA,EAAO,EAAS,EAChB,EAAO,EAAQ,EACf,EAAO,EAAa,EACpB,EAAO,EAAe"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/password/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { Password } from '@nvidia-elements/core/password';\nimport { Control, ControlGroup, ControlMessage } from '@nvidia-elements/core/forms';\n\ndefine(Password);\ndefine(Control);\ndefine(ControlGroup);\ndefine(ControlMessage);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-password': Password;\n }\n}\n"],"mappings":";;;;;AAOA,EAAO,CAAQ,GACf,EAAO,CAAO,GACd,EAAO,CAAY,GACnB,EAAO,CAAc"}
@@ -1,4 +1,4 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
2
  import { scopedRegistry as t } from "../internal/decorators/scoped-registry.js";
3
3
  import { useStyles as n } from "../internal/styles/index.js";
4
4
  import { Control as r } from "../forms/control/control2.js";
@@ -23,7 +23,7 @@ var u = class extends r {
23
23
  static {
24
24
  this.metadata = {
25
25
  tag: "nve-password",
26
- version: "0.1.1"
26
+ version: "0.1.2"
27
27
  };
28
28
  }
29
29
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"password2.js","names":["#toggleVisibility"],"sources":["../../src/password/password.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport { property } from 'lit/decorators/property.js';\nimport type { ContainerElement } from '@nvidia-elements/core/internal';\nimport { scopedRegistry, useStyles } from '@nvidia-elements/core/internal';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { inputStyles } from '@nvidia-elements/core/input';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport styles from './password.css?inline';\n\n/**\n * @element nve-password\n * @description A password is a control that enables users to enter password text.\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/password\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --cursor\n * @csspart icon-button - The visibility toggle icon button element\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password\n */\n@scopedRegistry()\nexport class Password extends Control implements ContainerElement {\n /**\n * Reduces the visual container for a minimal borderless appearance while preserving whitespace bounds.\n * Use when embedding within another container such as a toolbar.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n @state() private pressed = false;\n\n static styles = useStyles([...Control.styles, inputStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-password',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n protected get suffixContent() {\n return html`<nve-icon-button part=\"icon-button\" @click=${() => this.#toggleVisibility()} .pressed=${this.pressed} .iconName=${this.pressed ? 'eye-hidden' : 'eye'} container=\"inline\" .ariaLabel=${this.pressed ? this.i18n.hide : this.i18n.show}></nve-icon-button>`;\n }\n\n #toggleVisibility() {\n this.pressed = !this.pressed;\n this.input.type = this.pressed ? 'text' : 'password';\n }\n}\n"],"mappings":";;;;;;;;;;;AA6BO,IAAA,IAAA,cAAuB,EAAoC;;8BAOrC;;;gBAEX,EAAU;GAAC,GAAG,EAAQ;GAAQ;GAAa;GAAO,CAAC;;;kBAExC;GACzB,KAAK;GACL,SAAS;GACV;;;4BAE2B,GACzB,EAAW,SAAS,MAAM,GAC5B;;CAED,IAAc,gBAAgB;EAC5B,OAAO,CAAI,qDAAoD,KAAKA,IAAmB,CAAC,cAAY,KAAK,QAAQ,eAAa,KAAK,UAAU,eAAe,MAAM,mCAAiC,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK;;CAGpP,KAAoB;EAElB,AADA,KAAK,UAAU,CAAC,KAAK,SACrB,KAAK,MAAM,OAAO,KAAK,UAAU,SAAS;;;GArB3C,EAAS;CAAE,MAAM;CAAQ,SAAS;CAAM,CAAC,CAAA,EAAA,EAAA,WAAA,aAAA,KAAA,EAAA,KAEzC,GAAO,CAAA,EAAA,EAAA,WAAA,WAAA,KAAA,EAAA,SART,GAAgB,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"password2.js","names":["#toggleVisibility"],"sources":["../../src/password/password.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { html } from 'lit';\nimport { state } from 'lit/decorators/state.js';\nimport { property } from 'lit/decorators/property.js';\nimport type { ContainerElement } from '@nvidia-elements/core/internal';\nimport { scopedRegistry, useStyles } from '@nvidia-elements/core/internal';\nimport { Control } from '@nvidia-elements/core/forms';\nimport { inputStyles } from '@nvidia-elements/core/input';\nimport { IconButton } from '@nvidia-elements/core/icon-button';\nimport styles from './password.css?inline';\n\n/**\n * @element nve-password\n * @description A password is a control that enables users to enter password text.\n * @since 0.3.0\n * @entrypoint \\@nvidia-elements/core/password\n * @cssprop --padding\n * @cssprop --font-size\n * @cssprop --height\n * @cssprop --background\n * @cssprop --border-radius\n * @cssprop --border\n * @cssprop --cursor\n * @csspart icon-button - The visibility toggle icon button element\n * @aria https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/password\n */\n@scopedRegistry()\nexport class Password extends Control implements ContainerElement {\n /**\n * Reduces the visual container for a minimal borderless appearance while preserving whitespace bounds.\n * Use when embedding within another container such as a toolbar.\n */\n @property({ type: String, reflect: true }) container?: 'flat';\n\n @state() private pressed = false;\n\n static styles = useStyles([...Control.styles, inputStyles, styles]);\n\n static readonly metadata = {\n tag: 'nve-password',\n version: '0.0.0'\n };\n\n static elementDefinitions = {\n [IconButton.metadata.tag]: IconButton\n };\n\n protected get suffixContent() {\n return html`<nve-icon-button part=\"icon-button\" @click=${() => this.#toggleVisibility()} .pressed=${this.pressed} .iconName=${this.pressed ? 'eye-hidden' : 'eye'} container=\"inline\" .ariaLabel=${this.pressed ? this.i18n.hide : this.i18n.show}></nve-icon-button>`;\n }\n\n #toggleVisibility() {\n this.pressed = !this.pressed;\n this.input.type = this.pressed ? 'text' : 'password';\n }\n}\n"],"mappings":";;;;;;;;;;;AA6BO,IAAA,IAAA,cAAuB,EAAoC;;8BAOrC;;;gBAEX,EAAU;GAAC,GAAG,EAAQ;GAAQ;GAAa;EAAM,CAAC;;;kBAEvC;GACzB,KAAK;GACL,SAAS;EACX;;;4BAE4B,GACzB,EAAW,SAAS,MAAM,EAC7B;;CAEA,IAAc,gBAAgB;EAC5B,OAAO,CAAI,qDAAoD,KAAKA,GAAkB,EAAE,cAAY,KAAK,QAAQ,eAAa,KAAK,UAAU,eAAe,MAAM,mCAAiC,KAAK,UAAU,KAAK,KAAK,OAAO,KAAK,KAAK,KAAK;CACpP;CAEA,KAAoB;EAElB,AADA,KAAK,UAAU,CAAC,KAAK,SACrB,KAAK,MAAM,OAAO,KAAK,UAAU,SAAS;CAC5C;AACF;GAvBG,EAAS;CAAE,MAAM;CAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,KAAA,CAAA,MAExC,EAAM,CAAA,GAAA,EAAA,WAAA,WAAA,KAAA,CAAA,UARR,EAAe,CAAA,GAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"custom-state-set.js","names":[],"sources":["../../src/polyfills/custom-state-set.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst SUPPORTS_CUSTOM_STATES = CSS.supports('selector(:state(test))');\n\n/**\n * CustomStateSet Polyfill for :state() syntax downleveled to legacy :--state syntax (Chromium < v123)\n * https://html.spec.whatwg.org/multipage/custom-elements.html#exposing-custom-element-states\n *\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1588763\n */\n\nclass CustomStateSetPolyfill extends Set {\n // not using native private fields due to terser bug\n private _stateSet: CustomStateSet; // eslint-disable-line no-restricted-syntax\n private _element: HTMLElement; // eslint-disable-line no-restricted-syntax\n\n constructor(stateSet: CustomStateSet, element: HTMLElement) {\n super();\n this._stateSet = stateSet;\n this._element = element;\n }\n\n add(state: string) {\n super.add(state);\n try {\n this._stateSet?.add(state.replace('--', ''));\n // try latest syntax :state()\n } catch {\n // else fallback to legacy syntax [state--*]\n this._element.setAttribute(`state--${state.replace('--', '')}`, '');\n }\n return this;\n }\n\n delete(state: string) {\n super.delete(state);\n try {\n this._stateSet?.delete(state);\n } catch {\n this._element.removeAttribute(`state--${state.replace('--', '')}`);\n }\n return true;\n }\n\n clear() {\n for (const state of this) this.delete(state);\n }\n}\n\ncustomStateSetPolyfill();\n\nfunction customStateSetPolyfill() {\n const attachInternals = HTMLElement.prototype.attachInternals;\n Object.defineProperty(HTMLElement.prototype, 'attachInternals', {\n value: function (..._args: unknown[]) {\n const internals = attachInternals.call(this) as unknown as ElementInternals;\n Object.defineProperty(internals, 'states', { value: new CustomStateSetPolyfill(internals.states, this) });\n return internals;\n }\n });\n\n const matches = Element.prototype.matches;\n Object.defineProperty(Element.prototype, 'matches', {\n value: function (text: string) {\n return matches.call(this, replaceToLegacyState(text));\n }\n });\n\n const replaceSync = CSSStyleSheet.prototype.replaceSync;\n Object.defineProperty(CSSStyleSheet.prototype, 'replaceSync', {\n value: function (text: string) {\n replaceSync.call(this, replaceToLegacyState(text));\n }\n });\n}\n\nfunction replaceToLegacyState(value: string) {\n // if the browser does not support :state(*) selectors replace any CSS state selectors with attribute fallbacks [state-*]\n if (!SUPPORTS_CUSTOM_STATES) {\n return value.replace(/:--([^\\)]+)/g, '[state--$1]').replace(/:state\\(([^\\)]+)\\)/g, '[state--$1]');\n } else {\n return value.replace(/:--([^\\)]+)/g, ':state($1)');\n }\n}\n"],"mappings":";AAGA,IAAM,IAAyB,IAAI,SAAS,yBAAyB,EAS/D,IAAN,cAAqC,IAAI;CAKvC,YAAY,GAA0B,GAAsB;EAG1D,AAFA,OAAO,EACP,KAAK,YAAY,GACjB,KAAK,WAAW;;CAGlB,IAAI,GAAe;EACjB,MAAM,IAAI,EAAM;EAChB,IAAI;GACF,KAAK,WAAW,IAAI,EAAM,QAAQ,MAAM,GAAG,CAAC;UAEtC;GAEN,KAAK,SAAS,aAAa,UAAU,EAAM,QAAQ,MAAM,GAAG,IAAI,GAAG;;EAErE,OAAO;;CAGT,OAAO,GAAe;EACpB,MAAM,OAAO,EAAM;EACnB,IAAI;GACF,KAAK,WAAW,OAAO,EAAM;UACvB;GACN,KAAK,SAAS,gBAAgB,UAAU,EAAM,QAAQ,MAAM,GAAG,GAAG;;EAEpE,OAAO;;CAGT,QAAQ;EACN,KAAK,IAAM,KAAS,MAAM,KAAK,OAAO,EAAM;;;AAIhD,GAAwB;AAExB,SAAS,IAAyB;CAChC,IAAM,IAAkB,YAAY,UAAU;CAC9C,OAAO,eAAe,YAAY,WAAW,mBAAmB,EAC9D,OAAO,SAAU,GAAG,GAAkB;EACpC,IAAM,IAAY,EAAgB,KAAK,KAAK;EAE5C,OADA,OAAO,eAAe,GAAW,UAAU,EAAE,OAAO,IAAI,EAAuB,EAAU,QAAQ,KAAK,EAAE,CAAC,EAClG;IAEV,CAAC;CAEF,IAAM,IAAU,QAAQ,UAAU;CAClC,OAAO,eAAe,QAAQ,WAAW,WAAW,EAClD,OAAO,SAAU,GAAc;EAC7B,OAAO,EAAQ,KAAK,MAAM,EAAqB,EAAK,CAAC;IAExD,CAAC;CAEF,IAAM,IAAc,cAAc,UAAU;CAC5C,OAAO,eAAe,cAAc,WAAW,eAAe,EAC5D,OAAO,SAAU,GAAc;EAC7B,EAAY,KAAK,MAAM,EAAqB,EAAK,CAAC;IAErD,CAAC;;AAGJ,SAAS,EAAqB,GAAe;CAGzC,OADG,IAGI,EAAM,QAAQ,gBAAgB,aAAa,GAF3C,EAAM,QAAQ,gBAAgB,cAAc,CAAC,QAAQ,uBAAuB,cAAc"}
1
+ {"version":3,"file":"custom-state-set.js","names":[],"sources":["../../src/polyfills/custom-state-set.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst SUPPORTS_CUSTOM_STATES = CSS.supports('selector(:state(test))');\n\n/**\n * CustomStateSet Polyfill for :state() syntax downleveled to legacy :--state syntax (Chromium < v123)\n * https://html.spec.whatwg.org/multipage/custom-elements.html#exposing-custom-element-states\n *\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1588763\n */\n\nclass CustomStateSetPolyfill extends Set {\n // not using native private fields due to terser bug\n private _stateSet: CustomStateSet; // eslint-disable-line no-restricted-syntax\n private _element: HTMLElement; // eslint-disable-line no-restricted-syntax\n\n constructor(stateSet: CustomStateSet, element: HTMLElement) {\n super();\n this._stateSet = stateSet;\n this._element = element;\n }\n\n add(state: string) {\n super.add(state);\n try {\n this._stateSet?.add(state.replace('--', ''));\n // try latest syntax :state()\n } catch {\n // else fallback to legacy syntax [state--*]\n this._element.setAttribute(`state--${state.replace('--', '')}`, '');\n }\n return this;\n }\n\n delete(state: string) {\n super.delete(state);\n try {\n this._stateSet?.delete(state);\n } catch {\n this._element.removeAttribute(`state--${state.replace('--', '')}`);\n }\n return true;\n }\n\n clear() {\n for (const state of this) this.delete(state);\n }\n}\n\ncustomStateSetPolyfill();\n\nfunction customStateSetPolyfill() {\n const attachInternals = HTMLElement.prototype.attachInternals;\n Object.defineProperty(HTMLElement.prototype, 'attachInternals', {\n value: function (..._args: unknown[]) {\n const internals = attachInternals.call(this) as unknown as ElementInternals;\n Object.defineProperty(internals, 'states', { value: new CustomStateSetPolyfill(internals.states, this) });\n return internals;\n }\n });\n\n const matches = Element.prototype.matches;\n Object.defineProperty(Element.prototype, 'matches', {\n value: function (text: string) {\n return matches.call(this, replaceToLegacyState(text));\n }\n });\n\n const replaceSync = CSSStyleSheet.prototype.replaceSync;\n Object.defineProperty(CSSStyleSheet.prototype, 'replaceSync', {\n value: function (text: string) {\n replaceSync.call(this, replaceToLegacyState(text));\n }\n });\n}\n\nfunction replaceToLegacyState(value: string) {\n // if the browser does not support :state(*) selectors replace any CSS state selectors with attribute fallbacks [state-*]\n if (!SUPPORTS_CUSTOM_STATES) {\n return value.replace(/:--([^\\)]+)/g, '[state--$1]').replace(/:state\\(([^\\)]+)\\)/g, '[state--$1]');\n } else {\n return value.replace(/:--([^\\)]+)/g, ':state($1)');\n }\n}\n"],"mappings":";AAGA,IAAM,IAAyB,IAAI,SAAS,wBAAwB,GAS9D,IAAN,cAAqC,IAAI;CAKvC,YAAY,GAA0B,GAAsB;EAG1D,AAFA,MAAM,GACN,KAAK,YAAY,GACjB,KAAK,WAAW;CAClB;CAEA,IAAI,GAAe;EACjB,MAAM,IAAI,CAAK;EACf,IAAI;GACF,KAAK,WAAW,IAAI,EAAM,QAAQ,MAAM,EAAE,CAAC;EAE7C,QAAQ;GAEN,KAAK,SAAS,aAAa,UAAU,EAAM,QAAQ,MAAM,EAAE,KAAK,EAAE;EACpE;EACA,OAAO;CACT;CAEA,OAAO,GAAe;EACpB,MAAM,OAAO,CAAK;EAClB,IAAI;GACF,KAAK,WAAW,OAAO,CAAK;EAC9B,QAAQ;GACN,KAAK,SAAS,gBAAgB,UAAU,EAAM,QAAQ,MAAM,EAAE,GAAG;EACnE;EACA,OAAO;CACT;CAEA,QAAQ;EACN,KAAK,IAAM,KAAS,MAAM,KAAK,OAAO,CAAK;CAC7C;AACF;AAEA,EAAuB;AAEvB,SAAS,IAAyB;CAChC,IAAM,IAAkB,YAAY,UAAU;CAC9C,OAAO,eAAe,YAAY,WAAW,mBAAmB,EAC9D,OAAO,SAAU,GAAG,GAAkB;EACpC,IAAM,IAAY,EAAgB,KAAK,IAAI;EAE3C,OADA,OAAO,eAAe,GAAW,UAAU,EAAE,OAAO,IAAI,EAAuB,EAAU,QAAQ,IAAI,EAAE,CAAC,GACjG;CACT,EACF,CAAC;CAED,IAAM,IAAU,QAAQ,UAAU;CAClC,OAAO,eAAe,QAAQ,WAAW,WAAW,EAClD,OAAO,SAAU,GAAc;EAC7B,OAAO,EAAQ,KAAK,MAAM,EAAqB,CAAI,CAAC;CACtD,EACF,CAAC;CAED,IAAM,IAAc,cAAc,UAAU;CAC5C,OAAO,eAAe,cAAc,WAAW,eAAe,EAC5D,OAAO,SAAU,GAAc;EAC7B,EAAY,KAAK,MAAM,EAAqB,CAAI,CAAC;CACnD,EACF,CAAC;AACH;AAEA,SAAS,EAAqB,GAAe;CAGzC,OADG,IAGI,EAAM,QAAQ,gBAAgB,YAAY,IAF1C,EAAM,QAAQ,gBAAgB,aAAa,EAAE,QAAQ,uBAAuB,aAAa;AAIpG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/polyfills/index.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * - Vitest (happy-dom/js-dom)\n * - Safari\n *\n * Used for Custom Elements Form/A11y APIs\n * https://github.com/whatwg/html/pull/8467\n * https://bugs.webkit.org/show_bug.cgi?id=215911\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1588763\n */\nimport 'construct-style-sheets-polyfill';\nimport 'element-internals-polyfill';\nimport 'formdata-polyfill';\nimport './custom-state-set.js';\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/toggleAttribute\n * - Vitest (happy-dom/js-dom)\n * - Safari\n *\n * Used in element-internals-polyfill\n */\nif (!Element.prototype.toggleAttribute) {\n Element.prototype.toggleAttribute = function (name, force) {\n const forceBool = force !== void 0 ? !!force : undefined;\n\n if (this.hasAttribute(name)) {\n if (forceBool) {\n return true;\n }\n\n this.removeAttribute(name);\n return false;\n }\n if (forceBool === false) {\n return false;\n }\n\n this.setAttribute(name, '');\n return true;\n };\n}\n"],"mappings":";;;;AAwBK,QAAQ,UAAU,oBACrB,QAAQ,UAAU,kBAAkB,SAAU,GAAM,GAAO;CACzD,IAAM,IAAY,MAAU,KAAK,IAAc,KAAA,IAAV,CAAC,CAAC;CAevC,OAbI,KAAK,aAAa,EAAK,GACrB,IACK,MAGT,KAAK,gBAAgB,EAAK,EACnB,MAEL,MAAc,KACT,MAGT,KAAK,aAAa,GAAM,GAAG,EACpB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/polyfills/index.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * - Vitest (happy-dom/js-dom)\n * - Safari\n *\n * Used for Custom Elements Form/A11y APIs\n * https://github.com/whatwg/html/pull/8467\n * https://bugs.webkit.org/show_bug.cgi?id=215911\n * https://bugzilla.mozilla.org/show_bug.cgi?id=1588763\n */\nimport 'construct-style-sheets-polyfill';\nimport 'element-internals-polyfill';\nimport 'formdata-polyfill';\nimport './custom-state-set.js';\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/toggleAttribute\n * - Vitest (happy-dom/js-dom)\n * - Safari\n *\n * Used in element-internals-polyfill\n */\nif (!Element.prototype.toggleAttribute) {\n Element.prototype.toggleAttribute = function (name, force) {\n const forceBool = force !== void 0 ? !!force : undefined;\n\n if (this.hasAttribute(name)) {\n if (forceBool) {\n return true;\n }\n\n this.removeAttribute(name);\n return false;\n }\n if (forceBool === false) {\n return false;\n }\n\n this.setAttribute(name, '');\n return true;\n };\n}\n"],"mappings":";;;;AAwBK,QAAQ,UAAU,oBACrB,QAAQ,UAAU,kBAAkB,SAAU,GAAM,GAAO;CACzD,IAAM,IAAY,MAAU,KAAK,IAAc,KAAA,IAAV,CAAC,CAAC;CAevC,OAbI,KAAK,aAAa,CAAI,IACpB,IACK,MAGT,KAAK,gBAAgB,CAAI,GAClB,MAEL,MAAc,KACT,MAGT,KAAK,aAAa,GAAM,EAAE,GACnB;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/preferences-input/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PreferencesInput } from '@nvidia-elements/core/preferences-input';\n\ndefine(PreferencesInput);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-preferences-input': PreferencesInput;\n }\n}\n"],"mappings":";;;AAMA,EAAO,EAAiB"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/preferences-input/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { PreferencesInput } from '@nvidia-elements/core/preferences-input';\n\ndefine(PreferencesInput);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-preferences-input': PreferencesInput;\n }\n}\n"],"mappings":";;;AAMA,EAAO,CAAgB"}
@@ -1,4 +1,4 @@
1
- import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.128.0/helpers/decorate.js";
1
+ import { __decorate as e } from "../_virtual/_@oxc-project_runtime@0.130.0/helpers/decorate.js";
2
2
  import { I18nController as t } from "../internal/controllers/i18n.controller.js";
3
3
  import { scopedRegistry as n } from "../internal/decorators/scoped-registry.js";
4
4
  import { useStyles as r } from "../internal/styles/index.js";
@@ -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: "0.1.1",
46
+ version: "0.1.2",
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/mixin';\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 * @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 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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"}
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/mixin';\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 * @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 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","names":[],"sources":["../../src/progress-bar/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { ProgressBar } from '@nvidia-elements/core/progress-bar';\n\ndefine(ProgressBar);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-progress-bar': ProgressBar;\n }\n}\n"],"mappings":";;;AAMA,EAAO,EAAY"}
1
+ {"version":3,"file":"define.js","names":[],"sources":["../../src/progress-bar/define.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { define } from '@nvidia-elements/core/internal';\nimport { ProgressBar } from '@nvidia-elements/core/progress-bar';\n\ndefine(ProgressBar);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nve-progress-bar': ProgressBar;\n }\n}\n"],"mappings":";;;AAMA,EAAO,CAAW"}