@nova-design-system/nova-react 3.0.0-beta.42 → 3.0.0-beta.44

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 (270) hide show
  1. package/dist/cjs/index-BZCQTWfv.js +26372 -0
  2. package/dist/cjs/index-B_VOAJzk.js +26373 -0
  3. package/dist/cjs/index-CDe7nrrW.js +26373 -0
  4. package/dist/cjs/index-CEWbQ5nh.js +26373 -0
  5. package/dist/cjs/index-CIcUUomJ.js +26373 -0
  6. package/dist/cjs/index-CtI3SivD.js +26373 -0
  7. package/dist/cjs/index-wDACGzKb.js +26373 -0
  8. package/dist/cjs/index.js +1 -1
  9. package/dist/cjs/nv-alert.entry-B-P-Fgdo.js +173 -0
  10. package/dist/cjs/nv-alert.entry-B3NpZh1C.js +173 -0
  11. package/dist/cjs/nv-alert.entry-BU86GY-d.js +173 -0
  12. package/dist/cjs/nv-alert.entry-CwZcD170.js +173 -0
  13. package/dist/cjs/nv-alert.entry-CxSN1zpW.js +173 -0
  14. package/dist/cjs/nv-alert.entry-DsoqN5tQ.js +173 -0
  15. package/dist/cjs/nv-alert.entry-xuY-Lvuj.js +173 -0
  16. package/dist/cjs/nv-avatar.entry-CFgnor0-.js +67 -0
  17. package/dist/cjs/nv-avatar.entry-DJkpupVT.js +67 -0
  18. package/dist/cjs/nv-avatar.entry-DKXMQPOz.js +67 -0
  19. package/dist/cjs/nv-avatar.entry-DWOADxdQ.js +67 -0
  20. package/dist/cjs/nv-avatar.entry-DjyiGt07.js +67 -0
  21. package/dist/cjs/nv-avatar.entry-DuN1d3Vy.js +67 -0
  22. package/dist/cjs/nv-avatar.entry-yyLQEqI7.js +67 -0
  23. package/dist/cjs/nv-badge_2.entry-BFURAuBQ.js +195 -0
  24. package/dist/cjs/nv-badge_2.entry-BQXL0ZhP.js +195 -0
  25. package/dist/cjs/nv-badge_2.entry-CJQWS2xG.js +195 -0
  26. package/dist/cjs/nv-badge_2.entry-D0jeqYIQ.js +195 -0
  27. package/dist/cjs/nv-badge_2.entry-DKGHx4c8.js +194 -0
  28. package/dist/cjs/nv-badge_2.entry-Drgx-565.js +195 -0
  29. package/dist/cjs/nv-badge_2.entry-im1VnU5f.js +195 -0
  30. package/dist/cjs/nv-base.entry-9HF044Di.js +71 -0
  31. package/dist/cjs/nv-base.entry-BmY-1Lne.js +71 -0
  32. package/dist/cjs/nv-base.entry-BuxI7QmU.js +71 -0
  33. package/dist/cjs/nv-base.entry-CcaAXjnO.js +71 -0
  34. package/dist/cjs/nv-base.entry-Ch8ncPl0.js +71 -0
  35. package/dist/cjs/nv-base.entry-D7gUvPIG.js +71 -0
  36. package/dist/cjs/nv-base.entry-c723sI4Y.js +71 -0
  37. package/dist/cjs/nv-breadcrumb.entry-B9rOxsg_.js +45 -0
  38. package/dist/cjs/nv-breadcrumb.entry-BtM_AHRC.js +45 -0
  39. package/dist/cjs/nv-breadcrumb.entry-C-xHbSJw.js +45 -0
  40. package/dist/cjs/nv-breadcrumb.entry-CL9l0Wkr.js +45 -0
  41. package/dist/cjs/nv-breadcrumb.entry-CxGReUqZ.js +45 -0
  42. package/dist/cjs/nv-breadcrumb.entry-LYt0sALP.js +45 -0
  43. package/dist/cjs/nv-breadcrumb.entry-wy-P2BMg.js +45 -0
  44. package/dist/cjs/nv-breadcrumbs.entry-9LlUycIv.js +20 -0
  45. package/dist/cjs/nv-breadcrumbs.entry-B7CaTbBe.js +20 -0
  46. package/dist/cjs/nv-breadcrumbs.entry-BA-TnreZ.js +20 -0
  47. package/dist/cjs/nv-breadcrumbs.entry-CEmZ3yFi.js +20 -0
  48. package/dist/cjs/nv-breadcrumbs.entry-De5lsjQf.js +20 -0
  49. package/dist/cjs/nv-breadcrumbs.entry-_w38BddR.js +20 -0
  50. package/dist/cjs/nv-breadcrumbs.entry-ubxLcEUH.js +20 -0
  51. package/dist/cjs/nv-button.entry-B3rEQuGV.js +162 -0
  52. package/dist/cjs/nv-button.entry-B5-Wf9hh.js +162 -0
  53. package/dist/cjs/nv-button.entry-CBNfIn-r.js +162 -0
  54. package/dist/cjs/nv-button.entry-D-DPQDNM.js +162 -0
  55. package/dist/cjs/nv-button.entry-DHZX7KH4.js +162 -0
  56. package/dist/cjs/nv-button.entry-DLoECCSK.js +162 -0
  57. package/dist/cjs/nv-button.entry-Dk6DqHG2.js +162 -0
  58. package/dist/cjs/nv-calendar.entry-BeCCaAVE.js +1036 -0
  59. package/dist/cjs/nv-calendar.entry-DNyH8T5e.js +1036 -0
  60. package/dist/cjs/nv-calendar.entry-DSWhDnEC.js +1036 -0
  61. package/dist/cjs/nv-calendar.entry-DUHckAh3.js +1036 -0
  62. package/dist/cjs/nv-calendar.entry-NU1TumeS.js +1036 -0
  63. package/dist/cjs/nv-calendar.entry-UUE6v4YC.js +1036 -0
  64. package/dist/cjs/nv-calendar.entry-ZtfR2qOV.js +1036 -0
  65. package/dist/cjs/nv-col.entry-B5nCHhbO.js +37 -0
  66. package/dist/cjs/nv-col.entry-Bx1VZSMw.js +37 -0
  67. package/dist/cjs/nv-col.entry-C400BeEE.js +37 -0
  68. package/dist/cjs/nv-col.entry-CYjFAVMF.js +37 -0
  69. package/dist/cjs/nv-col.entry-DDEtfCv-.js +37 -0
  70. package/dist/cjs/nv-col.entry-DqzImLSJ.js +37 -0
  71. package/dist/cjs/nv-col.entry-DtYBQEJz.js +37 -0
  72. package/dist/cjs/nv-datagrid.entry-5VIvkJGL.js +3671 -0
  73. package/dist/cjs/nv-datagrid.entry-Ba9sfMQp.js +3671 -0
  74. package/dist/cjs/nv-datagrid.entry-Beehe_Sq.js +3671 -0
  75. package/dist/cjs/nv-datagrid.entry-CkD_jV75.js +3671 -0
  76. package/dist/cjs/nv-datagrid.entry-D6p67Pa6.js +3671 -0
  77. package/dist/cjs/nv-datagrid.entry-DKqScS8N.js +3671 -0
  78. package/dist/cjs/nv-datagrid.entry-ee865R4b.js +3671 -0
  79. package/dist/cjs/nv-datagridcolumn.entry-BeGXaBUe.js +18 -0
  80. package/dist/cjs/nv-datagridcolumn.entry-BodICzof.js +18 -0
  81. package/dist/cjs/nv-datagridcolumn.entry-C_FtSltZ.js +18 -0
  82. package/dist/cjs/nv-datagridcolumn.entry-D1cyTR_G.js +18 -0
  83. package/dist/cjs/nv-datagridcolumn.entry-DRE7BDkk.js +18 -0
  84. package/dist/cjs/nv-datagridcolumn.entry-Du6-7fjr.js +18 -0
  85. package/dist/cjs/nv-datagridcolumn.entry-N70Aen6Q.js +18 -0
  86. package/dist/cjs/nv-dialog.entry-BgHknrOx.js +784 -0
  87. package/dist/cjs/nv-dialog.entry-C1hg-EG1.js +784 -0
  88. package/dist/cjs/nv-dialog.entry-COv2do_O.js +784 -0
  89. package/dist/cjs/nv-dialog.entry-Ck2hU43g.js +784 -0
  90. package/dist/cjs/nv-dialog.entry-Cl8iLrCo.js +784 -0
  91. package/dist/cjs/nv-dialog.entry-Cy71tlWz.js +784 -0
  92. package/dist/cjs/nv-dialog.entry-DdAHZGzm.js +784 -0
  93. package/dist/cjs/nv-dialogfooter_2.entry-CXvA0O-2.js +134 -0
  94. package/dist/cjs/nv-dialogfooter_2.entry-Ck6adFfd.js +134 -0
  95. package/dist/cjs/nv-dialogfooter_2.entry-DHa0SYhR.js +134 -0
  96. package/dist/cjs/nv-dialogfooter_2.entry-DKvzkpt3.js +134 -0
  97. package/dist/cjs/nv-dialogfooter_2.entry-D_VuofBe.js +134 -0
  98. package/dist/cjs/nv-dialogfooter_2.entry-L5tHIb_T.js +134 -0
  99. package/dist/cjs/nv-dialogfooter_2.entry-kEa1K0n5.js +134 -0
  100. package/dist/cjs/nv-fieldcheckbox.entry-B4We4zG2.js +137 -0
  101. package/dist/cjs/nv-fieldcheckbox.entry-BmYyNV4r.js +137 -0
  102. package/dist/cjs/nv-fieldcheckbox.entry-CBsQsbIA.js +137 -0
  103. package/dist/cjs/nv-fieldcheckbox.entry-DTIebeJR.js +137 -0
  104. package/dist/cjs/nv-fieldcheckbox.entry-P--9IAJF.js +137 -0
  105. package/dist/cjs/nv-fieldcheckbox.entry-dBYg7CBU.js +137 -0
  106. package/dist/cjs/nv-fieldcheckbox.entry-dxhUZiEg.js +137 -0
  107. package/dist/cjs/nv-fielddate.entry-B53E-JaI.js +278 -0
  108. package/dist/cjs/nv-fielddate.entry-Bofdd2rE.js +278 -0
  109. package/dist/cjs/nv-fielddate.entry-CIo_61Dc.js +278 -0
  110. package/dist/cjs/nv-fielddate.entry-CekIFTA0.js +278 -0
  111. package/dist/cjs/nv-fielddate.entry-DgS0X1wI.js +278 -0
  112. package/dist/cjs/nv-fielddate.entry-Do69eqHA.js +278 -0
  113. package/dist/cjs/nv-fielddate.entry-NJ6RAqlG.js +278 -0
  114. package/dist/cjs/nv-fielddaterange.entry-BtPwfRw-.js +355 -0
  115. package/dist/cjs/nv-fielddaterange.entry-CxaBrZAX.js +355 -0
  116. package/dist/cjs/nv-fielddaterange.entry-D-6LjhjB.js +355 -0
  117. package/dist/cjs/nv-fielddaterange.entry-D0fq5KFb.js +355 -0
  118. package/dist/cjs/nv-fielddaterange.entry-D2dzD3rW.js +355 -0
  119. package/dist/cjs/nv-fielddaterange.entry-DTLKVIqg.js +355 -0
  120. package/dist/cjs/nv-fielddaterange.entry-w8WXPDuX.js +355 -0
  121. package/dist/cjs/nv-fielddropdown.entry-BAaPyGtB.js +361 -0
  122. package/dist/cjs/nv-fielddropdown.entry-C5kMWmPP.js +361 -0
  123. package/dist/cjs/nv-fielddropdown.entry-CX2Ycn2i.js +361 -0
  124. package/dist/cjs/nv-fielddropdown.entry-CZxQlRNa.js +361 -0
  125. package/dist/cjs/nv-fielddropdown.entry-DVl_Uy5A.js +361 -0
  126. package/dist/cjs/nv-fielddropdown.entry-akfp1Bcy.js +361 -0
  127. package/dist/cjs/nv-fielddropdown.entry-hHh_RDC4.js +361 -0
  128. package/dist/cjs/nv-fielddropdownitem.entry-BscNyhXz.js +68 -0
  129. package/dist/cjs/nv-fielddropdownitem.entry-CMWgXP_Z.js +68 -0
  130. package/dist/cjs/nv-fielddropdownitem.entry-CS1Ejbc9.js +68 -0
  131. package/dist/cjs/nv-fielddropdownitem.entry-CW4WMmSZ.js +68 -0
  132. package/dist/cjs/nv-fielddropdownitem.entry-CuQqsz4f.js +68 -0
  133. package/dist/cjs/nv-fielddropdownitem.entry-Dn2HJc1t.js +68 -0
  134. package/dist/cjs/nv-fielddropdownitem.entry-HK2I5pUG.js +68 -0
  135. package/dist/cjs/nv-fieldmultiselect.entry-5jdK36m6.js +1060 -0
  136. package/dist/cjs/nv-fieldmultiselect.entry-6o1yhNI5.js +1060 -0
  137. package/dist/cjs/nv-fieldmultiselect.entry-BGzYCJuF.js +1060 -0
  138. package/dist/cjs/nv-fieldmultiselect.entry-BN1ObPi8.js +1060 -0
  139. package/dist/cjs/nv-fieldmultiselect.entry-CuVEYN0v.js +1060 -0
  140. package/dist/cjs/nv-fieldmultiselect.entry-DHXJErt4.js +1060 -0
  141. package/dist/cjs/nv-fieldmultiselect.entry-DycRd14V.js +1060 -0
  142. package/dist/cjs/nv-fieldnumber.entry-BHhIsjLK.js +126 -0
  143. package/dist/cjs/nv-fieldnumber.entry-BklKxOFA.js +126 -0
  144. package/dist/cjs/nv-fieldnumber.entry-C8zJkL24.js +126 -0
  145. package/dist/cjs/nv-fieldnumber.entry-C9rKWY_M.js +126 -0
  146. package/dist/cjs/nv-fieldnumber.entry-CEmPQK-3.js +126 -0
  147. package/dist/cjs/nv-fieldnumber.entry-CLhjFlCj.js +126 -0
  148. package/dist/cjs/nv-fieldnumber.entry-_UiieYov.js +126 -0
  149. package/dist/cjs/nv-fieldpassword.entry-7lS0Msfg.js +115 -0
  150. package/dist/cjs/nv-fieldpassword.entry-B9-QFEsB.js +115 -0
  151. package/dist/cjs/nv-fieldpassword.entry-BIIoIKH4.js +115 -0
  152. package/dist/cjs/nv-fieldpassword.entry-BPhQxjsj.js +115 -0
  153. package/dist/cjs/nv-fieldpassword.entry-C5vG4jlh.js +115 -0
  154. package/dist/cjs/nv-fieldpassword.entry-C_jsHFJI.js +115 -0
  155. package/dist/cjs/nv-fieldpassword.entry-DZkGQwM8.js +115 -0
  156. package/dist/cjs/nv-fieldradio.entry-BgpmbG9E.js +102 -0
  157. package/dist/cjs/nv-fieldradio.entry-CXR4k3wf.js +102 -0
  158. package/dist/cjs/nv-fieldradio.entry-CnasQlEx.js +102 -0
  159. package/dist/cjs/nv-fieldradio.entry-DUDPigQb.js +102 -0
  160. package/dist/cjs/nv-fieldradio.entry-DiD7Luxv.js +102 -0
  161. package/dist/cjs/nv-fieldradio.entry-Ili2RVKl.js +102 -0
  162. package/dist/cjs/nv-fieldradio.entry-aRAaLwpK.js +102 -0
  163. package/dist/cjs/nv-fieldselect.entry-B94QXSEk.js +365 -0
  164. package/dist/cjs/nv-fieldselect.entry-BwtEjL08.js +365 -0
  165. package/dist/cjs/nv-fieldselect.entry-CFDqeR-D.js +365 -0
  166. package/dist/cjs/nv-fieldselect.entry-CJSu63o5.js +365 -0
  167. package/dist/cjs/nv-fieldselect.entry-CmN1R9ij.js +365 -0
  168. package/dist/cjs/nv-fieldselect.entry-CoDfr4ie.js +365 -0
  169. package/dist/cjs/nv-fieldselect.entry-DgmnHnOR.js +365 -0
  170. package/dist/cjs/nv-fieldtext.entry-B1TlZWjU.js +119 -0
  171. package/dist/cjs/nv-fieldtext.entry-BfQrX8ft.js +119 -0
  172. package/dist/cjs/nv-fieldtext.entry-BrUQu4OD.js +119 -0
  173. package/dist/cjs/nv-fieldtext.entry-CW6P-R-Q.js +119 -0
  174. package/dist/cjs/nv-fieldtext.entry-CyLJxDw6.js +119 -0
  175. package/dist/cjs/nv-fieldtext.entry-DDqDSJp3.js +119 -0
  176. package/dist/cjs/nv-fieldtext.entry-IeIHa3jf.js +119 -0
  177. package/dist/cjs/nv-fieldtextarea.entry-D86SKGIN.js +194 -0
  178. package/dist/cjs/nv-fieldtextarea.entry-DlFdCv_d.js +194 -0
  179. package/dist/cjs/nv-fieldtextarea.entry-DqzeITCG.js +194 -0
  180. package/dist/cjs/nv-fieldtextarea.entry-TI-bucN-.js +194 -0
  181. package/dist/cjs/nv-fieldtextarea.entry-qMX2O8cX.js +194 -0
  182. package/dist/cjs/nv-fieldtextarea.entry-tTnWQgE4.js +194 -0
  183. package/dist/cjs/nv-fieldtextarea.entry-v6VpnEuH.js +194 -0
  184. package/dist/cjs/nv-fieldtime.entry-CPyLyQfR.js +1011 -0
  185. package/dist/cjs/nv-fieldtime.entry-CYmcHY1D.js +1011 -0
  186. package/dist/cjs/nv-fieldtime.entry-DGP1X4wF.js +1011 -0
  187. package/dist/cjs/nv-fieldtime.entry-DLSuRrlr.js +1011 -0
  188. package/dist/cjs/nv-fieldtime.entry-Zbjbmm7_.js +1011 -0
  189. package/dist/cjs/nv-fieldtime.entry-eDVRT6te.js +1011 -0
  190. package/dist/cjs/nv-fieldtime.entry-j-Fliiqj.js +1011 -0
  191. package/dist/cjs/nv-icon.entry-B0Y3rgBQ.js +79 -0
  192. package/dist/cjs/nv-icon.entry-B_wtREWb.js +79 -0
  193. package/dist/cjs/nv-icon.entry-BfRAl2b6.js +79 -0
  194. package/dist/cjs/nv-icon.entry-CrKTCqY_.js +79 -0
  195. package/dist/cjs/nv-icon.entry-DRRmcXzh.js +79 -0
  196. package/dist/cjs/nv-icon.entry-Dlj1ko2i.js +79 -0
  197. package/dist/cjs/nv-icon.entry-S7WlK_lO.js +79 -0
  198. package/dist/cjs/nv-iconbutton_2.entry-B02iDUid.js +163 -0
  199. package/dist/cjs/nv-iconbutton_2.entry-C1Legk9t.js +163 -0
  200. package/dist/cjs/nv-iconbutton_2.entry-CUiW6MtK.js +163 -0
  201. package/dist/cjs/nv-iconbutton_2.entry-ClcvupMe.js +163 -0
  202. package/dist/cjs/nv-iconbutton_2.entry-D8MI5uzP.js +163 -0
  203. package/dist/cjs/nv-iconbutton_2.entry-D8hZ51H-.js +163 -0
  204. package/dist/cjs/nv-iconbutton_2.entry-QwaiOoYl.js +163 -0
  205. package/dist/cjs/nv-menu.entry-BfmYkdYY.js +227 -0
  206. package/dist/cjs/nv-menu.entry-CT98WIRF.js +227 -0
  207. package/dist/cjs/nv-menu.entry-CfERF478.js +227 -0
  208. package/dist/cjs/nv-menu.entry-Ci3I7PDt.js +227 -0
  209. package/dist/cjs/nv-menu.entry-DtLnsQW-.js +227 -0
  210. package/dist/cjs/nv-menu.entry-Kz5kGi2w.js +227 -0
  211. package/dist/cjs/nv-menu.entry-XdjjbAL6.js +227 -0
  212. package/dist/cjs/nv-menuitem.entry-C8nXPwP0.js +58 -0
  213. package/dist/cjs/nv-menuitem.entry-C9dsQqqN.js +58 -0
  214. package/dist/cjs/nv-menuitem.entry-Cedg0TCQ.js +58 -0
  215. package/dist/cjs/nv-menuitem.entry-CxCLeNsY.js +58 -0
  216. package/dist/cjs/nv-menuitem.entry-DkIG5z-x.js +58 -0
  217. package/dist/cjs/nv-menuitem.entry-bPnSDq_9.js +58 -0
  218. package/dist/cjs/nv-menuitem.entry-sRx1fD0O.js +58 -0
  219. package/dist/cjs/nv-popover.entry-BGXEOQM6.js +1960 -0
  220. package/dist/cjs/nv-popover.entry-C57rfYUn.js +1960 -0
  221. package/dist/cjs/nv-popover.entry-C6HFJJ-m.js +1960 -0
  222. package/dist/cjs/nv-popover.entry-CiGCCbn9.js +1960 -0
  223. package/dist/cjs/nv-popover.entry-CjTPZYkq.js +1960 -0
  224. package/dist/cjs/nv-popover.entry-CtO6pR6l.js +1960 -0
  225. package/dist/cjs/nv-popover.entry-Mo3DNUH6.js +1960 -0
  226. package/dist/cjs/nv-row.entry-BEgyuDR-.js +21 -0
  227. package/dist/cjs/nv-row.entry-BM_EcSp4.js +21 -0
  228. package/dist/cjs/nv-row.entry-B_7PiJA7.js +21 -0
  229. package/dist/cjs/nv-row.entry-Ca7LiDAy.js +21 -0
  230. package/dist/cjs/nv-row.entry-Cy9vd2iY.js +21 -0
  231. package/dist/cjs/nv-row.entry-DKoNhAcX.js +21 -0
  232. package/dist/cjs/nv-row.entry-OYGKTXhV.js +21 -0
  233. package/dist/cjs/nv-stack.entry-BNyPxECg.js +30 -0
  234. package/dist/cjs/nv-stack.entry-C8ZFDaKn.js +30 -0
  235. package/dist/cjs/nv-stack.entry-CLMAAbkw.js +30 -0
  236. package/dist/cjs/nv-stack.entry-DfRRFeEo.js +30 -0
  237. package/dist/cjs/nv-stack.entry-DiXvhuSS.js +30 -0
  238. package/dist/cjs/nv-stack.entry-lwhqS230.js +30 -0
  239. package/dist/cjs/nv-stack.entry-u3NjC31-.js +30 -0
  240. package/dist/cjs/nv-table.entry-BNy2ALll.js +338 -0
  241. package/dist/cjs/nv-table.entry-BPazUUGA.js +338 -0
  242. package/dist/cjs/nv-table.entry-COwgRxqz.js +338 -0
  243. package/dist/cjs/nv-table.entry-CTo8cqCN.js +338 -0
  244. package/dist/cjs/nv-table.entry-DzOGLNUx.js +338 -0
  245. package/dist/cjs/nv-table.entry-mEtRfake.js +338 -0
  246. package/dist/cjs/nv-table.entry-o525Lfea.js +338 -0
  247. package/dist/cjs/nv-tablecolumn.entry-BESdQMDh.js +18 -0
  248. package/dist/cjs/nv-tablecolumn.entry-CuEt5Wgn.js +18 -0
  249. package/dist/cjs/nv-tablecolumn.entry-D3I1dB1X.js +18 -0
  250. package/dist/cjs/nv-tablecolumn.entry-DvJF_QTE.js +18 -0
  251. package/dist/cjs/nv-tablecolumn.entry-DvO0JxdY.js +18 -0
  252. package/dist/cjs/nv-tablecolumn.entry-L4KLlHFu.js +18 -0
  253. package/dist/cjs/nv-tablecolumn.entry-vrmt1Y0L.js +18 -0
  254. package/dist/cjs/nv-toggle.entry-BIclNIeq.js +79 -0
  255. package/dist/cjs/nv-toggle.entry-Bv0DrF-x.js +79 -0
  256. package/dist/cjs/nv-toggle.entry-BxKZDHdI.js +79 -0
  257. package/dist/cjs/nv-toggle.entry-DYhnFucd.js +79 -0
  258. package/dist/cjs/nv-toggle.entry-PRWy57Ro.js +79 -0
  259. package/dist/cjs/nv-toggle.entry-fDIAyeVX.js +79 -0
  260. package/dist/cjs/nv-toggle.entry-yqg7e7Qc.js +79 -0
  261. package/dist/cjs/nv-tooltip.entry--TVfBopp.js +44 -0
  262. package/dist/cjs/nv-tooltip.entry-58RCazbO.js +44 -0
  263. package/dist/cjs/nv-tooltip.entry-BBJNnZmj.js +44 -0
  264. package/dist/cjs/nv-tooltip.entry-Bnu7xEl6.js +44 -0
  265. package/dist/cjs/nv-tooltip.entry-BrrSQyMx.js +44 -0
  266. package/dist/cjs/nv-tooltip.entry-BuSwME_F.js +44 -0
  267. package/dist/cjs/nv-tooltip.entry-ChQpdQn_.js +44 -0
  268. package/dist/generated/components.js +2 -2
  269. package/dist/types/generated/components.d.ts +2 -4
  270. package/package.json +1 -1
@@ -0,0 +1,338 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CEWbQ5nh.js');
4
+ var dom_utilsAc71e0ef = require('./dom.utils-ac71e0ef-CmIwRr6O.js');
5
+ require('react');
6
+
7
+ const nvTableCss = "nv-table{display:block}nv-table .hidden{display:none}nv-table table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-table th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-table td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-table tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}";
8
+ const NvTableStyle0 = nvTableCss;
9
+
10
+ const NvTable = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.action = index.createEvent(this, "action");
14
+ this.templateCache = new Map();
15
+ this.headerTemplateCache = new Map();
16
+ /****************************************************************************/
17
+ //#region STATES
18
+ this.parsedColumns = [];
19
+ this.parsedData = [];
20
+ this.table = null;
21
+ //#endregion STATES
22
+ /****************************************************************************/
23
+ //#region PROPERTIES
24
+ /**
25
+ * Data to be displayed in the table
26
+ */
27
+ this.data = [];
28
+ /**
29
+ * Configuration of the columns of the table
30
+ */
31
+ this.columnsConfig = [];
32
+ /**
33
+ * Fallback value to be displayed when data is not available
34
+ */
35
+ this.fallbackValue = 'N/A';
36
+ /**
37
+ * Message to be displayed when no data is available
38
+ */
39
+ this.noDataMessage = 'No data available';
40
+ /**
41
+ * The message to display when there are no columns or data available.
42
+ * @default 'No data or columns available to display.'
43
+ */
44
+ this.noColumnsNoDataMessage = 'No data or columns available to display.';
45
+ }
46
+ //#endregion PROPERTIES
47
+ /****************************************************************************/
48
+ //#region METHODS
49
+ /**
50
+ * Caches templates for cells and headers upfront to improve performance.
51
+ */
52
+ cacheTemplates() {
53
+ const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));
54
+ columns.forEach((col) => {
55
+ const key = col.name;
56
+ const cellSlot = col.querySelector('[slot="cell"]');
57
+ if (cellSlot) {
58
+ const element = dom_utilsAc71e0ef.deepCopyElement(cellSlot);
59
+ this.templateCache.set(key, element);
60
+ }
61
+ const headerSlot = col.querySelector('[slot="header"]');
62
+ if (headerSlot) {
63
+ const element = dom_utilsAc71e0ef.deepCopyElement(headerSlot);
64
+ this.headerTemplateCache.set(key, element);
65
+ }
66
+ else {
67
+ const header = col.header;
68
+ if (header) {
69
+ const headerDiv = document.createElement('div');
70
+ headerDiv.textContent = header;
71
+ this.headerTemplateCache.set(key, headerDiv);
72
+ }
73
+ }
74
+ });
75
+ }
76
+ parseDataAndColumns() {
77
+ if (this.dataJson) {
78
+ this.parseJsonData(this.dataJson);
79
+ }
80
+ else if (this.data && this.data.length > 0) {
81
+ this.parseDataArray(this.data, this.parsedData);
82
+ }
83
+ if (this.columnsConfigJson) {
84
+ this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);
85
+ }
86
+ else if (this.columnsConfig && this.columnsConfig.length > 0) {
87
+ this.parseColumnsArray(this.columnsConfig, this.parsedColumns);
88
+ }
89
+ else if (this.headerTemplateCache.size > 0) {
90
+ const headerKeys = Array.from(this.headerTemplateCache.keys());
91
+ const arrayColumnsConfig = headerKeys.map(key => (Object.assign({}, { name: key, header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '' })));
92
+ this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
93
+ }
94
+ else if (this.parsedData.length > 0) {
95
+ const firstRow = this.parsedData[0];
96
+ const arrayColumnsConfig = Object.keys(firstRow).map(key => ({
97
+ name: key,
98
+ header: key.charAt(0).toUpperCase() + key.slice(1),
99
+ }));
100
+ this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
101
+ }
102
+ }
103
+ deepEqual(a, b) {
104
+ return JSON.stringify(a) === JSON.stringify(b);
105
+ }
106
+ /**
107
+ * Parses the data array and sets the state accordingly
108
+ * @param {any[]} newValue - New value of the data array
109
+ * @param {any[]} oldValue - Old value of the data array
110
+ * @returns {void}
111
+ */
112
+ parseDataArray(newValue, oldValue) {
113
+ // Ensure both are arrays for proper comparison
114
+ const safeNewValue = Array.isArray(newValue) ? newValue : [];
115
+ const safeOldValue = Array.isArray(oldValue) ? oldValue : [];
116
+ if (this.deepEqual(safeNewValue, safeOldValue)) {
117
+ return; // Deep comparison
118
+ }
119
+ this.parsedData = Array.isArray(newValue) ? newValue : [];
120
+ }
121
+ /**
122
+ * Parses the columns array and sets the state accordingly
123
+ * @param {ColumnConfig[]} newValue - New value of the columns array
124
+ * @param {ColumnConfig[]} oldValue - Old value of the columns array
125
+ * @returns {void}
126
+ */
127
+ parseColumnsArray(newValue, oldValue) {
128
+ // Ensure both are arrays for proper comparison
129
+ const safeNewValue = Array.isArray(newValue) ? newValue : [];
130
+ const safeOldValue = Array.isArray(oldValue) ? oldValue : [];
131
+ // Use a proper deep comparison function (e.g., Lodash's isEqual)
132
+ if (this.deepEqual(safeNewValue, safeOldValue)) {
133
+ return;
134
+ }
135
+ // Assign only after confirming changes
136
+ this.parsedColumns = safeNewValue;
137
+ }
138
+ initializeTable() {
139
+ // Clear the previous table instance (if any)
140
+ this.table = null;
141
+ if (this.parsedColumns.length > 0) {
142
+ this.table = {
143
+ columns: this.parsedColumns,
144
+ data: this.getTableData(),
145
+ };
146
+ }
147
+ else {
148
+ this.table = null;
149
+ }
150
+ }
151
+ getTableData() {
152
+ if (this.parsedData &&
153
+ Array.isArray(this.parsedData) &&
154
+ this.parsedData.length > 0) {
155
+ return [...this.parsedData];
156
+ }
157
+ else {
158
+ return [];
159
+ }
160
+ }
161
+ // Helper function to get nested property value
162
+ replaceKeyWithValue(obj, path) {
163
+ var _a;
164
+ return ((_a = path
165
+ .split('.')
166
+ .reduce((acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined), obj)) !== null && _a !== void 0 ? _a : this.fallbackValue);
167
+ }
168
+ renderTemplate(template, row) {
169
+ if (!template) {
170
+ return null;
171
+ }
172
+ // Handle <template> elements correctly
173
+ const templateContent = template instanceof HTMLTemplateElement ? template.content : template;
174
+ const element = dom_utilsAc71e0ef.deepCopyElement(templateContent);
175
+ // Replace placeholders in text content, attributes, and properties
176
+ element.querySelectorAll('*').forEach(el => {
177
+ // Replace placeholders in text content
178
+ this.replacePlaceholdersTextContent(el, row);
179
+ // Replace placeholders in attributes
180
+ this.replacePlaceholdersAttributes(el, row);
181
+ // Replace placeholders in properties
182
+ this.replacePlaceholdersProperties(el, row);
183
+ });
184
+ // Handle `data-bind-event`
185
+ element.querySelectorAll('[data-bind-event]').forEach(el => {
186
+ const bindEvent = el.getAttribute('data-bind-event') || '';
187
+ const splitted = bindEvent.split(':');
188
+ if (!bindEvent.includes(':') || splitted.length < 2) {
189
+ console.warn('Invalid data-bind-event format:', bindEvent);
190
+ return;
191
+ }
192
+ const eventType = splitted[0];
193
+ const keyAction = splitted[1];
194
+ const details = splitted.length > 2 ? splitted[2] : null;
195
+ el.addEventListener(eventType, () => {
196
+ var _a;
197
+ const keys = (_a = details === null || details === void 0 ? void 0 : details.split(',')) !== null && _a !== void 0 ? _a : [];
198
+ // Convert keys into a single object instead of an array of objects
199
+ const keyValue = keys.reduce((acc, key) => {
200
+ acc[key] = row === null || row === void 0 ? void 0 : row[key];
201
+ return acc;
202
+ }, {});
203
+ const action = { keyAction, details: keyValue };
204
+ this.action.emit(action);
205
+ });
206
+ });
207
+ // Ensure Web Components are properly connected
208
+ setTimeout(() => {
209
+ element.querySelectorAll('*').forEach(child => {
210
+ if (typeof child.connectedCallback === 'function') {
211
+ child.connectedCallback();
212
+ }
213
+ });
214
+ }, 0);
215
+ return (index.h("div", { ref: el => {
216
+ if (el) {
217
+ el.innerHTML = ''; // Remove existing content
218
+ el.appendChild(element); // Append new element
219
+ }
220
+ } }));
221
+ }
222
+ replacePlaceholdersTextContent(element, row) {
223
+ // ✅ Replace placeholders in text content
224
+ element.childNodes.forEach(node => {
225
+ if (node.nodeType === Node.TEXT_NODE) {
226
+ node.textContent = node.textContent.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key));
227
+ }
228
+ });
229
+ }
230
+ replacePlaceholdersAttributes(element, row) {
231
+ // ✅ Replace placeholders in attributes
232
+ Array.from(element.attributes).forEach(attr => {
233
+ if (attr.value.includes('__')) {
234
+ attr.value = attr.value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key));
235
+ }
236
+ });
237
+ }
238
+ replacePlaceholdersProperties(element, row) {
239
+ // ✅ Dynamically extract relevant properties
240
+ const properties = new Set();
241
+ // Collect only own enumerable properties
242
+ Object.keys(element).forEach(key => properties.add(key));
243
+ // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
244
+ let proto = Object.getPrototypeOf(element);
245
+ while (proto && proto !== HTMLElement.prototype) {
246
+ Object.keys(proto).forEach(key => properties.add(key));
247
+ proto = Object.getPrototypeOf(proto);
248
+ }
249
+ // ✅ Filter and copy only non-function properties and exclude irrelevant ones
250
+ properties.forEach(prop => {
251
+ if (typeof element[prop] !== 'function' && // Ignore methods
252
+ !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
253
+ !dom_utilsAc71e0ef.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
254
+ ) {
255
+ try {
256
+ const value = element[prop];
257
+ // ✅ Replace placeholders only if the value is a string
258
+ if (typeof value === 'string' && value.includes('__')) {
259
+ element[prop] = value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key)); // ✅ TypeScript safe
260
+ }
261
+ }
262
+ catch (error) {
263
+ console.warn(`Could not assign property ${prop}:`, error.message);
264
+ }
265
+ }
266
+ });
267
+ }
268
+ //#endregion METHODS
269
+ /****************************************************************************/
270
+ //#region WATCHERS
271
+ parseColumns(newValue, oldValue) {
272
+ this.parseColumnsArray(newValue, oldValue);
273
+ }
274
+ parseJsonColumns(newValue, oldValue) {
275
+ try {
276
+ const newItems = newValue ? JSON.parse(newValue) : [];
277
+ this.parseColumnsArray(newItems, oldValue);
278
+ }
279
+ catch (e) {
280
+ console.error('Invalid JSON format for columnsConfigJson:', e.message);
281
+ this.parsedColumns = [];
282
+ }
283
+ }
284
+ parseData(newValue, oldValue) {
285
+ this.parseDataArray(newValue, oldValue);
286
+ }
287
+ parseJsonData(newValue) {
288
+ try {
289
+ const newItems = newValue ? JSON.parse(newValue) : [];
290
+ this.parseDataArray(newItems, this.parsedData);
291
+ }
292
+ catch (e) {
293
+ console.error('Invalid JSON format for dataJson:', e.message);
294
+ this.parsedData = [];
295
+ }
296
+ }
297
+ handleParsedChange() {
298
+ this.initializeTable();
299
+ }
300
+ //#endregion WATCHERS
301
+ /****************************************************************************/
302
+ //#region LIFECYCLE
303
+ componentWillLoad() {
304
+ this.cacheTemplates();
305
+ this.parseDataAndColumns();
306
+ }
307
+ //#endregion EVENTS
308
+ /****************************************************************************/
309
+ //#region RENDER
310
+ render() {
311
+ const headerGroups = !this.table || this.table === undefined || this.parsedColumns.length === 0
312
+ ? []
313
+ : this.table.columns;
314
+ const rows = !this.table || this.table === undefined || this.parsedData.length === 0
315
+ ? []
316
+ : this.table.data;
317
+ return (index.h(index.Host, { key: '89d230b38e5f853a9d8246b3634d25f3add88bb0' }, index.h("div", { key: '130f44d0833635aec8eb1ff5db6f92f5342e39b4', class: "hidden" }, index.h("slot", { key: 'e68523ead80fd187bfb0fc6710aaea42e1d9c4e7' })), index.h("slot", { key: '087164f8a817d99091d54ed841b4faa5f01b215e', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", { class: "table-header" }, index.h("tr", null, headerGroups &&
318
+ headerGroups.map(col => {
319
+ return (index.h("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
320
+ })))), index.h("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (index.h("tr", null, index.h("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (index.h("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
321
+ var _a;
322
+ return (index.h("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
323
+ ((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
324
+ })))))))), index.h("slot", { key: '046b1b705c5885eb2685a0e8780e6eec2f1ca50e', name: "after" })));
325
+ }
326
+ get el() { return index.getElement(this); }
327
+ static get watchers() { return {
328
+ "columnsConfig": ["parseColumns"],
329
+ "columnsConfigJson": ["parseJsonColumns"],
330
+ "data": ["parseData"],
331
+ "dataJson": ["parseJsonData"],
332
+ "parsedColumns": ["handleParsedChange"],
333
+ "parsedData": ["handleParsedChange"]
334
+ }; }
335
+ };
336
+ NvTable.style = NvTableStyle0;
337
+
338
+ exports.nv_table = NvTable;
@@ -0,0 +1,338 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-CtI3SivD.js');
4
+ var dom_utilsAc71e0ef = require('./dom.utils-ac71e0ef-CmIwRr6O.js');
5
+ require('react');
6
+
7
+ const nvTableCss = "nv-table{display:block}nv-table .hidden{display:none}nv-table table{border-collapse:collapse;border-color:inherit;text-indent:0;width:100%}nv-table th{text-align:left;border-bottom:1px solid var(--components-datagrid-header-border);height:var(--spacing-12);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-md);font-weight:700;color:var(--components-datagrid-header-text)}nv-table td{border-bottom:1px solid var(--components-datagrid-body-border);height:var(--spacing-12);max-height:var(--spacing-14);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-md);font-weight:400;color:var(--components-datagrid-body-text);white-space:nowrap;text-overflow:ellipsis}nv-table tbody>tr:hover{background:var(--color-interaction-container-neutral-background-hover)}";
8
+ const NvTableStyle0 = nvTableCss;
9
+
10
+ const NvTable = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.action = index.createEvent(this, "action");
14
+ this.templateCache = new Map();
15
+ this.headerTemplateCache = new Map();
16
+ /****************************************************************************/
17
+ //#region STATES
18
+ this.parsedColumns = [];
19
+ this.parsedData = [];
20
+ this.table = null;
21
+ //#endregion STATES
22
+ /****************************************************************************/
23
+ //#region PROPERTIES
24
+ /**
25
+ * Data to be displayed in the table
26
+ */
27
+ this.data = [];
28
+ /**
29
+ * Configuration of the columns of the table
30
+ */
31
+ this.columnsConfig = [];
32
+ /**
33
+ * Fallback value to be displayed when data is not available
34
+ */
35
+ this.fallbackValue = 'N/A';
36
+ /**
37
+ * Message to be displayed when no data is available
38
+ */
39
+ this.noDataMessage = 'No data available';
40
+ /**
41
+ * The message to display when there are no columns or data available.
42
+ * @default 'No data or columns available to display.'
43
+ */
44
+ this.noColumnsNoDataMessage = 'No data or columns available to display.';
45
+ }
46
+ //#endregion PROPERTIES
47
+ /****************************************************************************/
48
+ //#region METHODS
49
+ /**
50
+ * Caches templates for cells and headers upfront to improve performance.
51
+ */
52
+ cacheTemplates() {
53
+ const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));
54
+ columns.forEach((col) => {
55
+ const key = col.name;
56
+ const cellSlot = col.querySelector('[slot="cell"]');
57
+ if (cellSlot) {
58
+ const element = dom_utilsAc71e0ef.deepCopyElement(cellSlot);
59
+ this.templateCache.set(key, element);
60
+ }
61
+ const headerSlot = col.querySelector('[slot="header"]');
62
+ if (headerSlot) {
63
+ const element = dom_utilsAc71e0ef.deepCopyElement(headerSlot);
64
+ this.headerTemplateCache.set(key, element);
65
+ }
66
+ else {
67
+ const header = col.header;
68
+ if (header) {
69
+ const headerDiv = document.createElement('div');
70
+ headerDiv.textContent = header;
71
+ this.headerTemplateCache.set(key, headerDiv);
72
+ }
73
+ }
74
+ });
75
+ }
76
+ parseDataAndColumns() {
77
+ if (this.dataJson) {
78
+ this.parseJsonData(this.dataJson);
79
+ }
80
+ else if (this.data && this.data.length > 0) {
81
+ this.parseDataArray(this.data, this.parsedData);
82
+ }
83
+ if (this.columnsConfigJson) {
84
+ this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);
85
+ }
86
+ else if (this.columnsConfig && this.columnsConfig.length > 0) {
87
+ this.parseColumnsArray(this.columnsConfig, this.parsedColumns);
88
+ }
89
+ else if (this.headerTemplateCache.size > 0) {
90
+ const headerKeys = Array.from(this.headerTemplateCache.keys());
91
+ const arrayColumnsConfig = headerKeys.map(key => (Object.assign({}, { name: key, header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '' })));
92
+ this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
93
+ }
94
+ else if (this.parsedData.length > 0) {
95
+ const firstRow = this.parsedData[0];
96
+ const arrayColumnsConfig = Object.keys(firstRow).map(key => ({
97
+ name: key,
98
+ header: key.charAt(0).toUpperCase() + key.slice(1),
99
+ }));
100
+ this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);
101
+ }
102
+ }
103
+ deepEqual(a, b) {
104
+ return JSON.stringify(a) === JSON.stringify(b);
105
+ }
106
+ /**
107
+ * Parses the data array and sets the state accordingly
108
+ * @param {any[]} newValue - New value of the data array
109
+ * @param {any[]} oldValue - Old value of the data array
110
+ * @returns {void}
111
+ */
112
+ parseDataArray(newValue, oldValue) {
113
+ // Ensure both are arrays for proper comparison
114
+ const safeNewValue = Array.isArray(newValue) ? newValue : [];
115
+ const safeOldValue = Array.isArray(oldValue) ? oldValue : [];
116
+ if (this.deepEqual(safeNewValue, safeOldValue)) {
117
+ return; // Deep comparison
118
+ }
119
+ this.parsedData = Array.isArray(newValue) ? newValue : [];
120
+ }
121
+ /**
122
+ * Parses the columns array and sets the state accordingly
123
+ * @param {ColumnConfig[]} newValue - New value of the columns array
124
+ * @param {ColumnConfig[]} oldValue - Old value of the columns array
125
+ * @returns {void}
126
+ */
127
+ parseColumnsArray(newValue, oldValue) {
128
+ // Ensure both are arrays for proper comparison
129
+ const safeNewValue = Array.isArray(newValue) ? newValue : [];
130
+ const safeOldValue = Array.isArray(oldValue) ? oldValue : [];
131
+ // Use a proper deep comparison function (e.g., Lodash's isEqual)
132
+ if (this.deepEqual(safeNewValue, safeOldValue)) {
133
+ return;
134
+ }
135
+ // Assign only after confirming changes
136
+ this.parsedColumns = safeNewValue;
137
+ }
138
+ initializeTable() {
139
+ // Clear the previous table instance (if any)
140
+ this.table = null;
141
+ if (this.parsedColumns.length > 0) {
142
+ this.table = {
143
+ columns: this.parsedColumns,
144
+ data: this.getTableData(),
145
+ };
146
+ }
147
+ else {
148
+ this.table = null;
149
+ }
150
+ }
151
+ getTableData() {
152
+ if (this.parsedData &&
153
+ Array.isArray(this.parsedData) &&
154
+ this.parsedData.length > 0) {
155
+ return [...this.parsedData];
156
+ }
157
+ else {
158
+ return [];
159
+ }
160
+ }
161
+ // Helper function to get nested property value
162
+ replaceKeyWithValue(obj, path) {
163
+ var _a;
164
+ return ((_a = path
165
+ .split('.')
166
+ .reduce((acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined), obj)) !== null && _a !== void 0 ? _a : this.fallbackValue);
167
+ }
168
+ renderTemplate(template, row) {
169
+ if (!template) {
170
+ return null;
171
+ }
172
+ // Handle <template> elements correctly
173
+ const templateContent = template instanceof HTMLTemplateElement ? template.content : template;
174
+ const element = dom_utilsAc71e0ef.deepCopyElement(templateContent);
175
+ // Replace placeholders in text content, attributes, and properties
176
+ element.querySelectorAll('*').forEach(el => {
177
+ // Replace placeholders in text content
178
+ this.replacePlaceholdersTextContent(el, row);
179
+ // Replace placeholders in attributes
180
+ this.replacePlaceholdersAttributes(el, row);
181
+ // Replace placeholders in properties
182
+ this.replacePlaceholdersProperties(el, row);
183
+ });
184
+ // Handle `data-bind-event`
185
+ element.querySelectorAll('[data-bind-event]').forEach(el => {
186
+ const bindEvent = el.getAttribute('data-bind-event') || '';
187
+ const splitted = bindEvent.split(':');
188
+ if (!bindEvent.includes(':') || splitted.length < 2) {
189
+ console.warn('Invalid data-bind-event format:', bindEvent);
190
+ return;
191
+ }
192
+ const eventType = splitted[0];
193
+ const keyAction = splitted[1];
194
+ const details = splitted.length > 2 ? splitted[2] : null;
195
+ el.addEventListener(eventType, () => {
196
+ var _a;
197
+ const keys = (_a = details === null || details === void 0 ? void 0 : details.split(',')) !== null && _a !== void 0 ? _a : [];
198
+ // Convert keys into a single object instead of an array of objects
199
+ const keyValue = keys.reduce((acc, key) => {
200
+ acc[key] = row === null || row === void 0 ? void 0 : row[key];
201
+ return acc;
202
+ }, {});
203
+ const action = { keyAction, details: keyValue };
204
+ this.action.emit(action);
205
+ });
206
+ });
207
+ // Ensure Web Components are properly connected
208
+ setTimeout(() => {
209
+ element.querySelectorAll('*').forEach(child => {
210
+ if (typeof child.connectedCallback === 'function') {
211
+ child.connectedCallback();
212
+ }
213
+ });
214
+ }, 0);
215
+ return (index.h("div", { ref: el => {
216
+ if (el) {
217
+ el.innerHTML = ''; // Remove existing content
218
+ el.appendChild(element); // Append new element
219
+ }
220
+ } }));
221
+ }
222
+ replacePlaceholdersTextContent(element, row) {
223
+ // ✅ Replace placeholders in text content
224
+ element.childNodes.forEach(node => {
225
+ if (node.nodeType === Node.TEXT_NODE) {
226
+ node.textContent = node.textContent.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key));
227
+ }
228
+ });
229
+ }
230
+ replacePlaceholdersAttributes(element, row) {
231
+ // ✅ Replace placeholders in attributes
232
+ Array.from(element.attributes).forEach(attr => {
233
+ if (attr.value.includes('__')) {
234
+ attr.value = attr.value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key));
235
+ }
236
+ });
237
+ }
238
+ replacePlaceholdersProperties(element, row) {
239
+ // ✅ Dynamically extract relevant properties
240
+ const properties = new Set();
241
+ // Collect only own enumerable properties
242
+ Object.keys(element).forEach(key => properties.add(key));
243
+ // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)
244
+ let proto = Object.getPrototypeOf(element);
245
+ while (proto && proto !== HTMLElement.prototype) {
246
+ Object.keys(proto).forEach(key => properties.add(key));
247
+ proto = Object.getPrototypeOf(proto);
248
+ }
249
+ // ✅ Filter and copy only non-function properties and exclude irrelevant ones
250
+ properties.forEach(prop => {
251
+ if (typeof element[prop] !== 'function' && // Ignore methods
252
+ !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)
253
+ !dom_utilsAc71e0ef.excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props
254
+ ) {
255
+ try {
256
+ const value = element[prop];
257
+ // ✅ Replace placeholders only if the value is a string
258
+ if (typeof value === 'string' && value.includes('__')) {
259
+ element[prop] = value.replace(/__([\w.]+)__/g, (_, key) => this.replaceKeyWithValue(row, key)); // ✅ TypeScript safe
260
+ }
261
+ }
262
+ catch (error) {
263
+ console.warn(`Could not assign property ${prop}:`, error.message);
264
+ }
265
+ }
266
+ });
267
+ }
268
+ //#endregion METHODS
269
+ /****************************************************************************/
270
+ //#region WATCHERS
271
+ parseColumns(newValue, oldValue) {
272
+ this.parseColumnsArray(newValue, oldValue);
273
+ }
274
+ parseJsonColumns(newValue, oldValue) {
275
+ try {
276
+ const newItems = newValue ? JSON.parse(newValue) : [];
277
+ this.parseColumnsArray(newItems, oldValue);
278
+ }
279
+ catch (e) {
280
+ console.error('Invalid JSON format for columnsConfigJson:', e.message);
281
+ this.parsedColumns = [];
282
+ }
283
+ }
284
+ parseData(newValue, oldValue) {
285
+ this.parseDataArray(newValue, oldValue);
286
+ }
287
+ parseJsonData(newValue) {
288
+ try {
289
+ const newItems = newValue ? JSON.parse(newValue) : [];
290
+ this.parseDataArray(newItems, this.parsedData);
291
+ }
292
+ catch (e) {
293
+ console.error('Invalid JSON format for dataJson:', e.message);
294
+ this.parsedData = [];
295
+ }
296
+ }
297
+ handleParsedChange() {
298
+ this.initializeTable();
299
+ }
300
+ //#endregion WATCHERS
301
+ /****************************************************************************/
302
+ //#region LIFECYCLE
303
+ componentWillLoad() {
304
+ this.cacheTemplates();
305
+ this.parseDataAndColumns();
306
+ }
307
+ //#endregion EVENTS
308
+ /****************************************************************************/
309
+ //#region RENDER
310
+ render() {
311
+ const headerGroups = !this.table || this.table === undefined || this.parsedColumns.length === 0
312
+ ? []
313
+ : this.table.columns;
314
+ const rows = !this.table || this.table === undefined || this.parsedData.length === 0
315
+ ? []
316
+ : this.table.data;
317
+ return (index.h(index.Host, { key: '89d230b38e5f853a9d8246b3634d25f3add88bb0' }, index.h("div", { key: '130f44d0833635aec8eb1ff5db6f92f5342e39b4', class: "hidden" }, index.h("slot", { key: 'e68523ead80fd187bfb0fc6710aaea42e1d9c4e7' })), index.h("slot", { key: '087164f8a817d99091d54ed841b4faa5f01b215e', name: "before" }), this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (index.h("div", { class: "no-data" }, this.noColumnsNoDataMessage)) : (index.h("table", { class: "table" }, this.parsedColumns.length > 0 && headerGroups.length > 0 && (index.h("thead", { class: "table-header" }, index.h("tr", null, headerGroups &&
318
+ headerGroups.map(col => {
319
+ return (index.h("th", { key: col.name }, this.renderTemplate(this.headerTemplateCache.get(col.name), {}) || col.header));
320
+ })))), index.h("tbody", { class: "table-body" }, !rows || rows.length === 0 ? (index.h("tr", null, index.h("td", { colSpan: headerGroups.length || 12, class: "no-data" }, this.noDataMessage))) : (rows.map(row => (index.h("tr", { key: JSON.stringify(row) }, headerGroups.map(col => {
321
+ var _a;
322
+ return (index.h("td", null, this.renderTemplate(this.templateCache.get(col.name), row) ||
323
+ ((_a = row[col.name]) !== null && _a !== void 0 ? _a : this.fallbackValue)));
324
+ })))))))), index.h("slot", { key: '046b1b705c5885eb2685a0e8780e6eec2f1ca50e', name: "after" })));
325
+ }
326
+ get el() { return index.getElement(this); }
327
+ static get watchers() { return {
328
+ "columnsConfig": ["parseColumns"],
329
+ "columnsConfigJson": ["parseJsonColumns"],
330
+ "data": ["parseData"],
331
+ "dataJson": ["parseJsonData"],
332
+ "parsedColumns": ["handleParsedChange"],
333
+ "parsedData": ["handleParsedChange"]
334
+ }; }
335
+ };
336
+ NvTable.style = NvTableStyle0;
337
+
338
+ exports.nv_table = NvTable;