@nvidia-elements/core 0.1.0 → 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 (612) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/_virtual/{_@oxc-project_runtime@0.123.0 → _@oxc-project_runtime@0.130.0}/helpers/decorate.js +1 -1
  3. package/dist/accordion/accordion2.js +12 -12
  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 +5 -5
  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 +4 -4
  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 +4 -4
  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 +6 -6
  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 +17 -17
  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 +2 -53
  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 +4 -4
  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 +8 -8
  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 +4 -4
  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 +4 -4
  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 +19 -15
  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.d.ts +2 -1
  115. package/dist/forms/utils/layout.js.map +1 -1
  116. package/dist/forms/utils/states.d.ts +0 -1
  117. package/dist/forms/utils/states.js.map +1 -1
  118. package/dist/forms/utils/types.d.ts +0 -24
  119. package/dist/grid/cell/cell2.js +1 -1
  120. package/dist/grid/cell/cell2.js.map +1 -1
  121. package/dist/grid/column/column2.js +2 -2
  122. package/dist/grid/column/column2.js.map +1 -1
  123. package/dist/grid/define.js.map +1 -1
  124. package/dist/grid/footer/footer2.js +2 -2
  125. package/dist/grid/footer/footer2.js.map +1 -1
  126. package/dist/grid/grid2.js +2 -2
  127. package/dist/grid/grid2.js.map +1 -1
  128. package/dist/grid/header/header2.js +2 -2
  129. package/dist/grid/header/header2.js.map +1 -1
  130. package/dist/grid/placeholder/placeholder2.js +1 -1
  131. package/dist/grid/placeholder/placeholder2.js.map +1 -1
  132. package/dist/grid/row/row2.js +2 -2
  133. package/dist/grid/row/row2.js.map +1 -1
  134. package/dist/icon/define.js.map +1 -1
  135. package/dist/icon/icon2.js +3 -3
  136. package/dist/icon/icon2.js.map +1 -1
  137. package/dist/icon/icons/academic-cap.js.map +1 -1
  138. package/dist/icon/icons/add-asset.js.map +1 -1
  139. package/dist/icon/icons/add-comment.js.map +1 -1
  140. package/dist/icon/icons/add-grid.js.map +1 -1
  141. package/dist/icon/icons/add-user.js.map +1 -1
  142. package/dist/icon/icons/add.js.map +1 -1
  143. package/dist/icon/icons/ancestors.js.map +1 -1
  144. package/dist/icon/icons/archive.js.map +1 -1
  145. package/dist/icon/icons/arrow-angle.js.map +1 -1
  146. package/dist/icon/icons/arrow-both.js.map +1 -1
  147. package/dist/icon/icons/arrow-cycle.js.map +1 -1
  148. package/dist/icon/icons/arrow-path-rounded-square.js.map +1 -1
  149. package/dist/icon/icons/arrow-stop.js.map +1 -1
  150. package/dist/icon/icons/arrow.js.map +1 -1
  151. package/dist/icon/icons/at-symbol.js.map +1 -1
  152. package/dist/icon/icons/backspace.js.map +1 -1
  153. package/dist/icon/icons/bar-pill-stack.js.map +1 -1
  154. package/dist/icon/icons/bars-3-bottom-left.js.map +1 -1
  155. package/dist/icon/icons/bars-3-bottom-right.js.map +1 -1
  156. package/dist/icon/icons/bars-3-center-left.js.map +1 -1
  157. package/dist/icon/icons/bars-3.js.map +1 -1
  158. package/dist/icon/icons/bars-4.js.map +1 -1
  159. package/dist/icon/icons/beaker.js.map +1 -1
  160. package/dist/icon/icons/bell-slash.js.map +1 -1
  161. package/dist/icon/icons/bell-stroke.js.map +1 -1
  162. package/dist/icon/icons/bell.js.map +1 -1
  163. package/dist/icon/icons/bold.js.map +1 -1
  164. package/dist/icon/icons/book.js.map +1 -1
  165. package/dist/icon/icons/bookmark-stroke.js.map +1 -1
  166. package/dist/icon/icons/bookmark.js.map +1 -1
  167. package/dist/icon/icons/bounding-box.js.map +1 -1
  168. package/dist/icon/icons/branch.js.map +1 -1
  169. package/dist/icon/icons/briefcase.js.map +1 -1
  170. package/dist/icon/icons/broadcast.js.map +1 -1
  171. package/dist/icon/icons/browser.js.map +1 -1
  172. package/dist/icon/icons/bug.js.map +1 -1
  173. package/dist/icon/icons/calendar.js.map +1 -1
  174. package/dist/icon/icons/camera.js.map +1 -1
  175. package/dist/icon/icons/cancel.js.map +1 -1
  176. package/dist/icon/icons/caret.js.map +1 -1
  177. package/dist/icon/icons/carets-closed-square.js.map +1 -1
  178. package/dist/icon/icons/carousel.js.map +1 -1
  179. package/dist/icon/icons/category-list.js.map +1 -1
  180. package/dist/icon/icons/chart-bar.js.map +1 -1
  181. package/dist/icon/icons/chat-bubble.js.map +1 -1
  182. package/dist/icon/icons/chat-bubbles.js.map +1 -1
  183. package/dist/icon/icons/check-badge.js.map +1 -1
  184. package/dist/icon/icons/check.js.map +1 -1
  185. package/dist/icon/icons/checklist.js.map +1 -1
  186. package/dist/icon/icons/checkmark-circle.js.map +1 -1
  187. package/dist/icon/icons/chevron.js.map +1 -1
  188. package/dist/icon/icons/chip.js.map +1 -1
  189. package/dist/icon/icons/circle-angled-line.js.map +1 -1
  190. package/dist/icon/icons/circle-dash.js.map +1 -1
  191. package/dist/icon/icons/circle-dot-arrows.js.map +1 -1
  192. package/dist/icon/icons/circle-dot.js.map +1 -1
  193. package/dist/icon/icons/circle-half.js.map +1 -1
  194. package/dist/icon/icons/circle-rule.js.map +1 -1
  195. package/dist/icon/icons/circle-tick.js.map +1 -1
  196. package/dist/icon/icons/circle.js.map +1 -1
  197. package/dist/icon/icons/clipboard.js.map +1 -1
  198. package/dist/icon/icons/clock-circle-arrow.js.map +1 -1
  199. package/dist/icon/icons/clock.js.map +1 -1
  200. package/dist/icon/icons/cloud-download.js.map +1 -1
  201. package/dist/icon/icons/cloud-upload.js.map +1 -1
  202. package/dist/icon/icons/cloud.js.map +1 -1
  203. package/dist/icon/icons/code.js.map +1 -1
  204. package/dist/icon/icons/collapse-all.js.map +1 -1
  205. package/dist/icon/icons/collapse-details.js.map +1 -1
  206. package/dist/icon/icons/color-palette.js.map +1 -1
  207. package/dist/icon/icons/columns.js.map +1 -1
  208. package/dist/icon/icons/compare.js.map +1 -1
  209. package/dist/icon/icons/computer.js.map +1 -1
  210. package/dist/icon/icons/connect-node.js.map +1 -1
  211. package/dist/icon/icons/connected-blocks.js.map +1 -1
  212. package/dist/icon/icons/copy.js.map +1 -1
  213. package/dist/icon/icons/cross-hairs.js.map +1 -1
  214. package/dist/icon/icons/cursor-rays.js.map +1 -1
  215. package/dist/icon/icons/cursor-ripples.js.map +1 -1
  216. package/dist/icon/icons/data-management.js.map +1 -1
  217. package/dist/icon/icons/delete-node.js.map +1 -1
  218. package/dist/icon/icons/delete.js.map +1 -1
  219. package/dist/icon/icons/doc-checkmark.js.map +1 -1
  220. package/dist/icon/icons/dock-bottom.js.map +1 -1
  221. package/dist/icon/icons/dock-none.js.map +1 -1
  222. package/dist/icon/icons/dock-side.js.map +1 -1
  223. package/dist/icon/icons/document-clipboard.js.map +1 -1
  224. package/dist/icon/icons/document.js.map +1 -1
  225. package/dist/icon/icons/dot-stroke.js.map +1 -1
  226. package/dist/icon/icons/dot.js.map +1 -1
  227. package/dist/icon/icons/double-chevron.js.map +1 -1
  228. package/dist/icon/icons/download.js.map +1 -1
  229. package/dist/icon/icons/drag.js.map +1 -1
  230. package/dist/icon/icons/dropper.js.map +1 -1
  231. package/dist/icon/icons/duplicate.js.map +1 -1
  232. package/dist/icon/icons/edit.js.map +1 -1
  233. package/dist/icon/icons/ellipses.js.map +1 -1
  234. package/dist/icon/icons/envelope.js.map +1 -1
  235. package/dist/icon/icons/exclamation-circle.js.map +1 -1
  236. package/dist/icon/icons/exclamation-mark.js.map +1 -1
  237. package/dist/icon/icons/exclamation-triangle.js.map +1 -1
  238. package/dist/icon/icons/expand-all.js.map +1 -1
  239. package/dist/icon/icons/expand-details.js.map +1 -1
  240. package/dist/icon/icons/expression.js.map +1 -1
  241. package/dist/icon/icons/eye-hidden.js.map +1 -1
  242. package/dist/icon/icons/eye.js.map +1 -1
  243. package/dist/icon/icons/face-frown.js.map +1 -1
  244. package/dist/icon/icons/face-smile.js.map +1 -1
  245. package/dist/icon/icons/fast-forward-10.js.map +1 -1
  246. package/dist/icon/icons/fast-forward.js.map +1 -1
  247. package/dist/icon/icons/film.js.map +1 -1
  248. package/dist/icon/icons/filter-stroke.js.map +1 -1
  249. package/dist/icon/icons/filter.js.map +1 -1
  250. package/dist/icon/icons/flag-stroke.js.map +1 -1
  251. package/dist/icon/icons/flag.js.map +1 -1
  252. package/dist/icon/icons/fold.js.map +1 -1
  253. package/dist/icon/icons/folder.js.map +1 -1
  254. package/dist/icon/icons/fork.js.map +1 -1
  255. package/dist/icon/icons/gear.js.map +1 -1
  256. package/dist/icon/icons/globe-alt-stroke.js.map +1 -1
  257. package/dist/icon/icons/globe.js.map +1 -1
  258. package/dist/icon/icons/group-boxes.js.map +1 -1
  259. package/dist/icon/icons/group.js.map +1 -1
  260. package/dist/icon/icons/hand.js.map +1 -1
  261. package/dist/icon/icons/hash.js.map +1 -1
  262. package/dist/icon/icons/heading.js.map +1 -1
  263. package/dist/icon/icons/home.js.map +1 -1
  264. package/dist/icon/icons/horizontal-rule.js.map +1 -1
  265. package/dist/icon/icons/hourglass-end.js.map +1 -1
  266. package/dist/icon/icons/hourglass-mid.js.map +1 -1
  267. package/dist/icon/icons/hourglass-start.js.map +1 -1
  268. package/dist/icon/icons/hourglass.js.map +1 -1
  269. package/dist/icon/icons/identification.js.map +1 -1
  270. package/dist/icon/icons/image.js.map +1 -1
  271. package/dist/icon/icons/inbox.js.map +1 -1
  272. package/dist/icon/icons/infinity.js.map +1 -1
  273. package/dist/icon/icons/information-circle-stroke.js.map +1 -1
  274. package/dist/icon/icons/inspect.js.map +1 -1
  275. package/dist/icon/icons/italic.js.map +1 -1
  276. package/dist/icon/icons/key.js.map +1 -1
  277. package/dist/icon/icons/keyboard.js.map +1 -1
  278. package/dist/icon/icons/laptop-phone.js.map +1 -1
  279. package/dist/icon/icons/layers.js.map +1 -1
  280. package/dist/icon/icons/lifebuoy.js.map +1 -1
  281. package/dist/icon/icons/lightbulb.js.map +1 -1
  282. package/dist/icon/icons/lightning-bolt.js.map +1 -1
  283. package/dist/icon/icons/link.js.map +1 -1
  284. package/dist/icon/icons/list-ordered.js.map +1 -1
  285. package/dist/icon/icons/list-unordered.js.map +1 -1
  286. package/dist/icon/icons/lock.js.map +1 -1
  287. package/dist/icon/icons/login.js.map +1 -1
  288. package/dist/icon/icons/logout.js.map +1 -1
  289. package/dist/icon/icons/looping-off.js.map +1 -1
  290. package/dist/icon/icons/looping.js.map +1 -1
  291. package/dist/icon/icons/map-drives.js.map +1 -1
  292. package/dist/icon/icons/map-pin.js.map +1 -1
  293. package/dist/icon/icons/map.js.map +1 -1
  294. package/dist/icon/icons/markdown.js.map +1 -1
  295. package/dist/icon/icons/maximize.js.map +1 -1
  296. package/dist/icon/icons/megaphone.js.map +1 -1
  297. package/dist/icon/icons/menu.js.map +1 -1
  298. package/dist/icon/icons/merge.js.map +1 -1
  299. package/dist/icon/icons/meter.js.map +1 -1
  300. package/dist/icon/icons/minimize.js.map +1 -1
  301. package/dist/icon/icons/minus-circle.js.map +1 -1
  302. package/dist/icon/icons/minus.js.map +1 -1
  303. package/dist/icon/icons/moon.js.map +1 -1
  304. package/dist/icon/icons/more-actions.js.map +1 -1
  305. package/dist/icon/icons/multiselect.js.map +1 -1
  306. package/dist/icon/icons/music-note.js.map +1 -1
  307. package/dist/icon/icons/newspaper.js.map +1 -1
  308. package/dist/icon/icons/not-allowed.js.map +1 -1
  309. package/dist/icon/icons/numbers.js.map +1 -1
  310. package/dist/icon/icons/office-building.js.map +1 -1
  311. package/dist/icon/icons/outline.js.map +1 -1
  312. package/dist/icon/icons/paper-airplane.js.map +1 -1
  313. package/dist/icon/icons/paper-clip.js.map +1 -1
  314. package/dist/icon/icons/pause.js.map +1 -1
  315. package/dist/icon/icons/pencil-square.js.map +1 -1
  316. package/dist/icon/icons/person-2.js.map +1 -1
  317. package/dist/icon/icons/person-3.js.map +1 -1
  318. package/dist/icon/icons/person-circle.js.map +1 -1
  319. package/dist/icon/icons/person.js.map +1 -1
  320. package/dist/icon/icons/phone.js.map +1 -1
  321. package/dist/icon/icons/picture-in-picture.js.map +1 -1
  322. package/dist/icon/icons/pie-chart.js.map +1 -1
  323. package/dist/icon/icons/pin.js.map +1 -1
  324. package/dist/icon/icons/pizza-slice.js.map +1 -1
  325. package/dist/icon/icons/placeholder.js.map +1 -1
  326. package/dist/icon/icons/play.js.map +1 -1
  327. package/dist/icon/icons/plug.js.map +1 -1
  328. package/dist/icon/icons/plus-circle.js.map +1 -1
  329. package/dist/icon/icons/plus-minus.js.map +1 -1
  330. package/dist/icon/icons/pointer-stroke.js.map +1 -1
  331. package/dist/icon/icons/pointer.js.map +1 -1
  332. package/dist/icon/icons/priority-high.js.map +1 -1
  333. package/dist/icon/icons/priority-low.js.map +1 -1
  334. package/dist/icon/icons/priority-medium.js.map +1 -1
  335. package/dist/icon/icons/projector.js.map +1 -1
  336. package/dist/icon/icons/pull-close.js.map +1 -1
  337. package/dist/icon/icons/pull-draft.js.map +1 -1
  338. package/dist/icon/icons/pull-open.js.map +1 -1
  339. package/dist/icon/icons/pulse.js.map +1 -1
  340. package/dist/icon/icons/puzzle-piece.js.map +1 -1
  341. package/dist/icon/icons/question-mark-circle-stroke.js.map +1 -1
  342. package/dist/icon/icons/question-mark-circle.js.map +1 -1
  343. package/dist/icon/icons/rectangle-group.js.map +1 -1
  344. package/dist/icon/icons/rectangle-stack-horizontal.js.map +1 -1
  345. package/dist/icon/icons/rectangle-stack-vertical.js.map +1 -1
  346. package/dist/icon/icons/redo.js.map +1 -1
  347. package/dist/icon/icons/refresh.js.map +1 -1
  348. package/dist/icon/icons/reply.js.map +1 -1
  349. package/dist/icon/icons/rewind-10.js.map +1 -1
  350. package/dist/icon/icons/rewind.js.map +1 -1
  351. package/dist/icon/icons/rocketship.js.map +1 -1
  352. package/dist/icon/icons/running.js.map +1 -1
  353. package/dist/icon/icons/scale.js.map +1 -1
  354. package/dist/icon/icons/scissors.js.map +1 -1
  355. package/dist/icon/icons/search.js.map +1 -1
  356. package/dist/icon/icons/sensor.js.map +1 -1
  357. package/dist/icon/icons/server-stack.js.map +1 -1
  358. package/dist/icon/icons/server.js.map +1 -1
  359. package/dist/icon/icons/shapes.js.map +1 -1
  360. package/dist/icon/icons/share.js.map +1 -1
  361. package/dist/icon/icons/signal-slash.js.map +1 -1
  362. package/dist/icon/icons/signal.js.map +1 -1
  363. package/dist/icon/icons/signpost.js.map +1 -1
  364. package/dist/icon/icons/sort-ascending.js.map +1 -1
  365. package/dist/icon/icons/sort-descending.js.map +1 -1
  366. package/dist/icon/icons/soundwave.js.map +1 -1
  367. package/dist/icon/icons/sparkles.js.map +1 -1
  368. package/dist/icon/icons/split-horizontal.js.map +1 -1
  369. package/dist/icon/icons/split-none.js.map +1 -1
  370. package/dist/icon/icons/split-vertical.js.map +1 -1
  371. package/dist/icon/icons/star-half.js.map +1 -1
  372. package/dist/icon/icons/star-stroke.js.map +1 -1
  373. package/dist/icon/icons/star.js.map +1 -1
  374. package/dist/icon/icons/start.js.map +1 -1
  375. package/dist/icon/icons/status-offline.js.map +1 -1
  376. package/dist/icon/icons/status-online.js.map +1 -1
  377. package/dist/icon/icons/stop-sign.js.map +1 -1
  378. package/dist/icon/icons/stop.js.map +1 -1
  379. package/dist/icon/icons/stopwatch.js.map +1 -1
  380. package/dist/icon/icons/strikethrough.js.map +1 -1
  381. package/dist/icon/icons/sun.js.map +1 -1
  382. package/dist/icon/icons/swatch.js.map +1 -1
  383. package/dist/icon/icons/switch-apps.js.map +1 -1
  384. package/dist/icon/icons/switch.js.map +1 -1
  385. package/dist/icon/icons/table.js.map +1 -1
  386. package/dist/icon/icons/tag.js.map +1 -1
  387. package/dist/icon/icons/task.js.map +1 -1
  388. package/dist/icon/icons/telescope.js.map +1 -1
  389. package/dist/icon/icons/template.js.map +1 -1
  390. package/dist/icon/icons/terminal.js.map +1 -1
  391. package/dist/icon/icons/thumb-stroke.js.map +1 -1
  392. package/dist/icon/icons/thumb.js.map +1 -1
  393. package/dist/icon/icons/traffic-cone.js.map +1 -1
  394. package/dist/icon/icons/transparent-box.js.map +1 -1
  395. package/dist/icon/icons/trend-down.js.map +1 -1
  396. package/dist/icon/icons/trend-up.js.map +1 -1
  397. package/dist/icon/icons/trophy.js.map +1 -1
  398. package/dist/icon/icons/truck.js.map +1 -1
  399. package/dist/icon/icons/typography.js.map +1 -1
  400. package/dist/icon/icons/undo.js.map +1 -1
  401. package/dist/icon/icons/unlock.js.map +1 -1
  402. package/dist/icon/icons/upload.js.map +1 -1
  403. package/dist/icon/icons/video-camera.js.map +1 -1
  404. package/dist/icon/icons/view-as-grid.js.map +1 -1
  405. package/dist/icon/icons/volume-muted.js.map +1 -1
  406. package/dist/icon/icons/volume.js.map +1 -1
  407. package/dist/icon/icons/wifi.js.map +1 -1
  408. package/dist/icon/icons/wrench.js.map +1 -1
  409. package/dist/icon/icons/x-circle.js.map +1 -1
  410. package/dist/icon/icons/zoom-in.js.map +1 -1
  411. package/dist/icon/icons/zoom-out.js.map +1 -1
  412. package/dist/icon/icons.js.map +1 -1
  413. package/dist/icon/server.js.map +1 -1
  414. package/dist/icon-button/define.js.map +1 -1
  415. package/dist/icon-button/icon-button2.js +2 -2
  416. package/dist/icon-button/icon-button2.js.map +1 -1
  417. package/dist/index.js +1 -1
  418. package/dist/input/define.js.map +1 -1
  419. package/dist/input/input-group2.js +1 -1
  420. package/dist/input/input-group2.js.map +1 -1
  421. package/dist/input/input2.js +2 -2
  422. package/dist/input/input2.js.map +1 -1
  423. package/dist/internal/base/button.js +3 -3
  424. package/dist/internal/base/button.js.map +1 -1
  425. package/dist/internal/controllers/audit.controller.js.map +1 -1
  426. package/dist/internal/controllers/i18n.controller.js.map +1 -1
  427. package/dist/internal/controllers/keynav-grid.controller.js.map +1 -1
  428. package/dist/internal/controllers/keynav-list.controller.js.map +1 -1
  429. package/dist/internal/controllers/state-active.controller.js.map +1 -1
  430. package/dist/internal/controllers/state-current.controller.js.map +1 -1
  431. package/dist/internal/controllers/state-disabled.controller.js.map +1 -1
  432. package/dist/internal/controllers/state-expanded.controller.js.map +1 -1
  433. package/dist/internal/controllers/state-highlighted.controller.js.map +1 -1
  434. package/dist/internal/controllers/state-pressed.controller.js.map +1 -1
  435. package/dist/internal/controllers/state-scroll.controller.js.map +1 -1
  436. package/dist/internal/controllers/state-selected.controller.js.map +1 -1
  437. package/dist/internal/controllers/type-anchor.controller.js.map +1 -1
  438. package/dist/internal/controllers/type-button.controller.js.map +1 -1
  439. package/dist/internal/controllers/type-closable.controller.js.map +1 -1
  440. package/dist/internal/controllers/type-command.controller.js.map +1 -1
  441. package/dist/internal/controllers/type-expandable.controller.js.map +1 -1
  442. package/dist/internal/controllers/type-interest.controller.js.map +1 -1
  443. package/dist/internal/controllers/type-native-popover-trigger.controller.js.map +1 -1
  444. package/dist/internal/controllers/type-native-popover.controller.js.map +1 -1
  445. package/dist/internal/controllers/type-native-popover.utils.js.map +1 -1
  446. package/dist/internal/controllers/type-selectable.controller.js.map +1 -1
  447. package/dist/internal/controllers/type-ssr.controller.js +2 -2
  448. package/dist/internal/controllers/type-ssr.controller.js.map +1 -1
  449. package/dist/internal/controllers/type-submit.controller.js.map +1 -1
  450. package/dist/internal/controllers/type-touch.controller.js.map +1 -1
  451. package/dist/internal/decorators/host-attr.js.map +1 -1
  452. package/dist/internal/decorators/scoped-registry.js.map +1 -1
  453. package/dist/internal/services/global.service.js +1 -1
  454. package/dist/internal/services/global.service.js.map +1 -1
  455. package/dist/internal/services/global.utils.js +6 -8
  456. package/dist/internal/services/global.utils.js.map +1 -1
  457. package/dist/internal/services/i18n.service.js.map +1 -1
  458. package/dist/internal/services/log.service.js.map +1 -1
  459. package/dist/internal/services/transition.service.js.map +1 -1
  460. package/dist/internal/styles/index.js.map +1 -1
  461. package/dist/internal/styles/popover2.js.map +1 -1
  462. package/dist/internal/types/index.js.map +1 -1
  463. package/dist/internal/utils/a11y.js.map +1 -1
  464. package/dist/internal/utils/audit-logs.d.ts +0 -1
  465. package/dist/internal/utils/audit-logs.js +1 -4
  466. package/dist/internal/utils/audit-logs.js.map +1 -1
  467. package/dist/internal/utils/audit.js.map +1 -1
  468. package/dist/internal/utils/dom.js.map +1 -1
  469. package/dist/internal/utils/events.js.map +1 -1
  470. package/dist/internal/utils/focus.js.map +1 -1
  471. package/dist/internal/utils/keynav.js.map +1 -1
  472. package/dist/internal/utils/objects.js.map +1 -1
  473. package/dist/internal/utils/strings.js.map +1 -1
  474. package/dist/internal/utils/supports.js.map +1 -1
  475. package/dist/logo/define.js.map +1 -1
  476. package/dist/logo/logo2.js +2 -2
  477. package/dist/logo/logo2.js.map +1 -1
  478. package/dist/menu/define.js.map +1 -1
  479. package/dist/menu/menu-item2.js +2 -2
  480. package/dist/menu/menu-item2.js.map +1 -1
  481. package/dist/menu/menu2.js +2 -2
  482. package/dist/menu/menu2.js.map +1 -1
  483. package/dist/month/define.js.map +1 -1
  484. package/dist/month/month2.js +2 -2
  485. package/dist/month/month2.js.map +1 -1
  486. package/dist/notification/define.js.map +1 -1
  487. package/dist/notification/notification-group2.js +2 -2
  488. package/dist/notification/notification-group2.js.map +1 -1
  489. package/dist/notification/notification2.js +4 -4
  490. package/dist/notification/notification2.js.map +1 -1
  491. package/dist/page/define.js.map +1 -1
  492. package/dist/page/page-panel/page-panel-content2.js +1 -1
  493. package/dist/page/page-panel/page-panel-content2.js.map +1 -1
  494. package/dist/page/page-panel/page-panel-footer2.js +2 -2
  495. package/dist/page/page-panel/page-panel-footer2.js.map +1 -1
  496. package/dist/page/page-panel/page-panel-header2.js +2 -2
  497. package/dist/page/page-panel/page-panel-header2.js.map +1 -1
  498. package/dist/page/page-panel/page-panel2.js +5 -5
  499. package/dist/page/page-panel/page-panel2.js.map +1 -1
  500. package/dist/page/page2.js +2 -2
  501. package/dist/page/page2.js.map +1 -1
  502. package/dist/page-header/define.js.map +1 -1
  503. package/dist/page-header/page-header2.js +1 -1
  504. package/dist/page-header/page-header2.js.map +1 -1
  505. package/dist/page-loader/define.js.map +1 -1
  506. package/dist/page-loader/page-loader2.js +2 -2
  507. package/dist/page-loader/page-loader2.js.map +1 -1
  508. package/dist/pagination/define.js.map +1 -1
  509. package/dist/pagination/pagination2.js +4 -4
  510. package/dist/pagination/pagination2.js.map +1 -1
  511. package/dist/panel/define.js.map +1 -1
  512. package/dist/panel/panel2.js +8 -8
  513. package/dist/panel/panel2.js.map +1 -1
  514. package/dist/password/define.js.map +1 -1
  515. package/dist/password/password2.js +2 -2
  516. package/dist/password/password2.js.map +1 -1
  517. package/dist/polyfills/custom-state-set.js.map +1 -1
  518. package/dist/polyfills/index.js.map +1 -1
  519. package/dist/preferences-input/define.js.map +1 -1
  520. package/dist/preferences-input/preferences-input2.js +4 -4
  521. package/dist/preferences-input/preferences-input2.js.map +1 -1
  522. package/dist/progress-bar/define.js.map +1 -1
  523. package/dist/progress-bar/progress-bar2.js +2 -2
  524. package/dist/progress-bar/progress-bar2.js.map +1 -1
  525. package/dist/progress-ring/define.js.map +1 -1
  526. package/dist/progress-ring/progress-ring2.js +5 -5
  527. package/dist/progress-ring/progress-ring2.js.map +1 -1
  528. package/dist/progressive-filter-chip/define.js.map +1 -1
  529. package/dist/progressive-filter-chip/progressive-filter-chip2.js +5 -5
  530. package/dist/progressive-filter-chip/progressive-filter-chip2.js.map +1 -1
  531. package/dist/pulse/define.js.map +1 -1
  532. package/dist/pulse/pulse2.js +2 -2
  533. package/dist/pulse/pulse2.js.map +1 -1
  534. package/dist/radio/define.js.map +1 -1
  535. package/dist/radio/radio-group2.js +2 -2
  536. package/dist/radio/radio-group2.js.map +1 -1
  537. package/dist/radio/radio2.js +2 -2
  538. package/dist/radio/radio2.js.map +1 -1
  539. package/dist/range/define.js.map +1 -1
  540. package/dist/range/range2.js +2 -2
  541. package/dist/range/range2.js.map +1 -1
  542. package/dist/resize-handle/define.js.map +1 -1
  543. package/dist/resize-handle/resize-handle2.js +5 -5
  544. package/dist/resize-handle/resize-handle2.js.map +1 -1
  545. package/dist/search/define.js.map +1 -1
  546. package/dist/search/search2.js +2 -2
  547. package/dist/search/search2.js.map +1 -1
  548. package/dist/select/define.js.map +1 -1
  549. package/dist/select/select2.js +6 -6
  550. package/dist/select/select2.js.map +1 -1
  551. package/dist/skeleton/define.js.map +1 -1
  552. package/dist/skeleton/skeleton2.js +2 -2
  553. package/dist/skeleton/skeleton2.js.map +1 -1
  554. package/dist/sort-button/define.js.map +1 -1
  555. package/dist/sort-button/sort-button2.js +14 -14
  556. package/dist/sort-button/sort-button2.js.map +1 -1
  557. package/dist/sparkline/define.js.map +1 -1
  558. package/dist/sparkline/sparkline.utils.d.ts +0 -1
  559. package/dist/sparkline/sparkline.utils.js.map +1 -1
  560. package/dist/sparkline/sparkline2.js +2 -2
  561. package/dist/sparkline/sparkline2.js.map +1 -1
  562. package/dist/star-rating/define.js.map +1 -1
  563. package/dist/star-rating/star-rating2.js +4 -4
  564. package/dist/star-rating/star-rating2.js.map +1 -1
  565. package/dist/steps/define.js.map +1 -1
  566. package/dist/steps/steps2.js +7 -7
  567. package/dist/steps/steps2.js.map +1 -1
  568. package/dist/switch/define.js.map +1 -1
  569. package/dist/switch/switch-group2.js +2 -2
  570. package/dist/switch/switch-group2.js.map +1 -1
  571. package/dist/switch/switch2.js +2 -2
  572. package/dist/switch/switch2.js.map +1 -1
  573. package/dist/tabs/define.js.map +1 -1
  574. package/dist/tabs/tabs-group2.js +16 -16
  575. package/dist/tabs/tabs-group2.js.map +1 -1
  576. package/dist/tabs/tabs2.js +7 -7
  577. package/dist/tabs/tabs2.js.map +1 -1
  578. package/dist/tag/define.js.map +1 -1
  579. package/dist/tag/tag2.js +5 -5
  580. package/dist/tag/tag2.js.map +1 -1
  581. package/dist/textarea/define.js.map +1 -1
  582. package/dist/textarea/textarea2.js +1 -1
  583. package/dist/textarea/textarea2.js.map +1 -1
  584. package/dist/time/define.js.map +1 -1
  585. package/dist/time/time2.js +2 -2
  586. package/dist/time/time2.js.map +1 -1
  587. package/dist/toast/define.js.map +1 -1
  588. package/dist/toast/toast2.js +4 -4
  589. package/dist/toast/toast2.js.map +1 -1
  590. package/dist/toggletip/define.js.map +1 -1
  591. package/dist/toggletip/toggletip-footer2.js +2 -2
  592. package/dist/toggletip/toggletip-footer2.js.map +1 -1
  593. package/dist/toggletip/toggletip-header2.js +2 -2
  594. package/dist/toggletip/toggletip-header2.js.map +1 -1
  595. package/dist/toggletip/toggletip2.js +4 -4
  596. package/dist/toggletip/toggletip2.js.map +1 -1
  597. package/dist/toolbar/define.js.map +1 -1
  598. package/dist/toolbar/toolbar2.js +4 -4
  599. package/dist/toolbar/toolbar2.js.map +1 -1
  600. package/dist/tooltip/define.js.map +1 -1
  601. package/dist/tooltip/tooltip2.js +2 -2
  602. package/dist/tooltip/tooltip2.js.map +1 -1
  603. package/dist/tree/define.js.map +1 -1
  604. package/dist/tree/tree-node2.js +9 -9
  605. package/dist/tree/tree-node2.js.map +1 -1
  606. package/dist/tree/tree2.js +4 -4
  607. package/dist/tree/tree2.js.map +1 -1
  608. package/dist/tree/utils.js.map +1 -1
  609. package/dist/week/define.js.map +1 -1
  610. package/dist/week/week2.js +2 -2
  611. package/dist/week/week2.js.map +1 -1
  612. package/package.json +19 -13
@@ -1 +1 @@
1
- {"version":3,"file":"type-command.controller.js","names":["#updateListener","#triggerCommand"],"sources":["../../../src/internal/controllers/type-command.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\n\n/**\n * Adds Invoker Commands API support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API\n */\nexport function typeCommand<T extends Command>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeCommandController(instance));\n}\n\nexport type Command = ReactiveElement &\n HTMLElement & {\n command: string;\n commandfor: string | null;\n commandForElement: HTMLElement | null;\n readonly: boolean;\n disabled: boolean;\n };\n\nexport class TypeCommandController<T extends Command> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostUpdated() {\n await this.host.updateComplete;\n this.#updateListener();\n }\n\n hostDisconnected() {\n this.host.removeEventListener('click', this.#triggerCommand);\n }\n\n #updateListener() {\n if (!this.host.readonly && !this.host.disabled) {\n this.host.addEventListener('click', this.#triggerCommand);\n } else {\n this.host.removeEventListener('click', this.#triggerCommand);\n }\n }\n\n #triggerCommand = () => {\n if ((this.host.commandfor || this.host.commandForElement) && globalThis.CommandEvent) {\n const match = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === this.host.commandfor || el === this.host.commandForElement\n );\n if (!match) {\n console.warn('commandForElement', this.host.commandfor || this.host.commandForElement, 'not found');\n } else {\n match.dispatchEvent(new globalThis.CommandEvent('command', { command: this.host.command, source: this.host }));\n }\n }\n };\n}\n"],"mappings":";;AAWA,SAAgB,IAAiD;AAC/D,SAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAsB,EAAS,CAAC;;AAYhF,IAAa,IAAb,MAAoF;CAClF,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,MAAM,cAAc;AAElB,EADA,MAAM,KAAK,KAAK,gBAChB,MAAA,GAAsB;;CAGxB,mBAAmB;AACjB,OAAK,KAAK,oBAAoB,SAAS,MAAA,EAAqB;;CAG9D,KAAkB;AAChB,EAAI,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK,WACpC,KAAK,KAAK,iBAAiB,SAAS,MAAA,EAAqB,GAEzD,KAAK,KAAK,oBAAoB,SAAS,MAAA,EAAqB;;CAIhE,WAAwB;AACtB,OAAK,KAAK,KAAK,cAAc,KAAK,KAAK,sBAAsB,WAAW,cAAc;GACpF,IAAM,IAAQ,EAAoB,KAAK,KAAK,aAAa,CAAgB,CAAC,MACxE,MAAM,EAAG,OAAO,KAAK,KAAK,cAAc,MAAO,KAAK,KAAK,kBAC1D;AACD,GAAK,IAGH,EAAM,cAAc,IAAI,WAAW,aAAa,WAAW;IAAE,SAAS,KAAK,KAAK;IAAS,QAAQ,KAAK;IAAM,CAAC,CAAC,GAF9G,QAAQ,KAAK,qBAAqB,KAAK,KAAK,cAAc,KAAK,KAAK,mBAAmB,YAAY"}
1
+ {"version":3,"file":"type-command.controller.js","names":["#updateListener","#triggerCommand"],"sources":["../../../src/internal/controllers/type-command.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\n\n/**\n * Adds Invoker Commands API support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API\n */\nexport function typeCommand<T extends Command>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeCommandController(instance));\n}\n\nexport type Command = ReactiveElement &\n HTMLElement & {\n command: string;\n commandfor: string | null;\n commandForElement: HTMLElement | null;\n readonly: boolean;\n disabled: boolean;\n };\n\nexport class TypeCommandController<T extends Command> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostUpdated() {\n await this.host.updateComplete;\n this.#updateListener();\n }\n\n hostDisconnected() {\n this.host.removeEventListener('click', this.#triggerCommand);\n }\n\n #updateListener() {\n if (!this.host.readonly && !this.host.disabled) {\n this.host.addEventListener('click', this.#triggerCommand);\n } else {\n this.host.removeEventListener('click', this.#triggerCommand);\n }\n }\n\n #triggerCommand = () => {\n if ((this.host.commandfor || this.host.commandForElement) && globalThis.CommandEvent) {\n const match = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === this.host.commandfor || el === this.host.commandForElement\n );\n if (!match) {\n console.warn('commandForElement', this.host.commandfor || this.host.commandForElement, 'not found');\n } else {\n match.dispatchEvent(new globalThis.CommandEvent('command', { command: this.host.command, source: this.host }));\n }\n }\n };\n}\n"],"mappings":";;AAWA,SAAgB,IAAiD;CAC/D,QAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAsB,CAAQ,CAAC;AAC/E;AAWA,IAAa,IAAb,MAAoF;CAClF,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,MAAM,cAAc;EAElB,AADA,MAAM,KAAK,KAAK,gBAChB,KAAKA,GAAgB;CACvB;CAEA,mBAAmB;EACjB,KAAK,KAAK,oBAAoB,SAAS,KAAKC,EAAe;CAC7D;CAEA,KAAkB;EAChB,AAAI,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK,WACpC,KAAK,KAAK,iBAAiB,SAAS,KAAKA,EAAe,IAExD,KAAK,KAAK,oBAAoB,SAAS,KAAKA,EAAe;CAE/D;CAEA,WAAwB;EACtB,KAAK,KAAK,KAAK,cAAc,KAAK,KAAK,sBAAsB,WAAW,cAAc;GACpF,IAAM,IAAQ,EAAoB,KAAK,KAAK,YAAY,CAAgB,EAAE,MACxE,MAAM,EAAG,OAAO,KAAK,KAAK,cAAc,MAAO,KAAK,KAAK,iBAC3D;GACA,AAAK,IAGH,EAAM,cAAc,IAAI,WAAW,aAAa,WAAW;IAAE,SAAS,KAAK,KAAK;IAAS,QAAQ,KAAK;GAAK,CAAC,CAAC,IAF7G,QAAQ,KAAK,qBAAqB,KAAK,KAAK,cAAc,KAAK,KAAK,mBAAmB,WAAW;EAItG;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-expandable.controller.js","names":["#useHidden","#commandTriggered"],"sources":["../../../src/internal/controllers/type-expandable.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { attachInternals } from '../utils/a11y.js';\n\nexport type TypeExpandable = ReactiveElement & {\n expanded?: boolean;\n behaviorExpand?: boolean;\n expandable?: boolean;\n _internals?: ElementInternals;\n};\n\n/**\n * Controller for enabling expandable behavior for elements.\n * @event open - Dispatched when the expandable element opens.\n * @event close - Dispatched when the expandable element closes.\n * @property expanded - expanded state\n * @property behaviorExpand - determines if stateful auto behavior should enable\n */\nexport class TypeExpandableController<T extends TypeExpandable> implements ReactiveController {\n #commandTriggered = false;\n #useHidden = false;\n\n constructor(\n private host: T,\n config: { useHidden?: boolean } = {}\n ) {\n this.#useHidden = config.useHidden ?? false;\n this.host.addController(this);\n }\n\n hostConnected() {\n attachInternals(this.host);\n\n this.host.addEventListener('command', ((e: CommandEvent) => {\n this.#commandTriggered = true;\n if (e.command === '--toggle') {\n this.toggle();\n }\n\n if (e.command === '--open') {\n this.open();\n }\n\n if (e.command === '--close') {\n this.close();\n }\n this.#commandTriggered = false;\n }) as EventListener);\n }\n\n hostUpdated() {\n this.host.expandable\n ? this.host._internals!.states.add('expandable')\n : this.host._internals!.states.delete('expandable');\n }\n\n open() {\n if (this.host.behaviorExpand || this.#commandTriggered) {\n this.host.expanded = true;\n\n if (this.#useHidden) {\n this.host.hidden = false;\n }\n }\n\n this.host.dispatchEvent(new CustomEvent('open', { bubbles: true, composed: true }));\n }\n\n close() {\n if (this.host.behaviorExpand || this.#commandTriggered) {\n this.host.expanded = false;\n\n if (this.#useHidden) {\n this.host.hidden = true;\n }\n }\n\n this.host.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n }\n\n toggle() {\n if (this.host.expanded || (this.#useHidden && !this.host.hidden)) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n"],"mappings":";;AAoBA,IAAa,IAAb,MAA8F;CAC5F,KAAoB;CACpB,KAAa;CAEb,YACE,GACA,IAAkC,EAAE,EACpC;AAEA,EAJQ,KAAA,OAAA,GAGR,MAAA,IAAkB,EAAO,aAAa,IACtC,KAAK,KAAK,cAAc,KAAK;;CAG/B,gBAAgB;AAGd,EAFA,EAAgB,KAAK,KAAK,EAE1B,KAAK,KAAK,iBAAiB,aAAa,MAAoB;AAa1D,GAZA,MAAA,IAAyB,IACrB,EAAE,YAAY,cAChB,KAAK,QAAQ,EAGX,EAAE,YAAY,YAChB,KAAK,MAAM,EAGT,EAAE,YAAY,aAChB,KAAK,OAAO,EAEd,MAAA,IAAyB;KACP;;CAGtB,cAAc;AACZ,OAAK,KAAK,aACN,KAAK,KAAK,WAAY,OAAO,IAAI,aAAa,GAC9C,KAAK,KAAK,WAAY,OAAO,OAAO,aAAa;;CAGvD,OAAO;AASL,GARI,KAAK,KAAK,kBAAkB,MAAA,OAC9B,KAAK,KAAK,WAAW,IAEjB,MAAA,MACF,KAAK,KAAK,SAAS,MAIvB,KAAK,KAAK,cAAc,IAAI,YAAY,QAAQ;GAAE,SAAS;GAAM,UAAU;GAAM,CAAC,CAAC;;CAGrF,QAAQ;AASN,GARI,KAAK,KAAK,kBAAkB,MAAA,OAC9B,KAAK,KAAK,WAAW,IAEjB,MAAA,MACF,KAAK,KAAK,SAAS,MAIvB,KAAK,KAAK,cAAc,IAAI,YAAY,SAAS;GAAE,SAAS;GAAM,UAAU;GAAM,CAAC,CAAC;;CAGtF,SAAS;AACP,EAAI,KAAK,KAAK,YAAa,MAAA,KAAmB,CAAC,KAAK,KAAK,SACvD,KAAK,OAAO,GAEZ,KAAK,MAAM"}
1
+ {"version":3,"file":"type-expandable.controller.js","names":["#useHidden","#commandTriggered"],"sources":["../../../src/internal/controllers/type-expandable.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { attachInternals } from '../utils/a11y.js';\n\nexport type TypeExpandable = ReactiveElement & {\n expanded?: boolean;\n behaviorExpand?: boolean;\n expandable?: boolean;\n _internals?: ElementInternals;\n};\n\n/**\n * Controller for enabling expandable behavior for elements.\n * @event open - Dispatched when the expandable element opens.\n * @event close - Dispatched when the expandable element closes.\n * @property expanded - expanded state\n * @property behaviorExpand - determines if stateful auto behavior should enable\n */\nexport class TypeExpandableController<T extends TypeExpandable> implements ReactiveController {\n #commandTriggered = false;\n #useHidden = false;\n\n constructor(\n private host: T,\n config: { useHidden?: boolean } = {}\n ) {\n this.#useHidden = config.useHidden ?? false;\n this.host.addController(this);\n }\n\n hostConnected() {\n attachInternals(this.host);\n\n this.host.addEventListener('command', ((e: CommandEvent) => {\n this.#commandTriggered = true;\n if (e.command === '--toggle') {\n this.toggle();\n }\n\n if (e.command === '--open') {\n this.open();\n }\n\n if (e.command === '--close') {\n this.close();\n }\n this.#commandTriggered = false;\n }) as EventListener);\n }\n\n hostUpdated() {\n this.host.expandable\n ? this.host._internals!.states.add('expandable')\n : this.host._internals!.states.delete('expandable');\n }\n\n open() {\n if (this.host.behaviorExpand || this.#commandTriggered) {\n this.host.expanded = true;\n\n if (this.#useHidden) {\n this.host.hidden = false;\n }\n }\n\n this.host.dispatchEvent(new CustomEvent('open', { bubbles: true, composed: true }));\n }\n\n close() {\n if (this.host.behaviorExpand || this.#commandTriggered) {\n this.host.expanded = false;\n\n if (this.#useHidden) {\n this.host.hidden = true;\n }\n }\n\n this.host.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n }\n\n toggle() {\n if (this.host.expanded || (this.#useHidden && !this.host.hidden)) {\n this.close();\n } else {\n this.open();\n }\n }\n}\n"],"mappings":";;AAoBA,IAAa,IAAb,MAA8F;CAC5F,KAAoB;CACpB,KAAa;CAEb,YACE,GACA,IAAkC,CAAC,GACnC;EAEA,AAJQ,KAAA,OAAA,GAGR,KAAKA,KAAa,EAAO,aAAa,IACtC,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,gBAAgB;EAGd,AAFA,EAAgB,KAAK,IAAI,GAEzB,KAAK,KAAK,iBAAiB,aAAa,MAAoB;GAa1D,AAZA,KAAKC,KAAoB,IACrB,EAAE,YAAY,cAChB,KAAK,OAAO,GAGV,EAAE,YAAY,YAChB,KAAK,KAAK,GAGR,EAAE,YAAY,aAChB,KAAK,MAAM,GAEb,KAAKA,KAAoB;EAC3B,EAAmB;CACrB;CAEA,cAAc;EACZ,KAAK,KAAK,aACN,KAAK,KAAK,WAAY,OAAO,IAAI,YAAY,IAC7C,KAAK,KAAK,WAAY,OAAO,OAAO,YAAY;CACtD;CAEA,OAAO;EASL,CARI,KAAK,KAAK,kBAAkB,KAAKA,QACnC,KAAK,KAAK,WAAW,IAEjB,KAAKD,OACP,KAAK,KAAK,SAAS,MAIvB,KAAK,KAAK,cAAc,IAAI,YAAY,QAAQ;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACpF;CAEA,QAAQ;EASN,CARI,KAAK,KAAK,kBAAkB,KAAKC,QACnC,KAAK,KAAK,WAAW,IAEjB,KAAKD,OACP,KAAK,KAAK,SAAS,MAIvB,KAAK,KAAK,cAAc,IAAI,YAAY,SAAS;GAAE,SAAS;GAAM,UAAU;EAAK,CAAC,CAAC;CACrF;CAEA,SAAS;EACP,AAAI,KAAK,KAAK,YAAa,KAAKA,MAAc,CAAC,KAAK,KAAK,SACvD,KAAK,MAAM,IAEX,KAAK,KAAK;CAEd;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-interest.controller.js","names":["#setupInterestEvents","#teardownInterestEvents","#interestSetupComplete","#triggerInterest","#triggerLoseInterest","#updateInterestForElement"],"sources":["../../../src/internal/controllers/type-interest.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\n\nexport type InterestEvent = Event & {\n source: HTMLElement;\n};\n\n/**\n * Adds Interest Invoker Commands API support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using_interest_invokers\n */\nexport function typeInterest<T extends Interest>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeInterestController(instance));\n}\n\nexport type Interest = ReactiveElement &\n HTMLElement & {\n interestfor: string | null;\n interestForElement: HTMLElement | null;\n readonly: boolean;\n disabled: boolean;\n };\n\nexport class TypeInterestController<T extends Interest> implements ReactiveController {\n #interestSetupComplete = false;\n\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostConnected() {\n await this.#setupInterestEvents();\n }\n\n async hostUpdated() {\n await this.#setupInterestEvents();\n }\n\n hostDisconnected() {\n this.#teardownInterestEvents();\n }\n\n async #setupInterestEvents() {\n await this.host.updateComplete;\n if (!this.#interestSetupComplete) {\n this.#interestSetupComplete = true;\n this.host.addEventListener('mouseenter', this.#triggerInterest);\n this.host.addEventListener('mouseleave', this.#triggerLoseInterest);\n this.host.addEventListener('focus', this.#triggerInterest);\n this.host.addEventListener('blur', this.#triggerLoseInterest);\n }\n }\n\n #teardownInterestEvents() {\n this.#interestSetupComplete = false;\n this.host.removeEventListener('mouseenter', this.#triggerInterest);\n this.host.removeEventListener('mouseleave', this.#triggerLoseInterest);\n this.host.removeEventListener('focus', this.#triggerInterest);\n this.host.removeEventListener('blur', this.#triggerLoseInterest);\n }\n\n #triggerInterest = () => {\n this.#updateInterestForElement();\n if (this.host.interestForElement) {\n const event = new Event('interest', { cancelable: true }) as InterestEvent;\n event.source = this.host;\n this.host.interestForElement.dispatchEvent(event);\n }\n };\n\n #triggerLoseInterest = () => {\n this.#updateInterestForElement();\n if (this.host.interestForElement) {\n const event = new Event('loseinterest', { cancelable: true }) as InterestEvent;\n event.source = this.host;\n this.host.interestForElement.dispatchEvent(event);\n }\n };\n\n // we can only do this on interaction as its too costly to do this on every getter or update of the interestfor attribute, this diverges from the native behavior of the interestfor attribute\n #updateInterestForElement() {\n const interestForIdRef = this.host.getAttribute('interestfor');\n if (interestForIdRef && !this.host.interestForElement) {\n this.host.interestForElement = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === interestForIdRef\n )!;\n }\n\n // legacy behavior that allows popovertarget to trigger interestfor behavior for hint type popovers\n const popovertargetIdRef = this.host.getAttribute('popovertarget');\n if (popovertargetIdRef && !interestForIdRef) {\n const target = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === popovertargetIdRef\n );\n if (target && target.popover === 'hint') {\n this.host.interestForElement = target;\n }\n }\n }\n}\n"],"mappings":";;AAeA,SAAgB,IAAmD;AACjE,SAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAuB,EAAS,CAAC;;AAWjF,IAAa,IAAb,MAAsF;CACpF,KAAyB;CAEzB,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,MAAM,gBAAgB;AACpB,QAAM,MAAA,GAA2B;;CAGnC,MAAM,cAAc;AAClB,QAAM,MAAA,GAA2B;;CAGnC,mBAAmB;AACjB,QAAA,GAA8B;;CAGhC,OAAA,IAA6B;AAE3B,EADA,MAAM,KAAK,KAAK,gBACX,MAAA,MACH,MAAA,IAA8B,IAC9B,KAAK,KAAK,iBAAiB,cAAc,MAAA,EAAsB,EAC/D,KAAK,KAAK,iBAAiB,cAAc,MAAA,EAA0B,EACnE,KAAK,KAAK,iBAAiB,SAAS,MAAA,EAAsB,EAC1D,KAAK,KAAK,iBAAiB,QAAQ,MAAA,EAA0B;;CAIjE,KAA0B;AAKxB,EAJA,MAAA,IAA8B,IAC9B,KAAK,KAAK,oBAAoB,cAAc,MAAA,EAAsB,EAClE,KAAK,KAAK,oBAAoB,cAAc,MAAA,EAA0B,EACtE,KAAK,KAAK,oBAAoB,SAAS,MAAA,EAAsB,EAC7D,KAAK,KAAK,oBAAoB,QAAQ,MAAA,EAA0B;;CAGlE,WAAyB;AAEvB,MADA,MAAA,GAAgC,EAC5B,KAAK,KAAK,oBAAoB;GAChC,IAAM,IAAQ,IAAI,MAAM,YAAY,EAAE,YAAY,IAAM,CAAC;AAEzD,GADA,EAAM,SAAS,KAAK,MACpB,KAAK,KAAK,mBAAmB,cAAc,EAAM;;;CAIrD,WAA6B;AAE3B,MADA,MAAA,GAAgC,EAC5B,KAAK,KAAK,oBAAoB;GAChC,IAAM,IAAQ,IAAI,MAAM,gBAAgB,EAAE,YAAY,IAAM,CAAC;AAE7D,GADA,EAAM,SAAS,KAAK,MACpB,KAAK,KAAK,mBAAmB,cAAc,EAAM;;;CAKrD,KAA4B;EAC1B,IAAM,IAAmB,KAAK,KAAK,aAAa,cAAc;AAC9D,EAAI,KAAoB,CAAC,KAAK,KAAK,uBACjC,KAAK,KAAK,qBAAqB,EAAoB,KAAK,KAAK,aAAa,CAAgB,CAAC,MACzF,MAAM,EAAG,OAAO,EACjB;EAIH,IAAM,IAAqB,KAAK,KAAK,aAAa,gBAAgB;AAClE,MAAI,KAAsB,CAAC,GAAkB;GAC3C,IAAM,IAAS,EAAoB,KAAK,KAAK,aAAa,CAAgB,CAAC,MACzE,MAAM,EAAG,OAAO,EACjB;AACD,GAAI,KAAU,EAAO,YAAY,WAC/B,KAAK,KAAK,qBAAqB"}
1
+ {"version":3,"file":"type-interest.controller.js","names":["#setupInterestEvents","#teardownInterestEvents","#interestSetupComplete","#triggerInterest","#triggerLoseInterest","#updateInterestForElement"],"sources":["../../../src/internal/controllers/type-interest.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\n\nexport type InterestEvent = Event & {\n source: HTMLElement;\n};\n\n/**\n * Adds Interest Invoker Commands API support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using_interest_invokers\n */\nexport function typeInterest<T extends Interest>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeInterestController(instance));\n}\n\nexport type Interest = ReactiveElement &\n HTMLElement & {\n interestfor: string | null;\n interestForElement: HTMLElement | null;\n readonly: boolean;\n disabled: boolean;\n };\n\nexport class TypeInterestController<T extends Interest> implements ReactiveController {\n #interestSetupComplete = false;\n\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostConnected() {\n await this.#setupInterestEvents();\n }\n\n async hostUpdated() {\n await this.#setupInterestEvents();\n }\n\n hostDisconnected() {\n this.#teardownInterestEvents();\n }\n\n async #setupInterestEvents() {\n await this.host.updateComplete;\n if (!this.#interestSetupComplete) {\n this.#interestSetupComplete = true;\n this.host.addEventListener('mouseenter', this.#triggerInterest);\n this.host.addEventListener('mouseleave', this.#triggerLoseInterest);\n this.host.addEventListener('focus', this.#triggerInterest);\n this.host.addEventListener('blur', this.#triggerLoseInterest);\n }\n }\n\n #teardownInterestEvents() {\n this.#interestSetupComplete = false;\n this.host.removeEventListener('mouseenter', this.#triggerInterest);\n this.host.removeEventListener('mouseleave', this.#triggerLoseInterest);\n this.host.removeEventListener('focus', this.#triggerInterest);\n this.host.removeEventListener('blur', this.#triggerLoseInterest);\n }\n\n #triggerInterest = () => {\n this.#updateInterestForElement();\n if (this.host.interestForElement) {\n const event = new Event('interest', { cancelable: true }) as InterestEvent;\n event.source = this.host;\n this.host.interestForElement.dispatchEvent(event);\n }\n };\n\n #triggerLoseInterest = () => {\n this.#updateInterestForElement();\n if (this.host.interestForElement) {\n const event = new Event('loseinterest', { cancelable: true }) as InterestEvent;\n event.source = this.host;\n this.host.interestForElement.dispatchEvent(event);\n }\n };\n\n // we can only do this on interaction as its too costly to do this on every getter or update of the interestfor attribute, this diverges from the native behavior of the interestfor attribute\n #updateInterestForElement() {\n const interestForIdRef = this.host.getAttribute('interestfor');\n if (interestForIdRef && !this.host.interestForElement) {\n this.host.interestForElement = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === interestForIdRef\n )!;\n }\n\n // legacy behavior that allows popovertarget to trigger interestfor behavior for hint type popovers\n const popovertargetIdRef = this.host.getAttribute('popovertarget');\n if (popovertargetIdRef && !interestForIdRef) {\n const target = getFlattenedDOMTree(this.host.getRootNode() as HTMLElement).find(\n el => el.id === popovertargetIdRef\n );\n if (target && target.popover === 'hint') {\n this.host.interestForElement = target;\n }\n }\n }\n}\n"],"mappings":";;AAeA,SAAgB,IAAmD;CACjE,QAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAuB,CAAQ,CAAC;AAChF;AAUA,IAAa,IAAb,MAAsF;CACpF,KAAyB;CAEzB,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,MAAM,gBAAgB;EACpB,MAAM,KAAKA,GAAqB;CAClC;CAEA,MAAM,cAAc;EAClB,MAAM,KAAKA,GAAqB;CAClC;CAEA,mBAAmB;EACjB,KAAKC,GAAwB;CAC/B;CAEA,MAAMD,KAAuB;EAE3B,AADA,MAAM,KAAK,KAAK,gBACX,KAAKE,OACR,KAAKA,KAAyB,IAC9B,KAAK,KAAK,iBAAiB,cAAc,KAAKC,EAAgB,GAC9D,KAAK,KAAK,iBAAiB,cAAc,KAAKC,EAAoB,GAClE,KAAK,KAAK,iBAAiB,SAAS,KAAKD,EAAgB,GACzD,KAAK,KAAK,iBAAiB,QAAQ,KAAKC,EAAoB;CAEhE;CAEA,KAA0B;EAKxB,AAJA,KAAKF,KAAyB,IAC9B,KAAK,KAAK,oBAAoB,cAAc,KAAKC,EAAgB,GACjE,KAAK,KAAK,oBAAoB,cAAc,KAAKC,EAAoB,GACrE,KAAK,KAAK,oBAAoB,SAAS,KAAKD,EAAgB,GAC5D,KAAK,KAAK,oBAAoB,QAAQ,KAAKC,EAAoB;CACjE;CAEA,WAAyB;EAEvB,IADA,KAAKC,GAA0B,GAC3B,KAAK,KAAK,oBAAoB;GAChC,IAAM,IAAQ,IAAI,MAAM,YAAY,EAAE,YAAY,GAAK,CAAC;GAExD,AADA,EAAM,SAAS,KAAK,MACpB,KAAK,KAAK,mBAAmB,cAAc,CAAK;EAClD;CACF;CAEA,WAA6B;EAE3B,IADA,KAAKA,GAA0B,GAC3B,KAAK,KAAK,oBAAoB;GAChC,IAAM,IAAQ,IAAI,MAAM,gBAAgB,EAAE,YAAY,GAAK,CAAC;GAE5D,AADA,EAAM,SAAS,KAAK,MACpB,KAAK,KAAK,mBAAmB,cAAc,CAAK;EAClD;CACF;CAGA,KAA4B;EAC1B,IAAM,IAAmB,KAAK,KAAK,aAAa,aAAa;EAC7D,AAAI,KAAoB,CAAC,KAAK,KAAK,uBACjC,KAAK,KAAK,qBAAqB,EAAoB,KAAK,KAAK,YAAY,CAAgB,EAAE,MACzF,MAAM,EAAG,OAAO,CAClB;EAIF,IAAM,IAAqB,KAAK,KAAK,aAAa,eAAe;EACjE,IAAI,KAAsB,CAAC,GAAkB;GAC3C,IAAM,IAAS,EAAoB,KAAK,KAAK,YAAY,CAAgB,EAAE,MACzE,MAAM,EAAG,OAAO,CAClB;GACA,AAAI,KAAU,EAAO,YAAY,WAC/B,KAAK,KAAK,qBAAqB;EAEnC;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-native-popover-trigger.controller.js","names":["#click"],"sources":["../../../src/internal/controllers/type-native-popover-trigger.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveElement, ReactiveController } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\nimport { getHostAnchor } from './type-native-popover.utils.js';\n\nexport interface NativePopoverTrigger extends ReactiveElement {\n disabled: boolean;\n popoverTargetAction: 'show' | 'hide' | 'toggle';\n popoverTargetElement: HTMLElement | null;\n popovertarget: string;\n anchor?: HTMLElement;\n}\n\nexport function typeNativePopoverTrigger<T extends NativePopoverTrigger>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeNativePopoverTriggerController(instance));\n}\n\nexport class TypeNativePopoverTriggerController<T extends NativePopoverTrigger> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n this.host.addEventListener('click', this.#click);\n }\n\n hostDisconnected() {\n this.host.removeEventListener('click', this.#click);\n }\n\n #click = () => {\n let source = this.host as HTMLElement;\n let popoverTargetElement = this.host.popoverTargetElement;\n\n // we can only do this on interaction as its too costly to do this on every getter or update of the popovertarget attribute, this diverges from the native behavior of the popovertarget attribute\n if (!popoverTargetElement && this.host.popovertarget) {\n popoverTargetElement = getFlattenedDOMTree(this.host.getRootNode()).find(e => e.id === this.host.popovertarget)!;\n this.host.popoverTargetElement = popoverTargetElement ?? null;\n }\n\n // if popover has explicit anchor, use it as the source\n if ((popoverTargetElement as NativePopoverTrigger)?.anchor) {\n source = getHostAnchor(popoverTargetElement as NativePopoverTrigger);\n }\n\n if (popoverTargetElement && !this.host.disabled) {\n if (this.host.popoverTargetAction === 'hide') {\n popoverTargetElement.hidePopover();\n } else if (this.host.popoverTargetAction === 'show') {\n popoverTargetElement.showPopover({ source });\n } else {\n popoverTargetElement.togglePopover({ source });\n }\n }\n };\n}\n"],"mappings":";;;AAgBA,SAAgB,IAA2E;AACzF,SAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAmC,EAAS,CAAC;;AAG7F,IAAa,IAAb,MAA8G;CAC5G,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,gBAAgB;AACd,OAAK,KAAK,iBAAiB,SAAS,MAAA,EAAY;;CAGlD,mBAAmB;AACjB,OAAK,KAAK,oBAAoB,SAAS,MAAA,EAAY;;CAGrD,WAAe;EACb,IAAI,IAAS,KAAK,MACd,IAAuB,KAAK,KAAK;AAarC,EAVI,CAAC,KAAwB,KAAK,KAAK,kBACrC,IAAuB,EAAoB,KAAK,KAAK,aAAa,CAAC,CAAC,MAAK,MAAK,EAAE,OAAO,KAAK,KAAK,cAAc,EAC/G,KAAK,KAAK,uBAAuB,KAAwB,OAItD,GAA+C,WAClD,IAAS,EAAc,EAA6C,GAGlE,KAAwB,CAAC,KAAK,KAAK,aACjC,KAAK,KAAK,wBAAwB,SACpC,EAAqB,aAAa,GACzB,KAAK,KAAK,wBAAwB,SAC3C,EAAqB,YAAY,EAAE,WAAQ,CAAC,GAE5C,EAAqB,cAAc,EAAE,WAAQ,CAAC"}
1
+ {"version":3,"file":"type-native-popover-trigger.controller.js","names":["#click"],"sources":["../../../src/internal/controllers/type-native-popover-trigger.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveElement, ReactiveController } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { getFlattenedDOMTree } from '../utils/dom.js';\nimport { getHostAnchor } from './type-native-popover.utils.js';\n\nexport interface NativePopoverTrigger extends ReactiveElement {\n disabled: boolean;\n popoverTargetAction: 'show' | 'hide' | 'toggle';\n popoverTargetElement: HTMLElement | null;\n popovertarget: string;\n anchor?: HTMLElement;\n}\n\nexport function typeNativePopoverTrigger<T extends NativePopoverTrigger>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!((instance: T) => new TypeNativePopoverTriggerController(instance));\n}\n\nexport class TypeNativePopoverTriggerController<T extends NativePopoverTrigger> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n this.host.addEventListener('click', this.#click);\n }\n\n hostDisconnected() {\n this.host.removeEventListener('click', this.#click);\n }\n\n #click = () => {\n let source = this.host as HTMLElement;\n let popoverTargetElement = this.host.popoverTargetElement;\n\n // we can only do this on interaction as its too costly to do this on every getter or update of the popovertarget attribute, this diverges from the native behavior of the popovertarget attribute\n if (!popoverTargetElement && this.host.popovertarget) {\n popoverTargetElement = getFlattenedDOMTree(this.host.getRootNode()).find(e => e.id === this.host.popovertarget)!;\n this.host.popoverTargetElement = popoverTargetElement ?? null;\n }\n\n // if popover has explicit anchor, use it as the source\n if ((popoverTargetElement as NativePopoverTrigger)?.anchor) {\n source = getHostAnchor(popoverTargetElement as NativePopoverTrigger);\n }\n\n if (popoverTargetElement && !this.host.disabled) {\n if (this.host.popoverTargetAction === 'hide') {\n popoverTargetElement.hidePopover();\n } else if (this.host.popoverTargetAction === 'show') {\n popoverTargetElement.showPopover({ source });\n } else {\n popoverTargetElement.togglePopover({ source });\n }\n }\n };\n}\n"],"mappings":";;;AAgBA,SAAgB,IAA2E;CACzF,QAAQ,MACN,EAAO,gBAAiB,MAAgB,IAAI,EAAmC,CAAQ,CAAC;AAC5F;AAEA,IAAa,IAAb,MAA8G;CAC5G,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,gBAAgB;EACd,KAAK,KAAK,iBAAiB,SAAS,KAAKA,EAAM;CACjD;CAEA,mBAAmB;EACjB,KAAK,KAAK,oBAAoB,SAAS,KAAKA,EAAM;CACpD;CAEA,WAAe;EACb,IAAI,IAAS,KAAK,MACd,IAAuB,KAAK,KAAK;EAarC,AAVI,CAAC,KAAwB,KAAK,KAAK,kBACrC,IAAuB,EAAoB,KAAK,KAAK,YAAY,CAAC,EAAE,MAAK,MAAK,EAAE,OAAO,KAAK,KAAK,aAAa,GAC9G,KAAK,KAAK,uBAAuB,KAAwB,OAItD,GAA+C,WAClD,IAAS,EAAc,CAA4C,IAGjE,KAAwB,CAAC,KAAK,KAAK,aACjC,KAAK,KAAK,wBAAwB,SACpC,EAAqB,YAAY,IACxB,KAAK,KAAK,wBAAwB,SAC3C,EAAqB,YAAY,EAAE,UAAO,CAAC,IAE3C,EAAqB,cAAc,EAAE,UAAO,CAAC;CAGnD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-native-popover.controller.js","names":["#nativeTriggers","#updateLegacyTriggers","#setupLegacyTriggers","#setupModalLightDismiss","#toggleFocus","#parseInterestDelay","#interestTimeout","#observers","#pointerdownWithinModal","#legacyHostTrigger","#previousLegacyTrigger"],"sources":["../../../src/internal/controllers/type-native-popover.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { clickOutsideElementBounds, generateId, getAttributeListChanges } from '../utils/dom.js';\nimport { attachInternals } from '../utils/a11y.js';\nimport { focusElement } from '../utils/focus.js';\nimport { getHostAnchor, getHostTrigger, hasOpenPopover } from './type-native-popover.utils.js';\nimport type { PopoverType } from '../types/index.js';\nimport type { InterestEvent } from './type-interest.controller.js';\n\nexport interface NativePopover extends ReactiveElement {\n anchor?: HTMLElement | string;\n closeTimeout?: number;\n popoverType?: PopoverType;\n modal?: boolean;\n popoverDismissible?: boolean;\n _activeTrigger?: HTMLElement;\n _internals?: ElementInternals;\n\n /** @deprecated */\n trigger?: HTMLElement | string;\n /** @deprecated */\n openDelay?: number;\n /** @deprecated */\n behaviorTrigger?: boolean;\n}\n\n/**\n * https://open-ui.org/components/popup.research.explainer\n */\nexport class TypeNativePopoverController<T extends NativePopover> implements ReactiveController {\n get #nativeTriggers(): HTMLElement[] {\n const root = this.host.getRootNode() as HTMLElement;\n const popoverTargetTriggers = Array.from(\n root.querySelectorAll(`[popovertarget=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n const commandForTriggers = Array.from(\n root.querySelectorAll(`[commandfor=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n const interestForTriggers = Array.from(\n root.querySelectorAll(`[interestfor=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n return [...popoverTargetTriggers, ...commandForTriggers, ...interestForTriggers];\n }\n\n constructor(private host: T) {\n this.host.addController(this);\n\n const showPopover = this.host.showPopover;\n this.host.showPopover = (options?: ShowPopoverOptions) => {\n if (this.host.isConnected) {\n // provide legacy fallback for source anchor or trigger if not provided, this can happen if the popover is dynamically created in the DOM without the use of the standard popover api or legacy trigger based api\n let source: HTMLElement | Element | null = options?.source ?? null;\n if (!source) {\n if (this.host.anchor) {\n source = getHostAnchor(this.host);\n } else if (this.host.trigger) {\n source = getHostTrigger(this.host, this.host.trigger);\n } else {\n source = globalThis.document.activeElement;\n }\n }\n\n showPopover.call(this.host, { source: source as HTMLElement });\n }\n };\n }\n\n // eslint-disable-next-line max-lines-per-function\n async hostConnected() {\n attachInternals(this.host);\n this.host.popover = this.host.popoverType ?? null;\n await this.host.updateComplete;\n this.host.setAttribute('nve-popover', '');\n this.#updateLegacyTriggers();\n this.#setupLegacyTriggers(); // eslint-disable-line @typescript-eslint/no-floating-promises\n this.#setupModalLightDismiss();\n this.host.inert = this.host.matches(':not(:popover-open)') && !!this.#nativeTriggers.length;\n\n this.host.addEventListener('beforetoggle', e => {\n if (e.newState === 'open') {\n this.host._internals!.states.add('transition-start');\n }\n });\n\n this.host.addEventListener('toggle', (e: ToggleEvent) => {\n if (this.host.behaviorTrigger) {\n this.host.hidden = e.newState === 'closed';\n }\n\n if (e.newState === 'open' && this.host.closeTimeout) {\n setTimeout(() => this.host.hidePopover(), this.host.closeTimeout);\n }\n\n this.host.inert = this.host.matches(':not(:popover-open)');\n\n if (this.host.modal) {\n this.#toggleFocus(e.newState === 'open', e.target as HTMLElement);\n }\n\n this.host.dispatchEvent(\n new CustomEvent(e.newState === 'open' && e.oldState !== 'open' ? 'open' : 'close', {\n bubbles: true,\n composed: true,\n detail: { trigger: e.source }\n })\n );\n });\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API#creating_declarative_popovers\n this.host.addEventListener('command', ((e: CommandEvent) => {\n if (e.command === 'toggle-popover') {\n this.host.togglePopover({ source: e.source as HTMLElement });\n }\n\n if (e.command === 'hide-popover') {\n this.host.hidePopover();\n }\n\n if (e.command === 'show-popover') {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }) as EventListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using_interest_invokers\n this.host.addEventListener('interest', ((e: InterestEvent) => {\n const isCustomElement = e.source?.localName.includes('-');\n if (isCustomElement) {\n const interestDelayStart = this.host.openDelay ?? this.#parseInterestDelay();\n if (interestDelayStart) {\n this.#interestTimeout = setTimeout(() => {\n if (this.host.isConnected) {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }, interestDelayStart);\n } else {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }\n }) as EventListener);\n\n this.host.addEventListener('loseinterest', ((e: InterestEvent) => {\n const isCustomElement = e.source?.localName.includes('-');\n if (isCustomElement) {\n this.host.hidePopover();\n }\n\n if (this.#interestTimeout) {\n clearTimeout(this.#interestTimeout);\n this.#interestTimeout = null;\n }\n }) as EventListener);\n }\n\n #interestTimeout: ReturnType<typeof setTimeout> | null = null;\n #observers: MutationObserver[] = [];\n #previousLegacyTrigger: HTMLButtonElement | null = null;\n\n async hostUpdated() {\n this.host.popover = this.host.popoverType ?? null;\n this.#updateLegacyTriggers();\n }\n\n hostDisconnected() {\n this.#observers.forEach(observer => observer.disconnect());\n\n if (this.#interestTimeout) {\n clearTimeout(this.#interestTimeout);\n this.#interestTimeout = null;\n }\n }\n\n #parseInterestDelay(): number {\n const style = getComputedStyle(this.host);\n const raw = (style as unknown as { interestDelayStart: string }).interestDelayStart;\n if (!raw) {\n return 0;\n }\n const value = parseFloat(raw);\n return raw.endsWith('ms') ? value : value * 1000;\n }\n\n #pointerdownWithinModal = false;\n\n #setupModalLightDismiss() {\n this.host.addEventListener('pointerdown', e => {\n if (this.host.modal && this.host.matches(':popover-open')) {\n this.#pointerdownWithinModal = clickOutsideElementBounds(e, this.host);\n }\n });\n\n this.host.addEventListener('pointerup', e => {\n if (\n this.#pointerdownWithinModal &&\n this.host.popoverDismissible &&\n this.host.modal &&\n this.host.matches(':popover-open') &&\n !hasOpenPopover(this.host) &&\n clickOutsideElementBounds(e, this.host)\n ) {\n this.host.hidePopover();\n }\n });\n }\n\n get #legacyHostTrigger(): HTMLElement | null {\n return this.host.trigger ? (getHostTrigger(this.host, this.host.trigger) as HTMLButtonElement) : null;\n }\n\n /**\n * @deprecated Legacy behavior that allows popovers to show as open by default when using the legacy trigger based api\n */\n async #setupLegacyTriggers() {\n await new Promise(r => requestAnimationFrame(r));\n\n // setup hidden updates for legacy triggers\n this.#observers.push(\n getAttributeListChanges(this.host, ['hidden'], () => {\n if (this.host.isConnected && !this.host.hidden && !this.host.matches(':popover-open')) {\n this.host.showPopover();\n }\n\n if (this.host.isConnected && this.host.hidden && this.host.matches(':popover-open')) {\n this.host.hidePopover();\n }\n })\n );\n\n // determine if popover is open by default\n if (\n this.host.isConnected &&\n !this.#nativeTriggers.length &&\n !this.host.hidden &&\n !this.host.matches(':popover-open')\n ) {\n this.host.popover = 'manual';\n this.host.showPopover();\n }\n }\n\n /**\n * @deprecated Legacy behavior that allows popovers to show as open by default when using the legacy trigger based api\n */\n #updateLegacyTriggers() {\n const trigger = this.#legacyHostTrigger as HTMLButtonElement;\n\n // Clean up previous trigger if it changed\n if (this.#previousLegacyTrigger && this.#previousLegacyTrigger !== trigger) {\n this.#previousLegacyTrigger.popoverTargetElement = null;\n this.#previousLegacyTrigger.removeAttribute('popovertarget');\n }\n\n // if not a hint type setup native popovertarget\n if (trigger) {\n if (this.host.popoverType === 'hint') {\n trigger.addEventListener('mouseenter', () => this.host.showPopover({ source: trigger as HTMLElement }));\n trigger.addEventListener('mouseleave', () => this.host.hidePopover());\n trigger.addEventListener('focusout', () => this.host.hidePopover());\n } else {\n this.host.id = this.host.id ? this.host.id : generateId();\n trigger.popoverTargetElement = this.host;\n trigger.setAttribute('popovertarget', this.host.id);\n }\n this.#previousLegacyTrigger = trigger;\n }\n }\n\n #toggleFocus(open: boolean, target: HTMLElement) {\n if (open) {\n // only focus popover if not the active element and not containing the active element already\n if ((this.host.getRootNode() as Document).activeElement !== this.host && !this.host.shadowRoot!.activeElement) {\n focusElement(this.host);\n }\n } else {\n focusElement(target);\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"type-native-popover.controller.js","names":["#nativeTriggers","#updateLegacyTriggers","#setupLegacyTriggers","#setupModalLightDismiss","#toggleFocus","#parseInterestDelay","#interestTimeout","#observers","#pointerdownWithinModal","#legacyHostTrigger","#previousLegacyTrigger"],"sources":["../../../src/internal/controllers/type-native-popover.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { clickOutsideElementBounds, generateId, getAttributeListChanges } from '../utils/dom.js';\nimport { attachInternals } from '../utils/a11y.js';\nimport { focusElement } from '../utils/focus.js';\nimport { getHostAnchor, getHostTrigger, hasOpenPopover } from './type-native-popover.utils.js';\nimport type { PopoverType } from '../types/index.js';\nimport type { InterestEvent } from './type-interest.controller.js';\n\nexport interface NativePopover extends ReactiveElement {\n anchor?: HTMLElement | string;\n closeTimeout?: number;\n popoverType?: PopoverType;\n modal?: boolean;\n popoverDismissible?: boolean;\n _activeTrigger?: HTMLElement;\n _internals?: ElementInternals;\n\n /** @deprecated */\n trigger?: HTMLElement | string;\n /** @deprecated */\n openDelay?: number;\n /** @deprecated */\n behaviorTrigger?: boolean;\n}\n\n/**\n * https://open-ui.org/components/popup.research.explainer\n */\nexport class TypeNativePopoverController<T extends NativePopover> implements ReactiveController {\n get #nativeTriggers(): HTMLElement[] {\n const root = this.host.getRootNode() as HTMLElement;\n const popoverTargetTriggers = Array.from(\n root.querySelectorAll(`[popovertarget=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n const commandForTriggers = Array.from(\n root.querySelectorAll(`[commandfor=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n const interestForTriggers = Array.from(\n root.querySelectorAll(`[interestfor=\"${CSS.escape ? CSS.escape(this.host.id) : this.host.id}\"]`)\n ) as HTMLElement[];\n\n return [...popoverTargetTriggers, ...commandForTriggers, ...interestForTriggers];\n }\n\n constructor(private host: T) {\n this.host.addController(this);\n\n const showPopover = this.host.showPopover;\n this.host.showPopover = (options?: ShowPopoverOptions) => {\n if (this.host.isConnected) {\n // provide legacy fallback for source anchor or trigger if not provided, this can happen if the popover is dynamically created in the DOM without the use of the standard popover api or legacy trigger based api\n let source: HTMLElement | Element | null = options?.source ?? null;\n if (!source) {\n if (this.host.anchor) {\n source = getHostAnchor(this.host);\n } else if (this.host.trigger) {\n source = getHostTrigger(this.host, this.host.trigger);\n } else {\n source = globalThis.document.activeElement;\n }\n }\n\n showPopover.call(this.host, { source: source as HTMLElement });\n }\n };\n }\n\n // eslint-disable-next-line max-lines-per-function\n async hostConnected() {\n attachInternals(this.host);\n this.host.popover = this.host.popoverType ?? null;\n await this.host.updateComplete;\n this.host.setAttribute('nve-popover', '');\n this.#updateLegacyTriggers();\n this.#setupLegacyTriggers(); // eslint-disable-line @typescript-eslint/no-floating-promises\n this.#setupModalLightDismiss();\n this.host.inert = this.host.matches(':not(:popover-open)') && !!this.#nativeTriggers.length;\n\n this.host.addEventListener('beforetoggle', e => {\n if (e.newState === 'open') {\n this.host._internals!.states.add('transition-start');\n }\n });\n\n this.host.addEventListener('toggle', (e: ToggleEvent) => {\n if (this.host.behaviorTrigger) {\n this.host.hidden = e.newState === 'closed';\n }\n\n if (e.newState === 'open' && this.host.closeTimeout) {\n setTimeout(() => this.host.hidePopover(), this.host.closeTimeout);\n }\n\n this.host.inert = this.host.matches(':not(:popover-open)');\n\n if (this.host.modal) {\n this.#toggleFocus(e.newState === 'open', e.target as HTMLElement);\n }\n\n this.host.dispatchEvent(\n new CustomEvent(e.newState === 'open' && e.oldState !== 'open' ? 'open' : 'close', {\n bubbles: true,\n composed: true,\n detail: { trigger: e.source }\n })\n );\n });\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API#creating_declarative_popovers\n this.host.addEventListener('command', ((e: CommandEvent) => {\n if (e.command === 'toggle-popover') {\n this.host.togglePopover({ source: e.source as HTMLElement });\n }\n\n if (e.command === 'hide-popover') {\n this.host.hidePopover();\n }\n\n if (e.command === 'show-popover') {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }) as EventListener);\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Popover_API/Using_interest_invokers\n this.host.addEventListener('interest', ((e: InterestEvent) => {\n const isCustomElement = e.source?.localName.includes('-');\n if (isCustomElement) {\n const interestDelayStart = this.host.openDelay ?? this.#parseInterestDelay();\n if (interestDelayStart) {\n this.#interestTimeout = setTimeout(() => {\n if (this.host.isConnected) {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }, interestDelayStart);\n } else {\n this.host.showPopover({ source: e.source as HTMLElement });\n }\n }\n }) as EventListener);\n\n this.host.addEventListener('loseinterest', ((e: InterestEvent) => {\n const isCustomElement = e.source?.localName.includes('-');\n if (isCustomElement) {\n this.host.hidePopover();\n }\n\n if (this.#interestTimeout) {\n clearTimeout(this.#interestTimeout);\n this.#interestTimeout = null;\n }\n }) as EventListener);\n }\n\n #interestTimeout: ReturnType<typeof setTimeout> | null = null;\n #observers: MutationObserver[] = [];\n #previousLegacyTrigger: HTMLButtonElement | null = null;\n\n async hostUpdated() {\n this.host.popover = this.host.popoverType ?? null;\n this.#updateLegacyTriggers();\n }\n\n hostDisconnected() {\n this.#observers.forEach(observer => observer.disconnect());\n\n if (this.#interestTimeout) {\n clearTimeout(this.#interestTimeout);\n this.#interestTimeout = null;\n }\n }\n\n #parseInterestDelay(): number {\n const style = getComputedStyle(this.host);\n const raw = (style as unknown as { interestDelayStart: string }).interestDelayStart;\n if (!raw) {\n return 0;\n }\n const value = parseFloat(raw);\n return raw.endsWith('ms') ? value : value * 1000;\n }\n\n #pointerdownWithinModal = false;\n\n #setupModalLightDismiss() {\n this.host.addEventListener('pointerdown', e => {\n if (this.host.modal && this.host.matches(':popover-open')) {\n this.#pointerdownWithinModal = clickOutsideElementBounds(e, this.host);\n }\n });\n\n this.host.addEventListener('pointerup', e => {\n if (\n this.#pointerdownWithinModal &&\n this.host.popoverDismissible &&\n this.host.modal &&\n this.host.matches(':popover-open') &&\n !hasOpenPopover(this.host) &&\n clickOutsideElementBounds(e, this.host)\n ) {\n this.host.hidePopover();\n }\n });\n }\n\n get #legacyHostTrigger(): HTMLElement | null {\n return this.host.trigger ? (getHostTrigger(this.host, this.host.trigger) as HTMLButtonElement) : null;\n }\n\n /**\n * @deprecated Legacy behavior that allows popovers to show as open by default when using the legacy trigger based api\n */\n async #setupLegacyTriggers() {\n await new Promise(r => requestAnimationFrame(r));\n\n // setup hidden updates for legacy triggers\n this.#observers.push(\n getAttributeListChanges(this.host, ['hidden'], () => {\n if (this.host.isConnected && !this.host.hidden && !this.host.matches(':popover-open')) {\n this.host.showPopover();\n }\n\n if (this.host.isConnected && this.host.hidden && this.host.matches(':popover-open')) {\n this.host.hidePopover();\n }\n })\n );\n\n // determine if popover is open by default\n if (\n this.host.isConnected &&\n !this.#nativeTriggers.length &&\n !this.host.hidden &&\n !this.host.matches(':popover-open')\n ) {\n this.host.popover = 'manual';\n this.host.showPopover();\n }\n }\n\n /**\n * @deprecated Legacy behavior that allows popovers to show as open by default when using the legacy trigger based api\n */\n #updateLegacyTriggers() {\n const trigger = this.#legacyHostTrigger as HTMLButtonElement;\n\n // Clean up previous trigger if it changed\n if (this.#previousLegacyTrigger && this.#previousLegacyTrigger !== trigger) {\n this.#previousLegacyTrigger.popoverTargetElement = null;\n this.#previousLegacyTrigger.removeAttribute('popovertarget');\n }\n\n // if not a hint type setup native popovertarget\n if (trigger) {\n if (this.host.popoverType === 'hint') {\n trigger.addEventListener('mouseenter', () => this.host.showPopover({ source: trigger as HTMLElement }));\n trigger.addEventListener('mouseleave', () => this.host.hidePopover());\n trigger.addEventListener('focusout', () => this.host.hidePopover());\n } else {\n this.host.id = this.host.id ? this.host.id : generateId();\n trigger.popoverTargetElement = this.host;\n trigger.setAttribute('popovertarget', this.host.id);\n }\n this.#previousLegacyTrigger = trigger;\n }\n }\n\n #toggleFocus(open: boolean, target: HTMLElement) {\n if (open) {\n // only focus popover if not the active element and not containing the active element already\n if ((this.host.getRootNode() as Document).activeElement !== this.host && !this.host.shadowRoot!.activeElement) {\n focusElement(this.host);\n }\n } else {\n focusElement(target);\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-native-popover.utils.js","names":[],"sources":["../../../src/internal/controllers/type-native-popover.utils.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LogService } from '../services/log.service.js';\nimport { getIdMatchNotFoundWarning } from '../utils/audit-logs.js';\nimport { generateId, getFlattenedDOMTree, getAnchorNames, appendAnchorName } from '../utils/dom.js';\n\nexport function associateAnchor(host: HTMLElement, anchor: HTMLElement) {\n const anchorNames = getAnchorNames(anchor);\n let anchorId = anchorNames.find(name => name.startsWith('--_'));\n if (!anchorId) {\n anchorId = `--${anchor.id && !anchor.id.includes(':') ? `_${anchor.id}` : generateId()}`;\n appendAnchorName(anchor, anchorId);\n }\n host.style.positionAnchor = anchorId;\n}\n\nexport function getHostTrigger(element: HTMLElement, trigger: HTMLElement | string) {\n if (typeof trigger === 'string') {\n return (\n (getFlattenedDOMTree(element.parentNode as HTMLElement)\n .filter(el => el?.id !== '')\n .find(el => el.id === trigger) as HTMLButtonElement) ?? globalThis.document.body\n );\n } else {\n return trigger as HTMLButtonElement;\n }\n}\n\nexport function getHostAnchor(host: HTMLElement & { anchor?: HTMLElement | string; _activeTrigger?: HTMLElement }) {\n const anchor = host.anchor ?? host._activeTrigger;\n\n if (typeof anchor === 'string' && anchor?.length) {\n const match = getFlattenedDOMTree(host.parentNode as HTMLElement).find(el => el.id === anchor);\n\n if (!match) {\n LogService.warn(getIdMatchNotFoundWarning(anchor));\n }\n\n return match ?? globalThis.document.body;\n } else if (anchor && anchor !== globalThis.document.body) {\n return anchor as HTMLElement;\n } else {\n return globalThis.document.body;\n }\n}\n\nexport function hasOpenPopover(host: HTMLElement) {\n return !!getFlattenedDOMTree(host).filter(e => e.popover && e.matches(':popover-open')).length;\n}\n"],"mappings":";;;;AAiBA,SAAgB,EAAe,GAAsB,GAA+B;AAQhF,QAPE,OAAO,KAAY,WAElB,EAAoB,EAAQ,WAA0B,CACpD,QAAO,MAAM,GAAI,OAAO,GAAG,CAC3B,MAAK,MAAM,EAAG,OAAO,EAAQ,IAA0B,WAAW,SAAS,OAGzE;;AAIX,SAAgB,EAAc,GAAqF;CACjH,IAAM,IAAS,EAAK,UAAU,EAAK;AAEnC,KAAI,OAAO,KAAW,YAAY,GAAQ,QAAQ;EAChD,IAAM,IAAQ,EAAoB,EAAK,WAA0B,CAAC,MAAK,MAAM,EAAG,OAAO,EAAO;AAM9F,SAJK,KACH,EAAW,KAAK,EAA0B,EAAO,CAAC,EAG7C,KAAS,WAAW,SAAS;YAC3B,KAAU,MAAW,WAAW,SAAS,KAClD,QAAO;KAEP,QAAO,WAAW,SAAS;;AAI/B,SAAgB,EAAe,GAAmB;AAChD,QAAO,CAAC,CAAC,EAAoB,EAAK,CAAC,QAAO,MAAK,EAAE,WAAW,EAAE,QAAQ,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"type-native-popover.utils.js","names":[],"sources":["../../../src/internal/controllers/type-native-popover.utils.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LogService } from '../services/log.service.js';\nimport { getIdMatchNotFoundWarning } from '../utils/audit-logs.js';\nimport { generateId, getFlattenedDOMTree, getAnchorNames, appendAnchorName } from '../utils/dom.js';\n\nexport function associateAnchor(host: HTMLElement, anchor: HTMLElement) {\n const anchorNames = getAnchorNames(anchor);\n let anchorId = anchorNames.find(name => name.startsWith('--_'));\n if (!anchorId) {\n anchorId = `--${anchor.id && !anchor.id.includes(':') ? `_${anchor.id}` : generateId()}`;\n appendAnchorName(anchor, anchorId);\n }\n host.style.positionAnchor = anchorId;\n}\n\nexport function getHostTrigger(element: HTMLElement, trigger: HTMLElement | string) {\n if (typeof trigger === 'string') {\n return (\n (getFlattenedDOMTree(element.parentNode as HTMLElement)\n .filter(el => el?.id !== '')\n .find(el => el.id === trigger) as HTMLButtonElement) ?? globalThis.document.body\n );\n } else {\n return trigger as HTMLButtonElement;\n }\n}\n\nexport function getHostAnchor(host: HTMLElement & { anchor?: HTMLElement | string; _activeTrigger?: HTMLElement }) {\n const anchor = host.anchor ?? host._activeTrigger;\n\n if (typeof anchor === 'string' && anchor?.length) {\n const match = getFlattenedDOMTree(host.parentNode as HTMLElement).find(el => el.id === anchor);\n\n if (!match) {\n LogService.warn(getIdMatchNotFoundWarning(anchor));\n }\n\n return match ?? globalThis.document.body;\n } else if (anchor && anchor !== globalThis.document.body) {\n return anchor as HTMLElement;\n } else {\n return globalThis.document.body;\n }\n}\n\nexport function hasOpenPopover(host: HTMLElement) {\n return !!getFlattenedDOMTree(host).filter(e => e.popover && e.matches(':popover-open')).length;\n}\n"],"mappings":";;;;AAiBA,SAAgB,EAAe,GAAsB,GAA+B;CAQhF,OAPE,OAAO,KAAY,WAElB,EAAoB,EAAQ,UAAyB,EACnD,QAAO,MAAM,GAAI,OAAO,EAAE,EAC1B,MAAK,MAAM,EAAG,OAAO,CAAO,KAA2B,WAAW,SAAS,OAGzE;AAEX;AAEA,SAAgB,EAAc,GAAqF;CACjH,IAAM,IAAS,EAAK,UAAU,EAAK;CAEnC,IAAI,OAAO,KAAW,YAAY,GAAQ,QAAQ;EAChD,IAAM,IAAQ,EAAoB,EAAK,UAAyB,EAAE,MAAK,MAAM,EAAG,OAAO,CAAM;EAM7F,OAJK,KACH,EAAW,KAAK,EAA0B,CAAM,CAAC,GAG5C,KAAS,WAAW,SAAS;CACtC,OAAO,IAAI,KAAU,MAAW,WAAW,SAAS,MAClD,OAAO;MAEP,OAAO,WAAW,SAAS;AAE/B;AAEA,SAAgB,EAAe,GAAmB;CAChD,OAAO,CAAC,CAAC,EAAoB,CAAI,EAAE,QAAO,MAAK,EAAE,WAAW,EAAE,QAAQ,eAAe,CAAC,EAAE;AAC1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-selectable.controller.js","names":["#commandTriggered"],"sources":["../../../src/internal/controllers/type-selectable.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { attachInternals } from '../utils/a11y.js';\n\nexport type TypeSelectable = ReactiveElement & {\n selected?: boolean;\n behaviorSelect?: boolean;\n selectable?: 'single' | 'multi';\n _internals?: ElementInternals;\n};\n\n/**\n * Controller for enabling selectable behavior for elements.\n * @event select - Dispatched when the selectable element selects.\n * @property selected - selected state\n * @property behaviorSelect - determines if stateful auto behavior should enable\n */\nexport class TypeSelectableController<T extends TypeSelectable> implements ReactiveController {\n #commandTriggered = false;\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n attachInternals(this.host);\n\n this.host.addEventListener('command', ((e: CommandEvent) => {\n this.#commandTriggered = true;\n if (e.command === '--toggle-select') {\n this.toggle();\n }\n\n if (e.command === '--select') {\n this.select();\n }\n\n if (e.command === '--deselect') {\n this.host.selected = false;\n }\n this.#commandTriggered = false;\n }) as EventListener);\n }\n\n hostUpdated() {\n this.host.selectable === 'single'\n ? this.host._internals!.states.add('selectable-single')\n : this.host._internals!.states.delete('selectable-single');\n this.host.selectable === 'multi'\n ? this.host._internals!.states.add('selectable-multi')\n : this.host._internals!.states.delete('selectable-multi');\n }\n\n select() {\n if (this.host.behaviorSelect || this.#commandTriggered) {\n this.host.selected = true;\n }\n\n this.host.dispatchEvent(new CustomEvent('select', { bubbles: true, composed: true, detail: this.host }));\n }\n\n deselect() {\n if (this.host.behaviorSelect || this.#commandTriggered) {\n this.host.selected = false;\n }\n\n this.host.dispatchEvent(new CustomEvent('select', { bubbles: true, composed: true, detail: this.host }));\n }\n\n toggle() {\n if (this.host.selected) {\n this.deselect();\n } else {\n this.select();\n }\n }\n}\n"],"mappings":";;AAmBA,IAAa,IAAb,MAA8F;CAC5F,KAAoB;CACpB,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,gBAAgB;AAGd,EAFA,EAAgB,KAAK,KAAK,EAE1B,KAAK,KAAK,iBAAiB,aAAa,MAAoB;AAa1D,GAZA,MAAA,IAAyB,IACrB,EAAE,YAAY,qBAChB,KAAK,QAAQ,EAGX,EAAE,YAAY,cAChB,KAAK,QAAQ,EAGX,EAAE,YAAY,iBAChB,KAAK,KAAK,WAAW,KAEvB,MAAA,IAAyB;KACP;;CAGtB,cAAc;AAIZ,EAHA,KAAK,KAAK,eAAe,WACrB,KAAK,KAAK,WAAY,OAAO,IAAI,oBAAoB,GACrD,KAAK,KAAK,WAAY,OAAO,OAAO,oBAAoB,EAC5D,KAAK,KAAK,eAAe,UACrB,KAAK,KAAK,WAAY,OAAO,IAAI,mBAAmB,GACpD,KAAK,KAAK,WAAY,OAAO,OAAO,mBAAmB;;CAG7D,SAAS;AAKP,GAJI,KAAK,KAAK,kBAAkB,MAAA,OAC9B,KAAK,KAAK,WAAW,KAGvB,KAAK,KAAK,cAAc,IAAI,YAAY,UAAU;GAAE,SAAS;GAAM,UAAU;GAAM,QAAQ,KAAK;GAAM,CAAC,CAAC;;CAG1G,WAAW;AAKT,GAJI,KAAK,KAAK,kBAAkB,MAAA,OAC9B,KAAK,KAAK,WAAW,KAGvB,KAAK,KAAK,cAAc,IAAI,YAAY,UAAU;GAAE,SAAS;GAAM,UAAU;GAAM,QAAQ,KAAK;GAAM,CAAC,CAAC;;CAG1G,SAAS;AACP,EAAI,KAAK,KAAK,WACZ,KAAK,UAAU,GAEf,KAAK,QAAQ"}
1
+ {"version":3,"file":"type-selectable.controller.js","names":["#commandTriggered"],"sources":["../../../src/internal/controllers/type-selectable.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport { attachInternals } from '../utils/a11y.js';\n\nexport type TypeSelectable = ReactiveElement & {\n selected?: boolean;\n behaviorSelect?: boolean;\n selectable?: 'single' | 'multi';\n _internals?: ElementInternals;\n};\n\n/**\n * Controller for enabling selectable behavior for elements.\n * @event select - Dispatched when the selectable element selects.\n * @property selected - selected state\n * @property behaviorSelect - determines if stateful auto behavior should enable\n */\nexport class TypeSelectableController<T extends TypeSelectable> implements ReactiveController {\n #commandTriggered = false;\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n attachInternals(this.host);\n\n this.host.addEventListener('command', ((e: CommandEvent) => {\n this.#commandTriggered = true;\n if (e.command === '--toggle-select') {\n this.toggle();\n }\n\n if (e.command === '--select') {\n this.select();\n }\n\n if (e.command === '--deselect') {\n this.host.selected = false;\n }\n this.#commandTriggered = false;\n }) as EventListener);\n }\n\n hostUpdated() {\n this.host.selectable === 'single'\n ? this.host._internals!.states.add('selectable-single')\n : this.host._internals!.states.delete('selectable-single');\n this.host.selectable === 'multi'\n ? this.host._internals!.states.add('selectable-multi')\n : this.host._internals!.states.delete('selectable-multi');\n }\n\n select() {\n if (this.host.behaviorSelect || this.#commandTriggered) {\n this.host.selected = true;\n }\n\n this.host.dispatchEvent(new CustomEvent('select', { bubbles: true, composed: true, detail: this.host }));\n }\n\n deselect() {\n if (this.host.behaviorSelect || this.#commandTriggered) {\n this.host.selected = false;\n }\n\n this.host.dispatchEvent(new CustomEvent('select', { bubbles: true, composed: true, detail: this.host }));\n }\n\n toggle() {\n if (this.host.selected) {\n this.deselect();\n } else {\n this.select();\n }\n }\n}\n"],"mappings":";;AAmBA,IAAa,IAAb,MAA8F;CAC5F,KAAoB;CACpB,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,gBAAgB;EAGd,AAFA,EAAgB,KAAK,IAAI,GAEzB,KAAK,KAAK,iBAAiB,aAAa,MAAoB;GAa1D,AAZA,KAAKA,KAAoB,IACrB,EAAE,YAAY,qBAChB,KAAK,OAAO,GAGV,EAAE,YAAY,cAChB,KAAK,OAAO,GAGV,EAAE,YAAY,iBAChB,KAAK,KAAK,WAAW,KAEvB,KAAKA,KAAoB;EAC3B,EAAmB;CACrB;CAEA,cAAc;EAIZ,AAHA,KAAK,KAAK,eAAe,WACrB,KAAK,KAAK,WAAY,OAAO,IAAI,mBAAmB,IACpD,KAAK,KAAK,WAAY,OAAO,OAAO,mBAAmB,GAC3D,KAAK,KAAK,eAAe,UACrB,KAAK,KAAK,WAAY,OAAO,IAAI,kBAAkB,IACnD,KAAK,KAAK,WAAY,OAAO,OAAO,kBAAkB;CAC5D;CAEA,SAAS;EAKP,CAJI,KAAK,KAAK,kBAAkB,KAAKA,QACnC,KAAK,KAAK,WAAW,KAGvB,KAAK,KAAK,cAAc,IAAI,YAAY,UAAU;GAAE,SAAS;GAAM,UAAU;GAAM,QAAQ,KAAK;EAAK,CAAC,CAAC;CACzG;CAEA,WAAW;EAKT,CAJI,KAAK,KAAK,kBAAkB,KAAKA,QACnC,KAAK,KAAK,WAAW,KAGvB,KAAK,KAAK,cAAc,IAAI,YAAY,UAAU;GAAE,SAAS;GAAM,UAAU;GAAM,QAAQ,KAAK;EAAK,CAAC,CAAC;CACzG;CAEA,SAAS;EACP,AAAI,KAAK,KAAK,WACZ,KAAK,SAAS,IAEd,KAAK,OAAO;CAEhB;AACF"}
@@ -8,7 +8,7 @@ function i(e = { log: !0 }) {
8
8
  }
9
9
  var a = class {
10
10
  constructor(i, a) {
11
- if (this.host = i, this.options = a, this.didSSR = !!this.host.shadowRoot, this.host.addController(this), this.didSSR) {
11
+ if (this.host = i, this.options = a, this.didSSR = !!this.host.shadowRoot, this.#e = !0, this.host.addController(this), this.didSSR) {
12
12
  let a = this.options, o = i.update;
13
13
  Object.defineProperty(i, "update", { value: function() {
14
14
  try {
@@ -21,7 +21,7 @@ var a = class {
21
21
  } });
22
22
  }
23
23
  }
24
- #e = !0;
24
+ #e;
25
25
  hostUpdated() {
26
26
  this.didSSR && this.#e && (this.#e = !1, this.host.shadowRoot?.querySelectorAll("slot").forEach((e) => {
27
27
  e.dispatchEvent(new Event("slotchange", {
@@ -1 +1 @@
1
- {"version":3,"file":"type-ssr.controller.js","names":["#firstUpdate"],"sources":["../../../src/internal/controllers/type-ssr.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement, RenderOptions, TemplateResult } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { render } from 'lit';\nimport { LogService } from '../services/log.service.js';\nimport { getSSRMismatchWarning } from '../utils/audit-logs.js';\nimport { getEnv } from '../services/global.utils.js';\n\ntype UnprotectedLitElement = ReactiveElement & {\n update: () => void;\n render: () => TemplateResult;\n renderOptions: RenderOptions;\n _internals?: ElementInternals;\n};\n\n/**\n * Catch and manage hydration related fallbacks for SSR\n */\nexport function typeSSR<T extends UnprotectedLitElement>(options: { log?: boolean } = { log: true }): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!(\n (instance: T & { _internals: ElementInternals }) => new TypeSSRController(instance, options)\n );\n}\n\nexport class TypeSSRController<T extends ReactiveElement> implements ReactiveController {\n // https://www.konnorrogers.com/posts/2024/running-lit-ssr-in-web-awesome#hydration-errors\n didSSR = Boolean(this.host.shadowRoot);\n\n constructor(\n private host: T & UnprotectedLitElement,\n private options: { log?: boolean }\n ) {\n this.host.addController(this);\n\n // https://github.com/lit/lit/issues/1434#issuecomment-1598332000\n if (this.didSSR) {\n const controllerOptions = this.options;\n const updateOriginal = host.update;\n Object.defineProperty(host, 'update', {\n value: function () {\n try {\n updateOriginal.call(host);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (_) {\n const renderRoot = host.renderRoot as HTMLElement;\n renderRoot.innerHTML = renderRoot.innerHTML.split('<!--lit-part ')[0]!;\n render(host.render(), renderRoot, host.renderOptions);\n\n if (getEnv() !== 'production' && controllerOptions.log) {\n LogService.warn(getSSRMismatchWarning(host.localName));\n }\n }\n return updateOriginal;\n }\n });\n }\n }\n\n #firstUpdate = true;\n hostUpdated() {\n // https://github.com/lit/lit/discussions/4697\n // https://github.com/w3c/csswg-drafts/issues/6867#issuecomment-1599444407\n if (this.didSSR && this.#firstUpdate) {\n this.#firstUpdate = false;\n this.host.shadowRoot?.querySelectorAll('slot').forEach(slotElement => {\n slotElement.dispatchEvent(new Event('slotchange', { bubbles: true, composed: false, cancelable: false }));\n });\n\n // if SSR reflect role attribute to host\n if (this.host._internals?.role) {\n this.host.setAttribute('role', this.host._internals.role);\n }\n }\n }\n}\n"],"mappings":";;;;;AAoBA,SAAgB,EAAyC,IAA6B,EAAE,KAAK,IAAM,EAAkB;AACnH,SAAQ,MACN,EAAO,gBACJ,MAAmD,IAAI,EAAkB,GAAU,EAAQ,CAC7F;;AAGL,IAAa,IAAb,MAAwF;CAItF,YACE,GACA,GACA;AAIA,MANQ,KAAA,OAAA,GACA,KAAA,UAAA,iBAJD,EAAQ,KAAK,KAAK,YAMzB,KAAK,KAAK,cAAc,KAAK,EAGzB,KAAK,QAAQ;GACf,IAAM,IAAoB,KAAK,SACzB,IAAiB,EAAK;AAC5B,UAAO,eAAe,GAAM,UAAU,EACpC,OAAO,WAAY;AACjB,QAAI;AACF,OAAe,KAAK,EAAK;YAEf;KACV,IAAM,IAAa,EAAK;AAIxB,KAHA,EAAW,YAAY,EAAW,UAAU,MAAM,gBAAgB,CAAC,IACnE,EAAO,EAAK,QAAQ,EAAE,GAAY,EAAK,cAAc,EAEjD,GAAQ,KAAK,gBAAgB,EAAkB,OACjD,EAAW,KAAK,EAAsB,EAAK,UAAU,CAAC;;AAG1D,WAAO;MAEV,CAAC;;;CAIN,KAAe;CACf,cAAc;AAGZ,EAAI,KAAK,UAAU,MAAA,MACjB,MAAA,IAAoB,IACpB,KAAK,KAAK,YAAY,iBAAiB,OAAO,CAAC,SAAQ,MAAe;AACpE,KAAY,cAAc,IAAI,MAAM,cAAc;IAAE,SAAS;IAAM,UAAU;IAAO,YAAY;IAAO,CAAC,CAAC;IACzG,EAGE,KAAK,KAAK,YAAY,QACxB,KAAK,KAAK,aAAa,QAAQ,KAAK,KAAK,WAAW,KAAK"}
1
+ {"version":3,"file":"type-ssr.controller.js","names":["#firstUpdate"],"sources":["../../../src/internal/controllers/type-ssr.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement, RenderOptions, TemplateResult } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { render } from 'lit';\nimport { LogService } from '../services/log.service.js';\nimport { getSSRMismatchWarning } from '../utils/audit-logs.js';\nimport { getEnv } from '../services/global.utils.js';\n\ntype UnprotectedLitElement = ReactiveElement & {\n update: () => void;\n render: () => TemplateResult;\n renderOptions: RenderOptions;\n _internals?: ElementInternals;\n};\n\n/**\n * Catch and manage hydration related fallbacks for SSR\n */\nexport function typeSSR<T extends UnprotectedLitElement>(options: { log?: boolean } = { log: true }): ClassDecorator {\n return (target: LegacyDecoratorTarget) =>\n target.addInitializer!(\n (instance: T & { _internals: ElementInternals }) => new TypeSSRController(instance, options)\n );\n}\n\nexport class TypeSSRController<T extends ReactiveElement> implements ReactiveController {\n // https://www.konnorrogers.com/posts/2024/running-lit-ssr-in-web-awesome#hydration-errors\n didSSR = Boolean(this.host.shadowRoot);\n\n constructor(\n private host: T & UnprotectedLitElement,\n private options: { log?: boolean }\n ) {\n this.host.addController(this);\n\n // https://github.com/lit/lit/issues/1434#issuecomment-1598332000\n if (this.didSSR) {\n const controllerOptions = this.options;\n const updateOriginal = host.update;\n Object.defineProperty(host, 'update', {\n value: function () {\n try {\n updateOriginal.call(host);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (_) {\n const renderRoot = host.renderRoot as HTMLElement;\n renderRoot.innerHTML = renderRoot.innerHTML.split('<!--lit-part ')[0]!;\n render(host.render(), renderRoot, host.renderOptions);\n\n if (getEnv() !== 'production' && controllerOptions.log) {\n LogService.warn(getSSRMismatchWarning(host.localName));\n }\n }\n return updateOriginal;\n }\n });\n }\n }\n\n #firstUpdate = true;\n hostUpdated() {\n // https://github.com/lit/lit/discussions/4697\n // https://github.com/w3c/csswg-drafts/issues/6867#issuecomment-1599444407\n if (this.didSSR && this.#firstUpdate) {\n this.#firstUpdate = false;\n this.host.shadowRoot?.querySelectorAll('slot').forEach(slotElement => {\n slotElement.dispatchEvent(new Event('slotchange', { bubbles: true, composed: false, cancelable: false }));\n });\n\n // if SSR reflect role attribute to host\n if (this.host._internals?.role) {\n this.host.setAttribute('role', this.host._internals.role);\n }\n }\n }\n}\n"],"mappings":";;;;;AAoBA,SAAgB,EAAyC,IAA6B,EAAE,KAAK,GAAK,GAAmB;CACnH,QAAQ,MACN,EAAO,gBACJ,MAAmD,IAAI,EAAkB,GAAU,CAAO,CAC7F;AACJ;AAEA,IAAa,IAAb,MAAwF;CAItF,YACE,GACA,GACA;EAIA,IANQ,KAAA,OAAA,GACA,KAAA,UAAA,iBAJD,EAAQ,KAAK,KAAK,sBAgCZ,IA1Bb,KAAK,KAAK,cAAc,IAAI,GAGxB,KAAK,QAAQ;GACf,IAAM,IAAoB,KAAK,SACzB,IAAiB,EAAK;GAC5B,OAAO,eAAe,GAAM,UAAU,EACpC,OAAO,WAAY;IACjB,IAAI;KACF,EAAe,KAAK,CAAI;IAE1B,QAAY;KACV,IAAM,IAAa,EAAK;KAIxB,AAHA,EAAW,YAAY,EAAW,UAAU,MAAM,eAAe,EAAE,IACnE,EAAO,EAAK,OAAO,GAAG,GAAY,EAAK,aAAa,GAEhD,EAAO,MAAM,gBAAgB,EAAkB,OACjD,EAAW,KAAK,EAAsB,EAAK,SAAS,CAAC;IAEzD;IACA,OAAO;GACT,EACF,CAAC;EACH;CACF;CAEA;CACA,cAAc;EAGZ,AAAI,KAAK,UAAU,KAAKA,OACtB,KAAKA,KAAe,IACpB,KAAK,KAAK,YAAY,iBAAiB,MAAM,EAAE,SAAQ,MAAe;GACpE,EAAY,cAAc,IAAI,MAAM,cAAc;IAAE,SAAS;IAAM,UAAU;IAAO,YAAY;GAAM,CAAC,CAAC;EAC1G,CAAC,GAGG,KAAK,KAAK,YAAY,QACxB,KAAK,KAAK,aAAa,QAAQ,KAAK,KAAK,WAAW,IAAI;CAG9D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-submit.controller.js","names":["#setButtonType","#setupNativeButtonBehavior","#removeNativeButtonBehavior","#triggerNativeButtonBehavior","#emulateKeyBoardEventBehavior","#requestSubmit","#createSubmitter","#submitter"],"sources":["../../../src/internal/controllers/type-submit.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { stopEvent } from '../utils/events.js';\nimport { onKeys } from '../utils/keynav.js';\n\n/**\n * Adds Form submit support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit_event\n */\nexport function typeSubmit<T extends Submit>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => target.addInitializer!((instance: T) => new TypeSubmitController(instance));\n}\n\nexport type Submit = ReactiveElement &\n HTMLElement & {\n name: string;\n value: string;\n disabled: boolean;\n type: 'button' | 'submit' | 'reset';\n readonly: boolean;\n form?: HTMLFormElement | null;\n _internals: ElementInternals;\n };\n\nexport class TypeSubmitController<T extends Submit> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostUpdated() {\n await this.host.updateComplete;\n this.#setButtonType();\n this.#setupNativeButtonBehavior();\n }\n\n hostDisconnected() {\n this.#removeNativeButtonBehavior();\n }\n\n #setButtonType() {\n if (!this.host.type && !this.host.hasAttribute('type') && this.host.closest('form')) {\n this.host.type = 'submit';\n }\n }\n\n #setupNativeButtonBehavior() {\n this.#removeNativeButtonBehavior();\n if (!this.host.readonly && !this.host.disabled) {\n this.host.addEventListener('click', this.#triggerNativeButtonBehavior);\n this.host.addEventListener('keyup', this.#emulateKeyBoardEventBehavior);\n }\n }\n\n #removeNativeButtonBehavior() {\n this.host.removeEventListener('click', this.#triggerNativeButtonBehavior);\n this.host.removeEventListener('keyup', this.#emulateKeyBoardEventBehavior);\n }\n\n // when submitting forms with Enter key, default submit button receives click event from the form\n #emulateKeyBoardEventBehavior = (event: KeyboardEvent) => {\n onKeys(['Enter', 'Space'], event, () => this.host.click());\n };\n\n #triggerNativeButtonBehavior = (event: Event) => {\n if (this.host.disabled) {\n stopEvent(event);\n return;\n }\n\n if (this.host.type === 'submit' && this.host.form) {\n this.#requestSubmit();\n } else if (this.host.type === 'reset') {\n this.host.form?.reset();\n }\n };\n\n #requestSubmit() {\n this.#createSubmitter();\n this.host.form!.addEventListener(\n 'submit',\n () => {\n setTimeout(() => this.#submitter.remove(), 0);\n },\n { once: true }\n );\n this.host.form!.appendChild(this.#submitter);\n this.host.form!.requestSubmit(this.#submitter);\n }\n\n #submitter: HTMLButtonElement;\n // https://github.com/WICG/webcomponents/issues/814\n #createSubmitter() {\n if (!this.#submitter) {\n this.#submitter = globalThis.document.createElement('button');\n this.#submitter.type = 'submit';\n this.#submitter.name = this.host.name ?? '';\n this.#submitter.value = this.host.value ?? '';\n this.#submitter.style.display = 'none';\n }\n }\n}\n"],"mappings":";;;AAYA,SAAgB,IAA+C;AAC7D,SAAQ,MAAkC,EAAO,gBAAiB,MAAgB,IAAI,EAAqB,EAAS,CAAC;;AAcvH,IAAa,IAAb,MAAkF;CAChF,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,MAAM,cAAc;AAGlB,EAFA,MAAM,KAAK,KAAK,gBAChB,MAAA,GAAqB,EACrB,MAAA,GAAiC;;CAGnC,mBAAmB;AACjB,QAAA,GAAkC;;CAGpC,KAAiB;AACf,EAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,KAAK,aAAa,OAAO,IAAI,KAAK,KAAK,QAAQ,OAAO,KACjF,KAAK,KAAK,OAAO;;CAIrB,KAA6B;AAE3B,EADA,MAAA,GAAkC,EAC9B,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK,aACpC,KAAK,KAAK,iBAAiB,SAAS,MAAA,EAAkC,EACtE,KAAK,KAAK,iBAAiB,SAAS,MAAA,EAAmC;;CAI3E,KAA8B;AAE5B,EADA,KAAK,KAAK,oBAAoB,SAAS,MAAA,EAAkC,EACzE,KAAK,KAAK,oBAAoB,SAAS,MAAA,EAAmC;;CAI5E,MAAiC,MAAyB;AACxD,IAAO,CAAC,SAAS,QAAQ,EAAE,SAAa,KAAK,KAAK,OAAO,CAAC;;CAG5D,MAAgC,MAAiB;AAC/C,MAAI,KAAK,KAAK,UAAU;AACtB,KAAU,EAAM;AAChB;;AAGF,EAAI,KAAK,KAAK,SAAS,YAAY,KAAK,KAAK,OAC3C,MAAA,GAAqB,GACZ,KAAK,KAAK,SAAS,WAC5B,KAAK,KAAK,MAAM,OAAO;;CAI3B,KAAiB;AAUf,EATA,MAAA,GAAuB,EACvB,KAAK,KAAK,KAAM,iBACd,gBACM;AACJ,oBAAiB,MAAA,EAAgB,QAAQ,EAAE,EAAE;KAE/C,EAAE,MAAM,IAAM,CACf,EACD,KAAK,KAAK,KAAM,YAAY,MAAA,EAAgB,EAC5C,KAAK,KAAK,KAAM,cAAc,MAAA,EAAgB;;CAGhD;CAEA,KAAmB;AACjB,EAAK,MAAA,MACH,MAAA,IAAkB,WAAW,SAAS,cAAc,SAAS,EAC7D,MAAA,EAAgB,OAAO,UACvB,MAAA,EAAgB,OAAO,KAAK,KAAK,QAAQ,IACzC,MAAA,EAAgB,QAAQ,KAAK,KAAK,SAAS,IAC3C,MAAA,EAAgB,MAAM,UAAU"}
1
+ {"version":3,"file":"type-submit.controller.js","names":["#setButtonType","#setupNativeButtonBehavior","#removeNativeButtonBehavior","#triggerNativeButtonBehavior","#emulateKeyBoardEventBehavior","#requestSubmit","#createSubmitter","#submitter"],"sources":["../../../src/internal/controllers/type-submit.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveController, ReactiveElement } from 'lit';\nimport type { LegacyDecoratorTarget } from '../types/index.js';\nimport { stopEvent } from '../utils/events.js';\nimport { onKeys } from '../utils/keynav.js';\n\n/**\n * Adds Form submit support for interactive custom elements.\n * https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/submit_event\n */\nexport function typeSubmit<T extends Submit>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => target.addInitializer!((instance: T) => new TypeSubmitController(instance));\n}\n\nexport type Submit = ReactiveElement &\n HTMLElement & {\n name: string;\n value: string;\n disabled: boolean;\n type: 'button' | 'submit' | 'reset';\n readonly: boolean;\n form?: HTMLFormElement | null;\n _internals: ElementInternals;\n };\n\nexport class TypeSubmitController<T extends Submit> implements ReactiveController {\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n async hostUpdated() {\n await this.host.updateComplete;\n this.#setButtonType();\n this.#setupNativeButtonBehavior();\n }\n\n hostDisconnected() {\n this.#removeNativeButtonBehavior();\n }\n\n #setButtonType() {\n if (!this.host.type && !this.host.hasAttribute('type') && this.host.closest('form')) {\n this.host.type = 'submit';\n }\n }\n\n #setupNativeButtonBehavior() {\n this.#removeNativeButtonBehavior();\n if (!this.host.readonly && !this.host.disabled) {\n this.host.addEventListener('click', this.#triggerNativeButtonBehavior);\n this.host.addEventListener('keyup', this.#emulateKeyBoardEventBehavior);\n }\n }\n\n #removeNativeButtonBehavior() {\n this.host.removeEventListener('click', this.#triggerNativeButtonBehavior);\n this.host.removeEventListener('keyup', this.#emulateKeyBoardEventBehavior);\n }\n\n // when submitting forms with Enter key, default submit button receives click event from the form\n #emulateKeyBoardEventBehavior = (event: KeyboardEvent) => {\n onKeys(['Enter', 'Space'], event, () => this.host.click());\n };\n\n #triggerNativeButtonBehavior = (event: Event) => {\n if (this.host.disabled) {\n stopEvent(event);\n return;\n }\n\n if (this.host.type === 'submit' && this.host.form) {\n this.#requestSubmit();\n } else if (this.host.type === 'reset') {\n this.host.form?.reset();\n }\n };\n\n #requestSubmit() {\n this.#createSubmitter();\n this.host.form!.addEventListener(\n 'submit',\n () => {\n setTimeout(() => this.#submitter.remove(), 0);\n },\n { once: true }\n );\n this.host.form!.appendChild(this.#submitter);\n this.host.form!.requestSubmit(this.#submitter);\n }\n\n #submitter: HTMLButtonElement;\n // https://github.com/WICG/webcomponents/issues/814\n #createSubmitter() {\n if (!this.#submitter) {\n this.#submitter = globalThis.document.createElement('button');\n this.#submitter.type = 'submit';\n this.#submitter.name = this.host.name ?? '';\n this.#submitter.value = this.host.value ?? '';\n this.#submitter.style.display = 'none';\n }\n }\n}\n"],"mappings":";;;AAYA,SAAgB,IAA+C;CAC7D,QAAQ,MAAkC,EAAO,gBAAiB,MAAgB,IAAI,EAAqB,CAAQ,CAAC;AACtH;AAaA,IAAa,IAAb,MAAkF;CAChF,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,MAAM,cAAc;EAGlB,AAFA,MAAM,KAAK,KAAK,gBAChB,KAAKA,GAAe,GACpB,KAAKC,GAA2B;CAClC;CAEA,mBAAmB;EACjB,KAAKC,GAA4B;CACnC;CAEA,KAAiB;EACf,AAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,KAAK,aAAa,MAAM,KAAK,KAAK,KAAK,QAAQ,MAAM,MAChF,KAAK,KAAK,OAAO;CAErB;CAEA,KAA6B;EAE3B,AADA,KAAKA,GAA4B,GAC7B,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,KAAK,aACpC,KAAK,KAAK,iBAAiB,SAAS,KAAKC,EAA4B,GACrE,KAAK,KAAK,iBAAiB,SAAS,KAAKC,EAA6B;CAE1E;CAEA,KAA8B;EAE5B,AADA,KAAK,KAAK,oBAAoB,SAAS,KAAKD,EAA4B,GACxE,KAAK,KAAK,oBAAoB,SAAS,KAAKC,EAA6B;CAC3E;CAGA,MAAiC,MAAyB;EACxD,EAAO,CAAC,SAAS,OAAO,GAAG,SAAa,KAAK,KAAK,MAAM,CAAC;CAC3D;CAEA,MAAgC,MAAiB;EAC/C,IAAI,KAAK,KAAK,UAAU;GACtB,EAAU,CAAK;GACf;EACF;EAEA,AAAI,KAAK,KAAK,SAAS,YAAY,KAAK,KAAK,OAC3C,KAAKC,GAAe,IACX,KAAK,KAAK,SAAS,WAC5B,KAAK,KAAK,MAAM,MAAM;CAE1B;CAEA,KAAiB;EAUf,AATA,KAAKC,GAAiB,GACtB,KAAK,KAAK,KAAM,iBACd,gBACM;GACJ,iBAAiB,KAAKC,GAAW,OAAO,GAAG,CAAC;EAC9C,GACA,EAAE,MAAM,GAAK,CACf,GACA,KAAK,KAAK,KAAM,YAAY,KAAKA,EAAU,GAC3C,KAAK,KAAK,KAAM,cAAc,KAAKA,EAAU;CAC/C;CAEA;CAEA,KAAmB;EACjB,AAAK,KAAKA,OACR,KAAKA,KAAa,WAAW,SAAS,cAAc,QAAQ,GAC5D,KAAKA,GAAW,OAAO,UACvB,KAAKA,GAAW,OAAO,KAAK,KAAK,QAAQ,IACzC,KAAKA,GAAW,QAAQ,KAAK,KAAK,SAAS,IAC3C,KAAKA,GAAW,MAAM,UAAU;CAEpC;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-touch.controller.js","names":["#start","#end","#move","#startPosition","#pointerId","#getCoordinatesFromPointerEvent"],"sources":["../../../src/internal/controllers/type-touch.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveElement, ReactiveController } from 'lit';\nimport type { LegacyDecoratorTarget, OffsetPoint, Point } from '../types/index.js';\nimport { getDifference } from '../utils/objects.js';\n\nexport class NveTouchEvent extends Event {\n x: number;\n y: number;\n offsetX: number;\n offsetY: number;\n\n constructor(event: 'nve-touch-start' | 'nve-touch-move' | 'nve-touch-end', point: Point & OffsetPoint) {\n super(event);\n this.x = point.x;\n this.y = point.y;\n this.offsetX = point.offsetX;\n this.offsetY = point.offsetY;\n }\n}\n\n/**\n * @event nve-touch-start\n * @event nve-touch-move\n * @event nve-touch-end\n */\nexport function typeTouch<T extends ReactiveElement>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => target.addInitializer!((instance: T) => new TypeTouchController(instance));\n}\n\nexport class TypeTouchController<T extends ReactiveElement> implements ReactiveController {\n #startPosition: Point;\n #pointerId: number;\n\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n this.host.addEventListener('pointerdown', this.#start);\n }\n\n hostDisconnected() {\n this.host.removeEventListener('pointerdown', this.#start);\n globalThis.document.removeEventListener('pointerup', this.#end);\n globalThis.document.removeEventListener('pointermove', this.#move);\n }\n\n #start = (e: PointerEvent) => {\n if (e.composedPath().find(el => el === this.host)) {\n this.#startPosition = { x: e.clientX, y: e.clientY };\n this.#pointerId = e.pointerId;\n this.host.setPointerCapture(this.#pointerId);\n globalThis.document.addEventListener('pointerup', this.#end);\n globalThis.document.addEventListener('pointermove', this.#move);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-start', { ...this.#startPosition, offsetX: 0, offsetY: 0 }));\n }\n };\n\n #move = (e: PointerEvent) => {\n requestAnimationFrame(() => {\n const point = this.#getCoordinatesFromPointerEvent(e);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-move', point));\n this.#startPosition = { x: e.clientX, y: e.clientY };\n });\n };\n\n #end = (e: PointerEvent) => {\n if (this.#startPosition) {\n globalThis.document.removeEventListener('pointerup', this.#end, false);\n globalThis.document.removeEventListener('pointermove', this.#move, false);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-end', this.#getCoordinatesFromPointerEvent(e)));\n this.host.releasePointerCapture(this.#pointerId);\n this.#pointerId = null as unknown as number;\n }\n };\n\n #getCoordinatesFromPointerEvent(e: PointerEvent) {\n const value = {\n offsetX: getDifference(this.#startPosition.x, e.clientX),\n offsetY: getDifference(this.#startPosition.y, e.clientY),\n x: e.clientX,\n y: e.clientY\n };\n return value;\n }\n}\n"],"mappings":";;AAOA,IAAa,IAAb,cAAmC,MAAM;CAMvC,YAAY,GAA+D,GAA4B;AAKrG,EAJA,MAAM,EAAM,EACZ,KAAK,IAAI,EAAM,GACf,KAAK,IAAI,EAAM,GACf,KAAK,UAAU,EAAM,SACrB,KAAK,UAAU,EAAM;;;AASzB,SAAgB,IAAuD;AACrE,SAAQ,MAAkC,EAAO,gBAAiB,MAAgB,IAAI,EAAoB,EAAS,CAAC;;AAGtH,IAAa,IAAb,MAA0F;CACxF;CACA;CAEA,YAAY,GAAiB;AAC3B,EADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,KAAK;;CAG/B,gBAAgB;AACd,OAAK,KAAK,iBAAiB,eAAe,MAAA,EAAY;;CAGxD,mBAAmB;AAGjB,EAFA,KAAK,KAAK,oBAAoB,eAAe,MAAA,EAAY,EACzD,WAAW,SAAS,oBAAoB,aAAa,MAAA,EAAU,EAC/D,WAAW,SAAS,oBAAoB,eAAe,MAAA,EAAW;;CAGpE,MAAU,MAAoB;AAC5B,EAAI,EAAE,cAAc,CAAC,MAAK,MAAM,MAAO,KAAK,KAAK,KAC/C,MAAA,IAAsB;GAAE,GAAG,EAAE;GAAS,GAAG,EAAE;GAAS,EACpD,MAAA,IAAkB,EAAE,WACpB,KAAK,KAAK,kBAAkB,MAAA,EAAgB,EAC5C,WAAW,SAAS,iBAAiB,aAAa,MAAA,EAAU,EAC5D,WAAW,SAAS,iBAAiB,eAAe,MAAA,EAAW,EAC/D,KAAK,KAAK,cAAc,IAAI,EAAc,mBAAmB;GAAE,GAAG,MAAA;GAAqB,SAAS;GAAG,SAAS;GAAG,CAAC,CAAC;;CAIrH,MAAS,MAAoB;AAC3B,8BAA4B;GAC1B,IAAM,IAAQ,MAAA,EAAqC,EAAE;AAErD,GADA,KAAK,KAAK,cAAc,IAAI,EAAc,kBAAkB,EAAM,CAAC,EACnE,MAAA,IAAsB;IAAE,GAAG,EAAE;IAAS,GAAG,EAAE;IAAS;IACpD;;CAGJ,MAAQ,MAAoB;AAC1B,EAAI,MAAA,MACF,WAAW,SAAS,oBAAoB,aAAa,MAAA,GAAW,GAAM,EACtE,WAAW,SAAS,oBAAoB,eAAe,MAAA,GAAY,GAAM,EACzE,KAAK,KAAK,cAAc,IAAI,EAAc,iBAAiB,MAAA,EAAqC,EAAE,CAAC,CAAC,EACpG,KAAK,KAAK,sBAAsB,MAAA,EAAgB,EAChD,MAAA,IAAkB;;CAItB,GAAgC,GAAiB;AAO/C,SANc;GACZ,SAAS,EAAc,MAAA,EAAoB,GAAG,EAAE,QAAQ;GACxD,SAAS,EAAc,MAAA,EAAoB,GAAG,EAAE,QAAQ;GACxD,GAAG,EAAE;GACL,GAAG,EAAE;GACN"}
1
+ {"version":3,"file":"type-touch.controller.js","names":["#start","#end","#move","#startPosition","#pointerId","#getCoordinatesFromPointerEvent"],"sources":["../../../src/internal/controllers/type-touch.controller.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { ReactiveElement, ReactiveController } from 'lit';\nimport type { LegacyDecoratorTarget, OffsetPoint, Point } from '../types/index.js';\nimport { getDifference } from '../utils/objects.js';\n\nexport class NveTouchEvent extends Event {\n x: number;\n y: number;\n offsetX: number;\n offsetY: number;\n\n constructor(event: 'nve-touch-start' | 'nve-touch-move' | 'nve-touch-end', point: Point & OffsetPoint) {\n super(event);\n this.x = point.x;\n this.y = point.y;\n this.offsetX = point.offsetX;\n this.offsetY = point.offsetY;\n }\n}\n\n/**\n * @event nve-touch-start\n * @event nve-touch-move\n * @event nve-touch-end\n */\nexport function typeTouch<T extends ReactiveElement>(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => target.addInitializer!((instance: T) => new TypeTouchController(instance));\n}\n\nexport class TypeTouchController<T extends ReactiveElement> implements ReactiveController {\n #startPosition: Point;\n #pointerId: number;\n\n constructor(private host: T) {\n this.host.addController(this);\n }\n\n hostConnected() {\n this.host.addEventListener('pointerdown', this.#start);\n }\n\n hostDisconnected() {\n this.host.removeEventListener('pointerdown', this.#start);\n globalThis.document.removeEventListener('pointerup', this.#end);\n globalThis.document.removeEventListener('pointermove', this.#move);\n }\n\n #start = (e: PointerEvent) => {\n if (e.composedPath().find(el => el === this.host)) {\n this.#startPosition = { x: e.clientX, y: e.clientY };\n this.#pointerId = e.pointerId;\n this.host.setPointerCapture(this.#pointerId);\n globalThis.document.addEventListener('pointerup', this.#end);\n globalThis.document.addEventListener('pointermove', this.#move);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-start', { ...this.#startPosition, offsetX: 0, offsetY: 0 }));\n }\n };\n\n #move = (e: PointerEvent) => {\n requestAnimationFrame(() => {\n const point = this.#getCoordinatesFromPointerEvent(e);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-move', point));\n this.#startPosition = { x: e.clientX, y: e.clientY };\n });\n };\n\n #end = (e: PointerEvent) => {\n if (this.#startPosition) {\n globalThis.document.removeEventListener('pointerup', this.#end, false);\n globalThis.document.removeEventListener('pointermove', this.#move, false);\n this.host.dispatchEvent(new NveTouchEvent('nve-touch-end', this.#getCoordinatesFromPointerEvent(e)));\n this.host.releasePointerCapture(this.#pointerId);\n this.#pointerId = null as unknown as number;\n }\n };\n\n #getCoordinatesFromPointerEvent(e: PointerEvent) {\n const value = {\n offsetX: getDifference(this.#startPosition.x, e.clientX),\n offsetY: getDifference(this.#startPosition.y, e.clientY),\n x: e.clientX,\n y: e.clientY\n };\n return value;\n }\n}\n"],"mappings":";;AAOA,IAAa,IAAb,cAAmC,MAAM;CAMvC,YAAY,GAA+D,GAA4B;EAKrG,AAJA,MAAM,CAAK,GACX,KAAK,IAAI,EAAM,GACf,KAAK,IAAI,EAAM,GACf,KAAK,UAAU,EAAM,SACrB,KAAK,UAAU,EAAM;CACvB;AACF;AAOA,SAAgB,IAAuD;CACrE,QAAQ,MAAkC,EAAO,gBAAiB,MAAgB,IAAI,EAAoB,CAAQ,CAAC;AACrH;AAEA,IAAa,IAAb,MAA0F;CACxF;CACA;CAEA,YAAY,GAAiB;EAC3B,AADkB,KAAA,OAAA,GAClB,KAAK,KAAK,cAAc,IAAI;CAC9B;CAEA,gBAAgB;EACd,KAAK,KAAK,iBAAiB,eAAe,KAAKA,EAAM;CACvD;CAEA,mBAAmB;EAGjB,AAFA,KAAK,KAAK,oBAAoB,eAAe,KAAKA,EAAM,GACxD,WAAW,SAAS,oBAAoB,aAAa,KAAKC,EAAI,GAC9D,WAAW,SAAS,oBAAoB,eAAe,KAAKC,EAAK;CACnE;CAEA,MAAU,MAAoB;EAC5B,AAAI,EAAE,aAAa,EAAE,MAAK,MAAM,MAAO,KAAK,IAAI,MAC9C,KAAKC,KAAiB;GAAE,GAAG,EAAE;GAAS,GAAG,EAAE;EAAQ,GACnD,KAAKC,KAAa,EAAE,WACpB,KAAK,KAAK,kBAAkB,KAAKA,EAAU,GAC3C,WAAW,SAAS,iBAAiB,aAAa,KAAKH,EAAI,GAC3D,WAAW,SAAS,iBAAiB,eAAe,KAAKC,EAAK,GAC9D,KAAK,KAAK,cAAc,IAAI,EAAc,mBAAmB;GAAE,GAAG,KAAKC;GAAgB,SAAS;GAAG,SAAS;EAAE,CAAC,CAAC;CAEpH;CAEA,MAAS,MAAoB;EAC3B,4BAA4B;GAC1B,IAAM,IAAQ,KAAKE,GAAgC,CAAC;GAEpD,AADA,KAAK,KAAK,cAAc,IAAI,EAAc,kBAAkB,CAAK,CAAC,GAClE,KAAKF,KAAiB;IAAE,GAAG,EAAE;IAAS,GAAG,EAAE;GAAQ;EACrD,CAAC;CACH;CAEA,MAAQ,MAAoB;EAC1B,AAAI,KAAKA,OACP,WAAW,SAAS,oBAAoB,aAAa,KAAKF,IAAM,EAAK,GACrE,WAAW,SAAS,oBAAoB,eAAe,KAAKC,IAAO,EAAK,GACxE,KAAK,KAAK,cAAc,IAAI,EAAc,iBAAiB,KAAKG,GAAgC,CAAC,CAAC,CAAC,GACnG,KAAK,KAAK,sBAAsB,KAAKD,EAAU,GAC/C,KAAKA,KAAa;CAEtB;CAEA,GAAgC,GAAiB;EAO/C,OAAO;GALL,SAAS,EAAc,KAAKD,GAAe,GAAG,EAAE,OAAO;GACvD,SAAS,EAAc,KAAKA,GAAe,GAAG,EAAE,OAAO;GACvD,GAAG,EAAE;GACL,GAAG,EAAE;EAEA;CACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-attr.js","names":[],"sources":["../../../src/internal/decorators/host-attr.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyDeclaration } from 'lit';\nimport { property } from 'lit/decorators/property.js';\n\n/**\n * Enables declarative way to set host element attributes such as slots.\n * Use when needing to set host attributes but not create a public API property/attr for consumer.\n */\nexport function hostAttr(options: PropertyDeclaration = { type: String, reflect: true }) {\n return property({ type: String, reflect: true, ...options });\n}\n"],"mappings":";;AAUA,SAAgB,EAAS,IAA+B;CAAE,MAAM;CAAQ,SAAS;CAAM,EAAE;AACvF,QAAO,EAAS;EAAE,MAAM;EAAQ,SAAS;EAAM,GAAG;EAAS,CAAC"}
1
+ {"version":3,"file":"host-attr.js","names":[],"sources":["../../../src/internal/decorators/host-attr.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { PropertyDeclaration } from 'lit';\nimport { property } from 'lit/decorators/property.js';\n\n/**\n * Enables declarative way to set host element attributes such as slots.\n * Use when needing to set host attributes but not create a public API property/attr for consumer.\n */\nexport function hostAttr(options: PropertyDeclaration = { type: String, reflect: true }) {\n return property({ type: String, reflect: true, ...options });\n}\n"],"mappings":";;AAUA,SAAgB,EAAS,IAA+B;CAAE,MAAM;CAAQ,SAAS;AAAK,GAAG;CACvF,OAAO,EAAS;EAAE,MAAM;EAAQ,SAAS;EAAM,GAAG;CAAQ,CAAC;AAC7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"scoped-registry.js","names":[],"sources":["../../../src/internal/decorators/scoped-registry.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from '../services/global.service.js';\nimport type { ElementDefinition, LegacyDecoratorTarget } from '../types/index.js';\nimport { defineElement, supportsScopedRegistry } from '../utils/dom.js';\n\n/** decorator which registers element dependencies with the scoped custom element registry when available */\nexport function scopedRegistry(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => {\n const element = target as unknown as ElementDefinition;\n GlobalStateService.state.scopedRegistry ??= {};\n const customElementRegistry = GlobalStateService.state.scopedRegistry[element.metadata.version] ?? customElements;\n if (supportsScopedRegistry) {\n Object.defineProperty(element, 'shadowRootOptions', {\n configurable: true,\n value: { ...(element.shadowRootOptions ?? { mode: 'open' }), customElementRegistry }\n });\n }\n defineElement(element, customElementRegistry);\n };\n}\n"],"mappings":";;;AAQA,SAAgB,IAAiC;AAC/C,SAAQ,MAAkC;EACxC,IAAM,IAAU;AAChB,IAAmB,MAAM,mBAAmB,EAAE;EAC9C,IAAM,IAAwB,EAAmB,MAAM,eAAe,EAAQ,SAAS,YAAY;AAOnG,EANI,KACF,OAAO,eAAe,GAAS,qBAAqB;GAClD,cAAc;GACd,OAAO;IAAE,GAAI,EAAQ,qBAAqB,EAAE,MAAM,QAAQ;IAAG;IAAuB;GACrF,CAAC,EAEJ,EAAc,GAAS,EAAsB"}
1
+ {"version":3,"file":"scoped-registry.js","names":[],"sources":["../../../src/internal/decorators/scoped-registry.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from '../services/global.service.js';\nimport type { ElementDefinition, LegacyDecoratorTarget } from '../types/index.js';\nimport { defineElement, supportsScopedRegistry } from '../utils/dom.js';\n\n/** decorator which registers element dependencies with the scoped custom element registry when available */\nexport function scopedRegistry(): ClassDecorator {\n return (target: LegacyDecoratorTarget) => {\n const element = target as unknown as ElementDefinition;\n GlobalStateService.state.scopedRegistry ??= {};\n const customElementRegistry = GlobalStateService.state.scopedRegistry[element.metadata.version] ?? customElements;\n if (supportsScopedRegistry) {\n Object.defineProperty(element, 'shadowRootOptions', {\n configurable: true,\n value: { ...(element.shadowRootOptions ?? { mode: 'open' }), customElementRegistry }\n });\n }\n defineElement(element, customElementRegistry);\n };\n}\n"],"mappings":";;;AAQA,SAAgB,IAAiC;CAC/C,QAAQ,MAAkC;EACxC,IAAM,IAAU;EAChB,EAAmB,MAAM,mBAAmB,CAAC;EAC7C,IAAM,IAAwB,EAAmB,MAAM,eAAe,EAAQ,SAAS,YAAY;EAOnG,AANI,KACF,OAAO,eAAe,GAAS,qBAAqB;GAClD,cAAc;GACd,OAAO;IAAE,GAAI,EAAQ,qBAAqB,EAAE,MAAM,OAAO;IAAI;GAAsB;EACrF,CAAC,GAEH,EAAc,GAAS,CAAqB;CAC9C;AACF"}
@@ -19,7 +19,7 @@ var a = class {
19
19
  i18nRegistry: {},
20
20
  audit: {}
21
21
  }
22
- }, globalThis.NVE_ELEMENTS.state.versions = Array.from(new Set([...globalThis.NVE_ELEMENTS.state.versions, "0.1.0"])), globalThis.NVE_ELEMENTS.state.scopedRegistry ??= {}, globalThis.NVE_ELEMENTS.state.scopedRegistry["0.1.0"] = i(), globalThis.NVE_ELEMENTS.state.versions.length > 1 && globalThis.NVE_ELEMENTS.state.env !== "production" && console.warn(e(), `\n\n${JSON.stringify(globalThis.NVE_ELEMENTS.state.versions, null, 2)}`);
22
+ }, globalThis.NVE_ELEMENTS.state.versions = Array.from(new Set([...globalThis.NVE_ELEMENTS.state.versions, "0.1.2"])), globalThis.NVE_ELEMENTS.state.scopedRegistry ??= {}, globalThis.NVE_ELEMENTS.state.scopedRegistry["0.1.2"] = i(), globalThis.NVE_ELEMENTS.state.versions.length > 1 && globalThis.NVE_ELEMENTS.state.env !== "production" && console.warn(e(), `\n\n${JSON.stringify(globalThis.NVE_ELEMENTS.state.versions, null, 2)}`);
23
23
  }
24
24
  get state() {
25
25
  return globalThis.NVE_ELEMENTS.state;
@@ -1 +1 @@
1
- {"version":3,"file":"global.service.js","names":[],"sources":["../../../src/internal/services/global.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getDuplicatePackageGlobalVersionWarning } from '../utils/audit-logs.js';\nimport { deepMerge } from '../utils/objects.js';\nimport { getEnv, getHostDetails } from './global.utils.js';\n\nfunction createScopedRegistry(): CustomElementRegistry {\n const supported = globalThis.CustomElementRegistry && 'initialize' in CustomElementRegistry.prototype;\n return supported ? new CustomElementRegistry() : globalThis.customElements;\n}\n\nexport class GlobalState {\n constructor() {\n globalThis.NVE_ELEMENTS ??= {\n debug: (log = console.log) =>\n log(\n `%cElements\\n%c${JSON.stringify(globalThis.NVE_ELEMENTS.state, null, 2)}`,\n 'color: #69b027',\n 'color: inherit'\n ),\n state: {\n bundle: false,\n env: getEnv(),\n ...getHostDetails(),\n versions: [],\n scopedRegistry: {},\n elementRegistry: {},\n i18nRegistry: {},\n audit: {}\n }\n };\n globalThis.NVE_ELEMENTS.state.versions = Array.from(new Set([...globalThis.NVE_ELEMENTS.state.versions, '0.0.0']));\n globalThis.NVE_ELEMENTS.state.scopedRegistry ??= {}; // if older versions used, they may not have a scopedRegistry\n globalThis.NVE_ELEMENTS.state.scopedRegistry['0.0.0'] = createScopedRegistry();\n\n if (globalThis.NVE_ELEMENTS.state.versions.length > 1 && globalThis.NVE_ELEMENTS.state.env !== 'production') {\n console.warn(\n getDuplicatePackageGlobalVersionWarning(),\n `\\n\\n${JSON.stringify(globalThis.NVE_ELEMENTS.state.versions, null, 2)}`\n );\n }\n }\n\n get state() {\n return globalThis.NVE_ELEMENTS.state;\n }\n\n dispatch(type: string, state: Partial<typeof globalThis.NVE_ELEMENTS.state>) {\n globalThis.NVE_ELEMENTS.state = deepMerge(\n globalThis.NVE_ELEMENTS.state as unknown as Record<string, unknown>,\n state as unknown as Record<string, unknown>\n ) as unknown as typeof globalThis.NVE_ELEMENTS.state;\n globalThis?.document?.dispatchEvent(new CustomEvent(type, { detail: globalThis.NVE_ELEMENTS.state }));\n }\n}\n\nexport const GlobalStateService = new GlobalState();\n"],"mappings":";;;;AAOA,SAAS,IAA8C;AAErD,QADkB,WAAW,yBAAyB,gBAAgB,sBAAsB,YACzE,IAAI,uBAAuB,GAAG,WAAW;;AAG9D,IAAa,IAAb,MAAyB;CACvB,cAAc;AAuBZ,EAtBA,WAAW,iBAAiB;GAC1B,QAAQ,IAAM,QAAQ,QACpB,EACE,iBAAiB,KAAK,UAAU,WAAW,aAAa,OAAO,MAAM,EAAE,IACvE,kBACA,iBACD;GACH,OAAO;IACL,QAAQ;IACR,KAAK,GAAQ;IACb,GAAG,GAAgB;IACnB,UAAU,EAAE;IACZ,gBAAgB,EAAE;IAClB,iBAAiB,EAAE;IACnB,cAAc,EAAE;IAChB,OAAO,EAAE;IACV;GACF,EACD,WAAW,aAAa,MAAM,WAAW,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,WAAW,aAAa,MAAM,UAAU,QAAQ,CAAC,CAAC,EAClH,WAAW,aAAa,MAAM,mBAAmB,EAAE,EACnD,WAAW,aAAa,MAAM,eAAe,WAAW,GAAsB,EAE1E,WAAW,aAAa,MAAM,SAAS,SAAS,KAAK,WAAW,aAAa,MAAM,QAAQ,gBAC7F,QAAQ,KACN,GAAyC,EACzC,OAAO,KAAK,UAAU,WAAW,aAAa,MAAM,UAAU,MAAM,EAAE,GACvE;;CAIL,IAAI,QAAQ;AACV,SAAO,WAAW,aAAa;;CAGjC,SAAS,GAAc,GAAsD;AAK3E,EAJA,WAAW,aAAa,QAAQ,EAC9B,WAAW,aAAa,OACxB,EACD,EACD,YAAY,UAAU,cAAc,IAAI,YAAY,GAAM,EAAE,QAAQ,WAAW,aAAa,OAAO,CAAC,CAAC;;GAI5F,IAAqB,IAAI,GAAa"}
1
+ {"version":3,"file":"global.service.js","names":[],"sources":["../../../src/internal/services/global.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getDuplicatePackageGlobalVersionWarning } from '../utils/audit-logs.js';\nimport { deepMerge } from '../utils/objects.js';\nimport { getEnv, getHostDetails } from './global.utils.js';\n\nfunction createScopedRegistry(): CustomElementRegistry {\n const supported = globalThis.CustomElementRegistry && 'initialize' in CustomElementRegistry.prototype;\n return supported ? new CustomElementRegistry() : globalThis.customElements;\n}\n\nexport class GlobalState {\n constructor() {\n globalThis.NVE_ELEMENTS ??= {\n debug: (log = console.log) =>\n log(\n `%cElements\\n%c${JSON.stringify(globalThis.NVE_ELEMENTS.state, null, 2)}`,\n 'color: #69b027',\n 'color: inherit'\n ),\n state: {\n bundle: false,\n env: getEnv(),\n ...getHostDetails(),\n versions: [],\n scopedRegistry: {},\n elementRegistry: {},\n i18nRegistry: {},\n audit: {}\n }\n };\n globalThis.NVE_ELEMENTS.state.versions = Array.from(new Set([...globalThis.NVE_ELEMENTS.state.versions, '0.0.0']));\n globalThis.NVE_ELEMENTS.state.scopedRegistry ??= {}; // if older versions used, they may not have a scopedRegistry\n globalThis.NVE_ELEMENTS.state.scopedRegistry['0.0.0'] = createScopedRegistry();\n\n if (globalThis.NVE_ELEMENTS.state.versions.length > 1 && globalThis.NVE_ELEMENTS.state.env !== 'production') {\n console.warn(\n getDuplicatePackageGlobalVersionWarning(),\n `\\n\\n${JSON.stringify(globalThis.NVE_ELEMENTS.state.versions, null, 2)}`\n );\n }\n }\n\n get state() {\n return globalThis.NVE_ELEMENTS.state;\n }\n\n dispatch(type: string, state: Partial<typeof globalThis.NVE_ELEMENTS.state>) {\n globalThis.NVE_ELEMENTS.state = deepMerge(\n globalThis.NVE_ELEMENTS.state as unknown as Record<string, unknown>,\n state as unknown as Record<string, unknown>\n ) as unknown as typeof globalThis.NVE_ELEMENTS.state;\n globalThis?.document?.dispatchEvent(new CustomEvent(type, { detail: globalThis.NVE_ELEMENTS.state }));\n }\n}\n\nexport const GlobalStateService = new GlobalState();\n"],"mappings":";;;;AAOA,SAAS,IAA8C;CAErD,OADkB,WAAW,yBAAyB,gBAAgB,sBAAsB,YACzE,IAAI,sBAAsB,IAAI,WAAW;AAC9D;AAEA,IAAa,IAAb,MAAyB;CACvB,cAAc;EAuBZ,AAtBA,WAAW,iBAAiB;GAC1B,QAAQ,IAAM,QAAQ,QACpB,EACE,iBAAiB,KAAK,UAAU,WAAW,aAAa,OAAO,MAAM,CAAC,KACtE,kBACA,gBACF;GACF,OAAO;IACL,QAAQ;IACR,KAAK,EAAO;IACZ,GAAG,EAAe;IAClB,UAAU,CAAC;IACX,gBAAgB,CAAC;IACjB,iBAAiB,CAAC;IAClB,cAAc,CAAC;IACf,OAAO,CAAC;GACV;EACF,GACA,WAAW,aAAa,MAAM,WAAW,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,WAAW,aAAa,MAAM,UAAU,OAAO,CAAC,CAAC,GACjH,WAAW,aAAa,MAAM,mBAAmB,CAAC,GAClD,WAAW,aAAa,MAAM,eAAe,WAAW,EAAqB,GAEzE,WAAW,aAAa,MAAM,SAAS,SAAS,KAAK,WAAW,aAAa,MAAM,QAAQ,gBAC7F,QAAQ,KACN,EAAwC,GACxC,OAAO,KAAK,UAAU,WAAW,aAAa,MAAM,UAAU,MAAM,CAAC,GACvE;CAEJ;CAEA,IAAI,QAAQ;EACV,OAAO,WAAW,aAAa;CACjC;CAEA,SAAS,GAAc,GAAsD;EAK3E,AAJA,WAAW,aAAa,QAAQ,EAC9B,WAAW,aAAa,OACxB,CACF,GACA,YAAY,UAAU,cAAc,IAAI,YAAY,GAAM,EAAE,QAAQ,WAAW,aAAa,MAAM,CAAC,CAAC;CACtG;AACF,GAEa,IAAqB,IAAI,EAAY"}
@@ -1,17 +1,15 @@
1
- import { getEsmHostedWarning as e } from "../utils/audit-logs.js";
2
1
  //#region src/internal/services/global.utils.ts
3
2
  /* istanbul ignore next -- @preserve */
4
- function t() {
3
+ function e() {
5
4
  return globalThis.process?.env?.NODE_ENV !== "production" && (globalThis.location?.hostname === "localhost" || globalThis.location?.href?.includes("elements-playground")) ? "development" : "production";
6
5
  }
7
- function n() {
8
- let t = globalThis.location?.hostname, n = new URL(import.meta.url).hostname;
9
- return n.startsWith("esm.") && t !== "localhost" && !t.includes("esm.") && console.warn(e()), {
10
- pageHost: t,
11
- moduleHost: n
6
+ function t() {
7
+ return {
8
+ pageHost: globalThis.location?.hostname,
9
+ moduleHost: new URL(import.meta.url).hostname
12
10
  };
13
11
  }
14
12
  //#endregion
15
- export { t as getEnv, n as getHostDetails };
13
+ export { e as getEnv, t as getHostDetails };
16
14
 
17
15
  //# sourceMappingURL=global.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"global.utils.js","names":[],"sources":["../../../src/internal/services/global.utils.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getEsmHostedWarning } from '../utils/audit-logs.js';\n\ndeclare global {\n var process: { env?: { NODE_ENV?: string } } | undefined;\n}\n\n/* istanbul ignore next -- @preserve */\nexport function getEnv(): 'development' | 'production' {\n if (\n globalThis.process?.env?.NODE_ENV !== 'production' &&\n (globalThis.location?.hostname === 'localhost' || globalThis.location?.href?.includes('elements-playground'))\n ) {\n return 'development';\n } else {\n return 'production';\n }\n}\n\nexport function getHostDetails(): { moduleHost: string; pageHost: string } {\n const pageHost = globalThis.location?.hostname;\n const moduleHost = new URL(import.meta.url).hostname;\n const isEsmHosted = moduleHost.startsWith('esm.');\n\n if (isEsmHosted && pageHost !== 'localhost' && !pageHost.includes('esm.')) {\n console.warn(getEsmHostedWarning());\n }\n\n return {\n pageHost,\n moduleHost\n };\n}\n"],"mappings":";;;AAUA,SAAgB,IAAuC;AAOnD,QALA,WAAW,SAAS,KAAK,aAAa,iBACrC,WAAW,UAAU,aAAa,eAAe,WAAW,UAAU,MAAM,SAAS,sBAAsB,IAErG,gBAEA;;AAIX,SAAgB,IAA2D;CACzE,IAAM,IAAW,WAAW,UAAU,UAChC,IAAa,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;AAO5C,QANoB,EAAW,WAAW,OAAO,IAE9B,MAAa,eAAe,CAAC,EAAS,SAAS,OAAO,IACvE,QAAQ,KAAK,GAAqB,CAAC,EAG9B;EACL;EACA;EACD"}
1
+ {"version":3,"file":"global.utils.js","names":[],"sources":["../../../src/internal/services/global.utils.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\ndeclare global {\n var process: { env?: { NODE_ENV?: string } } | undefined;\n}\n\n/* istanbul ignore next -- @preserve */\nexport function getEnv(): 'development' | 'production' {\n if (\n globalThis.process?.env?.NODE_ENV !== 'production' &&\n (globalThis.location?.hostname === 'localhost' || globalThis.location?.href?.includes('elements-playground'))\n ) {\n return 'development';\n } else {\n return 'production';\n }\n}\n\nexport function getHostDetails(): { moduleHost: string; pageHost: string } {\n const pageHost = globalThis.location?.hostname;\n const moduleHost = new URL(import.meta.url).hostname;\n\n return {\n pageHost,\n moduleHost\n };\n}\n"],"mappings":";;AAQA,SAAgB,IAAuC;CAOnD,OALA,WAAW,SAAS,KAAK,aAAa,iBACrC,WAAW,UAAU,aAAa,eAAe,WAAW,UAAU,MAAM,SAAS,qBAAqB,KAEpG,gBAEA;AAEX;AAEA,SAAgB,IAA2D;CAIzE,OAAO;EACL,UAJe,WAAW,UAAU;EAKpC,YAJiB,IAAI,IAAI,OAAO,KAAK,GAAG,EAAE;CAK5C;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.service.js","names":[],"sources":["../../../src/internal/services/i18n.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from './global.service.js';\n\nexport interface I18nStrings {\n close: string;\n copy: string;\n copied: string;\n expand: string;\n select: string;\n selected: string;\n sort: string;\n show: string;\n hide: string;\n loading: string;\n previous: string;\n next: string;\n start: string;\n end: string;\n currentPage: string;\n noResults: string;\n status: string;\n information: string;\n warning: string;\n success: string;\n danger: string;\n trend: string;\n down: string;\n up: string;\n neutral: string;\n of: string;\n theme: string;\n scale: string;\n reducedMotion: string;\n colorScheme: string;\n resize: string;\n or: string;\n files: string;\n dragAndDrop: string;\n browseFiles: string;\n maxFileSize: string;\n create: string;\n}\n\nconst i18nRegistry = {\n close: 'close',\n copy: 'copy',\n copied: 'copied',\n expand: 'expand',\n select: 'select',\n selected: 'selected',\n sort: 'sort',\n show: 'show',\n hide: 'hide',\n loading: 'loading',\n previous: 'previous',\n next: 'next',\n start: 'start',\n end: 'end',\n currentPage: 'current page',\n noResults: 'no results',\n status: 'status',\n information: 'information',\n warning: 'warning',\n success: 'success',\n danger: 'danger',\n trend: 'trend',\n down: 'down',\n up: 'up',\n neutral: 'neutral',\n of: 'of',\n theme: 'theme',\n scale: 'scale',\n reducedMotion: 'reduced motion',\n colorScheme: 'color scheme',\n resize: 'resize',\n or: 'or',\n files: 'files',\n dragAndDrop: 'drag & drop',\n browseFiles: 'browse files',\n maxFileSize: 'max file size',\n create: 'create'\n};\n\nexport class I18nService_ {\n get i18n(): Partial<I18nStrings> {\n return { ...GlobalStateService.state.i18nRegistry };\n }\n\n constructor() {\n if (Object.keys(GlobalStateService.state.i18nRegistry).length === 0) {\n GlobalStateService.dispatch('NVE_ELEMENTS_I18N_UPDATE', { i18nRegistry });\n }\n }\n\n update(registry: Partial<typeof globalThis.NVE_ELEMENTS.state.i18nRegistry>) {\n GlobalStateService.dispatch('NVE_ELEMENTS_I18N_UPDATE', { i18nRegistry: registry } as Partial<\n typeof globalThis.NVE_ELEMENTS.state\n >);\n }\n}\n\nexport const I18nService = new I18nService_();\n"],"mappings":";;AA6CA,IAAM,IAAe;CACnB,OAAO;CACP,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,MAAM;CACN,MAAM;CACN,MAAM;CACN,SAAS;CACT,UAAU;CACV,MAAM;CACN,OAAO;CACP,KAAK;CACL,aAAa;CACb,WAAW;CACX,QAAQ;CACR,aAAa;CACb,SAAS;CACT,SAAS;CACT,QAAQ;CACR,OAAO;CACP,MAAM;CACN,IAAI;CACJ,SAAS;CACT,IAAI;CACJ,OAAO;CACP,OAAO;CACP,eAAe;CACf,aAAa;CACb,QAAQ;CACR,IAAI;CACJ,OAAO;CACP,aAAa;CACb,aAAa;CACb,aAAa;CACb,QAAQ;CACT,EAEY,IAAb,MAA0B;CACxB,IAAI,OAA6B;AAC/B,SAAO,EAAE,GAAG,EAAmB,MAAM,cAAc;;CAGrD,cAAc;AACZ,EAAI,OAAO,KAAK,EAAmB,MAAM,aAAa,CAAC,WAAW,KAChE,EAAmB,SAAS,4BAA4B,EAAE,iBAAc,CAAC;;CAI7E,OAAO,GAAsE;AAC3E,IAAmB,SAAS,4BAA4B,EAAE,cAAc,GAAU,CAEhF;;GAIO,IAAc,IAAI,GAAc"}
1
+ {"version":3,"file":"i18n.service.js","names":[],"sources":["../../../src/internal/services/i18n.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from './global.service.js';\n\nexport interface I18nStrings {\n close: string;\n copy: string;\n copied: string;\n expand: string;\n select: string;\n selected: string;\n sort: string;\n show: string;\n hide: string;\n loading: string;\n previous: string;\n next: string;\n start: string;\n end: string;\n currentPage: string;\n noResults: string;\n status: string;\n information: string;\n warning: string;\n success: string;\n danger: string;\n trend: string;\n down: string;\n up: string;\n neutral: string;\n of: string;\n theme: string;\n scale: string;\n reducedMotion: string;\n colorScheme: string;\n resize: string;\n or: string;\n files: string;\n dragAndDrop: string;\n browseFiles: string;\n maxFileSize: string;\n create: string;\n}\n\nconst i18nRegistry = {\n close: 'close',\n copy: 'copy',\n copied: 'copied',\n expand: 'expand',\n select: 'select',\n selected: 'selected',\n sort: 'sort',\n show: 'show',\n hide: 'hide',\n loading: 'loading',\n previous: 'previous',\n next: 'next',\n start: 'start',\n end: 'end',\n currentPage: 'current page',\n noResults: 'no results',\n status: 'status',\n information: 'information',\n warning: 'warning',\n success: 'success',\n danger: 'danger',\n trend: 'trend',\n down: 'down',\n up: 'up',\n neutral: 'neutral',\n of: 'of',\n theme: 'theme',\n scale: 'scale',\n reducedMotion: 'reduced motion',\n colorScheme: 'color scheme',\n resize: 'resize',\n or: 'or',\n files: 'files',\n dragAndDrop: 'drag & drop',\n browseFiles: 'browse files',\n maxFileSize: 'max file size',\n create: 'create'\n};\n\nexport class I18nService_ {\n get i18n(): Partial<I18nStrings> {\n return { ...GlobalStateService.state.i18nRegistry };\n }\n\n constructor() {\n if (Object.keys(GlobalStateService.state.i18nRegistry).length === 0) {\n GlobalStateService.dispatch('NVE_ELEMENTS_I18N_UPDATE', { i18nRegistry });\n }\n }\n\n update(registry: Partial<typeof globalThis.NVE_ELEMENTS.state.i18nRegistry>) {\n GlobalStateService.dispatch('NVE_ELEMENTS_I18N_UPDATE', { i18nRegistry: registry } as Partial<\n typeof globalThis.NVE_ELEMENTS.state\n >);\n }\n}\n\nexport const I18nService = new I18nService_();\n"],"mappings":";;AA6CA,IAAM,IAAe;CACnB,OAAO;CACP,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,MAAM;CACN,MAAM;CACN,MAAM;CACN,SAAS;CACT,UAAU;CACV,MAAM;CACN,OAAO;CACP,KAAK;CACL,aAAa;CACb,WAAW;CACX,QAAQ;CACR,aAAa;CACb,SAAS;CACT,SAAS;CACT,QAAQ;CACR,OAAO;CACP,MAAM;CACN,IAAI;CACJ,SAAS;CACT,IAAI;CACJ,OAAO;CACP,OAAO;CACP,eAAe;CACf,aAAa;CACb,QAAQ;CACR,IAAI;CACJ,OAAO;CACP,aAAa;CACb,aAAa;CACb,aAAa;CACb,QAAQ;AACV,GAEa,IAAb,MAA0B;CACxB,IAAI,OAA6B;EAC/B,OAAO,EAAE,GAAG,EAAmB,MAAM,aAAa;CACpD;CAEA,cAAc;EACZ,AAAI,OAAO,KAAK,EAAmB,MAAM,YAAY,EAAE,WAAW,KAChE,EAAmB,SAAS,4BAA4B,EAAE,gBAAa,CAAC;CAE5E;CAEA,OAAO,GAAsE;EAC3E,EAAmB,SAAS,4BAA4B,EAAE,cAAc,EAAS,CAEhF;CACH;AACF,GAEa,IAAc,IAAI,EAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"log.service.js","names":["#dispatch"],"sources":["../../../src/internal/services/log.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from './global.service.js';\n\nconst prefix = '@nve: ';\n\nexport class LogService {\n static log(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.log(`${prefix}${value}`, ...args);\n }\n }\n\n static warn(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.warn(`${prefix}${value}`, ...args);\n this.#dispatch('warn', value, ...args);\n }\n }\n\n static error(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.error(`${prefix}${value}`, ...args);\n this.#dispatch('error', value, ...args);\n }\n }\n\n static #dispatch(type: 'warn' | 'error', value: string, ...args: unknown[]) {\n globalThis.document.dispatchEvent(new CustomEvent('NVE_ELEMENTS_LOG', { detail: { type, value, args } }));\n }\n}\n"],"mappings":";;AAKA,IAAM,IAAS,UAEF,IAAb,MAAwB;CACtB,OAAO,IAAI,GAAe,GAAG,GAAiB;AAC5C,EAAI,EAAmB,MAAM,QAAQ,gBACnC,QAAQ,IAAI,GAAG,IAAS,KAAS,GAAG,EAAK;;CAI7C,OAAO,KAAK,GAAe,GAAG,GAAiB;AAC7C,EAAI,EAAmB,MAAM,QAAQ,iBACnC,QAAQ,KAAK,GAAG,IAAS,KAAS,GAAG,EAAK,EAC1C,MAAA,EAAe,QAAQ,GAAO,GAAG,EAAK;;CAI1C,OAAO,MAAM,GAAe,GAAG,GAAiB;AAC9C,EAAI,EAAmB,MAAM,QAAQ,iBACnC,QAAQ,MAAM,GAAG,IAAS,KAAS,GAAG,EAAK,EAC3C,MAAA,EAAe,SAAS,GAAO,GAAG,EAAK;;CAI3C,QAAA,EAAiB,GAAwB,GAAe,GAAG,GAAiB;AAC1E,aAAW,SAAS,cAAc,IAAI,YAAY,oBAAoB,EAAE,QAAQ;GAAE;GAAM;GAAO;GAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"log.service.js","names":["#dispatch"],"sources":["../../../src/internal/services/log.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { GlobalStateService } from './global.service.js';\n\nconst prefix = '@nve: ';\n\nexport class LogService {\n static log(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.log(`${prefix}${value}`, ...args);\n }\n }\n\n static warn(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.warn(`${prefix}${value}`, ...args);\n this.#dispatch('warn', value, ...args);\n }\n }\n\n static error(value: string, ...args: unknown[]) {\n if (GlobalStateService.state.env !== 'production') {\n console.error(`${prefix}${value}`, ...args);\n this.#dispatch('error', value, ...args);\n }\n }\n\n static #dispatch(type: 'warn' | 'error', value: string, ...args: unknown[]) {\n globalThis.document.dispatchEvent(new CustomEvent('NVE_ELEMENTS_LOG', { detail: { type, value, args } }));\n }\n}\n"],"mappings":";;AAKA,IAAM,IAAS,UAEF,IAAb,MAAwB;CACtB,OAAO,IAAI,GAAe,GAAG,GAAiB;EAC5C,AAAI,EAAmB,MAAM,QAAQ,gBACnC,QAAQ,IAAI,GAAG,IAAS,KAAS,GAAG,CAAI;CAE5C;CAEA,OAAO,KAAK,GAAe,GAAG,GAAiB;EAC7C,AAAI,EAAmB,MAAM,QAAQ,iBACnC,QAAQ,KAAK,GAAG,IAAS,KAAS,GAAG,CAAI,GACzC,KAAKA,GAAU,QAAQ,GAAO,GAAG,CAAI;CAEzC;CAEA,OAAO,MAAM,GAAe,GAAG,GAAiB;EAC9C,AAAI,EAAmB,MAAM,QAAQ,iBACnC,QAAQ,MAAM,GAAG,IAAS,KAAS,GAAG,CAAI,GAC1C,KAAKA,GAAU,SAAS,GAAO,GAAG,CAAI;CAE1C;CAEA,OAAOA,GAAU,GAAwB,GAAe,GAAG,GAAiB;EAC1E,WAAW,SAAS,cAAc,IAAI,YAAY,oBAAoB,EAAE,QAAQ;GAAE;GAAM;GAAO;EAAK,EAAE,CAAC,CAAC;CAC1G;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"transition.service.js","names":["#hasSpeculationRules","#nveTransition","#observer","#toggleSpeculationRules","#removeSpeculationRules","#appendSpeculationRules"],"sources":["../../../src/internal/services/transition.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nclass TransitionService_ {\n get #hasSpeculationRules() {\n return globalThis.document.querySelector('[type=speculationrules]');\n }\n\n get #nveTransition() {\n return globalThis.document.documentElement.getAttribute('nve-transition');\n }\n\n #observer: MutationObserver;\n\n enable() {\n if (globalThis.document) {\n this.#observer?.disconnect();\n this.#toggleSpeculationRules();\n this.#observer = new MutationObserver(() => this.#toggleSpeculationRules());\n this.#observer.observe(globalThis.document.documentElement, {\n attributeFilter: ['nve-transition']\n });\n }\n }\n\n disable() {\n this.#removeSpeculationRules();\n this.#observer?.disconnect();\n }\n\n #toggleSpeculationRules() {\n if (globalThis.document && this.#nveTransition === 'auto') {\n if (!this.#hasSpeculationRules) {\n this.#appendSpeculationRules();\n }\n } else {\n this.#removeSpeculationRules();\n }\n }\n\n #appendSpeculationRules() {\n const speculationRules = globalThis.document.createElement('script');\n speculationRules.id = 'nve-speculationrules';\n speculationRules.type = 'speculationrules';\n speculationRules.textContent = JSON.stringify({\n prerender: [\n {\n where: { href_matches: '/*' },\n eagerness: 'moderate'\n }\n ]\n });\n globalThis.document.head.appendChild(speculationRules);\n }\n\n #removeSpeculationRules() {\n globalThis.document?.querySelector('#nve-speculationrules')?.remove();\n }\n}\n\n/**\n * The Transition Service provides setup to enable View Transitions APIs.\n * This includes initializing base speculation rules for smooth transition between navigations.\n *\n * https://developer.chrome.com/docs/web-platform/view-transitions/cross-document\n * https://developer.chrome.com/docs/web-platform/prerender-pages#speculation-rules-api\n */\nexport const TransitionService = new TransitionService_();\n"],"mappings":"AAmEA,IAAa,IAAoB,IAhEjC,MAAyB;CACvB,KAAA,IAA2B;AACzB,SAAO,WAAW,SAAS,cAAc,0BAA0B;;CAGrE,KAAA,IAAqB;AACnB,SAAO,WAAW,SAAS,gBAAgB,aAAa,iBAAiB;;CAG3E;CAEA,SAAS;AACP,EAAI,WAAW,aACb,MAAA,GAAgB,YAAY,EAC5B,MAAA,GAA8B,EAC9B,MAAA,IAAiB,IAAI,uBAAuB,MAAA,GAA8B,CAAC,EAC3E,MAAA,EAAe,QAAQ,WAAW,SAAS,iBAAiB,EAC1D,iBAAiB,CAAC,iBAAiB,EACpC,CAAC;;CAIN,UAAU;AAER,EADA,MAAA,GAA8B,EAC9B,MAAA,GAAgB,YAAY;;CAG9B,KAA0B;AACxB,EAAI,WAAW,YAAY,MAAA,MAAwB,SAC5C,MAAA,KACH,MAAA,GAA8B,GAGhC,MAAA,GAA8B;;CAIlC,KAA0B;EACxB,IAAM,IAAmB,WAAW,SAAS,cAAc,SAAS;AAWpE,EAVA,EAAiB,KAAK,wBACtB,EAAiB,OAAO,oBACxB,EAAiB,cAAc,KAAK,UAAU,EAC5C,WAAW,CACT;GACE,OAAO,EAAE,cAAc,MAAM;GAC7B,WAAW;GACZ,CACF,EACF,CAAC,EACF,WAAW,SAAS,KAAK,YAAY,EAAiB;;CAGxD,KAA0B;AACxB,aAAW,UAAU,cAAc,wBAAwB,EAAE,QAAQ;;GAWhB"}
1
+ {"version":3,"file":"transition.service.js","names":["#hasSpeculationRules","#nveTransition","#observer","#toggleSpeculationRules","#removeSpeculationRules","#appendSpeculationRules"],"sources":["../../../src/internal/services/transition.service.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nclass TransitionService_ {\n get #hasSpeculationRules() {\n return globalThis.document.querySelector('[type=speculationrules]');\n }\n\n get #nveTransition() {\n return globalThis.document.documentElement.getAttribute('nve-transition');\n }\n\n #observer: MutationObserver;\n\n enable() {\n if (globalThis.document) {\n this.#observer?.disconnect();\n this.#toggleSpeculationRules();\n this.#observer = new MutationObserver(() => this.#toggleSpeculationRules());\n this.#observer.observe(globalThis.document.documentElement, {\n attributeFilter: ['nve-transition']\n });\n }\n }\n\n disable() {\n this.#removeSpeculationRules();\n this.#observer?.disconnect();\n }\n\n #toggleSpeculationRules() {\n if (globalThis.document && this.#nveTransition === 'auto') {\n if (!this.#hasSpeculationRules) {\n this.#appendSpeculationRules();\n }\n } else {\n this.#removeSpeculationRules();\n }\n }\n\n #appendSpeculationRules() {\n const speculationRules = globalThis.document.createElement('script');\n speculationRules.id = 'nve-speculationrules';\n speculationRules.type = 'speculationrules';\n speculationRules.textContent = JSON.stringify({\n prerender: [\n {\n where: { href_matches: '/*' },\n eagerness: 'moderate'\n }\n ]\n });\n globalThis.document.head.appendChild(speculationRules);\n }\n\n #removeSpeculationRules() {\n globalThis.document?.querySelector('#nve-speculationrules')?.remove();\n }\n}\n\n/**\n * The Transition Service provides setup to enable View Transitions APIs.\n * This includes initializing base speculation rules for smooth transition between navigations.\n *\n * https://developer.chrome.com/docs/web-platform/view-transitions/cross-document\n * https://developer.chrome.com/docs/web-platform/prerender-pages#speculation-rules-api\n */\nexport const TransitionService = new TransitionService_();\n"],"mappings":"AAmEA,IAAa,IAAoB,IAAI,MAhEZ;CACvB,IAAIA,KAAuB;EACzB,OAAO,WAAW,SAAS,cAAc,yBAAyB;CACpE;CAEA,IAAIC,KAAiB;EACnB,OAAO,WAAW,SAAS,gBAAgB,aAAa,gBAAgB;CAC1E;CAEA;CAEA,SAAS;EACP,AAAI,WAAW,aACb,KAAKC,IAAW,WAAW,GAC3B,KAAKC,GAAwB,GAC7B,KAAKD,KAAY,IAAI,uBAAuB,KAAKC,GAAwB,CAAC,GAC1E,KAAKD,GAAU,QAAQ,WAAW,SAAS,iBAAiB,EAC1D,iBAAiB,CAAC,gBAAgB,EACpC,CAAC;CAEL;CAEA,UAAU;EAER,AADA,KAAKE,GAAwB,GAC7B,KAAKF,IAAW,WAAW;CAC7B;CAEA,KAA0B;EACxB,AAAI,WAAW,YAAY,KAAKD,OAAmB,SAC5C,KAAKD,MACR,KAAKK,GAAwB,IAG/B,KAAKD,GAAwB;CAEjC;CAEA,KAA0B;EACxB,IAAM,IAAmB,WAAW,SAAS,cAAc,QAAQ;EAWnE,AAVA,EAAiB,KAAK,wBACtB,EAAiB,OAAO,oBACxB,EAAiB,cAAc,KAAK,UAAU,EAC5C,WAAW,CACT;GACE,OAAO,EAAE,cAAc,KAAK;GAC5B,WAAW;EACb,CACF,EACF,CAAC,GACD,WAAW,SAAS,KAAK,YAAY,CAAgB;CACvD;CAEA,KAA0B;EACxB,WAAW,UAAU,cAAc,uBAAuB,GAAG,OAAO;CACtE;AACF,EASwD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/internal/styles/index.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { unsafeCSS } from 'lit';\nimport base from './base.css?inline';\nimport state from './interaction-state.css?inline';\nimport _colorStateStyles from './color.state.css?inline';\nimport _statusStateStyles from './status.state.css?inline';\nimport _supportStateStyles from './support.state.css?inline';\n\nexport const colorStateStyles = _colorStateStyles;\n\nexport const statusStateStyles = _statusStateStyles;\n\nexport const supportStateStyles = _supportStateStyles;\n\nexport function useStyles(styles: unknown[]) {\n return [unsafeCSS(base), unsafeCSS(state), ...styles.map(s => unsafeCSS(s))];\n}\n"],"mappings":";;;;;;;AAUA,IAAa,IAAmB,GAEnB,IAAoB,GAEpB,IAAqB;AAElC,SAAgB,EAAU,GAAmB;AAC3C,QAAO;EAAC,EAAU,EAAK;EAAE,EAAU,EAAM;EAAE,GAAG,EAAO,KAAI,MAAK,EAAU,EAAE,CAAC;EAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/internal/styles/index.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { unsafeCSS } from 'lit';\nimport base from './base.css?inline';\nimport state from './interaction-state.css?inline';\nimport _colorStateStyles from './color.state.css?inline';\nimport _statusStateStyles from './status.state.css?inline';\nimport _supportStateStyles from './support.state.css?inline';\n\nexport const colorStateStyles = _colorStateStyles;\n\nexport const statusStateStyles = _statusStateStyles;\n\nexport const supportStateStyles = _supportStateStyles;\n\nexport function useStyles(styles: unknown[]) {\n return [unsafeCSS(base), unsafeCSS(state), ...styles.map(s => unsafeCSS(s))];\n}\n"],"mappings":";;;;;;;AAUA,IAAa,IAAmB,GAEnB,IAAoB,GAEpB,IAAqB;AAElC,SAAgB,EAAU,GAAmB;CAC3C,OAAO;EAAC,EAAU,CAAI;EAAG,EAAU,CAAK;EAAG,GAAG,EAAO,KAAI,MAAK,EAAU,CAAC,CAAC;CAAC;AAC7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"popover2.js","names":[],"sources":["../../../src/internal/styles/popover.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/* istanbul ignore file -- @preserve */\nimport { isServer } from 'lit';\nimport { supportsCSSPositionArea, supportsCSSLegacyInsetArea } from '../utils/supports.js';\nimport _popoverStyles from './popover.css?inline';\n\n// vite/esbuild minifier does not understand this syntax\nconst anchor = /* css */ `\n[internal-host] { anchor-name: --internal-host }\n.arrow { position-anchor: --internal-host }\n`;\n\nfunction getPopoverStyles() {\n if (!isServer && !supportsCSSPositionArea() && supportsCSSLegacyInsetArea()) {\n return _popoverStyles.replaceAll('position-area', 'inset-area') + anchor;\n } else {\n return _popoverStyles + anchor;\n }\n}\n\nexport const popoverStyles = getPopoverStyles();\n"],"mappings":";;;;;AASA,IAAM,IAAmB;AAKzB,SAAS,IAAmB;AAIxB,QAHE,CAAC,KAAY,CAAC,GAAyB,IAAI,GAA4B,GAClE,EAAe,WAAW,iBAAiB,aAAa,GAAG,IAE3D,IAAiB;;AAI5B,IAAa,IAAgB,GAAkB"}
1
+ {"version":3,"file":"popover2.js","names":[],"sources":["../../../src/internal/styles/popover.ts"],"sourcesContent":["// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/* istanbul ignore file -- @preserve */\nimport { isServer } from 'lit';\nimport { supportsCSSPositionArea, supportsCSSLegacyInsetArea } from '../utils/supports.js';\nimport _popoverStyles from './popover.css?inline';\n\n// vite/esbuild minifier does not understand this syntax\nconst anchor = /* css */ `\n[internal-host] { anchor-name: --internal-host }\n.arrow { position-anchor: --internal-host }\n`;\n\nfunction getPopoverStyles() {\n if (!isServer && !supportsCSSPositionArea() && supportsCSSLegacyInsetArea()) {\n return _popoverStyles.replaceAll('position-area', 'inset-area') + anchor;\n } else {\n return _popoverStyles + anchor;\n }\n}\n\nexport const popoverStyles = getPopoverStyles();\n"],"mappings":";;;;;AASA,IAAM,IAAmB;AAKzB,SAAS,IAAmB;CAIxB,OAHE,CAAC,KAAY,CAAC,EAAwB,KAAK,EAA2B,IACjE,EAAe,WAAW,iBAAiB,YAAY,IAAI,IAE3D,IAAiB;AAE5B;AAEA,IAAa,IAAgB,EAAiB"}