@nova-design-system/nova-webcomponents 3.0.0-beta.28 → 3.0.0-beta.29

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 (431) hide show
  1. package/dist/blazor-docs.json +760 -254
  2. package/dist/cjs/{app-globals-d8cbb987.js → app-globals-69764290.js} +2 -2
  3. package/dist/cjs/{app-globals-d8cbb987.js.map → app-globals-69764290.js.map} +1 -1
  4. package/dist/cjs/{index-c50face0.js → index-72b8a9ad.js} +847 -488
  5. package/dist/cjs/index-72b8a9ad.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +2 -2
  7. package/dist/cjs/native.cjs.js +3 -3
  8. package/dist/cjs/native.cjs.js.map +1 -1
  9. package/dist/cjs/nv-alert.cjs.entry.js +22 -9
  10. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nv-avatar.cjs.entry.js +8 -11
  12. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nv-badge.cjs.entry.js +40 -14
  14. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nv-base.cjs.entry.js +1 -1
  16. package/dist/cjs/nv-button.cjs.entry.js +40 -8
  17. package/dist/cjs/nv-button.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nv-col.cjs.entry.js +1 -2
  19. package/dist/cjs/nv-col.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nv-datagrid.cjs.entry.js +31 -5
  21. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nv-datagridbody.cjs.entry.js +1 -1
  23. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -3
  24. package/dist/cjs/nv-datagridcolumn.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-datagriddatacell.cjs.entry.js +1 -2
  26. package/dist/cjs/nv-datagriddatacell.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-datagridhead.cjs.entry.js +1 -1
  28. package/dist/cjs/nv-datagridrow.cjs.entry.js +1 -1
  29. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +40 -9
  30. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nv-fielddropdown.cjs.entry.js +58 -19
  32. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +11 -5
  34. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nv-fieldnumber.cjs.entry.js +44 -18
  36. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldpassword.cjs.entry.js +62 -21
  38. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldradio.cjs.entry.js +26 -8
  40. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldselect.cjs.entry.js +59 -18
  42. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js +52 -22
  44. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +58 -20
  46. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +19 -6
  48. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nv-icon.cjs.entry.js +4 -9
  50. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-iconbutton.cjs.entry.js +42 -9
  52. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nv-loader.cjs.entry.js +8 -2
  54. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nv-menu.cjs.entry.js +20 -1
  56. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nv-menuitem.cjs.entry.js +7 -3
  58. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nv-popover.cjs.entry.js +48 -12
  60. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nv-row.cjs.entry.js +1 -1
  62. package/dist/cjs/nv-stack.cjs.entry.js +7 -5
  63. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nv-table.cjs.entry.js +26 -5
  65. package/dist/cjs/nv-table.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nv-tablebody.cjs.entry.js +1 -1
  67. package/dist/cjs/nv-tablecolumn.cjs.entry.js +15 -4
  68. package/dist/cjs/nv-tablecolumn.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nv-tabledatacell.cjs.entry.js +17 -2
  70. package/dist/cjs/nv-tabledatacell.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nv-tablehead.cjs.entry.js +1 -1
  72. package/dist/cjs/nv-tablerow.cjs.entry.js +1 -1
  73. package/dist/cjs/nv-tooltip.cjs.entry.js +11 -2
  74. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -1
  75. package/dist/collection/collection-manifest.json +1 -1
  76. package/dist/collection/components/nv-alert/nv-alert.js +37 -8
  77. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -1
  78. package/dist/collection/components/nv-avatar/nv-avatar.js +31 -10
  79. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -1
  80. package/dist/collection/components/nv-badge/nv-badge.css +70 -0
  81. package/dist/collection/components/nv-badge/nv-badge.docs.js +1 -1
  82. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -1
  83. package/dist/collection/components/nv-badge/nv-badge.js +57 -13
  84. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -1
  85. package/dist/collection/components/nv-button/nv-button.js +53 -7
  86. package/dist/collection/components/nv-button/nv-button.js.map +1 -1
  87. package/dist/collection/components/nv-col/nv-col.js +2 -3
  88. package/dist/collection/components/nv-col/nv-col.js.map +1 -1
  89. package/dist/collection/components/nv-datagrid/nv-datagrid.js +42 -4
  90. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  91. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js +4 -4
  92. package/dist/collection/components/nv-datagridcolumn/nv-datagridcolumn.js.map +1 -1
  93. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js +2 -3
  94. package/dist/collection/components/nv-datagriddatacell/nv-datagriddatacell.js.map +1 -1
  95. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +73 -8
  96. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -1
  97. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js +87 -18
  98. package/dist/collection/components/nv-fielddropdown/nv-fielddropdown.js.map +1 -1
  99. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js +18 -4
  100. package/dist/collection/components/nv-fielddropdownitem/nv-fielddropdownitem.js.map +1 -1
  101. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +77 -17
  102. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  103. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +99 -20
  104. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -1
  105. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +49 -7
  106. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -1
  107. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +88 -17
  108. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -1
  109. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +93 -21
  110. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -1
  111. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +95 -19
  112. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -1
  113. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +38 -5
  114. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -1
  115. package/dist/collection/components/nv-icon/nv-icon.js +19 -8
  116. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -1
  117. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +57 -8
  118. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -1
  119. package/dist/collection/components/nv-loader/nv-loader.js +11 -1
  120. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -1
  121. package/dist/collection/components/nv-menu/nv-menu.js +27 -0
  122. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -1
  123. package/dist/collection/components/nv-menuitem/nv-menuitem.js +14 -2
  124. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -1
  125. package/dist/collection/components/nv-popover/nv-popover.js +70 -12
  126. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  127. package/dist/collection/components/nv-stack/nv-stack.js +16 -4
  128. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -1
  129. package/dist/collection/components/nv-table/nv-table.js +37 -4
  130. package/dist/collection/components/nv-table/nv-table.js.map +1 -1
  131. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js +24 -3
  132. package/dist/collection/components/nv-tablecolumn/nv-tablecolumn.js.map +1 -1
  133. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js +22 -1
  134. package/dist/collection/components/nv-tabledatacell/nv-tabledatacell.js.map +1 -1
  135. package/dist/collection/components/nv-tooltip/nv-tooltip.js +16 -1
  136. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -1
  137. package/dist/collection/dev/dev-components.js +1 -1
  138. package/dist/collection/dev/dev-components.js.map +1 -1
  139. package/dist/components/index.js +3 -3
  140. package/dist/components/nv-alert.js +23 -10
  141. package/dist/components/nv-alert.js.map +1 -1
  142. package/dist/components/nv-avatar.js +9 -12
  143. package/dist/components/nv-avatar.js.map +1 -1
  144. package/dist/components/nv-badge.js +41 -15
  145. package/dist/components/nv-badge.js.map +1 -1
  146. package/dist/components/nv-base.js +1 -1
  147. package/dist/components/nv-button.js +41 -9
  148. package/dist/components/nv-button.js.map +1 -1
  149. package/dist/components/nv-col.js +1 -2
  150. package/dist/components/nv-col.js.map +1 -1
  151. package/dist/components/nv-datagrid.js +31 -5
  152. package/dist/components/nv-datagrid.js.map +1 -1
  153. package/dist/components/nv-datagridbody.js +1 -1
  154. package/dist/components/nv-datagridcolumn.js +1 -3
  155. package/dist/components/nv-datagridcolumn.js.map +1 -1
  156. package/dist/components/nv-datagriddatacell.js +1 -2
  157. package/dist/components/nv-datagriddatacell.js.map +1 -1
  158. package/dist/components/nv-datagridhead.js +1 -1
  159. package/dist/components/nv-datagridrow.js +1 -1
  160. package/dist/components/nv-fieldcheckbox.js +40 -9
  161. package/dist/components/nv-fieldcheckbox.js.map +1 -1
  162. package/dist/components/nv-fielddropdown.js +63 -24
  163. package/dist/components/nv-fielddropdown.js.map +1 -1
  164. package/dist/components/nv-fielddropdownitem.js +1 -1
  165. package/dist/components/nv-fieldnumber.js +45 -19
  166. package/dist/components/nv-fieldnumber.js.map +1 -1
  167. package/dist/components/nv-fieldpassword.js +65 -24
  168. package/dist/components/nv-fieldpassword.js.map +1 -1
  169. package/dist/components/nv-fieldradio.js +26 -8
  170. package/dist/components/nv-fieldradio.js.map +1 -1
  171. package/dist/components/nv-fieldselect.js +60 -19
  172. package/dist/components/nv-fieldselect.js.map +1 -1
  173. package/dist/components/nv-fieldtext.js +53 -23
  174. package/dist/components/nv-fieldtext.js.map +1 -1
  175. package/dist/components/nv-fieldtextarea.js +58 -20
  176. package/dist/components/nv-fieldtextarea.js.map +1 -1
  177. package/dist/components/nv-fieldtoggle.js +19 -6
  178. package/dist/components/nv-fieldtoggle.js.map +1 -1
  179. package/dist/components/nv-icon.js +1 -1
  180. package/dist/components/nv-iconbutton.js +1 -1
  181. package/dist/components/nv-loader.js +1 -1
  182. package/dist/components/nv-menu.js +21 -2
  183. package/dist/components/nv-menu.js.map +1 -1
  184. package/dist/components/nv-menuitem.js +8 -4
  185. package/dist/components/nv-menuitem.js.map +1 -1
  186. package/dist/components/nv-popover.js +1 -1
  187. package/dist/components/nv-row.js +1 -1
  188. package/dist/components/nv-stack.js +7 -5
  189. package/dist/components/nv-stack.js.map +1 -1
  190. package/dist/components/nv-table.js +26 -5
  191. package/dist/components/nv-table.js.map +1 -1
  192. package/dist/components/nv-tablebody.js +1 -1
  193. package/dist/components/nv-tablecolumn.js +15 -4
  194. package/dist/components/nv-tablecolumn.js.map +1 -1
  195. package/dist/components/nv-tabledatacell.js +17 -2
  196. package/dist/components/nv-tabledatacell.js.map +1 -1
  197. package/dist/components/nv-tablehead.js +1 -1
  198. package/dist/components/nv-tablerow.js +1 -1
  199. package/dist/components/nv-tooltip.js +12 -3
  200. package/dist/components/nv-tooltip.js.map +1 -1
  201. package/dist/components/{p-d506ae63.js → p-0caa4741.js} +836 -491
  202. package/dist/components/p-0caa4741.js.map +1 -0
  203. package/dist/components/{p-689a7b38.js → p-39e93e5b.js} +5 -10
  204. package/dist/components/p-39e93e5b.js.map +1 -0
  205. package/dist/components/{p-8c8cf8ea.js → p-3ef4ded9.js} +9 -3
  206. package/dist/components/p-3ef4ded9.js.map +1 -0
  207. package/dist/components/{p-89fb6636.js → p-54ea8e62.js} +50 -14
  208. package/dist/components/p-54ea8e62.js.map +1 -0
  209. package/dist/components/{p-45405075.js → p-6c1b9782.js} +13 -7
  210. package/dist/components/p-6c1b9782.js.map +1 -0
  211. package/dist/components/{p-ae6a0d80.js → p-c08a278d.js} +207 -172
  212. package/dist/components/p-c08a278d.js.map +1 -0
  213. package/dist/components/{p-45c63143.js → p-f0d5586a.js} +45 -12
  214. package/dist/components/p-f0d5586a.js.map +1 -0
  215. package/dist/docs.d.ts +8 -0
  216. package/dist/docs.json +762 -256
  217. package/dist/esm/{app-globals-eea8674a.js → app-globals-c5484a00.js} +2 -2
  218. package/dist/esm/{app-globals-eea8674a.js.map → app-globals-c5484a00.js.map} +1 -1
  219. package/dist/esm/{index-e7b35c14.js → index-b6f70e4a.js} +847 -488
  220. package/dist/esm/index-b6f70e4a.js.map +1 -0
  221. package/dist/esm/loader.js +3 -3
  222. package/dist/esm/native.js +4 -4
  223. package/dist/esm/native.js.map +1 -1
  224. package/dist/esm/nv-alert.entry.js +22 -9
  225. package/dist/esm/nv-alert.entry.js.map +1 -1
  226. package/dist/esm/nv-avatar.entry.js +8 -11
  227. package/dist/esm/nv-avatar.entry.js.map +1 -1
  228. package/dist/esm/nv-badge.entry.js +40 -14
  229. package/dist/esm/nv-badge.entry.js.map +1 -1
  230. package/dist/esm/nv-base.entry.js +1 -1
  231. package/dist/esm/nv-button.entry.js +40 -8
  232. package/dist/esm/nv-button.entry.js.map +1 -1
  233. package/dist/esm/nv-col.entry.js +1 -2
  234. package/dist/esm/nv-col.entry.js.map +1 -1
  235. package/dist/esm/nv-datagrid.entry.js +31 -5
  236. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  237. package/dist/esm/nv-datagridbody.entry.js +1 -1
  238. package/dist/esm/nv-datagridcolumn.entry.js +1 -3
  239. package/dist/esm/nv-datagridcolumn.entry.js.map +1 -1
  240. package/dist/esm/nv-datagriddatacell.entry.js +1 -2
  241. package/dist/esm/nv-datagriddatacell.entry.js.map +1 -1
  242. package/dist/esm/nv-datagridhead.entry.js +1 -1
  243. package/dist/esm/nv-datagridrow.entry.js +1 -1
  244. package/dist/esm/nv-fieldcheckbox.entry.js +40 -9
  245. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -1
  246. package/dist/esm/nv-fielddropdown.entry.js +58 -19
  247. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  248. package/dist/esm/nv-fielddropdownitem.entry.js +11 -5
  249. package/dist/esm/nv-fielddropdownitem.entry.js.map +1 -1
  250. package/dist/esm/nv-fieldnumber.entry.js +44 -18
  251. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  252. package/dist/esm/nv-fieldpassword.entry.js +62 -21
  253. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  254. package/dist/esm/nv-fieldradio.entry.js +26 -8
  255. package/dist/esm/nv-fieldradio.entry.js.map +1 -1
  256. package/dist/esm/nv-fieldselect.entry.js +59 -18
  257. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  258. package/dist/esm/nv-fieldtext.entry.js +52 -22
  259. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  260. package/dist/esm/nv-fieldtextarea.entry.js +58 -20
  261. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  262. package/dist/esm/nv-fieldtoggle.entry.js +19 -6
  263. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -1
  264. package/dist/esm/nv-icon.entry.js +4 -9
  265. package/dist/esm/nv-icon.entry.js.map +1 -1
  266. package/dist/esm/nv-iconbutton.entry.js +42 -9
  267. package/dist/esm/nv-iconbutton.entry.js.map +1 -1
  268. package/dist/esm/nv-loader.entry.js +8 -2
  269. package/dist/esm/nv-loader.entry.js.map +1 -1
  270. package/dist/esm/nv-menu.entry.js +20 -1
  271. package/dist/esm/nv-menu.entry.js.map +1 -1
  272. package/dist/esm/nv-menuitem.entry.js +7 -3
  273. package/dist/esm/nv-menuitem.entry.js.map +1 -1
  274. package/dist/esm/nv-popover.entry.js +48 -12
  275. package/dist/esm/nv-popover.entry.js.map +1 -1
  276. package/dist/esm/nv-row.entry.js +1 -1
  277. package/dist/esm/nv-stack.entry.js +7 -5
  278. package/dist/esm/nv-stack.entry.js.map +1 -1
  279. package/dist/esm/nv-table.entry.js +26 -5
  280. package/dist/esm/nv-table.entry.js.map +1 -1
  281. package/dist/esm/nv-tablebody.entry.js +1 -1
  282. package/dist/esm/nv-tablecolumn.entry.js +15 -4
  283. package/dist/esm/nv-tablecolumn.entry.js.map +1 -1
  284. package/dist/esm/nv-tabledatacell.entry.js +17 -2
  285. package/dist/esm/nv-tabledatacell.entry.js.map +1 -1
  286. package/dist/esm/nv-tablehead.entry.js +1 -1
  287. package/dist/esm/nv-tablerow.entry.js +1 -1
  288. package/dist/esm/nv-tooltip.entry.js +11 -2
  289. package/dist/esm/nv-tooltip.entry.js.map +1 -1
  290. package/dist/native/native.css +1 -1
  291. package/dist/native/native.esm.js +1 -1
  292. package/dist/native/native.esm.js.map +1 -1
  293. package/dist/native/{p-dba9c57c.entry.js → p-01262eaf.entry.js} +2 -2
  294. package/dist/native/p-01262eaf.entry.js.map +1 -0
  295. package/dist/native/p-0bf2007c.entry.js +2 -0
  296. package/dist/native/p-0bf2007c.entry.js.map +1 -0
  297. package/dist/native/{p-69ca8c88.entry.js → p-11faaf31.entry.js} +2 -2
  298. package/dist/native/p-11faaf31.entry.js.map +1 -0
  299. package/dist/native/p-17dba26d.entry.js +2 -0
  300. package/dist/native/{p-39dbb15b.entry.js → p-25e410c1.entry.js} +2 -2
  301. package/dist/native/p-25e410c1.entry.js.map +1 -0
  302. package/dist/native/{p-808cf007.entry.js → p-2a6ca749.entry.js} +2 -2
  303. package/dist/native/p-2a6ca749.entry.js.map +1 -0
  304. package/dist/native/p-327fa1a0.entry.js +2 -0
  305. package/dist/native/p-3bc5875e.entry.js +2 -0
  306. package/dist/native/p-3bc5875e.entry.js.map +1 -0
  307. package/dist/native/p-47c78fe4.entry.js +2 -0
  308. package/dist/native/p-47c78fe4.entry.js.map +1 -0
  309. package/dist/native/{p-bdab3562.entry.js → p-4a64f5b0.entry.js} +2 -2
  310. package/dist/native/p-4a64f5b0.entry.js.map +1 -0
  311. package/dist/native/{p-13070761.entry.js → p-50c31094.entry.js} +2 -2
  312. package/dist/native/p-50c31094.entry.js.map +1 -0
  313. package/dist/native/{p-a59ec107.entry.js → p-605f8b3d.entry.js} +2 -2
  314. package/dist/native/p-605f8b3d.entry.js.map +1 -0
  315. package/dist/native/p-64ae9a21.entry.js +2 -0
  316. package/dist/native/p-64ae9a21.entry.js.map +1 -0
  317. package/dist/native/{p-20c7fc4d.entry.js → p-6e8bcd5b.entry.js} +2 -2
  318. package/dist/native/p-6e8bcd5b.entry.js.map +1 -0
  319. package/dist/native/{p-c4f7e36d.entry.js → p-6eb50254.entry.js} +2 -2
  320. package/dist/native/p-6eb50254.entry.js.map +1 -0
  321. package/dist/native/p-6ef216c4.js +3 -0
  322. package/dist/native/p-6ef216c4.js.map +1 -0
  323. package/dist/native/{p-1aaee302.entry.js → p-7701e4cc.entry.js} +2 -2
  324. package/dist/native/p-7701e4cc.entry.js.map +1 -0
  325. package/dist/native/p-86947929.entry.js +2 -0
  326. package/dist/native/{p-982e474f.entry.js.map → p-86947929.entry.js.map} +1 -1
  327. package/dist/native/p-8bfdda07.entry.js +2 -0
  328. package/dist/native/p-8bfdda07.entry.js.map +1 -0
  329. package/dist/native/p-8f95f4fa.entry.js +2 -0
  330. package/dist/native/p-8f95f4fa.entry.js.map +1 -0
  331. package/dist/native/{p-81256924.entry.js → p-919cf3ec.entry.js} +2 -2
  332. package/dist/native/p-919cf3ec.entry.js.map +1 -0
  333. package/dist/native/p-93eea6e1.entry.js +2 -0
  334. package/dist/native/{p-e842220b.entry.js.map → p-93eea6e1.entry.js.map} +1 -1
  335. package/dist/native/p-95714583.js +2 -0
  336. package/dist/native/p-9f89229b.entry.js +2 -0
  337. package/dist/native/{p-2fca31c0.entry.js.map → p-9f89229b.entry.js.map} +1 -1
  338. package/dist/native/{p-844f4878.entry.js → p-a64baca2.entry.js} +2 -2
  339. package/dist/native/p-a64baca2.entry.js.map +1 -0
  340. package/dist/native/{p-ea4092a7.entry.js → p-a89f5542.entry.js} +2 -2
  341. package/dist/native/p-a89f5542.entry.js.map +1 -0
  342. package/dist/native/p-b3ec71c9.entry.js +2 -0
  343. package/dist/native/p-bbe9a373.entry.js +2 -0
  344. package/dist/native/p-c2dfee1a.entry.js +2 -0
  345. package/dist/native/{p-0cfe2048.entry.js → p-c5e3e234.entry.js} +2 -2
  346. package/dist/native/p-c5e3e234.entry.js.map +1 -0
  347. package/dist/native/{p-c1c661a0.entry.js → p-c5e7ecc8.entry.js} +2 -2
  348. package/dist/native/p-c5e7ecc8.entry.js.map +1 -0
  349. package/dist/native/{p-36d5158c.entry.js → p-c85d031d.entry.js} +3 -3
  350. package/dist/native/p-c85d031d.entry.js.map +1 -0
  351. package/dist/native/{p-38817aa3.entry.js → p-cd75ee63.entry.js} +2 -2
  352. package/dist/native/p-cd75ee63.entry.js.map +1 -0
  353. package/dist/native/{p-e2df46e2.entry.js → p-d4277c50.entry.js} +2 -2
  354. package/dist/native/p-d4277c50.entry.js.map +1 -0
  355. package/dist/native/{p-75b5fdce.entry.js → p-df6c9137.entry.js} +2 -2
  356. package/dist/native/p-df6c9137.entry.js.map +1 -0
  357. package/dist/native/{p-330c929d.entry.js → p-e71fc762.entry.js} +2 -2
  358. package/dist/native/p-ef7f605a.entry.js +2 -0
  359. package/dist/native/p-f2e31579.entry.js +2 -0
  360. package/dist/native/{p-671699bf.entry.js.map → p-f2e31579.entry.js.map} +1 -1
  361. package/dist/native/{p-1edb76e1.entry.js → p-fa8a8b21.entry.js} +2 -2
  362. package/dist/native/p-fa8a8b21.entry.js.map +1 -0
  363. package/dist/types/components/nv-badge/nv-badge.d.ts +1 -1
  364. package/dist/types/components.d.ts +2 -2
  365. package/dist/vscode-data.json +1 -1
  366. package/hydrate/index.js +1507 -733
  367. package/hydrate/index.mjs +1507 -733
  368. package/package.json +7 -2
  369. package/readme.md +5 -1
  370. package/dist/cjs/index-c50face0.js.map +0 -1
  371. package/dist/components/p-45405075.js.map +0 -1
  372. package/dist/components/p-45c63143.js.map +0 -1
  373. package/dist/components/p-689a7b38.js.map +0 -1
  374. package/dist/components/p-89fb6636.js.map +0 -1
  375. package/dist/components/p-8c8cf8ea.js.map +0 -1
  376. package/dist/components/p-ae6a0d80.js.map +0 -1
  377. package/dist/components/p-d506ae63.js.map +0 -1
  378. package/dist/esm/index-e7b35c14.js.map +0 -1
  379. package/dist/native/p-01be802d.entry.js +0 -2
  380. package/dist/native/p-0cfe2048.entry.js.map +0 -1
  381. package/dist/native/p-13070761.entry.js.map +0 -1
  382. package/dist/native/p-1aaee302.entry.js.map +0 -1
  383. package/dist/native/p-1edb76e1.entry.js.map +0 -1
  384. package/dist/native/p-20c7fc4d.entry.js.map +0 -1
  385. package/dist/native/p-28cf537b.entry.js +0 -2
  386. package/dist/native/p-2fca31c0.entry.js +0 -2
  387. package/dist/native/p-36d5158c.entry.js.map +0 -1
  388. package/dist/native/p-38817aa3.entry.js.map +0 -1
  389. package/dist/native/p-39dbb15b.entry.js.map +0 -1
  390. package/dist/native/p-4b926563.entry.js +0 -2
  391. package/dist/native/p-4b926563.entry.js.map +0 -1
  392. package/dist/native/p-4e351d8e.entry.js +0 -2
  393. package/dist/native/p-4e351d8e.entry.js.map +0 -1
  394. package/dist/native/p-671699bf.entry.js +0 -2
  395. package/dist/native/p-69ca8c88.entry.js.map +0 -1
  396. package/dist/native/p-75b5fdce.entry.js.map +0 -1
  397. package/dist/native/p-7a7b9b95.entry.js +0 -2
  398. package/dist/native/p-808cf007.entry.js.map +0 -1
  399. package/dist/native/p-81256924.entry.js.map +0 -1
  400. package/dist/native/p-844f4878.entry.js.map +0 -1
  401. package/dist/native/p-861f91d3.entry.js +0 -2
  402. package/dist/native/p-9221f72a.entry.js +0 -2
  403. package/dist/native/p-982e474f.entry.js +0 -2
  404. package/dist/native/p-99850272.entry.js +0 -2
  405. package/dist/native/p-99850272.entry.js.map +0 -1
  406. package/dist/native/p-a59ec107.entry.js.map +0 -1
  407. package/dist/native/p-b4aea326.js +0 -3
  408. package/dist/native/p-b4aea326.js.map +0 -1
  409. package/dist/native/p-bdab3562.entry.js.map +0 -1
  410. package/dist/native/p-c1c661a0.entry.js.map +0 -1
  411. package/dist/native/p-c4f7e36d.entry.js.map +0 -1
  412. package/dist/native/p-dba9c57c.entry.js.map +0 -1
  413. package/dist/native/p-dbae3920.entry.js +0 -2
  414. package/dist/native/p-dbae3920.entry.js.map +0 -1
  415. package/dist/native/p-de6e0e1f.entry.js +0 -2
  416. package/dist/native/p-de6e0e1f.entry.js.map +0 -1
  417. package/dist/native/p-e2df46e2.entry.js.map +0 -1
  418. package/dist/native/p-e842220b.entry.js +0 -2
  419. package/dist/native/p-ea4092a7.entry.js.map +0 -1
  420. package/dist/native/p-ed893068.entry.js +0 -2
  421. package/dist/native/p-ed893068.entry.js.map +0 -1
  422. package/dist/native/p-eeb6a3dc.js +0 -2
  423. package/dist/native/p-f7b96c42.entry.js +0 -2
  424. /package/dist/native/{p-01be802d.entry.js.map → p-17dba26d.entry.js.map} +0 -0
  425. /package/dist/native/{p-861f91d3.entry.js.map → p-327fa1a0.entry.js.map} +0 -0
  426. /package/dist/native/{p-eeb6a3dc.js.map → p-95714583.js.map} +0 -0
  427. /package/dist/native/{p-9221f72a.entry.js.map → p-b3ec71c9.entry.js.map} +0 -0
  428. /package/dist/native/{p-7a7b9b95.entry.js.map → p-bbe9a373.entry.js.map} +0 -0
  429. /package/dist/native/{p-28cf537b.entry.js.map → p-c2dfee1a.entry.js.map} +0 -0
  430. /package/dist/native/{p-330c929d.entry.js.map → p-e71fc762.entry.js.map} +0 -0
  431. /package/dist/native/{p-f7b96c42.entry.js.map → p-ef7f605a.entry.js.map} +0 -0
package/hydrate/index.mjs CHANGED
@@ -124,7 +124,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
124
124
 
125
125
 
126
126
  const NAMESPACE = 'native';
127
- const BUILD = /* native */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
127
+ const BUILD = /* native */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: false, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: true, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: true, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: true, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, shadowDomShim: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
128
128
 
129
129
  // Prevents the dev components from being bundled in production as a component
130
130
  if (Build.isDev) {
@@ -132,7 +132,7 @@ if (Build.isDev) {
132
132
  }
133
133
 
134
134
  /*
135
- Stencil Hydrate Platform v4.22.3 | MIT Licensed | https://stenciljs.com
135
+ Stencil Hydrate Platform v4.23.1 | MIT Licensed | https://stenciljs.com
136
136
  */
137
137
  var __defProp = Object.defineProperty;
138
138
  var __export = (target, all) => {
@@ -144,9 +144,6 @@ var __export = (target, all) => {
144
144
  var EMPTY_OBJ = {};
145
145
  var SVG_NS = "http://www.w3.org/2000/svg";
146
146
  var HTML_NS = "http://www.w3.org/1999/xhtml";
147
-
148
- // src/utils/helpers.ts
149
- var isDef = (v) => v != null;
150
147
  var isComplexType = (o) => {
151
148
  o = typeof o;
152
149
  return o === "object" || o === "function";
@@ -206,26 +203,13 @@ var unwrapErr = (result) => {
206
203
  throw result.value;
207
204
  }
208
205
  };
209
- var createTime = (fnName, tagName = "") => {
210
- {
211
- return () => {
212
- return;
213
- };
214
- }
215
- };
216
- var uniqueTime = (key, measureText) => {
217
- {
218
- return () => {
219
- return;
220
- };
221
- }
222
- };
223
206
 
224
207
  // src/runtime/runtime-constants.ts
225
208
  var CONTENT_REF_ID = "r";
226
209
  var ORG_LOCATION_ID = "o";
227
210
  var SLOT_NODE_ID = "s";
228
211
  var TEXT_NODE_ID = "t";
212
+ var COMMENT_NODE_ID = "c";
229
213
  var HYDRATE_ID = "s-id";
230
214
  var HYDRATED_STYLE_ID = "sty-id";
231
215
  var HYDRATE_CHILD_ID = "c-id";
@@ -242,6 +226,95 @@ var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [
242
226
  "formDisabledCallback",
243
227
  "formStateRestoreCallback"
244
228
  ];
229
+ var updateFallbackSlotVisibility = (elm) => {
230
+ const childNodes = elm.__childNodes || elm.childNodes;
231
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
232
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
233
+ var _a;
234
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
235
+ if ((_a = getHostSlotChildNodes(slotNode, slotNode["s-sn"], false)) == null ? void 0 : _a.length) {
236
+ slotNode.hidden = true;
237
+ } else {
238
+ slotNode.hidden = false;
239
+ }
240
+ }
241
+ });
242
+ }
243
+ for (const childNode of childNodes) {
244
+ if (childNode.nodeType === 1 /* ElementNode */ && (childNode.__childNodes || childNode.childNodes).length) {
245
+ updateFallbackSlotVisibility(childNode);
246
+ }
247
+ }
248
+ };
249
+ var getHostSlotNodes = (childNodes, hostName, slotName) => {
250
+ let i2 = 0;
251
+ let slottedNodes = [];
252
+ let childNode;
253
+ for (; i2 < childNodes.length; i2++) {
254
+ childNode = childNodes[i2];
255
+ if (childNode["s-sr"] && childNode["s-hn"] === hostName && (!slotName || childNode["s-sn"] === slotName)) {
256
+ slottedNodes.push(childNode);
257
+ if (typeof slotName !== "undefined") return slottedNodes;
258
+ }
259
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
260
+ }
261
+ return slottedNodes;
262
+ };
263
+ var getHostSlotChildNodes = (node, slotName, includeSlot = true) => {
264
+ const childNodes = [];
265
+ if (includeSlot && node["s-sr"] || !node["s-sr"]) childNodes.push(node);
266
+ while ((node = node.nextSibling) && node["s-sn"] === slotName) {
267
+ childNodes.push(node);
268
+ }
269
+ return childNodes;
270
+ };
271
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
272
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
273
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
274
+ return true;
275
+ }
276
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
277
+ return true;
278
+ }
279
+ return false;
280
+ }
281
+ if (nodeToRelocate["s-sn"] === slotName) {
282
+ return true;
283
+ }
284
+ return slotName === "";
285
+ };
286
+ var addSlotRelocateNode = (newChild, slotNode, prepend, position) => {
287
+ let slottedNodeLocation;
288
+ if (newChild["s-ol"] && newChild["s-ol"].isConnected) {
289
+ slottedNodeLocation = newChild["s-ol"];
290
+ } else {
291
+ slottedNodeLocation = document.createTextNode("");
292
+ slottedNodeLocation["s-nr"] = newChild;
293
+ }
294
+ if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return;
295
+ const parent = slotNode["s-cr"].parentNode;
296
+ const appendMethod = prepend ? parent.__prepend || parent.prepend : parent.__appendChild || parent.appendChild;
297
+ if (typeof position !== "undefined") {
298
+ {
299
+ slottedNodeLocation["s-oo"] = position;
300
+ const childNodes = parent.__childNodes || parent.childNodes;
301
+ const slotRelocateNodes = [slottedNodeLocation];
302
+ childNodes.forEach((n) => {
303
+ if (n["s-nr"]) slotRelocateNodes.push(n);
304
+ });
305
+ slotRelocateNodes.sort((a, b) => {
306
+ if (!a["s-oo"] || a["s-oo"] < b["s-oo"]) return -1;
307
+ else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1;
308
+ return 0;
309
+ });
310
+ slotRelocateNodes.forEach((n) => appendMethod.call(parent, n));
311
+ }
312
+ } else {
313
+ appendMethod.call(parent, slottedNodeLocation);
314
+ }
315
+ newChild["s-ol"] = slottedNodeLocation;
316
+ newChild["s-sh"] = slotNode["s-hn"];
317
+ };
245
318
  var h = (nodeName, vnodeData, ...children) => {
246
319
  let child = null;
247
320
  let key = null;
@@ -316,293 +389,6 @@ var newVNode = (tag, text) => {
316
389
  };
317
390
  var Host = {};
318
391
  var isHost = (node) => node && node.$tag$ === Host;
319
-
320
- // src/runtime/client-hydrate.ts
321
- var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
322
- const endHydrate = createTime("hydrateClient", tagName);
323
- const shadowRoot = hostElm.shadowRoot;
324
- const childRenderNodes = [];
325
- const slotNodes = [];
326
- const shadowRootNodes = null;
327
- const vnode = hostRef.$vnode$ = newVNode(tagName, null);
328
- if (!plt.$orgLocNodes$) {
329
- initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
330
- }
331
- hostElm[HYDRATE_ID] = hostId;
332
- hostElm.removeAttribute(HYDRATE_ID);
333
- clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId);
334
- childRenderNodes.map((c) => {
335
- const orgLocationId = c.$hostId$ + "." + c.$nodeId$;
336
- const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
337
- const node = c.$elm$;
338
- if (orgLocationNode && supportsShadow && orgLocationNode["s-en"] === "") {
339
- orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
340
- }
341
- if (!shadowRoot) {
342
- node["s-hn"] = tagName;
343
- if (orgLocationNode) {
344
- node["s-ol"] = orgLocationNode;
345
- node["s-ol"]["s-nr"] = node;
346
- }
347
- }
348
- plt.$orgLocNodes$.delete(orgLocationId);
349
- });
350
- endHydrate();
351
- };
352
- var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => {
353
- let childNodeType;
354
- let childIdSplt;
355
- let childVNode;
356
- let i2;
357
- if (node.nodeType === 1 /* ElementNode */) {
358
- childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
359
- if (childNodeType) {
360
- childIdSplt = childNodeType.split(".");
361
- if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
362
- childVNode = {
363
- $flags$: 0,
364
- $hostId$: childIdSplt[0],
365
- $nodeId$: childIdSplt[1],
366
- $depth$: childIdSplt[2],
367
- $index$: childIdSplt[3],
368
- $tag$: node.tagName.toLowerCase(),
369
- $elm$: node,
370
- $attrs$: null,
371
- $children$: null,
372
- $key$: null,
373
- $name$: null,
374
- $text$: null
375
- };
376
- childRenderNodes.push(childVNode);
377
- node.removeAttribute(HYDRATE_CHILD_ID);
378
- if (!parentVNode.$children$) {
379
- parentVNode.$children$ = [];
380
- }
381
- parentVNode.$children$[childVNode.$index$] = childVNode;
382
- parentVNode = childVNode;
383
- if (shadowRootNodes && childVNode.$depth$ === "0") {
384
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
385
- }
386
- }
387
- }
388
- if (node.shadowRoot) {
389
- for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
390
- clientHydrate(
391
- parentVNode,
392
- childRenderNodes,
393
- slotNodes,
394
- shadowRootNodes,
395
- hostElm,
396
- node.shadowRoot.childNodes[i2],
397
- hostId
398
- );
399
- }
400
- }
401
- for (i2 = node.childNodes.length - 1; i2 >= 0; i2--) {
402
- clientHydrate(
403
- parentVNode,
404
- childRenderNodes,
405
- slotNodes,
406
- shadowRootNodes,
407
- hostElm,
408
- node.childNodes[i2],
409
- hostId
410
- );
411
- }
412
- } else if (node.nodeType === 8 /* CommentNode */) {
413
- childIdSplt = node.nodeValue.split(".");
414
- if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
415
- childNodeType = childIdSplt[0];
416
- childVNode = {
417
- $flags$: 0,
418
- $hostId$: childIdSplt[1],
419
- $nodeId$: childIdSplt[2],
420
- $depth$: childIdSplt[3],
421
- $index$: childIdSplt[4],
422
- $elm$: node,
423
- $attrs$: null,
424
- $children$: null,
425
- $key$: null,
426
- $name$: null,
427
- $tag$: null,
428
- $text$: null
429
- };
430
- if (childNodeType === TEXT_NODE_ID) {
431
- childVNode.$elm$ = node.nextSibling;
432
- if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
433
- childVNode.$text$ = childVNode.$elm$.textContent;
434
- childRenderNodes.push(childVNode);
435
- node.remove();
436
- if (!parentVNode.$children$) {
437
- parentVNode.$children$ = [];
438
- }
439
- parentVNode.$children$[childVNode.$index$] = childVNode;
440
- if (shadowRootNodes && childVNode.$depth$ === "0") {
441
- shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
442
- }
443
- }
444
- } else if (childVNode.$hostId$ === hostId) {
445
- if (childNodeType === SLOT_NODE_ID) {
446
- childVNode.$tag$ = "slot";
447
- if (childIdSplt[5]) {
448
- node["s-sn"] = childVNode.$name$ = childIdSplt[5];
449
- } else {
450
- node["s-sn"] = "";
451
- }
452
- node["s-sr"] = true;
453
- slotNodes.push(childVNode);
454
- if (!parentVNode.$children$) {
455
- parentVNode.$children$ = [];
456
- }
457
- parentVNode.$children$[childVNode.$index$] = childVNode;
458
- } else if (childNodeType === CONTENT_REF_ID) {
459
- {
460
- hostElm["s-cr"] = node;
461
- node["s-cn"] = true;
462
- }
463
- }
464
- }
465
- }
466
- } else if (parentVNode && parentVNode.$tag$ === "style") {
467
- const vnode = newVNode(null, node.textContent);
468
- vnode.$elm$ = node;
469
- vnode.$index$ = "0";
470
- parentVNode.$children$ = [vnode];
471
- }
472
- };
473
- var initializeDocumentHydrate = (node, orgLocNodes) => {
474
- if (node.nodeType === 1 /* ElementNode */) {
475
- let i2 = 0;
476
- if (node.shadowRoot) {
477
- for (; i2 < node.shadowRoot.childNodes.length; i2++) {
478
- initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
479
- }
480
- }
481
- for (i2 = 0; i2 < node.childNodes.length; i2++) {
482
- initializeDocumentHydrate(node.childNodes[i2], orgLocNodes);
483
- }
484
- } else if (node.nodeType === 8 /* CommentNode */) {
485
- const childIdSplt = node.nodeValue.split(".");
486
- if (childIdSplt[0] === ORG_LOCATION_ID) {
487
- orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
488
- node.nodeValue = "";
489
- node["s-en"] = childIdSplt[3];
490
- }
491
- }
492
- };
493
- var parsePropertyValue = (propValue, propType) => {
494
- if (propValue != null && !isComplexType(propValue)) {
495
- if (propType & 4 /* Boolean */) {
496
- return propValue === "false" ? false : propValue === "" || !!propValue;
497
- }
498
- if (propType & 2 /* Number */) {
499
- return parseFloat(propValue);
500
- }
501
- if (propType & 1 /* String */) {
502
- return String(propValue);
503
- }
504
- return propValue;
505
- }
506
- return propValue;
507
- };
508
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
509
-
510
- // src/runtime/event-emitter.ts
511
- var createEvent = (ref, name, flags) => {
512
- const elm = getElement(ref);
513
- return {
514
- emit: (detail) => {
515
- return emitEvent(elm, name, {
516
- bubbles: !!(flags & 4 /* Bubbles */),
517
- composed: !!(flags & 2 /* Composed */),
518
- cancelable: !!(flags & 1 /* Cancellable */),
519
- detail
520
- });
521
- }
522
- };
523
- };
524
- var emitEvent = (elm, name, opts) => {
525
- const ev = plt.ce(name, opts);
526
- elm.dispatchEvent(ev);
527
- return ev;
528
- };
529
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
530
- var registerStyle = (scopeId2, cssText, allowCS) => {
531
- let style = styles.get(scopeId2);
532
- {
533
- style = cssText;
534
- }
535
- styles.set(scopeId2, style);
536
- };
537
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
538
- var _a;
539
- const scopeId2 = getScopeId(cmpMeta);
540
- const style = styles.get(scopeId2);
541
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
542
- if (style) {
543
- if (typeof style === "string") {
544
- styleContainerNode = styleContainerNode.head || styleContainerNode;
545
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
546
- let styleElm;
547
- if (!appliedStyles) {
548
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
549
- }
550
- if (!appliedStyles.has(scopeId2)) {
551
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
552
- styleElm.innerHTML = style;
553
- } else {
554
- styleElm = doc.createElement("style");
555
- styleElm.innerHTML = style;
556
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
557
- if (nonce != null) {
558
- styleElm.setAttribute("nonce", nonce);
559
- }
560
- if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
561
- styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
562
- }
563
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
564
- if (styleContainerNode.nodeName === "HEAD") {
565
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
566
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
567
- styleContainerNode.insertBefore(styleElm, referenceNode2);
568
- } else if ("host" in styleContainerNode) {
569
- {
570
- const existingStyleContainer = styleContainerNode.querySelector("style");
571
- if (existingStyleContainer) {
572
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
573
- } else {
574
- styleContainerNode.prepend(styleElm);
575
- }
576
- }
577
- } else {
578
- styleContainerNode.append(styleElm);
579
- }
580
- }
581
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
582
- styleContainerNode.insertBefore(styleElm, null);
583
- }
584
- }
585
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
586
- styleElm.innerHTML += SLOT_FB_CSS;
587
- }
588
- if (appliedStyles) {
589
- appliedStyles.add(scopeId2);
590
- }
591
- }
592
- }
593
- }
594
- return scopeId2;
595
- };
596
- var attachStyles = (hostRef) => {
597
- const cmpMeta = hostRef.$cmpMeta$;
598
- const elm = hostRef.$hostElement$;
599
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
600
- addStyle(
601
- elm.getRootNode(),
602
- cmpMeta);
603
- endAttachStyles();
604
- };
605
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
606
392
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
607
393
  if (oldValue !== newValue) {
608
394
  let isProp = isMemberInElement(elm, memberName);
@@ -610,9 +396,19 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
610
396
  if (memberName === "class") {
611
397
  const classList = elm.classList;
612
398
  const oldClasses = parseClassList(oldValue);
613
- const newClasses = parseClassList(newValue);
614
- classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
615
- classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
399
+ let newClasses = parseClassList(newValue);
400
+ if (elm["s-si"]) {
401
+ newClasses.push(elm["s-si"]);
402
+ oldClasses.forEach((c) => {
403
+ if (c.startsWith(elm["s-si"])) newClasses.push(c);
404
+ });
405
+ newClasses = [...new Set(newClasses)];
406
+ classList.add(...newClasses);
407
+ delete elm["s-si"];
408
+ } else {
409
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
410
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
411
+ }
616
412
  } else if (memberName === "style") {
617
413
  {
618
414
  for (const prop in oldValue) {
@@ -688,8 +484,16 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
688
484
  }
689
485
  }
690
486
  };
691
- var parseClassListRegex = /\s/;
692
- var parseClassList = (value) => !value ? [] : value.split(parseClassListRegex);
487
+ var parseClassListRegex = /\s/;
488
+ var parseClassList = (value) => {
489
+ if (typeof value === "object" && "baseVal" in value) {
490
+ value = value.baseVal;
491
+ }
492
+ if (!value) {
493
+ return [];
494
+ }
495
+ return value.split(parseClassListRegex);
496
+ };
693
497
  var CAPTURE_EVENT_SUFFIX = "Capture";
694
498
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
695
499
 
@@ -718,16 +522,13 @@ function sortedAttrNames(attrNames) {
718
522
  attrNames
719
523
  );
720
524
  }
721
-
722
- // src/runtime/vdom/vdom-render.ts
723
- var scopeId;
724
525
  var contentRef;
725
526
  var hostTagName;
726
527
  var useNativeShadowDom = false;
727
528
  var checkSlotFallbackVisibility = false;
728
529
  var checkSlotRelocate = false;
729
530
  var isSvgMode = false;
730
- var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
531
+ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
731
532
  var _a;
732
533
  const newVNode2 = newParentVNode.$children$[childIndex];
733
534
  let i2 = 0;
@@ -767,11 +568,6 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
767
568
  {
768
569
  updateElement(null, newVNode2, isSvgMode);
769
570
  }
770
- const rootNode = elm.getRootNode();
771
- const isElementWithinShadowRoot = !rootNode.querySelector("body");
772
- if (!isElementWithinShadowRoot && BUILD.scoped && isDef(scopeId) && elm["s-si"] !== scopeId) {
773
- elm.classList.add(elm["s-si"] = scopeId);
774
- }
775
571
  if (newVNode2.$children$) {
776
572
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
777
573
  childNode = createElm(oldParentVNode, newVNode2, i2);
@@ -807,7 +603,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
807
603
  };
808
604
  var putBackInOriginalLocation = (parentElm, recursive) => {
809
605
  plt.$flags$ |= 1 /* isTmpDisconnected */;
810
- const oldSlotChildNodes = Array.from(parentElm.childNodes);
606
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
811
607
  if (parentElm["s-sr"] && BUILD.experimentalSlotFixes) {
812
608
  let node = parentElm;
813
609
  while (node = node.nextSibling) {
@@ -819,7 +615,7 @@ var putBackInOriginalLocation = (parentElm, recursive) => {
819
615
  for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
820
616
  const childNode = oldSlotChildNodes[i2];
821
617
  if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
822
- insertBefore(parentReferenceNode(childNode), childNode, referenceNode(childNode));
618
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
823
619
  childNode["s-ol"].remove();
824
620
  childNode["s-ol"] = void 0;
825
621
  childNode["s-sh"] = void 0;
@@ -936,7 +732,11 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
936
732
  }
937
733
  if (node) {
938
734
  {
939
- insertBefore(parentReferenceNode(oldStartVnode.$elm$), node, referenceNode(oldStartVnode.$elm$));
735
+ insertBefore(
736
+ referenceNode(oldStartVnode.$elm$).parentNode,
737
+ node,
738
+ referenceNode(oldStartVnode.$elm$)
739
+ );
940
740
  }
941
741
  }
942
742
  }
@@ -957,28 +757,19 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
957
757
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
958
758
  if (leftVNode.$tag$ === rightVNode.$tag$) {
959
759
  if (leftVNode.$tag$ === "slot") {
960
- if (
961
- // The component gets hydrated and no VDOM has been initialized.
962
- // Here the comparison can't happen as $name$ property is not set for `leftNode`.
963
- "$nodeId$" in leftVNode && isInitialRender && // `leftNode` is not from type HTMLComment which would cause many
964
- // hydration comments to be removed
965
- leftVNode.$elm$.nodeType !== 8
966
- ) {
967
- return false;
968
- }
969
760
  return leftVNode.$name$ === rightVNode.$name$;
970
761
  }
971
762
  if (!isInitialRender) {
972
763
  return leftVNode.$key$ === rightVNode.$key$;
973
764
  }
765
+ if (isInitialRender && !leftVNode.$key$ && rightVNode.$key$) {
766
+ leftVNode.$key$ = rightVNode.$key$;
767
+ }
974
768
  return true;
975
769
  }
976
770
  return false;
977
771
  };
978
- var referenceNode = (node) => {
979
- return node && node["s-ol"] || node;
980
- };
981
- var parentReferenceNode = (node) => (node["s-ol"] ? node["s-ol"] : node).parentNode;
772
+ var referenceNode = (node) => node && node["s-ol"] || node;
982
773
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
983
774
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
984
775
  const oldChildren = oldVNode.$children$;
@@ -1017,41 +808,15 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1017
808
  elm.data = text;
1018
809
  }
1019
810
  };
1020
- var updateFallbackSlotVisibility = (elm) => {
1021
- const childNodes = elm.childNodes;
1022
- for (const childNode of childNodes) {
1023
- if (childNode.nodeType === 1 /* ElementNode */) {
1024
- if (childNode["s-sr"]) {
1025
- const slotName = childNode["s-sn"];
1026
- childNode.hidden = false;
1027
- for (const siblingNode of childNodes) {
1028
- if (siblingNode !== childNode) {
1029
- if (siblingNode["s-hn"] !== childNode["s-hn"] || slotName !== "") {
1030
- if (siblingNode.nodeType === 1 /* ElementNode */ && (slotName === siblingNode.getAttribute("slot") || slotName === siblingNode["s-sn"]) || siblingNode.nodeType === 3 /* TextNode */ && slotName === siblingNode["s-sn"]) {
1031
- childNode.hidden = true;
1032
- break;
1033
- }
1034
- } else {
1035
- if (siblingNode.nodeType === 1 /* ElementNode */ || siblingNode.nodeType === 3 /* TextNode */ && siblingNode.textContent.trim() !== "") {
1036
- childNode.hidden = true;
1037
- break;
1038
- }
1039
- }
1040
- }
1041
- }
1042
- }
1043
- updateFallbackSlotVisibility(childNode);
1044
- }
1045
- }
1046
- };
1047
811
  var relocateNodes = [];
1048
812
  var markSlotContentForRelocation = (elm) => {
1049
813
  let node;
1050
814
  let hostContentNodes;
1051
815
  let j;
1052
- for (const childNode of elm.childNodes) {
816
+ const children = elm.__childNodes || elm.childNodes;
817
+ for (const childNode of children) {
1053
818
  if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1054
- hostContentNodes = node.parentNode.childNodes;
819
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1055
820
  const slotName = childNode["s-sn"];
1056
821
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1057
822
  node = hostContentNodes[j];
@@ -1080,145 +845,560 @@ var markSlotContentForRelocation = (elm) => {
1080
845
  }
1081
846
  });
1082
847
  }
1083
- } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1084
- relocateNodes.push({
1085
- $nodeToRelocate$: node
1086
- });
848
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
849
+ relocateNodes.push({
850
+ $nodeToRelocate$: node
851
+ });
852
+ }
853
+ }
854
+ }
855
+ }
856
+ if (childNode.nodeType === 1 /* ElementNode */) {
857
+ markSlotContentForRelocation(childNode);
858
+ }
859
+ }
860
+ };
861
+ var nullifyVNodeRefs = (vNode) => {
862
+ {
863
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
864
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
865
+ }
866
+ };
867
+ var insertBefore = (parent, newNode, reference) => {
868
+ const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
869
+ return inserted;
870
+ };
871
+ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
872
+ var _c, _d;
873
+ const hostElm = hostRef.$hostElement$;
874
+ const cmpMeta = hostRef.$cmpMeta$;
875
+ const oldVNode = hostRef.$vnode$ || newVNode(null, null);
876
+ const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
877
+ hostTagName = hostElm.tagName;
878
+ if (cmpMeta.$attrsToReflect$) {
879
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
880
+ cmpMeta.$attrsToReflect$.map(
881
+ ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
882
+ );
883
+ }
884
+ if (isInitialLoad && rootVnode.$attrs$) {
885
+ for (const key of Object.keys(rootVnode.$attrs$)) {
886
+ if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
887
+ rootVnode.$attrs$[key] = hostElm[key];
888
+ }
889
+ }
890
+ }
891
+ rootVnode.$tag$ = null;
892
+ rootVnode.$flags$ |= 4 /* isHost */;
893
+ hostRef.$vnode$ = rootVnode;
894
+ rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
895
+ useNativeShadowDom = supportsShadow ;
896
+ {
897
+ contentRef = hostElm["s-cr"];
898
+ checkSlotFallbackVisibility = false;
899
+ }
900
+ patch(oldVNode, rootVnode, isInitialLoad);
901
+ {
902
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
903
+ if (checkSlotRelocate) {
904
+ markSlotContentForRelocation(rootVnode.$elm$);
905
+ for (const relocateData of relocateNodes) {
906
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
907
+ if (!nodeToRelocate["s-ol"]) {
908
+ const orgLocationNode = originalLocationDebugNode(nodeToRelocate) ;
909
+ orgLocationNode["s-nr"] = nodeToRelocate;
910
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
911
+ }
912
+ }
913
+ for (const relocateData of relocateNodes) {
914
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
915
+ const slotRefNode = relocateData.$slotRefNode$;
916
+ if (slotRefNode) {
917
+ const parentNodeRef = slotRefNode.parentNode;
918
+ let insertBeforeNode = slotRefNode.nextSibling;
919
+ if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
920
+ if (nodeToRelocate !== insertBeforeNode) {
921
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
922
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
923
+ }
924
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
925
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
926
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
927
+ }
928
+ }
929
+ }
930
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
931
+ } else {
932
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
933
+ if (isInitialLoad) {
934
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
935
+ }
936
+ nodeToRelocate.hidden = true;
937
+ }
938
+ }
939
+ }
940
+ }
941
+ if (checkSlotFallbackVisibility) {
942
+ updateFallbackSlotVisibility(rootVnode.$elm$);
943
+ }
944
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
945
+ relocateNodes.length = 0;
946
+ }
947
+ contentRef = void 0;
948
+ };
949
+ var slotReferenceDebugNode = (slotVNode) => doc.createComment(
950
+ `<slot${slotVNode.$name$ ? ' name="' + slotVNode.$name$ + '"' : ""}> (host=${hostTagName.toLowerCase()})`
951
+ );
952
+ var originalLocationDebugNode = (nodeToRelocate) => doc.createComment(
953
+ `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
954
+ );
955
+ var createTime = (fnName, tagName = "") => {
956
+ {
957
+ return () => {
958
+ return;
959
+ };
960
+ }
961
+ };
962
+ var uniqueTime = (key, measureText) => {
963
+ {
964
+ return () => {
965
+ return;
966
+ };
967
+ }
968
+ };
969
+
970
+ // src/runtime/client-hydrate.ts
971
+ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
972
+ const endHydrate = createTime("hydrateClient", tagName);
973
+ const shadowRoot = hostElm.shadowRoot;
974
+ const childRenderNodes = [];
975
+ const slotNodes = [];
976
+ const slottedNodes = [];
977
+ const shadowRootNodes = null;
978
+ const vnode = newVNode(tagName, null);
979
+ vnode.$elm$ = hostElm;
980
+ if (!plt.$orgLocNodes$) {
981
+ initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
982
+ }
983
+ hostElm[HYDRATE_ID] = hostId;
984
+ hostElm.removeAttribute(HYDRATE_ID);
985
+ hostRef.$vnode$ = clientHydrate(
986
+ vnode,
987
+ childRenderNodes,
988
+ slotNodes,
989
+ shadowRootNodes,
990
+ hostElm,
991
+ hostElm,
992
+ hostId,
993
+ slottedNodes
994
+ );
995
+ let crIndex = 0;
996
+ const crLength = childRenderNodes.length;
997
+ let childRenderNode;
998
+ for (crIndex; crIndex < crLength; crIndex++) {
999
+ childRenderNode = childRenderNodes[crIndex];
1000
+ const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$;
1001
+ const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId);
1002
+ const node = childRenderNode.$elm$;
1003
+ if (!shadowRoot) {
1004
+ node["s-hn"] = tagName.toUpperCase();
1005
+ if (childRenderNode.$tag$ === "slot") {
1006
+ node["s-cr"] = hostElm["s-cr"];
1007
+ }
1008
+ }
1009
+ if (childRenderNode.$tag$ === "slot") {
1010
+ if (childRenderNode.$children$) {
1011
+ childRenderNode.$flags$ |= 2 /* isSlotFallback */;
1012
+ if (!childRenderNode.$elm$.childNodes.length) {
1013
+ childRenderNode.$children$.forEach((c) => {
1014
+ childRenderNode.$elm$.appendChild(c.$elm$);
1015
+ });
1016
+ }
1017
+ } else {
1018
+ childRenderNode.$flags$ |= 1 /* isSlotReference */;
1019
+ }
1020
+ }
1021
+ if (orgLocationNode && orgLocationNode.isConnected) {
1022
+ if (shadowRoot && orgLocationNode["s-en"] === "") {
1023
+ orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
1024
+ }
1025
+ orgLocationNode.parentNode.removeChild(orgLocationNode);
1026
+ if (!shadowRoot) {
1027
+ node["s-oo"] = parseInt(childRenderNode.$nodeId$);
1028
+ }
1029
+ }
1030
+ plt.$orgLocNodes$.delete(orgLocationId);
1031
+ }
1032
+ const hosts = [];
1033
+ const snLen = slottedNodes.length;
1034
+ let snIndex = 0;
1035
+ let slotGroup;
1036
+ let snGroupIdx;
1037
+ let snGroupLen;
1038
+ let slottedItem;
1039
+ for (snIndex; snIndex < snLen; snIndex++) {
1040
+ slotGroup = slottedNodes[snIndex];
1041
+ if (!slotGroup || !slotGroup.length) continue;
1042
+ snGroupLen = slotGroup.length;
1043
+ snGroupIdx = 0;
1044
+ for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) {
1045
+ slottedItem = slotGroup[snGroupIdx];
1046
+ if (!hosts[slottedItem.hostId]) {
1047
+ hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId);
1048
+ }
1049
+ if (!hosts[slottedItem.hostId]) continue;
1050
+ const hostEle = hosts[slottedItem.hostId];
1051
+ if (!hostEle.shadowRoot || !shadowRoot) {
1052
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
1053
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
1054
+ slottedItem.slot["s-cr"] = hostEle;
1055
+ } else {
1056
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
1057
+ }
1058
+ addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
1059
+ }
1060
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
1061
+ hostEle.appendChild(slottedItem.node);
1062
+ }
1063
+ }
1064
+ }
1065
+ hostRef.$hostElement$ = hostElm;
1066
+ endHydrate();
1067
+ };
1068
+ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => {
1069
+ let childNodeType;
1070
+ let childIdSplt;
1071
+ let childVNode;
1072
+ let i2;
1073
+ if (node.nodeType === 1 /* ElementNode */) {
1074
+ childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
1075
+ if (childNodeType) {
1076
+ childIdSplt = childNodeType.split(".");
1077
+ if (childIdSplt[0] === hostId || childIdSplt[0] === "0") {
1078
+ childVNode = createSimpleVNode({
1079
+ $flags$: 0,
1080
+ $hostId$: childIdSplt[0],
1081
+ $nodeId$: childIdSplt[1],
1082
+ $depth$: childIdSplt[2],
1083
+ $index$: childIdSplt[3],
1084
+ $tag$: node.tagName.toLowerCase(),
1085
+ $elm$: node,
1086
+ // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch
1087
+ // won't try to reconcile them. Classes set on the node will be blown away.
1088
+ $attrs$: { class: node.className || "" }
1089
+ });
1090
+ childRenderNodes.push(childVNode);
1091
+ node.removeAttribute(HYDRATE_CHILD_ID);
1092
+ if (!parentVNode.$children$) {
1093
+ parentVNode.$children$ = [];
1094
+ }
1095
+ const slotName = childVNode.$elm$.getAttribute("s-sn");
1096
+ if (typeof slotName === "string") {
1097
+ if (childVNode.$tag$ === "slot-fb") {
1098
+ addSlot(
1099
+ slotName,
1100
+ childIdSplt[2],
1101
+ childVNode,
1102
+ node,
1103
+ parentVNode,
1104
+ childRenderNodes,
1105
+ slotNodes,
1106
+ shadowRootNodes,
1107
+ slottedNodes
1108
+ );
1109
+ }
1110
+ childVNode.$elm$["s-sn"] = slotName;
1111
+ childVNode.$elm$.removeAttribute("s-sn");
1112
+ }
1113
+ if (childVNode.$index$ !== void 0) {
1114
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1115
+ }
1116
+ parentVNode = childVNode;
1117
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
1118
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1119
+ }
1120
+ }
1121
+ }
1122
+ if (node.shadowRoot) {
1123
+ for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) {
1124
+ clientHydrate(
1125
+ parentVNode,
1126
+ childRenderNodes,
1127
+ slotNodes,
1128
+ shadowRootNodes,
1129
+ hostElm,
1130
+ node.shadowRoot.childNodes[i2],
1131
+ hostId,
1132
+ slottedNodes
1133
+ );
1134
+ }
1135
+ }
1136
+ const nonShadowNodes = node.__childNodes || node.childNodes;
1137
+ for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) {
1138
+ clientHydrate(
1139
+ parentVNode,
1140
+ childRenderNodes,
1141
+ slotNodes,
1142
+ shadowRootNodes,
1143
+ hostElm,
1144
+ nonShadowNodes[i2],
1145
+ hostId,
1146
+ slottedNodes
1147
+ );
1148
+ }
1149
+ } else if (node.nodeType === 8 /* CommentNode */) {
1150
+ childIdSplt = node.nodeValue.split(".");
1151
+ if (childIdSplt[1] === hostId || childIdSplt[1] === "0") {
1152
+ childNodeType = childIdSplt[0];
1153
+ childVNode = createSimpleVNode({
1154
+ $hostId$: childIdSplt[1],
1155
+ $nodeId$: childIdSplt[2],
1156
+ $depth$: childIdSplt[3],
1157
+ $index$: childIdSplt[4] || "0",
1158
+ $elm$: node,
1159
+ $attrs$: null,
1160
+ $children$: null,
1161
+ $key$: null,
1162
+ $name$: null,
1163
+ $tag$: null,
1164
+ $text$: null
1165
+ });
1166
+ if (childNodeType === TEXT_NODE_ID) {
1167
+ childVNode.$elm$ = node.nextSibling;
1168
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) {
1169
+ childVNode.$text$ = childVNode.$elm$.textContent;
1170
+ childRenderNodes.push(childVNode);
1171
+ node.remove();
1172
+ if (hostId === childVNode.$hostId$) {
1173
+ if (!parentVNode.$children$) {
1174
+ parentVNode.$children$ = [];
1175
+ }
1176
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1177
+ }
1178
+ if (shadowRootNodes && childVNode.$depth$ === "0") {
1179
+ shadowRootNodes[childVNode.$index$] = childVNode.$elm$;
1180
+ }
1181
+ }
1182
+ } else if (childNodeType === COMMENT_NODE_ID) {
1183
+ childVNode.$elm$ = node.nextSibling;
1184
+ if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) {
1185
+ childRenderNodes.push(childVNode);
1186
+ node.remove();
1187
+ }
1188
+ } else if (childVNode.$hostId$ === hostId) {
1189
+ if (childNodeType === SLOT_NODE_ID) {
1190
+ const slotName = node["s-sn"] = childIdSplt[5] || "";
1191
+ addSlot(
1192
+ slotName,
1193
+ childIdSplt[2],
1194
+ childVNode,
1195
+ node,
1196
+ parentVNode,
1197
+ childRenderNodes,
1198
+ slotNodes,
1199
+ shadowRootNodes,
1200
+ slottedNodes
1201
+ );
1202
+ } else if (childNodeType === CONTENT_REF_ID) {
1203
+ {
1204
+ hostElm["s-cr"] = node;
1205
+ node["s-cn"] = true;
1087
1206
  }
1088
1207
  }
1089
1208
  }
1090
1209
  }
1091
- if (childNode.nodeType === 1 /* ElementNode */) {
1092
- markSlotContentForRelocation(childNode);
1093
- }
1210
+ } else if (parentVNode && parentVNode.$tag$ === "style") {
1211
+ const vnode = newVNode(null, node.textContent);
1212
+ vnode.$elm$ = node;
1213
+ vnode.$index$ = "0";
1214
+ parentVNode.$children$ = [vnode];
1094
1215
  }
1216
+ return parentVNode;
1095
1217
  };
1096
- var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1097
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1098
- if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
1099
- return true;
1218
+ var initializeDocumentHydrate = (node, orgLocNodes) => {
1219
+ if (node.nodeType === 1 /* ElementNode */) {
1220
+ const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID);
1221
+ if (componentId) {
1222
+ orgLocNodes.set(componentId, node);
1100
1223
  }
1101
- if (nodeToRelocate.getAttribute("slot") === slotName) {
1102
- return true;
1224
+ let i2 = 0;
1225
+ if (node.shadowRoot) {
1226
+ for (; i2 < node.shadowRoot.childNodes.length; i2++) {
1227
+ initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes);
1228
+ }
1229
+ }
1230
+ const nonShadowNodes = node.__childNodes || node.childNodes;
1231
+ for (i2 = 0; i2 < nonShadowNodes.length; i2++) {
1232
+ initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes);
1233
+ }
1234
+ } else if (node.nodeType === 8 /* CommentNode */) {
1235
+ const childIdSplt = node.nodeValue.split(".");
1236
+ if (childIdSplt[0] === ORG_LOCATION_ID) {
1237
+ orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node);
1238
+ node.nodeValue = "";
1239
+ node["s-en"] = childIdSplt[3];
1103
1240
  }
1104
- return false;
1105
- }
1106
- if (nodeToRelocate["s-sn"] === slotName) {
1107
- return true;
1108
1241
  }
1109
- return slotName === "";
1110
1242
  };
1111
- var nullifyVNodeRefs = (vNode) => {
1243
+ var createSimpleVNode = (vnode) => {
1244
+ const defaultVNode = {
1245
+ $flags$: 0,
1246
+ $hostId$: null,
1247
+ $nodeId$: null,
1248
+ $depth$: null,
1249
+ $index$: "0",
1250
+ $elm$: null,
1251
+ $attrs$: null,
1252
+ $children$: null,
1253
+ $key$: null,
1254
+ $name$: null,
1255
+ $tag$: null,
1256
+ $text$: null
1257
+ };
1258
+ return { ...defaultVNode, ...vnode };
1259
+ };
1260
+ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) {
1261
+ node["s-sr"] = true;
1262
+ childVNode.$name$ = slotName || null;
1263
+ childVNode.$tag$ = "slot";
1264
+ const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : "";
1112
1265
  {
1113
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1114
- vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1266
+ const slot = childVNode.$elm$;
1267
+ const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot;
1268
+ addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$);
1269
+ if (shouldMove) {
1270
+ parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1271
+ }
1272
+ childRenderNodes.push(childVNode);
1115
1273
  }
1116
- };
1117
- var insertBefore = (parent, newNode, reference) => {
1118
- const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
1119
- return inserted;
1120
- };
1121
- var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1122
- var _a, _b, _c, _d;
1123
- const hostElm = hostRef.$hostElement$;
1124
- const cmpMeta = hostRef.$cmpMeta$;
1125
- const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1126
- const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1127
- hostTagName = hostElm.tagName;
1128
- if (cmpMeta.$attrsToReflect$) {
1129
- rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1130
- cmpMeta.$attrsToReflect$.map(
1131
- ([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]
1132
- );
1274
+ slotNodes.push(childVNode);
1275
+ if (!parentVNode.$children$) {
1276
+ parentVNode.$children$ = [];
1133
1277
  }
1134
- if (isInitialLoad && rootVnode.$attrs$) {
1135
- for (const key of Object.keys(rootVnode.$attrs$)) {
1136
- if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
1137
- rootVnode.$attrs$[key] = hostElm[key];
1138
- }
1278
+ parentVNode.$children$[childVNode.$index$] = childVNode;
1279
+ }
1280
+ var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1281
+ let slottedNode = slotNode.nextSibling;
1282
+ slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1283
+ while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
1284
+ slottedNode["s-sn"] = slotName;
1285
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1286
+ slottedNode = slottedNode.nextSibling;
1287
+ }
1288
+ };
1289
+ var parsePropertyValue = (propValue, propType) => {
1290
+ if (propValue != null && !isComplexType(propValue)) {
1291
+ if (propType & 4 /* Boolean */) {
1292
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1293
+ }
1294
+ if (propType & 2 /* Number */) {
1295
+ return parseFloat(propValue);
1296
+ }
1297
+ if (propType & 1 /* String */) {
1298
+ return String(propValue);
1139
1299
  }
1300
+ return propValue;
1140
1301
  }
1141
- rootVnode.$tag$ = null;
1142
- rootVnode.$flags$ |= 4 /* isHost */;
1143
- hostRef.$vnode$ = rootVnode;
1144
- rootVnode.$elm$ = oldVNode.$elm$ = hostElm;
1145
- useNativeShadowDom = supportsShadow ;
1302
+ return propValue;
1303
+ };
1304
+ var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1305
+
1306
+ // src/runtime/event-emitter.ts
1307
+ var createEvent = (ref, name, flags) => {
1308
+ const elm = getElement(ref);
1309
+ return {
1310
+ emit: (detail) => {
1311
+ return emitEvent(elm, name, {
1312
+ bubbles: !!(flags & 4 /* Bubbles */),
1313
+ composed: !!(flags & 2 /* Composed */),
1314
+ cancelable: !!(flags & 1 /* Cancellable */),
1315
+ detail
1316
+ });
1317
+ }
1318
+ };
1319
+ };
1320
+ var emitEvent = (elm, name, opts) => {
1321
+ const ev = plt.ce(name, opts);
1322
+ elm.dispatchEvent(ev);
1323
+ return ev;
1324
+ };
1325
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1326
+ var registerStyle = (scopeId2, cssText, allowCS) => {
1327
+ let style = styles.get(scopeId2);
1146
1328
  {
1147
- contentRef = hostElm["s-cr"];
1148
- checkSlotFallbackVisibility = false;
1329
+ style = cssText;
1149
1330
  }
1150
- patch(oldVNode, rootVnode, isInitialLoad);
1151
- {
1152
- plt.$flags$ |= 1 /* isTmpDisconnected */;
1153
- if (checkSlotRelocate) {
1154
- markSlotContentForRelocation(rootVnode.$elm$);
1155
- for (const relocateData of relocateNodes) {
1156
- const nodeToRelocate = relocateData.$nodeToRelocate$;
1157
- if (!nodeToRelocate["s-ol"]) {
1158
- const orgLocationNode = originalLocationDebugNode(nodeToRelocate) ;
1159
- orgLocationNode["s-nr"] = nodeToRelocate;
1160
- insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1161
- }
1331
+ styles.set(scopeId2, style);
1332
+ };
1333
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
1334
+ var _a;
1335
+ const scopeId2 = getScopeId(cmpMeta);
1336
+ const style = styles.get(scopeId2);
1337
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
1338
+ if (style) {
1339
+ if (typeof style === "string") {
1340
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
1341
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1342
+ let styleElm;
1343
+ if (!appliedStyles) {
1344
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1162
1345
  }
1163
- for (const relocateData of relocateNodes) {
1164
- const nodeToRelocate = relocateData.$nodeToRelocate$;
1165
- const slotRefNode = relocateData.$slotRefNode$;
1166
- if (slotRefNode) {
1167
- const parentNodeRef = slotRefNode.parentNode;
1168
- let insertBeforeNode = slotRefNode.nextSibling;
1169
- {
1170
- let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1171
- while (orgLocationNode) {
1172
- let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1173
- if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === refNode.parentNode) {
1174
- refNode = refNode.nextSibling;
1175
- while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1176
- refNode = refNode == null ? void 0 : refNode.nextSibling;
1177
- }
1178
- if (!refNode || !refNode["s-nr"]) {
1179
- insertBeforeNode = refNode;
1180
- break;
1181
- }
1182
- }
1183
- orgLocationNode = orgLocationNode.previousSibling;
1184
- }
1346
+ if (!appliedStyles.has(scopeId2)) {
1347
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1348
+ styleElm.innerHTML = style;
1349
+ } else {
1350
+ styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || doc.createElement("style");
1351
+ styleElm.innerHTML = style;
1352
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(doc);
1353
+ if (nonce != null) {
1354
+ styleElm.setAttribute("nonce", nonce);
1185
1355
  }
1186
- if (!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode || nodeToRelocate.nextSibling !== insertBeforeNode) {
1187
- if (nodeToRelocate !== insertBeforeNode) {
1188
- if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1189
- nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1190
- }
1191
- insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1192
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1193
- nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1356
+ if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
1357
+ styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
1358
+ }
1359
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1360
+ if (styleContainerNode.nodeName === "HEAD") {
1361
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1362
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1363
+ styleContainerNode.insertBefore(styleElm, referenceNode2);
1364
+ } else if ("host" in styleContainerNode) {
1365
+ {
1366
+ const existingStyleContainer = styleContainerNode.querySelector("style");
1367
+ if (existingStyleContainer) {
1368
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1369
+ } else {
1370
+ styleContainerNode.prepend(styleElm);
1371
+ }
1194
1372
  }
1373
+ } else {
1374
+ styleContainerNode.append(styleElm);
1195
1375
  }
1196
1376
  }
1197
- nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](nodeToRelocate);
1198
- } else {
1199
- if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1200
- if (isInitialLoad) {
1201
- nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1202
- }
1203
- nodeToRelocate.hidden = true;
1377
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */ && styleContainerNode.nodeName !== "HEAD") {
1378
+ styleContainerNode.insertBefore(styleElm, null);
1204
1379
  }
1205
1380
  }
1381
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1382
+ styleElm.innerHTML += SLOT_FB_CSS;
1383
+ }
1384
+ if (appliedStyles) {
1385
+ appliedStyles.add(scopeId2);
1386
+ }
1206
1387
  }
1207
1388
  }
1208
- if (checkSlotFallbackVisibility) {
1209
- updateFallbackSlotVisibility(rootVnode.$elm$);
1210
- }
1211
- plt.$flags$ &= ~1 /* isTmpDisconnected */;
1212
- relocateNodes.length = 0;
1213
1389
  }
1214
- contentRef = void 0;
1390
+ return scopeId2;
1215
1391
  };
1216
- var slotReferenceDebugNode = (slotVNode) => doc.createComment(
1217
- `<slot${slotVNode.$name$ ? ' name="' + slotVNode.$name$ + '"' : ""}> (host=${hostTagName.toLowerCase()})`
1218
- );
1219
- var originalLocationDebugNode = (nodeToRelocate) => doc.createComment(
1220
- `org-location for ` + (nodeToRelocate.localName ? `<${nodeToRelocate.localName}> (host=${nodeToRelocate["s-hn"]})` : `[${nodeToRelocate.textContent}]`)
1221
- );
1392
+ var attachStyles = (hostRef) => {
1393
+ const cmpMeta = hostRef.$cmpMeta$;
1394
+ const elm = hostRef.$hostElement$;
1395
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1396
+ addStyle(
1397
+ elm.getRootNode(),
1398
+ cmpMeta);
1399
+ endAttachStyles();
1400
+ };
1401
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1222
1402
 
1223
1403
  // src/runtime/update-component.ts
1224
1404
  var attachToAncestor = (hostRef, ancestorComponent) => {
@@ -1482,16 +1662,62 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1482
1662
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1483
1663
  members.map(([memberName, [memberFlags]]) => {
1484
1664
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
1485
- Object.defineProperty(prototype, memberName, {
1486
- get() {
1487
- return getValue(this, memberName);
1488
- },
1489
- set(newValue) {
1490
- setValue(this, memberName, newValue, cmpMeta);
1491
- },
1492
- configurable: true,
1493
- enumerable: true
1494
- });
1665
+ if ((memberFlags & 2048 /* Getter */) === 0) {
1666
+ Object.defineProperty(prototype, memberName, {
1667
+ get() {
1668
+ return getValue(this, memberName);
1669
+ },
1670
+ set(newValue) {
1671
+ setValue(this, memberName, newValue, cmpMeta);
1672
+ },
1673
+ configurable: true,
1674
+ enumerable: true
1675
+ });
1676
+ } else if (flags & 1 /* isElementConstructor */ && memberFlags & 2048 /* Getter */) {
1677
+ {
1678
+ Object.defineProperty(prototype, memberName, {
1679
+ get() {
1680
+ const ref = getHostRef(this);
1681
+ const instance = ref ? ref.$lazyInstance$ : prototype;
1682
+ if (!instance) return;
1683
+ return instance[memberName];
1684
+ },
1685
+ configurable: true,
1686
+ enumerable: true
1687
+ });
1688
+ }
1689
+ if (memberFlags & 4096 /* Setter */) {
1690
+ const origSetter = Object.getOwnPropertyDescriptor(prototype, memberName).set;
1691
+ Object.defineProperty(prototype, memberName, {
1692
+ set(newValue) {
1693
+ const ref = getHostRef(this);
1694
+ if (origSetter) {
1695
+ const currentValue = ref.$hostElement$[memberName];
1696
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1697
+ ref.$instanceValues$.set(memberName, currentValue);
1698
+ }
1699
+ origSetter.apply(this, [parsePropertyValue(newValue, cmpMeta.$members$[memberName][0])]);
1700
+ setValue(this, memberName, ref.$hostElement$[memberName], cmpMeta);
1701
+ return;
1702
+ }
1703
+ if (!ref) return;
1704
+ const setterSetVal = () => {
1705
+ const currentValue = ref.$lazyInstance$[memberName];
1706
+ if (!ref.$instanceValues$.get(memberName) && currentValue) {
1707
+ ref.$instanceValues$.set(memberName, currentValue);
1708
+ }
1709
+ ref.$lazyInstance$[memberName] = parsePropertyValue(newValue, cmpMeta.$members$[memberName][0]);
1710
+ setValue(this, memberName, ref.$lazyInstance$[memberName], cmpMeta);
1711
+ };
1712
+ if (ref.$lazyInstance$) {
1713
+ setterSetVal();
1714
+ } else {
1715
+ ref.$onReadyPromise$.then(() => setterSetVal());
1716
+ }
1717
+ }
1718
+ });
1719
+ }
1720
+ }
1495
1721
  } else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1496
1722
  Object.defineProperty(prototype, memberName, {
1497
1723
  value(...args) {
@@ -1511,7 +1737,7 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1511
1737
  plt.jmp(() => {
1512
1738
  var _a2;
1513
1739
  const propName = attrNameToPropName.get(attrName);
1514
- if (this.hasOwnProperty(propName)) {
1740
+ if (this.hasOwnProperty(propName) && BUILD.lazyLoad) {
1515
1741
  newValue = this[propName];
1516
1742
  delete this[propName];
1517
1743
  } else if (prototype.hasOwnProperty(propName) && typeof this[propName] === "number" && // cast type to number to avoid TS compiler issues
@@ -1531,7 +1757,10 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1531
1757
  }
1532
1758
  return;
1533
1759
  }
1534
- this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1760
+ const propDesc = Object.getOwnPropertyDescriptor(prototype, propName);
1761
+ if (!propDesc.get || !!propDesc.set) {
1762
+ this[propName] = newValue === null && typeof this[propName] === "boolean" ? false : newValue;
1763
+ }
1535
1764
  });
1536
1765
  };
1537
1766
  Cstr.observedAttributes = Array.from(
@@ -1729,6 +1958,9 @@ var insertVdomAnnotations = (doc2, staticComponents) => {
1729
1958
  childId = `${hostId}.${nodeId}`;
1730
1959
  if (nodeRef.nodeType === 1 /* ElementNode */) {
1731
1960
  nodeRef.setAttribute(HYDRATE_CHILD_ID, childId);
1961
+ if (typeof nodeRef["s-sn"] === "string" && !nodeRef.getAttribute("slot")) {
1962
+ nodeRef.setAttribute("s-sn", nodeRef["s-sn"]);
1963
+ }
1732
1964
  } else if (nodeRef.nodeType === 3 /* TextNode */) {
1733
1965
  if (hostId === 0) {
1734
1966
  const textContent = (_a = nodeRef.nodeValue) == null ? void 0 : _a.trim();
@@ -1740,6 +1972,10 @@ var insertVdomAnnotations = (doc2, staticComponents) => {
1740
1972
  const commentBeforeTextNode = doc2.createComment(childId);
1741
1973
  commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`;
1742
1974
  insertBefore(nodeRef.parentNode, commentBeforeTextNode, nodeRef);
1975
+ } else if (nodeRef.nodeType === 8 /* CommentNode */) {
1976
+ const commentBeforeTextNode = doc2.createComment(childId);
1977
+ commentBeforeTextNode.nodeValue = `${COMMENT_NODE_ID}.${childId}`;
1978
+ nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef);
1743
1979
  }
1744
1980
  }
1745
1981
  let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`;
@@ -1820,6 +2056,9 @@ var insertChildVNodeAnnotations = (doc2, vnodeChild, cmpData, hostId, depth, ind
1820
2056
  childElm["s-node-id"] = nodeId;
1821
2057
  if (childElm.nodeType === 1 /* ElementNode */) {
1822
2058
  childElm.setAttribute(HYDRATE_CHILD_ID, childId);
2059
+ if (typeof childElm["s-sn"] === "string" && !childElm.getAttribute("slot")) {
2060
+ childElm.setAttribute("s-sn", childElm["s-sn"]);
2061
+ }
1823
2062
  } else if (childElm.nodeType === 3 /* TextNode */) {
1824
2063
  const parentNode = childElm.parentNode;
1825
2064
  const nodeName = parentNode == null ? void 0 : parentNode.nodeName;
@@ -2337,6 +2576,63 @@ class NVFieldDropDown {
2337
2576
  registerInstance(this, hostRef);
2338
2577
  this.dropdownItemSelected = createEvent(this, "dropdownItemSelected", 7);
2339
2578
  this.valueChanged = createEvent(this, "valueChanged", 7);
2579
+ /****************************************************************************/
2580
+ //#region PROPERTIES
2581
+ /**
2582
+ * Sets the ID for the input element and the for attribute of the associated
2583
+ * label. If no ID is provided, a random one will be automatically generated
2584
+ * to ensure unique identification, facilitating proper label association and
2585
+ * accessibility.
2586
+ */
2587
+ this.inputId = v4();
2588
+ /**
2589
+ * State of the dropdown popover.
2590
+ */
2591
+ this.open = false;
2592
+ /**
2593
+ * The autocomplete prop helps users fill out the input field faster by
2594
+ * suggesting entries they’ve used before, like their email or address.
2595
+ * You can turn it on to make forms more convenient or off to ensure users
2596
+ * always type in fresh data.
2597
+ */
2598
+ this.autocomplete = 'off';
2599
+ /**
2600
+ * Marks the input field as required, ensuring that the user must fill it out
2601
+ * before submitting the form.
2602
+ */
2603
+ this.required = false;
2604
+ /**
2605
+ * Alters the input field’s appearance to indicate an error, helping users
2606
+ * identify fields that need correction.
2607
+ * @validator error
2608
+ */
2609
+ this.error = false;
2610
+ /**
2611
+ * Display the input field’s content without allowing users to change it.
2612
+ * Users can still click on it, select, and copy the text, but they won’t be
2613
+ * able to type or delete anything.
2614
+ */
2615
+ this.readonly = false;
2616
+ /**
2617
+ * The disabled prop lets you turn off the input field so that users can’t
2618
+ * type in it. When disabled, the field is grayed out and won’t respond to
2619
+ * clicks or touches.
2620
+ */
2621
+ this.disabled = false;
2622
+ /**
2623
+ * The text to display when no items match the filter.
2624
+ */
2625
+ this.emptyresult = 'No results found';
2626
+ /**
2627
+ * The text entered by the user for filtering dropdown items.
2628
+ */
2629
+ this.filterText = '';
2630
+ /**
2631
+ * Enables or disables the filtering feature for the dropdown items.
2632
+ */
2633
+ this.filterable = false;
2634
+ this.isFilterable = this.filterable;
2635
+ this.selectedValues = new Set();
2340
2636
  /**
2341
2637
  * Handle click on the input container.
2342
2638
  * @param {MouseEvent} event - The click event.
@@ -2420,24 +2716,6 @@ class NVFieldDropDown {
2420
2716
  this.popoverElement.hide();
2421
2717
  }
2422
2718
  };
2423
- this.inputId = v4();
2424
- this.label = undefined;
2425
- this.description = undefined;
2426
- this.placeholder = undefined;
2427
- this.name = undefined;
2428
- this.open = false;
2429
- this.autocomplete = 'off';
2430
- this.value = undefined;
2431
- this.required = false;
2432
- this.error = false;
2433
- this.errorDescription = undefined;
2434
- this.readonly = false;
2435
- this.disabled = false;
2436
- this.emptyresult = 'No results found';
2437
- this.filterText = '';
2438
- this.filterable = false;
2439
- this.isFilterable = this.filterable;
2440
- this.selectedValues = new Set();
2441
2719
  }
2442
2720
  handleItemSelected(event) {
2443
2721
  if (this.disabled || this.readonly)
@@ -4901,6 +5179,27 @@ class NvAlert {
4901
5179
  this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
4902
5180
  this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
4903
5181
  this.closeClicked = createEvent(this, "closeClicked", 7);
5182
+ //#endregion DEPRECATED
5183
+ /****************************************************************************/
5184
+ //#region PROPERTIES
5185
+ /**
5186
+ * Specifies the alert type which determines the color and default icon.
5187
+ */
5188
+ this.feedback = 'information';
5189
+ /**
5190
+ * Allows the alert to be dismissed via a close button (x). The alert is not
5191
+ * dismissible unless explicitly enabled.
5192
+ */
5193
+ this.dismissible = false;
5194
+ /**
5195
+ * When true, the alert does not automatically close upon dismissing.
5196
+ * Useful for externally controlled component behavior.
5197
+ */
5198
+ this.preventAutoClose = false;
5199
+ /**
5200
+ * Controls the visibility of the alert. Will animate with fade and collapse.
5201
+ */
5202
+ this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
4904
5203
  //#endregion WATCHERS
4905
5204
  /****************************************************************************/
4906
5205
  //#region METHODS
@@ -4935,14 +5234,6 @@ class NvAlert {
4935
5234
  return 'info-circle';
4936
5235
  }
4937
5236
  };
4938
- this.color = undefined;
4939
- this.feedback = 'information';
4940
- this.message = undefined;
4941
- this.heading = undefined;
4942
- this.icon = undefined;
4943
- this.dismissible = false;
4944
- this.preventAutoClose = false;
4945
- this.hidden = false;
4946
5237
  }
4947
5238
  componentWillRender() {
4948
5239
  if (this.color) {
@@ -5045,17 +5336,14 @@ var NvAvatarStyle0 = nvAvatarCss;
5045
5336
  class NvAvatar {
5046
5337
  constructor(hostRef) {
5047
5338
  registerInstance(this, hostRef);
5048
- this.xsmall = undefined;
5049
- this.small = undefined;
5050
- this.medium = undefined;
5051
- this.large = undefined;
5052
- this.xlarge = undefined;
5053
- this.text = undefined;
5054
- this.url = undefined;
5055
- this.alt = undefined;
5056
- this.src = undefined;
5057
- this.initials = undefined;
5339
+ /**
5340
+ * Define the size of the avatar. You can use t-shirt sizes.
5341
+ */
5058
5342
  this.size = 'md';
5343
+ /**
5344
+ * You can apply different colors on the Avatar.
5345
+ * Use a string number between 1 and 10.
5346
+ */
5059
5347
  this.color = '1';
5060
5348
  }
5061
5349
  componentWillRender() {
@@ -5122,7 +5410,7 @@ class NvAvatar {
5122
5410
  }; }
5123
5411
  }
5124
5412
 
5125
- const nvBadgeCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-content);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-content)}nv-badge.badge-2{color:var(--color-rainbow-2-content);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-content)}nv-badge.badge-3{color:var(--color-rainbow-3-content);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-content)}nv-badge.badge-4{color:var(--color-rainbow-4-content);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-content)}nv-badge.badge-5{color:var(--color-rainbow-5-content);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-content)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";
5413
+ const nvBadgeCss = "nv-icon{display:inline-block;width:fit-content;height:fit-content;color:inherit}nv-icon>.nv-icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-icon>.nv-icon-sm{width:var(--spacing-4);height:var(--spacing-4);stroke-width:1.5px}nv-icon>.nv-icon-md{width:var(--spacing-5);height:var(--spacing-5);stroke-width:1.6px}nv-icon>.nv-icon-lg{width:var(--spacing-6);height:var(--spacing-6);stroke-width:1.8px}nv-icon>.nv-icon-xl{width:var(--spacing-7);height:var(--spacing-7);stroke-width:1.9px}nv-badge{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.with-gap{padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content;gap:var(--badge-gap-x)}nv-badge:not(.with-gap){padding:var(--badge-padding-y) var(--badge-padding-x);display:inline-flex !important;vertical-align:middle;align-items:center;border-radius:var(--radius-rounded-full);height:fit-content;width:fit-content}nv-badge.badge-1{color:var(--color-rainbow-1-content);background-color:var(--color-rainbow-1-background)}nv-badge.badge-1 .close:focus,nv-badge.badge-1 .close:focus-within{outline:none}nv-badge.badge-1 .close:focus-visible,nv-badge.badge-1 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-1-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-1 nv-icon{color:var(--color-rainbow-1-content)}nv-badge.badge-2{color:var(--color-rainbow-2-content);background-color:var(--color-rainbow-2-background)}nv-badge.badge-2 .close:focus,nv-badge.badge-2 .close:focus-within{outline:none}nv-badge.badge-2 .close:focus-visible,nv-badge.badge-2 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-2-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-2 nv-icon{color:var(--color-rainbow-2-content)}nv-badge.badge-3{color:var(--color-rainbow-3-content);background-color:var(--color-rainbow-3-background)}nv-badge.badge-3 .close:focus,nv-badge.badge-3 .close:focus-within{outline:none}nv-badge.badge-3 .close:focus-visible,nv-badge.badge-3 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-3-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-3 nv-icon{color:var(--color-rainbow-3-content)}nv-badge.badge-4{color:var(--color-rainbow-4-content);background-color:var(--color-rainbow-4-background)}nv-badge.badge-4 .close:focus,nv-badge.badge-4 .close:focus-within{outline:none}nv-badge.badge-4 .close:focus-visible,nv-badge.badge-4 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-4-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-4 nv-icon{color:var(--color-rainbow-4-content)}nv-badge.badge-5{color:var(--color-rainbow-5-content);background-color:var(--color-rainbow-5-background)}nv-badge.badge-5 .close:focus,nv-badge.badge-5 .close:focus-within{outline:none}nv-badge.badge-5 .close:focus-visible,nv-badge.badge-5 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-5-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-5 nv-icon{color:var(--color-rainbow-5-content)}nv-badge.badge-6{color:var(--color-rainbow-6-content);background-color:var(--color-rainbow-6-background)}nv-badge.badge-6 .close:focus,nv-badge.badge-6 .close:focus-within{outline:none}nv-badge.badge-6 .close:focus-visible,nv-badge.badge-6 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-6-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-6 nv-icon{color:var(--color-rainbow-6-content)}nv-badge.badge-7{color:var(--color-rainbow-7-content);background-color:var(--color-rainbow-7-background)}nv-badge.badge-7 .close:focus,nv-badge.badge-7 .close:focus-within{outline:none}nv-badge.badge-7 .close:focus-visible,nv-badge.badge-7 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-7-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-7 nv-icon{color:var(--color-rainbow-7-content)}nv-badge.badge-8{color:var(--color-rainbow-8-content);background-color:var(--color-rainbow-8-background)}nv-badge.badge-8 .close:focus,nv-badge.badge-8 .close:focus-within{outline:none}nv-badge.badge-8 .close:focus-visible,nv-badge.badge-8 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-8-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-8 nv-icon{color:var(--color-rainbow-8-content)}nv-badge.badge-9{color:var(--color-rainbow-9-content);background-color:var(--color-rainbow-9-background)}nv-badge.badge-9 .close:focus,nv-badge.badge-9 .close:focus-within{outline:none}nv-badge.badge-9 .close:focus-visible,nv-badge.badge-9 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-9-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-9 nv-icon{color:var(--color-rainbow-9-content)}nv-badge.badge-10{color:var(--color-rainbow-10-content);background-color:var(--color-rainbow-10-background)}nv-badge.badge-10 .close:focus,nv-badge.badge-10 .close:focus-within{outline:none}nv-badge.badge-10 .close:focus-visible,nv-badge.badge-10 .close:has(:focus-visible){outline:var(--focus-outline-stroke) solid var(--color-rainbow-10-content);outline-offset:calc(var(--focus-outline-offset) * 0.2)}nv-badge.badge-10 nv-icon{color:var(--color-rainbow-10-content)}nv-badge span{font-size:var(--font-size-xs);line-height:var(--line-height-xs) !important}nv-badge nv-icon>svg.icon-xs{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-sm{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-md{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-lg{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge nv-icon>svg.icon-xl{width:var(--spacing-3);height:var(--spacing-3);stroke-width:1.2px}nv-badge .close{padding:0;line-height:0;border:none;background:none;cursor:pointer;color:inherit;display:inline-flex;align-items:center;aspect-ratio:1/1;border-radius:var(--radius-rounded-full)}";
5126
5414
  var NvBadgeStyle0 = nvBadgeCss;
5127
5415
 
5128
5416
  /**
@@ -5134,6 +5422,42 @@ class NvBadge {
5134
5422
  this.closeClicked = createEvent(this, "closeClicked", 7);
5135
5423
  this.hiddenChanged = createEvent(this, "hiddenChanged", 7);
5136
5424
  this.hiddenChangedComplete = createEvent(this, "hiddenChangedComplete", 7);
5425
+ /****************************************************************************/
5426
+ //#region DEPRECATED
5427
+ /**
5428
+ * Whether the badge is dismissible.
5429
+ * @deprecated use dismissible instead.
5430
+ */
5431
+ this.dismissal = false;
5432
+ //#endregion DEPRECATED
5433
+ /****************************************************************************/
5434
+ //#region PROPERTIES
5435
+ /**
5436
+ * The color of the badge. Use a string between 1 to 10
5437
+ */
5438
+ this.color = '1';
5439
+ /**
5440
+ * Main content of the badge.
5441
+ */
5442
+ this.label = null;
5443
+ /**
5444
+ * The lead icon of the badge.
5445
+ */
5446
+ this.leadIcon = null;
5447
+ /**
5448
+ * Whether the badge is dismissible.
5449
+ */
5450
+ this.dismissible = false;
5451
+ /**
5452
+ * Controls the visibility of the badge. Will animate with fade and collapse.
5453
+ */
5454
+ this.hidden = false; // eslint-disable-line @stencil-community/reserved-member-names
5455
+ this._isHidden = this.hidden;
5456
+ /**
5457
+ * When true, the alert does not automatically close upon dismissing.
5458
+ * Useful for externally controlled component behavior.
5459
+ */
5460
+ this.preventAutoClose = false;
5137
5461
  //#endregion LIFECYCLE
5138
5462
  /****************************************************************************/
5139
5463
  //#region METHODS
@@ -5147,16 +5471,6 @@ class NvBadge {
5147
5471
  }
5148
5472
  this.closeClicked.emit(originalEvent);
5149
5473
  };
5150
- this.dismissal = false;
5151
- this.icon = undefined;
5152
- this.iconLocation = undefined;
5153
- this.color = '1';
5154
- this.label = null;
5155
- this.leadIcon = null;
5156
- this.dismissible = false;
5157
- this.hidden = false;
5158
- this._isHidden = this.hidden;
5159
- this.preventAutoClose = false;
5160
5474
  }
5161
5475
  //#endregion EVENTS
5162
5476
  /****************************************************************************/
@@ -5217,11 +5531,11 @@ class NvBadge {
5217
5531
  /****************************************************************************/
5218
5532
  //#region RENDER
5219
5533
  render() {
5220
- return (hAsync(Host, { key: '230bec882e7425786c0a57434b1d6fde7a5d19bc', class: clsx(`badge-${this.color}`, {
5534
+ return (hAsync(Host, { key: '18d3a28777aa74117ccc68aa0c889ea716b90d56', class: clsx(`badge-${this.color}`, {
5221
5535
  'has-close': this.dismissible,
5222
5536
  'with-gap': this.dismissible || this.label,
5223
5537
  'visually-hidden': this._isHidden,
5224
- }) }, hAsync("slot", { key: 'cfeeaed354a34cbe1eaf1caeed9456b630a07265', name: "leading-icon" }, this.leadIcon && (hAsync("nv-icon", { key: '10031f4f26339860458f1413b171916cbc97f98f', slot: "leading-icon", name: this.leadIcon, size: "sm" }))), this.label && hAsync("span", { key: '8d165b104e3952c61084f1473d31ce1a05404966' }, this.label), this.dismissible && (hAsync("button", { key: '8320177e0ac7f8c4f5d09b6c947d81d0eddadb4f', onClick: this.handleClose, class: "close", type: "button" }, hAsync("nv-icon", { key: '3298bd640cb7bb62923e5f1e650944afc01a7385', name: "x", size: "sm" })))));
5538
+ }) }, hAsync("slot", { key: '87ac2dd4ae3ba521d1a6b15394d79c85c1899102', name: "leading-icon" }, this.leadIcon && (hAsync("nv-icon", { key: '22fbc091fe0c861e9a6ce12e5ba1b8d0e83ca7da', slot: "leading-icon", name: this.leadIcon, size: "sm" }))), this.label && hAsync("span", { key: '040559657d6a337b2cd3ce265d2e99cdd0245324' }, this.label), this.dismissible && (hAsync("button", { key: 'd0f992bdf748be5bf63d7a3e9864f96cad4dfae7', onClick: this.handleClose, class: "close", type: "button" }, hAsync("nv-icon", { key: '60915e33efb355a5e2820507fe2365ba4e602c26', name: "x", size: "sm" })))));
5225
5539
  }
5226
5540
  get ref() { return getElement(this); }
5227
5541
  static get watchers() { return {
@@ -5347,6 +5661,45 @@ class NvButton {
5347
5661
  this.internals = hostRef.$hostElement$.attachInternals();
5348
5662
  hostRef.$hostElement$["s-ei"] = this.internals;
5349
5663
  }
5664
+ /****************************************************************************/
5665
+ //#region PROPERTIES
5666
+ /**
5667
+ * Determines how large or small the button appears, allowing for
5668
+ * customization of the button's dimensions to fit different design
5669
+ * specifications and user needs.
5670
+ */
5671
+ this.size = 'md';
5672
+ /**
5673
+ * Adjusts the button's emphasis to make it more or less visually prominent
5674
+ * to users. Use this to draw attention to important actions or reduce focus
5675
+ * on less critical ones
5676
+ */
5677
+ this.emphasis = 'high';
5678
+ /**
5679
+ * Applies styling that visually indicates the button represents a dangerous
5680
+ * action.
5681
+ */
5682
+ this.danger = false;
5683
+ /**
5684
+ * Set this to true to show a spinner on the button, letting users know that
5685
+ * their action is being processed. It helps improve user experience by
5686
+ * indicating ongoing activities.
5687
+ */
5688
+ this.loading = false;
5689
+ /**
5690
+ * Disables the button, preventing user interaction.
5691
+ */
5692
+ this.disabled = false;
5693
+ /**
5694
+ * Allows the button to stretch and fill the entire width of its container.
5695
+ */
5696
+ this.fluid = false;
5697
+ /**
5698
+ * Sets the button type to control its function in forms. Use 'submit' to send
5699
+ * form data, 'reset' to clear the form, or 'button' for a standard button
5700
+ * that doesn’t interact with form submission by default.
5701
+ */
5702
+ this.type = 'button';
5350
5703
  //#endregion PROPERTIES
5351
5704
  /****************************************************************************/
5352
5705
  //#region METHODS
@@ -5369,13 +5722,6 @@ class NvButton {
5369
5722
  (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
5370
5723
  }
5371
5724
  };
5372
- this.size = 'md';
5373
- this.emphasis = 'high';
5374
- this.danger = false;
5375
- this.loading = false;
5376
- this.disabled = false;
5377
- this.fluid = false;
5378
- this.type = 'button';
5379
5725
  }
5380
5726
  //#endregion METHODS
5381
5727
  /****************************************************************************/
@@ -5440,7 +5786,6 @@ var NvColStyle0 = nvColCss;
5440
5786
  class NvCol {
5441
5787
  constructor(hostRef) {
5442
5788
  registerInstance(this, hostRef);
5443
- this.size = undefined;
5444
5789
  }
5445
5790
  //#endregion PROPERTIES
5446
5791
  /****************************************************************************/
@@ -8442,16 +8787,42 @@ var NvDatagridStyle0 = nvDatagridCss;
8442
8787
  class NvDatagrid {
8443
8788
  constructor(hostRef) {
8444
8789
  registerInstance(this, hostRef);
8790
+ /****************************************************************************/
8791
+ //#region STATES
8445
8792
  this.table = null;
8446
- this.parsedColumns = [];
8447
- this.parsedData = [];
8793
+ this.parsedColumns = []; // Parsed array
8794
+ this.parsedData = []; // Parsed array
8448
8795
  this.hasSlotHead = false;
8449
8796
  this.hasSlotBody = false;
8797
+ //#endregion STATES
8798
+ /****************************************************************************/
8799
+ //#region PROPERTIES
8800
+ /**
8801
+ * The columns to display in the data grid.
8802
+ * @example
8803
+ * [
8804
+ * {"header":"Name","accessor":"name"},
8805
+ * {"header":"Age","accessor":"age"},
8806
+ * {"header":"Email","accessor":"email"}
8807
+ * ]
8808
+ * @default []
8809
+ */
8450
8810
  this.columns = [];
8451
- this.columnsJson = undefined;
8811
+ /**
8812
+ * The data to display in the data grid.
8813
+ * @example [{ "name": "Alice", "age": 25 }, { "name": "Bob", "age": 30 }]
8814
+ * @default []
8815
+ */
8452
8816
  this.data = [];
8453
- this.dataJson = undefined;
8817
+ /**
8818
+ * The message to display when there is no data available.
8819
+ * @default 'No data available'
8820
+ */
8454
8821
  this.noDataMessage = 'No data available';
8822
+ /**
8823
+ * The message to display when there are no columns or data available.
8824
+ * @default 'No data or columns available to display.'
8825
+ */
8455
8826
  this.noColumnsNoDataMessage = 'No data or columns available to display.';
8456
8827
  }
8457
8828
  //#endregion PROPERTIES
@@ -8755,8 +9126,6 @@ var NvDatagridcolumnStyle0 = nvDatagridcolumnCss;
8755
9126
  class NvDatagridcolumn {
8756
9127
  constructor(hostRef) {
8757
9128
  registerInstance(this, hostRef);
8758
- this.header = undefined;
8759
- this.accessor = undefined;
8760
9129
  }
8761
9130
  //#endregion PROPERTIES
8762
9131
  /****************************************************************************/
@@ -8787,7 +9156,6 @@ var NvDatagriddatacellStyle0 = nvDatagriddatacellCss;
8787
9156
  class NvDatagriddatacell {
8788
9157
  constructor(hostRef) {
8789
9158
  registerInstance(this, hostRef);
8790
- this.accessor = undefined;
8791
9159
  }
8792
9160
  //#endregion PROPERTIES
8793
9161
  /****************************************************************************/
@@ -8874,22 +9242,53 @@ class NvFieldcheckbox {
8874
9242
  constructor(hostRef) {
8875
9243
  registerInstance(this, hostRef);
8876
9244
  this.checkedChanged = createEvent(this, "checkedChanged", 7);
8877
- this.message = undefined;
8878
- this.validation = undefined;
9245
+ /**
9246
+ * When true, the label will be placed before the checkbox.
9247
+ * @deprecated Use `labelPlacement = end` instead.
9248
+ * */
8879
9249
  this.labelBefore = false;
9250
+ //#endregion DEPRECATED
9251
+ /****************************************************************************/
9252
+ //#region PROPERTIES
9253
+ /**
9254
+ * Sets the ID for the radio button’s input element and the for attribute of
9255
+ * the associated label. If no ID is provided, a random one will be
9256
+ * automatically generated to ensure unique identification, facilitating
9257
+ * proper label association and accessibility.
9258
+ */
8880
9259
  this.inputId = v4();
8881
- this.name = undefined;
8882
- this.value = undefined;
8883
- this.label = undefined;
8884
- this.labelPlacement = undefined;
9260
+ /**
9261
+ * Hides the label visually while still keeping it available for screen
9262
+ * readers.
9263
+ */
8885
9264
  this.hideLabel = false;
8886
- this.description = undefined;
9265
+ /**
9266
+ * Signals that there is an error associated with the checkbox, which can
9267
+ * trigger visual cues.
9268
+ */
8887
9269
  this.error = false;
8888
- this.errorDescription = undefined;
9270
+ /**
9271
+ * Indicates whether the checkbox is checked or not.
9272
+ */
8889
9273
  this.checked = false;
9274
+ /**
9275
+ * Indicates whether the checkbox is in an indeterminate state, typically used
9276
+ * for hierarchical checkboxes.
9277
+ */
8890
9278
  this.indeterminate = false;
9279
+ /**
9280
+ * Disables the checkbox, preventing user interaction.
9281
+ */
8891
9282
  this.disabled = false;
9283
+ /**
9284
+ * Sets the checkbox to read-only, preventing user changes but still allowing
9285
+ * focus and selection of text.
9286
+ */
8892
9287
  this.readonly = false;
9288
+ /**
9289
+ * Marks the checkbox as required, indicating that it must be checked for
9290
+ * form submission.
9291
+ */
8893
9292
  this.required = false;
8894
9293
  }
8895
9294
  componentWillRender() {
@@ -8986,6 +9385,16 @@ class NvFielddropdownitem {
8986
9385
  constructor(hostRef) {
8987
9386
  registerInstance(this, hostRef);
8988
9387
  this.itemSelected = createEvent(this, "itemSelected", 7);
9388
+ /****************************************************************************/
9389
+ //#region PROPERTIES
9390
+ /**
9391
+ * Disables the item, preventing any user interaction.
9392
+ */
9393
+ this.disabled = false;
9394
+ /**
9395
+ * Indicates if the item is selected.
9396
+ */
9397
+ this.selected = false;
8989
9398
  this.handleClick = () => {
8990
9399
  if (!this.disabled) {
8991
9400
  let itemValue = this.value || '';
@@ -9005,10 +9414,6 @@ class NvFielddropdownitem {
9005
9414
  });
9006
9415
  }
9007
9416
  };
9008
- this.disabled = false;
9009
- this.selected = false;
9010
- this.value = undefined;
9011
- this.label = undefined;
9012
9417
  }
9013
9418
  //#endregion EVENTS
9014
9419
  /****************************************************************************/
@@ -9060,6 +9465,49 @@ class NvFieldnumber {
9060
9465
  constructor(hostRef) {
9061
9466
  registerInstance(this, hostRef);
9062
9467
  this.valueChanged = createEvent(this, "valueChanged", 7);
9468
+ //#endregion DEPRECATED
9469
+ /****************************************************************************/
9470
+ //#region PROPERTIES
9471
+ /**
9472
+ * Sets the ID for the input element and the for attribute of the associated
9473
+ * label. If no ID is provided, a random one will be automatically generated
9474
+ * to ensure unique identification, facilitating proper label association and
9475
+ * accessibility.
9476
+ */
9477
+ this.inputId = v4();
9478
+ /**
9479
+ * The disabled prop lets you turn off the input field so that users can’t
9480
+ * type in it. When disabled, the field is grayed out and won’t respond to#
9481
+ * clicks or touches.
9482
+ */
9483
+ this.disabled = false;
9484
+ /**
9485
+ * Display the input field’s content without allowing users to change it.
9486
+ * Users can still click on it, select, and copy the text, but they won’t be
9487
+ * able to type or delete anything.
9488
+ */
9489
+ this.readonly = false;
9490
+ /**
9491
+ * Marks the input field as required, ensuring that the user must fill it out
9492
+ * before submitting the form.
9493
+ */
9494
+ this.required = false;
9495
+ /**
9496
+ * Alters the input field’s appearance to indicate an error, helping users
9497
+ * identify fields that need correction.
9498
+ * @validator error
9499
+ */
9500
+ this.error = false;
9501
+ /**
9502
+ * Changes the input field’s appearance to indicate successful input or
9503
+ * validation.
9504
+ */
9505
+ this.success = false;
9506
+ /**
9507
+ * Define the increment value for the input field. It determines how much the
9508
+ * value will increase or decrease when the user clicks the stepper buttons.
9509
+ */
9510
+ this.step = 1;
9063
9511
  //#endregion WATCHERS
9064
9512
  /****************************************************************************/
9065
9513
  //#region METHODS
@@ -9084,23 +9532,6 @@ class NvFieldnumber {
9084
9532
  this.isMaxValueReached = () => {
9085
9533
  return this.max !== undefined && this.value >= this.max;
9086
9534
  };
9087
- this.message = undefined;
9088
- this.validation = undefined;
9089
- this.inputId = v4();
9090
- this.label = undefined;
9091
- this.description = undefined;
9092
- this.placeholder = undefined;
9093
- this.name = undefined;
9094
- this.disabled = false;
9095
- this.readonly = false;
9096
- this.required = false;
9097
- this.error = false;
9098
- this.errorDescription = undefined;
9099
- this.success = false;
9100
- this.max = undefined;
9101
- this.min = undefined;
9102
- this.step = 1;
9103
- this.value = undefined;
9104
9535
  }
9105
9536
  //#endregion PROPERTIES
9106
9537
  /****************************************************************************/
@@ -9177,6 +9608,67 @@ class NvFieldpassword {
9177
9608
  constructor(hostRef) {
9178
9609
  registerInstance(this, hostRef);
9179
9610
  this.valueChanged = createEvent(this, "valueChanged", 7);
9611
+ /****************************************************************************/
9612
+ //#region PROPERTIES
9613
+ /**
9614
+ * Sets the ID for the input element and the for attribute of the associated
9615
+ * label. If no ID is provided, a random one will be automatically generated
9616
+ * to ensure unique identification, facilitating proper label association and
9617
+ * accessibility.
9618
+ */
9619
+ this.inputId = v4();
9620
+ /**
9621
+ * The disabled prop lets you turn off the input field so that users can’t
9622
+ * type in it. When disabled, the field is grayed out and won’t respond to#
9623
+ * clicks or touches.
9624
+ */
9625
+ this.disabled = false;
9626
+ /**
9627
+ * Display the input field’s content without allowing users to change it.
9628
+ * Users can still click on it, select, and copy the text, but they won’t be
9629
+ * able to type or delete anything.
9630
+ */
9631
+ this.readonly = false;
9632
+ /**
9633
+ * Marks the input field as required, ensuring that the user must fill it out
9634
+ * before submitting the form.
9635
+ */
9636
+ this.required = false;
9637
+ /**
9638
+ * Alters the input field’s appearance to indicate an error, helping users
9639
+ * identify fields that need correction.
9640
+ * @validator error
9641
+ */
9642
+ this.error = false;
9643
+ /**
9644
+ * Changes the input field’s appearance to indicate successful input or
9645
+ * validation.
9646
+ */
9647
+ this.success = false;
9648
+ /**
9649
+ * Defines the type of the input.
9650
+ * @default 'text'
9651
+ */
9652
+ this.mode = 'text';
9653
+ /**
9654
+ * The autocomplete prop helps users fill out the input field faster by
9655
+ * suggesting entries they’ve used before, like their email or address.
9656
+ * You can turn it on to make forms more convenient or off to ensure users
9657
+ * always type in fresh data.
9658
+ */
9659
+ this.autocomplete = 'off';
9660
+ /**
9661
+ * Hide the button to show/hide the password.
9662
+ */
9663
+ this.hidePasswordIcon = false;
9664
+ /**
9665
+ * Show/hide the password programmatically.
9666
+ */
9667
+ this.showPassword = false;
9668
+ /**
9669
+ * Defines whether the password is visible or not.
9670
+ */
9671
+ this.showPasswordState = this.showPassword;
9180
9672
  //#endregion EVENTS
9181
9673
  /****************************************************************************/
9182
9674
  //#region METHODS
@@ -9190,35 +9682,15 @@ class NvFieldpassword {
9190
9682
  if (event.key === ' ') {
9191
9683
  event.preventDefault(); // Prevent the space character from being added
9192
9684
  setTimeout(() => {
9193
- this.togglePasswordVisibility();
9194
- }, 0);
9195
- }
9196
- };
9197
- this.handleInput = (event) => {
9198
- const input = event.target;
9199
- this.value = input.value; // Update the input value without worrying about the space
9200
- this.valueChanged.emit(input.value);
9201
- };
9202
- this.inputId = v4();
9203
- this.label = undefined;
9204
- this.description = undefined;
9205
- this.placeholder = undefined;
9206
- this.name = undefined;
9207
- this.value = undefined;
9208
- this.disabled = false;
9209
- this.readonly = false;
9210
- this.required = false;
9211
- this.error = false;
9212
- this.errorDescription = undefined;
9213
- this.success = false;
9214
- this.maxlength = undefined;
9215
- this.minlength = undefined;
9216
- this.pattern = undefined;
9217
- this.mode = 'text';
9218
- this.autocomplete = 'off';
9219
- this.hidePasswordIcon = false;
9220
- this.showPassword = false;
9221
- this.showPasswordState = this.showPassword;
9685
+ this.togglePasswordVisibility();
9686
+ }, 0);
9687
+ }
9688
+ };
9689
+ this.handleInput = (event) => {
9690
+ const input = event.target;
9691
+ this.value = input.value; // Update the input value without worrying about the space
9692
+ this.valueChanged.emit(input.value);
9693
+ };
9222
9694
  }
9223
9695
  handleShowPasswordChange(newValue) {
9224
9696
  this.showPasswordState = newValue;
@@ -9280,17 +9752,35 @@ class NvFieldradio {
9280
9752
  constructor(hostRef) {
9281
9753
  registerInstance(this, hostRef);
9282
9754
  this.checkedChanged = createEvent(this, "checkedChanged", 7);
9283
- this.message = undefined;
9755
+ /**
9756
+ * Set the label placement to before the input
9757
+ * @deprecated use labelPlacement instead.
9758
+ */
9284
9759
  this.labelBefore = false;
9760
+ //#endregion DEPRECATED
9761
+ /****************************************************************************/
9762
+ //#region PROPERTIES
9763
+ /**
9764
+ * Sets the ID for the radio button’s input element and the for attribute of
9765
+ * the associated label. If no ID is provided, a random one will be
9766
+ * automatically generated to ensure unique identification, facilitating
9767
+ * proper label association and accessibility.
9768
+ */
9285
9769
  this.inputId = v4();
9286
- this.name = undefined;
9287
- this.value = undefined;
9288
- this.label = undefined;
9289
- this.labelPlacement = undefined;
9290
- this.description = undefined;
9770
+ /**
9771
+ * Highlight the radio button with error styling. It helps users quickly
9772
+ * identify which option needs attention, improving their form-filling
9773
+ * experience by making issues more visible.
9774
+ * @validator error
9775
+ */
9291
9776
  this.error = false;
9292
- this.errorDescription = undefined;
9777
+ /**
9778
+ * Controls whether the radio button is selected.
9779
+ */
9293
9780
  this.checked = false;
9781
+ /**
9782
+ * Disables the radio button, making it un-selectable.
9783
+ */
9294
9784
  this.disabled = false;
9295
9785
  }
9296
9786
  componentWillRender() {
@@ -9380,6 +9870,64 @@ class NvFieldselect {
9380
9870
  constructor(hostRef) {
9381
9871
  registerInstance(this, hostRef);
9382
9872
  this.valueChanged = createEvent(this, "valueChanged", 7);
9873
+ /****************************************************************************/
9874
+ //#region STATES
9875
+ this.computedDisplayValue = '';
9876
+ this.internalReadonly = false;
9877
+ //#endregion DEPRECATED
9878
+ /****************************************************************************/
9879
+ //#region PROPERTIES
9880
+ /**
9881
+ * Sets the ID for the select element and the for attribute of the associated
9882
+ * label. If no ID is provided, a random one will be automatically generated
9883
+ * to ensure unique identification, facilitating proper label association and
9884
+ * accessibility.
9885
+ */
9886
+ this.selectId = v4();
9887
+ /**
9888
+ * The disabled prop lets you turn off the select field so that users can’t
9889
+ * choose something. When disabled, the field is grayed out and won’t respond to
9890
+ * clicks or touches.
9891
+ */
9892
+ this.disabled = false;
9893
+ /**
9894
+ * Display the select field’s content without allowing users to change it.
9895
+ * Users can still click on it, select, and copy the text, but they won’t be
9896
+ * able to change or delete anything.
9897
+ */
9898
+ this.readonly = false;
9899
+ /**
9900
+ * Marks the select field as required, ensuring that the user must fill it out
9901
+ * before submitting the form.
9902
+ */
9903
+ this.required = false;
9904
+ /**
9905
+ * Alters the select field’s appearance to indicate an error, helping users
9906
+ * identify fields that need correction.
9907
+ * @validator error
9908
+ */
9909
+ this.error = false;
9910
+ /**
9911
+ * Changes the select field’s appearance to indicate successful input or
9912
+ * validation.
9913
+ */
9914
+ this.success = false;
9915
+ /**
9916
+ * When enabled, allows the select to handle multiple selections.
9917
+ */
9918
+ this.multiple = false;
9919
+ /**
9920
+ * The value of the select field.
9921
+ * - If `multiple` is `false`, it's a single string.
9922
+ * - If `multiple` is `true`, it's a comma-separated string of selected values.
9923
+ */
9924
+ this.value = '';
9925
+ /**
9926
+ * When enabled, displays the value element instead of the label when readonly.
9927
+ * By default, the label is displayed in readonly mode. Also it automatically
9928
+ * sets the component to readonly.
9929
+ */
9930
+ this.displayValue = false;
9383
9931
  //#endregion WATCHERS
9384
9932
  /****************************************************************************/
9385
9933
  //#region METHODS
@@ -9411,23 +9959,6 @@ class NvFieldselect {
9411
9959
  this.selectElement.focus();
9412
9960
  }
9413
9961
  };
9414
- this.computedDisplayValue = '';
9415
- this.internalReadonly = false;
9416
- this.message = undefined;
9417
- this.validation = undefined;
9418
- this.selectId = v4();
9419
- this.label = undefined;
9420
- this.description = undefined;
9421
- this.name = undefined;
9422
- this.disabled = false;
9423
- this.readonly = false;
9424
- this.required = false;
9425
- this.error = false;
9426
- this.errorDescription = undefined;
9427
- this.success = false;
9428
- this.multiple = false;
9429
- this.value = '';
9430
- this.displayValue = false;
9431
9962
  }
9432
9963
  componentWillRender() {
9433
9964
  this.updateDisplayValue(); // Ensure display value is updated before render
@@ -9694,6 +10225,57 @@ class NvFieldtext {
9694
10225
  constructor(hostRef) {
9695
10226
  registerInstance(this, hostRef);
9696
10227
  this.valueChanged = createEvent(this, "valueChanged", 7);
10228
+ //#endregion DEPRECATED
10229
+ /****************************************************************************/
10230
+ //#region PROPERTIES
10231
+ /**
10232
+ * Sets the ID for the input element and the for attribute of the associated
10233
+ * label. If no ID is provided, a random one will be automatically generated
10234
+ * to ensure unique identification, facilitating proper label association and
10235
+ * accessibility.
10236
+ */
10237
+ this.inputId = v4();
10238
+ /**
10239
+ * The type prop lets you specify what kind of information the input field
10240
+ * should accept. Choose 'text' for general words or sentences, 'tel' for
10241
+ * phone numbers, or 'email' for email addresses. This makes sure users get
10242
+ * the right keyboard and validation for what they need to enter.
10243
+ */
10244
+ this.type = 'text';
10245
+ /**
10246
+ * The disabled prop lets you turn off the input field so that users can’t
10247
+ * type in it. When disabled, the field is grayed out and won’t respond to
10248
+ * clicks or touches.
10249
+ */
10250
+ this.disabled = false;
10251
+ /**
10252
+ * Display the input field’s content without allowing users to change it.
10253
+ * Users can still click on it, select, and copy the text, but they won’t be
10254
+ * able to type or delete anything.
10255
+ */
10256
+ this.readonly = false;
10257
+ /**
10258
+ * Marks the input field as required, ensuring that the user must fill it out
10259
+ * before submitting the form.
10260
+ */
10261
+ this.required = false;
10262
+ /**
10263
+ * Alters the input field’s appearance to indicate an error, helping users
10264
+ * identify fields that need correction.
10265
+ * @validator error
10266
+ */
10267
+ this.error = false;
10268
+ /**
10269
+ * Changes the input field’s appearance to indicate successful input or
10270
+ * validation.
10271
+ */
10272
+ this.success = false;
10273
+ /**
10274
+ * When used with the email input type, this prop enables the field to accept
10275
+ * multiple email addresses. Users can enter several addresses, separating
10276
+ * each one with a comma, allowing the form to handle multiple recipients.
10277
+ */
10278
+ this.multiple = false;
9697
10279
  //#endregion EVENTS
9698
10280
  /****************************************************************************/
9699
10281
  //#region METHODS
@@ -9713,27 +10295,6 @@ class NvFieldtext {
9713
10295
  this.handleInputContainerClick = () => {
9714
10296
  this.inputElement.focus();
9715
10297
  };
9716
- this.message = undefined;
9717
- this.validation = undefined;
9718
- this.textInputType = undefined;
9719
- this.inputId = v4();
9720
- this.label = undefined;
9721
- this.description = undefined;
9722
- this.placeholder = undefined;
9723
- this.name = undefined;
9724
- this.value = undefined;
9725
- this.type = 'text';
9726
- this.disabled = false;
9727
- this.readonly = false;
9728
- this.required = false;
9729
- this.error = false;
9730
- this.errorDescription = undefined;
9731
- this.success = false;
9732
- this.maxlength = undefined;
9733
- this.minlength = undefined;
9734
- this.pattern = undefined;
9735
- this.autocomplete = undefined;
9736
- this.multiple = false;
9737
10298
  }
9738
10299
  componentWillRender() {
9739
10300
  if (this.textInputType) {
@@ -9802,6 +10363,63 @@ class NvFieldtextarea {
9802
10363
  constructor(hostRef) {
9803
10364
  registerInstance(this, hostRef);
9804
10365
  this.valueChanged = createEvent(this, "valueChanged", 7);
10366
+ //#endregion DEPRECATED
10367
+ /****************************************************************************/
10368
+ //#region PROPERTIES
10369
+ /**
10370
+ * Sets the ID for the textarea element and the for attribute of the associated
10371
+ * label. If no ID is provided, a random one will be automatically generated
10372
+ * to ensure unique identification, facilitating proper label association and
10373
+ * accessibility.
10374
+ */
10375
+ this.textareaId = v4();
10376
+ /**
10377
+ * The disabled prop lets you turn off the textarea field so that users can’t
10378
+ * type in it. When disabled, the field is grayed out and won’t respond to#
10379
+ * clicks or touches.
10380
+ */
10381
+ this.disabled = false;
10382
+ /**
10383
+ * Display the textarea field’s content without allowing users to change it.
10384
+ * Users can still click on it, select, and copy the text, but they won’t be
10385
+ * able to type or delete anything.
10386
+ */
10387
+ this.readonly = false;
10388
+ /**
10389
+ * Marks the textarea field as required, ensuring that the user must fill it out
10390
+ * before submitting the form.
10391
+ */
10392
+ this.required = false;
10393
+ /**
10394
+ * Alters the textarea field’s appearance to indicate an error, helping users
10395
+ * identify fields that need correction.
10396
+ * @validator error
10397
+ */
10398
+ this.error = false;
10399
+ /**
10400
+ * Changes the textarea field’s appearance to indicate successful textarea or
10401
+ * validation.
10402
+ */
10403
+ this.success = false;
10404
+ /**
10405
+ * The number of visible text lines for the control. The default is 3. This
10406
+ * can be useful when you want to limit the size of the textarea field or when
10407
+ * you want to make the textarea field smaller to fit a specific layout. The
10408
+ * textarea field will expand vertically to fit the text as the user types.
10409
+ */
10410
+ this.rows = 3;
10411
+ /**
10412
+ * Controls the resize property of a textarea. It can be set to none, both,
10413
+ * horizontal, or vertical. The default is vertical.
10414
+ */
10415
+ this.resize = 'vertical';
10416
+ /**
10417
+ * Enable this to make the textarea automatically resize as the user types,
10418
+ * adjusting the height to fit the content. For the best experience, avoid
10419
+ * vertical resizing, as it’s controlled by this feature. Horizontal resizing
10420
+ * can still be allowed if desired.
10421
+ */
10422
+ this.autosize = false;
9805
10423
  //#endregion WATCHERS
9806
10424
  /****************************************************************************/
9807
10425
  //#region METHODS
@@ -9816,25 +10434,6 @@ class NvFieldtextarea {
9816
10434
  this.handleTextareaContainerClick = () => {
9817
10435
  this.textareaElement.focus();
9818
10436
  };
9819
- this.message = undefined;
9820
- this.validation = undefined;
9821
- this.textareaId = v4();
9822
- this.label = undefined;
9823
- this.description = undefined;
9824
- this.placeholder = undefined;
9825
- this.name = undefined;
9826
- this.value = undefined;
9827
- this.disabled = false;
9828
- this.readonly = false;
9829
- this.required = false;
9830
- this.error = false;
9831
- this.errorDescription = undefined;
9832
- this.success = false;
9833
- this.maxlength = undefined;
9834
- this.minlength = undefined;
9835
- this.rows = 3;
9836
- this.resize = 'vertical';
9837
- this.autosize = false;
9838
10437
  }
9839
10438
  componentWillRender() {
9840
10439
  if (this.message) {
@@ -9974,15 +10573,28 @@ class NvFieldtoggle {
9974
10573
  constructor(hostRef) {
9975
10574
  registerInstance(this, hostRef);
9976
10575
  this.checkedChanged = createEvent(this, "checkedChanged", 7);
10576
+ /****************************************************************************/
10577
+ //#region PROPERTIES
10578
+ /**
10579
+ * Sets the ID for the radio button’s input element and the for attribute of
10580
+ * the associated label. If no ID is provided, a random one will be
10581
+ * automatically generated to ensure unique identification, facilitating
10582
+ * proper label association and accessibility.
10583
+ */
9977
10584
  this.inputId = v4();
9978
- this.name = undefined;
9979
- this.value = undefined;
9980
- this.label = undefined;
9981
- this.labelPlacement = undefined;
10585
+ /**
10586
+ * Hides the label visually while still keeping it available for screen
10587
+ * readers.
10588
+ */
9982
10589
  this.hideLabel = false;
9983
- this.description = undefined;
10590
+ /** Indicates whether the toggle is checked or not. */
9984
10591
  this.checked = false;
10592
+ /** Disables the toggle, preventing user interaction. */
9985
10593
  this.disabled = false;
10594
+ /**
10595
+ * Sets the toggle to read-only, preventing user changes but still allowing
10596
+ * focus and selection of text.
10597
+ */
9986
10598
  this.readonly = false;
9987
10599
  }
9988
10600
  //#endregion EVENTS
@@ -10051,15 +10663,10 @@ var NvIconStyle0 = nvIconCss;
10051
10663
  class NvIcon {
10052
10664
  constructor(hostRef) {
10053
10665
  registerInstance(this, hostRef);
10054
- this.xsmall = undefined;
10055
- this.small = undefined;
10056
- this.medium = undefined;
10057
- this.large = undefined;
10058
- this.xlarge = undefined;
10059
- this.color = undefined;
10060
- this.name = undefined;
10666
+ /**
10667
+ * Adjust the size of the icon to fit your design needs.
10668
+ */
10061
10669
  this.size = SemanticSizes.Medium;
10062
- this.spriteUrl = undefined;
10063
10670
  }
10064
10671
  componentWillRender() {
10065
10672
  if (this.xsmall) {
@@ -10132,6 +10739,47 @@ class NvIconbutton {
10132
10739
  this.internals = hostRef.$hostElement$.attachInternals();
10133
10740
  hostRef.$hostElement$["s-ei"] = this.internals;
10134
10741
  }
10742
+ /****************************************************************************/
10743
+ //#region PROPERTIES
10744
+ /**
10745
+ * Determines how large or small the button appears, allowing for
10746
+ * customization of the button's dimensions to fit different design
10747
+ * specifications and user needs.
10748
+ */
10749
+ this.size = 'md';
10750
+ /**
10751
+ * Adjusts the button’s emphasis to make it more or less visually prominent
10752
+ * to users. Use this to draw attention to important actions or reduce focus
10753
+ * on less critical ones.
10754
+ */
10755
+ this.emphasis = 'high';
10756
+ /**
10757
+ * Set this to true to show a spinner on the button, letting users know that
10758
+ * their action is being processed. It helps improve user experience by
10759
+ * indicating ongoing activities. The icon is not displayed when the button
10760
+ * is loading. Also, the button is disabled. If you want to disable the
10761
+ * button, it is not possible. It is automatically disabled when loading.
10762
+ */
10763
+ this.loading = false;
10764
+ /**
10765
+ * Disables the button, preventing user interaction.
10766
+ */
10767
+ this.disabled = false;
10768
+ /**
10769
+ * Makes the button look active when it’s within a compatible component
10770
+ * like a button group.
10771
+ */
10772
+ this.active = false;
10773
+ /**
10774
+ * Sets the button type to control its function in forms. Use 'submit' to send
10775
+ * form data, 'reset' to clear the form, or 'button' for a standard button
10776
+ * that doesn’t interact with form submission by default.
10777
+ */
10778
+ this.type = 'button';
10779
+ /**
10780
+ * Sets the shape of the button. Choose between square and rounded.
10781
+ */
10782
+ this.shape = 'square';
10135
10783
  //#endregion PROPERTIES
10136
10784
  /****************************************************************************/
10137
10785
  //#region METHODS
@@ -10154,14 +10802,6 @@ class NvIconbutton {
10154
10802
  (_d = (_c = this.internals) === null || _c === void 0 ? void 0 : _c.form) === null || _d === void 0 ? void 0 : _d.reset();
10155
10803
  }
10156
10804
  };
10157
- this.size = 'md';
10158
- this.emphasis = 'high';
10159
- this.loading = false;
10160
- this.disabled = false;
10161
- this.active = false;
10162
- this.name = undefined;
10163
- this.type = 'button';
10164
- this.shape = 'square';
10165
10805
  }
10166
10806
  //#endregion METHODS
10167
10807
  /****************************************************************************/
@@ -10224,8 +10864,14 @@ var NvLoaderStyle0 = nvLoaderCss;
10224
10864
  class NvLoader {
10225
10865
  constructor(hostRef) {
10226
10866
  registerInstance(this, hostRef);
10867
+ /****************************************************************************/
10868
+ //#region PROPERTIES
10869
+ /**
10870
+ * Choose the size of the loader to best fit your application’s needs, whether
10871
+ * it’s a small spinner for subtle loading indicators or a large one for more
10872
+ * prominent displays.
10873
+ */
10227
10874
  this.size = 'md';
10228
- this.color = undefined;
10229
10875
  }
10230
10876
  //#endregion PROPERTIES
10231
10877
  /****************************************************************************/
@@ -10261,9 +10907,28 @@ class NvMenu {
10261
10907
  this.menuitemSelected = createEvent(this, "menuitemSelected", 7);
10262
10908
  this.isHandlingKeyDown = false;
10263
10909
  this.isHandlingClick = false;
10910
+ /****************************************************************************/
10911
+ //#region PROPERTIES
10912
+ /**
10913
+ * Use this to toggle the initial visibility of the menu, by default the menu
10914
+ * is hidden.
10915
+ */
10264
10916
  this.open = false;
10917
+ /**
10918
+ * Use this if the menu is nested inside another menu. This will prevent the
10919
+ * parent menu from closing when the child menu is opened.
10920
+ */
10265
10921
  this.nested = false;
10922
+ /**
10923
+ * Use this to disable the menu from closing automatically when a menu item is
10924
+ * selected.
10925
+ */
10266
10926
  this.disableCloseOnSelect = false;
10927
+ /**
10928
+ * Decides where the menu shows up next to the button it’s linked to (above,
10929
+ * below, to the sides). If there isn’t enough room, it will adjust its
10930
+ * position on the axis to fit on the screen, so users can always see it.
10931
+ */
10267
10932
  this.placement = this.nested ? 'right-start' : 'bottom-end';
10268
10933
  }
10269
10934
  //#endregion PROPERTIES
@@ -10456,9 +11121,13 @@ var NvMenuitemStyle0 = nvMenuitemCss;
10456
11121
  class NvMenuitem {
10457
11122
  constructor(hostRef) {
10458
11123
  registerInstance(this, hostRef);
10459
- this.icon = undefined;
11124
+ /**
11125
+ * Disables the item, preventing user interaction.
11126
+ */
10460
11127
  this.disabled = false;
10461
- this.shortcut = undefined;
11128
+ /**
11129
+ * If the menu item has a submenu, the a caret icon will be displayed.
11130
+ */
10462
11131
  this.hasSubmenu = false;
10463
11132
  }
10464
11133
  //#endregion PROPERTIES
@@ -12573,6 +13242,53 @@ class NvPopover {
12573
13242
  constructor(hostRef) {
12574
13243
  registerInstance(this, hostRef);
12575
13244
  this.openChanged = createEvent(this, "openChanged", 7);
13245
+ /**
13246
+ * Use this prop to toggle the visibility of the popover. Set to true to show
13247
+ * the popover and false to hide it.
13248
+ */
13249
+ this.open = false;
13250
+ /**
13251
+ * Sets the interaction mode for triggering the popover. Options include:
13252
+ * - `hover`: The popover is shown on trigger hover.
13253
+ * - `click`: The popover toggles on trigger click.
13254
+ * - `controlled`: The visibility is managed manually through methods or the
13255
+ * open prop.
13256
+ */
13257
+ this.triggerMode = 'click';
13258
+ /**
13259
+ * Defines where the popover appears relative to the trigger.
13260
+ */
13261
+ this.placement = 'bottom';
13262
+ /**
13263
+ * Adjust the gap between the popover and its trigger element by setting how
13264
+ * many pixels they should be apart.
13265
+ */
13266
+ this.offset = 12;
13267
+ /**
13268
+ * Use this to decide if the popover should include a small arrow pointing to
13269
+ * the trigger element, making the connection between them more clear.
13270
+ */
13271
+ this.hasArrow = false;
13272
+ /**
13273
+ * Disables the automatic flipping of the popover when the trigger element is
13274
+ * out of the viewport. The popover will flip automatically by default.
13275
+ */
13276
+ this.disableFlip = false;
13277
+ /**
13278
+ * Sets how many pixels the popover should stay from the edge of the viewport.
13279
+ */
13280
+ this.shiftPadding = 16;
13281
+ /**
13282
+ * Use this to set a delay before the popover appears on hover. If the mouse
13283
+ * leaves before this time, the popover won’t show. This only works when the
13284
+ * trigger mode is set to `hover`.
13285
+ */
13286
+ this.enterDelay = 0;
13287
+ /**
13288
+ * Use this to set the popover to be nested inside another popover. This will
13289
+ * prevent the parent popover from closing when the child popover is opened.
13290
+ */
13291
+ this.nested = false;
12576
13292
  this.handleClickOutside = (event) => {
12577
13293
  // This popover should close when the user clicks outside of it.
12578
13294
  if (this.el.contains(event.target))
@@ -12638,17 +13354,6 @@ class NvPopover {
12638
13354
  /****************************************************************************/
12639
13355
  //#region WATCHERS
12640
13356
  this.isAnimating = false;
12641
- this.triggerElement = undefined;
12642
- this.open = false;
12643
- this.triggerMode = 'click';
12644
- this.placement = 'bottom';
12645
- this.groupName = undefined;
12646
- this.offset = 12;
12647
- this.hasArrow = false;
12648
- this.disableFlip = false;
12649
- this.shiftPadding = 16;
12650
- this.enterDelay = 0;
12651
- this.nested = false;
12652
13357
  }
12653
13358
  //#endregion PROPERTIES
12654
13359
  /****************************************************************************/
@@ -12882,11 +13587,13 @@ var NvStackStyle0 = nvStackCss;
12882
13587
  class NvStack {
12883
13588
  constructor(hostRef) {
12884
13589
  registerInstance(this, hostRef);
13590
+ /****************************************************************************/
13591
+ //#region PROPERTIES
13592
+ /**
13593
+ * Gutter refers to the space that exists between children components inside
13594
+ * the stack container.
13595
+ */
12885
13596
  this.gutter = 2;
12886
- this.fill = undefined;
12887
- this.flex = undefined;
12888
- this.full = undefined;
12889
- this.vertical = undefined;
12890
13597
  }
12891
13598
  //#endregion PROPERTIES
12892
13599
  /****************************************************************************/
@@ -12924,15 +13631,36 @@ var NvTableStyle0 = nvTableCss;
12924
13631
  class NvTable {
12925
13632
  constructor(hostRef) {
12926
13633
  registerInstance(this, hostRef);
12927
- this.parsedColumns = [];
12928
- this.parsedData = [];
13634
+ /****************************************************************************/
13635
+ //#region STATES
13636
+ this.parsedColumns = []; // Parsed array of column headers
13637
+ this.parsedData = []; // Parsed array of data rows
12929
13638
  this.hasSlotHead = false;
12930
13639
  this.hasSlotBody = false;
13640
+ //#endregion STATES
13641
+ /****************************************************************************/
13642
+ //#region PROPERTIES
13643
+ /**
13644
+ * Defines the table columns.
13645
+ * @example ['Name', 'Age', 'Email']
13646
+ * @default []
13647
+ */
12931
13648
  this.columns = [];
12932
- this.columnsJson = undefined;
13649
+ /**
13650
+ * Defines the table data.
13651
+ * @example [{ name: 'Alice', age: 25, email: 'alice@mail.com' }, { name: 'Bob', age: 30, email: 'bob@mail.com' }]
13652
+ * @default []
13653
+ */
12933
13654
  this.data = [];
12934
- this.dataJson = undefined;
13655
+ /**
13656
+ * The message to display when there is no data available.
13657
+ * @default 'No data available'
13658
+ */
12935
13659
  this.noDataMessage = 'No data available';
13660
+ /**
13661
+ * The message to display when there are no columns or data available.
13662
+ * @default 'No data or columns available to display.'
13663
+ */
12936
13664
  this.noColumnsNoDataMessage = 'No data or columns available to display.';
12937
13665
  }
12938
13666
  //#endregion PROPERTIES
@@ -13097,11 +13825,22 @@ var NvTablecolumnStyle0 = nvTablecolumnCss;
13097
13825
  class NvTablecolumn {
13098
13826
  constructor(hostRef) {
13099
13827
  registerInstance(this, hostRef);
13100
- this.abbr = undefined;
13828
+ /**
13829
+ * A non-negative integer value indicating how many columns the header cell spans
13830
+ * or extends. The default value is 1. User agents dismiss values higher than 1000
13831
+ * as incorrect, defaulting such values to 1.
13832
+ * @default 1
13833
+ */
13101
13834
  this.colspan = 1;
13835
+ /**
13836
+ * A non-negative integer value indicating how many rows the header cell spans or
13837
+ * extends. The default value is 1; if its value is set to 0, the header cell will
13838
+ * extends to the end of the table grouping section (`<thead>`, `<tbody>`, `<tfoot>`,
13839
+ * even if implicitly defined), that the `<th>` belongs to. Values higher than 65534
13840
+ * are clipped at 65534.
13841
+ * @default 1
13842
+ */
13102
13843
  this.rowspan = 1;
13103
- this.headers = undefined;
13104
- this.scope = undefined;
13105
13844
  }
13106
13845
  //#endregion PROPERTIES
13107
13846
  /****************************************************************************/
@@ -13135,9 +13874,24 @@ var NvTabledatacellStyle0 = nvTabledatacellCss;
13135
13874
  class NvTabledatacell {
13136
13875
  constructor(hostRef) {
13137
13876
  registerInstance(this, hostRef);
13877
+ /****************************************************************************/
13878
+ //#region PROPERTIES
13879
+ /**
13880
+ * Contains a non-negative integer value that indicates how many columns the data
13881
+ * cell spans or extends. The default value is 1. User agents dismiss values higher
13882
+ * than 1000 as incorrect, setting to the default value (1).
13883
+ * @default 1
13884
+ */
13138
13885
  this.colspan = 1;
13886
+ /**
13887
+ * Contains a non-negative integer value that indicates for how many rows the data
13888
+ * cell spans or extends. The default value is 1; if its value is set to 0, it
13889
+ * extends until the end of the table grouping section (`<thead>`, `<tbody>`,
13890
+ * `<tfoot>`, even if implicitly defined), that the cell belongs to. Values higher
13891
+ * than 65534 are clipped to 65534.
13892
+ * @default 1
13893
+ */
13139
13894
  this.rowspan = 1;
13140
- this.headers = undefined;
13141
13895
  }
13142
13896
  //#endregion PROPERTIES
13143
13897
  /****************************************************************************/
@@ -13222,8 +13976,17 @@ var NvTooltipStyle0 = nvTooltipCss;
13222
13976
  class NvTooltip {
13223
13977
  constructor(hostRef) {
13224
13978
  registerInstance(this, hostRef);
13225
- this.message = undefined;
13979
+ /**
13980
+ * Decides where the tooltip shows up next to the element it’s linked to
13981
+ * (above, below, to the sides). If there isn’t enough room, it will adjust
13982
+ * it's position on the axis to fit on the screen, so users can always see it.
13983
+ */
13226
13984
  this.placement = 'bottom';
13985
+ /**
13986
+ * Controls how long (in milliseconds) the tooltip waits to show after you
13987
+ * hover over or focus on an element. If you move away before the delay is up,
13988
+ * the tooltip won’t appear.
13989
+ */
13227
13990
  this.enterDelay = 0;
13228
13991
  }
13229
13992
  //#endregion PROPERTIES
@@ -13408,7 +14171,7 @@ var NAMESPACE = (
13408
14171
  );
13409
14172
 
13410
14173
  /*
13411
- Stencil Hydrate Runner v4.22.3 | MIT Licensed | https://stenciljs.com
14174
+ Stencil Hydrate Runner v4.23.1 | MIT Licensed | https://stenciljs.com
13412
14175
  */
13413
14176
  var __defProp = Object.defineProperty;
13414
14177
  var __export = (target, all) => {
@@ -23838,7 +24601,7 @@ function serializeNodeToHtml(elm, serializationOptions = {}) {
23838
24601
  text: []
23839
24602
  };
23840
24603
  let renderedNode = "";
23841
- const children = !opts.fullDocument && elm.body ? Array.from(elm.body.childNodes) : opts.outerHtml ? [elm] : Array.from(elm.childNodes);
24604
+ const children = !opts.fullDocument && elm.body ? Array.from(elm.body.childNodes) : opts.outerHtml ? [elm] : Array.from(getChildNodes(elm));
23842
24605
  for (let i = 0, ii = children.length; i < ii; i++) {
23843
24606
  const child = children[i];
23844
24607
  const chunks = Array.from(streamToHtml(child, opts, output));
@@ -23871,7 +24634,10 @@ function* streamToHtml(node, opts, output) {
23871
24634
  const tag = tagName === shadowRootTag ? "template" : tagName;
23872
24635
  yield "<" + tag;
23873
24636
  output.currentLineWidth += tag.length + 1;
23874
- if (tag === "template") {
24637
+ if (tag === "template" && (!node.getAttribute || !node.getAttribute("shadowrootmode")) && /**
24638
+ * If the node is a shadow root, we want to add the `shadowrootmode` attribute
24639
+ */
24640
+ ("host" in node || node.nodeName.toLocaleLowerCase() === shadowRootTag)) {
23875
24641
  const mode = ` shadowrootmode="open"`;
23876
24642
  yield mode;
23877
24643
  output.currentLineWidth += mode.length;
@@ -23955,7 +24721,8 @@ style="${cssText}">`;
23955
24721
  output.indent = output.indent + ((_c = opts.indentSpaces) != null ? _c : 0);
23956
24722
  yield* streamToHtml(shadowRoot, opts, output);
23957
24723
  output.indent = output.indent - ((_d = opts.indentSpaces) != null ? _d : 0);
23958
- if (opts.newLines && (node.childNodes.length === 0 || node.childNodes.length === 1 && node.childNodes[0].nodeType === 3 /* TEXT_NODE */ && ((_e = node.childNodes[0].nodeValue) == null ? void 0 : _e.trim()) === "")) {
24724
+ const childNodes = getChildNodes(node);
24725
+ if (opts.newLines && (childNodes.length === 0 || childNodes.length === 1 && childNodes[0].nodeType === 3 /* TEXT_NODE */ && ((_e = childNodes[0].nodeValue) == null ? void 0 : _e.trim()) === "")) {
23959
24726
  yield "\n";
23960
24727
  output.currentLineWidth = 0;
23961
24728
  for (let i = 0; i < output.indent; i++) {
@@ -23966,7 +24733,7 @@ style="${cssText}">`;
23966
24733
  }
23967
24734
  if (opts.excludeTagContent == null || opts.excludeTagContent.includes(tagName) === false) {
23968
24735
  const tag = tagName === shadowRootTag ? "template" : tagName;
23969
- const childNodes = tagName === "template" ? node.content.childNodes : node.childNodes;
24736
+ const childNodes = tagName === "template" ? node.content.childNodes : getChildNodes(node);
23970
24737
  const childNodeLength = childNodes.length;
23971
24738
  if (childNodeLength > 0) {
23972
24739
  if (childNodeLength === 1 && childNodes[0].nodeType === 3 /* TEXT_NODE */ && (typeof childNodes[0].nodeValue !== "string" || childNodes[0].nodeValue.trim() === "")) {
@@ -24139,6 +24906,9 @@ function isWithinWhitespaceSensitive(node) {
24139
24906
  }
24140
24907
  return false;
24141
24908
  }
24909
+ function getChildNodes(node) {
24910
+ return node.__childNodes || node.childNodes;
24911
+ }
24142
24912
  var NON_ESCAPABLE_CONTENT = /* @__PURE__ */ new Set([
24143
24913
  "STYLE",
24144
24914
  "SCRIPT",
@@ -24408,10 +25178,12 @@ var MockElement = class extends MockNode2 {
24408
25178
  attachInternals() {
24409
25179
  return new Proxy({}, {
24410
25180
  get: function(_target, prop, _receiver) {
24411
- console.error(
24412
- `NOTE: Property ${String(prop)} was accessed on ElementInternals, but this property is not implemented.
24413
- Testing components with ElementInternals is fully supported in e2e tests.`
24414
- );
25181
+ if ("process" in globalThis && globalThis.process.env.__STENCIL_SPEC_TESTS__) {
25182
+ console.error(
25183
+ `NOTE: Property ${String(prop)} was accessed on ElementInternals, but this property is not implemented.
25184
+ Testing components with ElementInternals is fully supported in e2e tests.`
25185
+ );
25186
+ }
24415
25187
  }
24416
25188
  });
24417
25189
  }
@@ -25331,6 +26103,8 @@ function createElement(ownerDocument, tagName) {
25331
26103
  return new MockTitleElement(ownerDocument);
25332
26104
  case "ul":
25333
26105
  return new MockUListElement(ownerDocument);
26106
+ case "slot-fb":
26107
+ return new MockHTMLElement(ownerDocument, tagName);
25334
26108
  }
25335
26109
  if (ownerDocument != null && tagName.includes("-")) {
25336
26110
  const win2 = ownerDocument.defaultView;
@@ -27618,11 +28392,11 @@ var unwrapErr = (result) => {
27618
28392
  throw result.value;
27619
28393
  }
27620
28394
  };
28395
+ var CAPTURE_EVENT_SUFFIX = "Capture";
28396
+ var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
27621
28397
 
27622
28398
  // src/runtime/mode.ts
27623
28399
  var setMode = (handler) => modeResolutionChain.push(handler);
27624
- var CAPTURE_EVENT_SUFFIX = "Capture";
27625
- var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
27626
28400
 
27627
28401
  // src/compiler/html/canonical-link.ts
27628
28402
  var updateCanonicalLink = (doc2, href) => {