@nova-design-system/nova-webcomponents 3.2.0 → 3.4.0

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/cjs/{index-108ddff0.js → index-c56424e5.js} +18 -186
  2. package/dist/cjs/index-c56424e5.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/native.cjs.js +2 -23
  5. package/dist/cjs/native.cjs.js.map +1 -1
  6. package/dist/cjs/nv-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/nv-avatar.cjs.entry.js +1 -1
  8. package/dist/cjs/nv-badge_2.cjs.entry.js +1 -1
  9. package/dist/cjs/nv-breadcrumb.cjs.entry.js +1 -1
  10. package/dist/cjs/nv-breadcrumbs.cjs.entry.js +1 -1
  11. package/dist/cjs/nv-button.cjs.entry.js +1 -1
  12. package/dist/cjs/nv-calendar.cjs.entry.js +391 -142
  13. package/dist/cjs/nv-calendar.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nv-col.cjs.entry.js +1 -1
  15. package/dist/cjs/nv-datagrid.cjs.entry.js +45 -12
  16. package/dist/cjs/nv-datagrid.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nv-datagridcolumn.cjs.entry.js +1 -1
  18. package/dist/cjs/nv-dialog.cjs.entry.js +1 -1
  19. package/dist/cjs/nv-dialogfooter_2.cjs.entry.js +1 -1
  20. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +1 -1
  21. package/dist/cjs/nv-fielddate.cjs.entry.js +45 -11
  22. package/dist/cjs/nv-fielddate.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nv-fielddaterange.cjs.entry.js +98 -44
  24. package/dist/cjs/nv-fielddaterange.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nv-fielddropdown.cjs.entry.js +2 -2
  26. package/dist/cjs/nv-fielddropdown.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nv-fielddropdownitem.cjs.entry.js +1 -1
  28. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js +2 -2
  29. package/dist/cjs/nv-fieldmultiselect.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nv-fieldnumber.cjs.entry.js +5 -5
  31. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nv-fieldpassword.cjs.entry.js +5 -5
  33. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nv-fieldradio.cjs.entry.js +4 -4
  35. package/dist/cjs/nv-fieldselect.cjs.entry.js +7 -7
  36. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -1
  37. package/dist/cjs/nv-fieldslider.cjs.entry.js +28 -23
  38. package/dist/cjs/nv-fieldslider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/nv-fieldtext.cjs.entry.js +5 -5
  40. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +5 -5
  42. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nv-fieldtime.cjs.entry.js +11 -11
  44. package/dist/cjs/nv-fieldtime.cjs.entry.js.map +1 -1
  45. package/dist/cjs/nv-icon.cjs.entry.js +2 -2
  46. package/dist/cjs/nv-iconbutton_2.cjs.entry.js +3 -3
  47. package/dist/cjs/nv-menu.cjs.entry.js +2 -2
  48. package/dist/cjs/nv-menuitem.cjs.entry.js +2 -2
  49. package/dist/cjs/nv-popover.cjs.entry.js +3 -3
  50. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nv-row.cjs.entry.js +2 -2
  52. package/dist/cjs/nv-stack.cjs.entry.js +2 -2
  53. package/dist/cjs/nv-table.cjs.entry.js +3 -3
  54. package/dist/cjs/nv-tablecolumn.cjs.entry.js +1 -1
  55. package/dist/cjs/nv-toggle.cjs.entry.js +3 -3
  56. package/dist/cjs/nv-tooltip.cjs.entry.js +2 -2
  57. package/dist/collection/components/nv-calendar/nv-calendar.js +235 -136
  58. package/dist/collection/components/nv-calendar/nv-calendar.js.map +1 -1
  59. package/dist/collection/components/nv-calendar/nv-calendar.utils.js +32 -7
  60. package/dist/collection/components/nv-calendar/nv-calendar.utils.js.map +1 -1
  61. package/dist/collection/components/nv-calendar/partials/calendar-actions.js +11 -0
  62. package/dist/collection/components/nv-calendar/partials/calendar-actions.js.map +1 -0
  63. package/dist/collection/components/nv-calendar/partials/calendar-grid.js +24 -0
  64. package/dist/collection/components/nv-calendar/partials/calendar-grid.js.map +1 -0
  65. package/dist/collection/components/nv-calendar/partials/calendar-header.js +38 -0
  66. package/dist/collection/components/nv-calendar/partials/calendar-header.js.map +1 -0
  67. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js +22 -0
  68. package/dist/collection/components/nv-calendar/partials/calendar-shortcuts.js.map +1 -0
  69. package/dist/collection/components/nv-calendar/partials/day-cell.js +31 -0
  70. package/dist/collection/components/nv-calendar/partials/day-cell.js.map +1 -0
  71. package/dist/collection/components/nv-calendar/partials/index.js +7 -0
  72. package/dist/collection/components/nv-calendar/partials/index.js.map +1 -0
  73. package/dist/collection/components/nv-calendar/partials/week-numbers.js +36 -0
  74. package/dist/collection/components/nv-calendar/partials/week-numbers.js.map +1 -0
  75. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js +692 -651
  76. package/dist/collection/components/nv-calendar/test/nv-calendar.utils.test.js.map +1 -1
  77. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js +169 -0
  78. package/dist/collection/components/nv-calendar/test/partials/calendar-actions.logic.test.js.map +1 -0
  79. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js +262 -0
  80. package/dist/collection/components/nv-calendar/test/partials/calendar-grid.logic.test.js.map +1 -0
  81. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js +208 -0
  82. package/dist/collection/components/nv-calendar/test/partials/calendar-header.logic.test.js.map +1 -0
  83. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js +355 -0
  84. package/dist/collection/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.js.map +1 -0
  85. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js +250 -0
  86. package/dist/collection/components/nv-calendar/test/partials/day-cell.logic.test.js.map +1 -0
  87. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js +217 -0
  88. package/dist/collection/components/nv-calendar/test/partials/week-numbers.logic.test.js.map +1 -0
  89. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js +88 -2
  90. package/dist/collection/components/nv-datagrid/nv-datagrid.docs.js.map +1 -1
  91. package/dist/collection/components/nv-datagrid/nv-datagrid.js +89 -10
  92. package/dist/collection/components/nv-datagrid/nv-datagrid.js.map +1 -1
  93. package/dist/collection/components/nv-fielddate/nv-fielddate.js +56 -16
  94. package/dist/collection/components/nv-fielddate/nv-fielddate.js.map +1 -1
  95. package/dist/collection/components/nv-fielddate/styles/nv-fielddate.css +44 -0
  96. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js +196 -0
  97. package/dist/collection/components/nv-fielddate/test/nv-fielddate.logic.test.js.map +1 -0
  98. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js +0 -1
  99. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.docs.js.map +1 -1
  100. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js +125 -42
  101. package/dist/collection/components/nv-fielddaterange/nv-fielddaterange.js.map +1 -1
  102. package/dist/collection/components/nv-fielddaterange/styles/nv-fielddaterange.css +44 -0
  103. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js +137 -0
  104. package/dist/collection/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.js.map +1 -0
  105. package/dist/collection/components/nv-fielddropdown/styles/nv-fielddropdown.css +46 -0
  106. package/dist/collection/components/nv-fieldmultiselect/styles/nv-fieldmultiselect.css +46 -0
  107. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +44 -0
  108. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +8 -0
  109. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -1
  110. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +4 -3
  111. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -1
  112. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +44 -0
  113. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +3 -3
  114. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +3 -3
  115. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +44 -0
  116. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +5 -5
  117. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js +22 -22
  118. package/dist/collection/components/nv-fieldslider/nv-fieldslider.docs.js.map +1 -1
  119. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js +30 -29
  120. package/dist/collection/components/nv-fieldslider/nv-fieldslider.js.map +1 -1
  121. package/dist/collection/components/nv-fieldslider/partials/field-input.js +1 -1
  122. package/dist/collection/components/nv-fieldslider/partials/field-input.js.map +1 -1
  123. package/dist/collection/components/nv-fieldslider/styles/nv-fieldslider.css +99 -20
  124. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +44 -0
  125. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +3 -3
  126. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +38 -0
  127. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +3 -3
  128. package/dist/collection/components/nv-fieldtime/nv-fieldtime.js +9 -9
  129. package/dist/collection/components/nv-fieldtime/styles/nv-fieldtime.css +44 -0
  130. package/dist/collection/components/nv-icon/nv-icon.js +1 -1
  131. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +1 -1
  132. package/dist/collection/components/nv-loader/nv-loader.js +1 -1
  133. package/dist/collection/components/nv-menu/nv-menu.js +1 -1
  134. package/dist/collection/components/nv-menuitem/nv-menuitem.js +1 -1
  135. package/dist/collection/components/nv-popover/nv-popover.js +3 -3
  136. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -1
  137. package/dist/collection/components/nv-row/nv-row.js +1 -1
  138. package/dist/collection/components/nv-stack/nv-stack.js +1 -1
  139. package/dist/collection/components/nv-table/nv-table.js +2 -2
  140. package/dist/collection/components/nv-toggle/nv-toggle.js +2 -2
  141. package/dist/collection/components/nv-tooltip/nv-tooltip.js +1 -1
  142. package/dist/collection/templates/navigation.docs.js +1 -1
  143. package/dist/collection/templates/navigation.docs.js.map +1 -1
  144. package/dist/components/index.js +1 -1
  145. package/dist/components/nv-alert.js +2 -2
  146. package/dist/components/nv-avatar.js +2 -2
  147. package/dist/components/nv-badge.js +1 -1
  148. package/dist/components/nv-breadcrumb.js +3 -3
  149. package/dist/components/nv-breadcrumbs.js +1 -1
  150. package/dist/components/nv-button.js +1 -1
  151. package/dist/components/nv-calendar.js +1 -1
  152. package/dist/components/nv-col.js +1 -1
  153. package/dist/components/nv-datagrid.js +54 -19
  154. package/dist/components/nv-datagrid.js.map +1 -1
  155. package/dist/components/nv-datagridcolumn.js +1 -1
  156. package/dist/components/nv-dialog.js +6 -6
  157. package/dist/components/nv-dialogfooter.js +1 -1
  158. package/dist/components/nv-dialogheader.js +1 -1
  159. package/dist/components/nv-fieldcheckbox.js +1 -1
  160. package/dist/components/nv-fielddate.js +53 -25
  161. package/dist/components/nv-fielddate.js.map +1 -1
  162. package/dist/components/nv-fielddaterange.js +110 -62
  163. package/dist/components/nv-fielddaterange.js.map +1 -1
  164. package/dist/components/nv-fielddropdown.js +7 -7
  165. package/dist/components/nv-fielddropdown.js.map +1 -1
  166. package/dist/components/nv-fielddropdownitem.js +1 -1
  167. package/dist/components/nv-fielddropdownitemcheck.js +1 -1
  168. package/dist/components/nv-fieldmultiselect.js +9 -9
  169. package/dist/components/nv-fieldmultiselect.js.map +1 -1
  170. package/dist/components/nv-fieldnumber.js +1 -180
  171. package/dist/components/nv-fieldnumber.js.map +1 -1
  172. package/dist/components/nv-fieldpassword.js +8 -8
  173. package/dist/components/nv-fieldpassword.js.map +1 -1
  174. package/dist/components/nv-fieldradio.js +4 -4
  175. package/dist/components/nv-fieldselect.js +10 -10
  176. package/dist/components/nv-fieldselect.js.map +1 -1
  177. package/dist/components/nv-fieldslider.js +49 -26
  178. package/dist/components/nv-fieldslider.js.map +1 -1
  179. package/dist/components/nv-fieldtext.js +1 -1
  180. package/dist/components/nv-fieldtextarea.js +5 -5
  181. package/dist/components/nv-fieldtextarea.js.map +1 -1
  182. package/dist/components/nv-fieldtime.js +15 -15
  183. package/dist/components/nv-fieldtime.js.map +1 -1
  184. package/dist/components/nv-icon.js +1 -1
  185. package/dist/components/nv-iconbutton.js +1 -1
  186. package/dist/components/nv-loader.js +1 -1
  187. package/dist/components/nv-menu.js +5 -5
  188. package/dist/components/nv-menuitem.js +1 -1
  189. package/dist/components/nv-popover.js +1 -1
  190. package/dist/components/nv-row.js +2 -2
  191. package/dist/components/nv-stack.js +2 -2
  192. package/dist/components/nv-table.js +3 -3
  193. package/dist/components/nv-tablecolumn.js +1 -1
  194. package/dist/components/nv-toggle.js +3 -3
  195. package/dist/components/nv-tooltip.js +1 -1
  196. package/dist/components/{p-0ab80d95.js → p-131e5140.js} +4 -4
  197. package/dist/components/{p-0ab80d95.js.map → p-131e5140.js.map} +1 -1
  198. package/dist/components/{p-cbdc2c8b.js → p-3f567fde.js} +5 -5
  199. package/dist/components/{p-cbdc2c8b.js.map → p-3f567fde.js.map} +1 -1
  200. package/dist/components/p-3f58525b.js +167 -0
  201. package/dist/components/{p-f0a5e7e4.js.map → p-3f58525b.js.map} +1 -1
  202. package/dist/components/{p-33e231f4.js → p-6277f746.js} +2 -2
  203. package/dist/components/{p-33e231f4.js.map → p-6277f746.js.map} +1 -1
  204. package/dist/components/{p-07a89754.js → p-953d8b4d.js} +3 -3
  205. package/dist/components/{p-07a89754.js.map → p-953d8b4d.js.map} +1 -1
  206. package/dist/components/{p-dd2273a3.js → p-9e6e26cb.js} +2 -2
  207. package/dist/components/{p-dd2273a3.js.map → p-9e6e26cb.js.map} +1 -1
  208. package/dist/components/{p-d19b41d2.js → p-9f1e8ef3.js} +2 -2
  209. package/dist/components/{p-d19b41d2.js.map → p-9f1e8ef3.js.map} +1 -1
  210. package/dist/components/{p-4656efae.js → p-a0d7e0cd.js} +396 -169
  211. package/dist/components/p-a0d7e0cd.js.map +1 -0
  212. package/dist/components/{p-f1859ddc.js → p-a1438b39.js} +4 -4
  213. package/dist/components/{p-f1859ddc.js.map → p-a1438b39.js.map} +1 -1
  214. package/dist/components/{p-04cb3a6f.js → p-a189d074.js} +5 -5
  215. package/dist/components/{p-04cb3a6f.js.map → p-a189d074.js.map} +1 -1
  216. package/dist/components/p-a29a9396.js +184 -0
  217. package/dist/components/p-a29a9396.js.map +1 -0
  218. package/dist/components/{p-679e0fa9.js → p-aff3ed68.js} +10 -175
  219. package/dist/components/p-aff3ed68.js.map +1 -0
  220. package/dist/components/{p-76a30bf1.js → p-b207be02.js} +3 -3
  221. package/dist/components/{p-76a30bf1.js.map → p-b207be02.js.map} +1 -1
  222. package/dist/components/{p-581e67cc.js → p-c07c32d2.js} +3 -3
  223. package/dist/components/{p-581e67cc.js.map → p-c07c32d2.js.map} +1 -1
  224. package/dist/components/{p-cbe9521f.js → p-dcaf9010.js} +3 -3
  225. package/dist/components/{p-cbe9521f.js.map → p-dcaf9010.js.map} +1 -1
  226. package/dist/components/{p-83c8873a.js → p-dec6fc68.js} +3 -3
  227. package/dist/components/{p-83c8873a.js.map → p-dec6fc68.js.map} +1 -1
  228. package/dist/components/{p-d63f1cbe.js → p-df465ef2.js} +3 -3
  229. package/dist/components/{p-d63f1cbe.js.map → p-df465ef2.js.map} +1 -1
  230. package/dist/components/{p-c0a91091.js → p-f7c7a406.js} +4 -4
  231. package/dist/components/{p-c0a91091.js.map → p-f7c7a406.js.map} +1 -1
  232. package/dist/esm/{constants-b97e736d.js → constants-4faa1fae.js} +2 -2
  233. package/dist/esm/{constants-b97e736d.js.map → constants-4faa1fae.js.map} +1 -1
  234. package/dist/esm/{index-8f0e5f19.js → index-a1936cd0.js} +19 -186
  235. package/dist/esm/index-a1936cd0.js.map +1 -0
  236. package/dist/esm/index.js +1 -1
  237. package/dist/esm/loader.js +3 -3
  238. package/dist/esm/native.js +3 -24
  239. package/dist/esm/native.js.map +1 -1
  240. package/dist/esm/nv-alert.entry.js +2 -2
  241. package/dist/esm/nv-avatar.entry.js +2 -2
  242. package/dist/esm/nv-badge_2.entry.js +1 -1
  243. package/dist/esm/nv-breadcrumb.entry.js +1 -1
  244. package/dist/esm/nv-breadcrumbs.entry.js +1 -1
  245. package/dist/esm/nv-button.entry.js +2 -2
  246. package/dist/esm/nv-calendar.entry.js +392 -143
  247. package/dist/esm/nv-calendar.entry.js.map +1 -1
  248. package/dist/esm/nv-col.entry.js +1 -1
  249. package/dist/esm/nv-datagrid.entry.js +46 -13
  250. package/dist/esm/nv-datagrid.entry.js.map +1 -1
  251. package/dist/esm/nv-datagridcolumn.entry.js +1 -1
  252. package/dist/esm/nv-dialog.entry.js +2 -2
  253. package/dist/esm/nv-dialogfooter_2.entry.js +2 -2
  254. package/dist/esm/nv-fieldcheckbox.entry.js +1 -1
  255. package/dist/esm/nv-fielddate.entry.js +45 -11
  256. package/dist/esm/nv-fielddate.entry.js.map +1 -1
  257. package/dist/esm/nv-fielddaterange.entry.js +98 -44
  258. package/dist/esm/nv-fielddaterange.entry.js.map +1 -1
  259. package/dist/esm/nv-fielddropdown.entry.js +2 -2
  260. package/dist/esm/nv-fielddropdown.entry.js.map +1 -1
  261. package/dist/esm/nv-fielddropdownitem.entry.js +1 -1
  262. package/dist/esm/nv-fieldmultiselect.entry.js +2 -2
  263. package/dist/esm/nv-fieldmultiselect.entry.js.map +1 -1
  264. package/dist/esm/nv-fieldnumber.entry.js +5 -5
  265. package/dist/esm/nv-fieldnumber.entry.js.map +1 -1
  266. package/dist/esm/nv-fieldpassword.entry.js +5 -5
  267. package/dist/esm/nv-fieldpassword.entry.js.map +1 -1
  268. package/dist/esm/nv-fieldradio.entry.js +4 -4
  269. package/dist/esm/nv-fieldselect.entry.js +7 -7
  270. package/dist/esm/nv-fieldselect.entry.js.map +1 -1
  271. package/dist/esm/nv-fieldslider.entry.js +28 -23
  272. package/dist/esm/nv-fieldslider.entry.js.map +1 -1
  273. package/dist/esm/nv-fieldtext.entry.js +5 -5
  274. package/dist/esm/nv-fieldtext.entry.js.map +1 -1
  275. package/dist/esm/nv-fieldtextarea.entry.js +5 -5
  276. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -1
  277. package/dist/esm/nv-fieldtime.entry.js +12 -12
  278. package/dist/esm/nv-fieldtime.entry.js.map +1 -1
  279. package/dist/esm/nv-icon.entry.js +3 -3
  280. package/dist/esm/nv-iconbutton_2.entry.js +3 -3
  281. package/dist/esm/nv-menu.entry.js +2 -2
  282. package/dist/esm/nv-menuitem.entry.js +2 -2
  283. package/dist/esm/nv-popover.entry.js +3 -3
  284. package/dist/esm/nv-popover.entry.js.map +1 -1
  285. package/dist/esm/nv-row.entry.js +2 -2
  286. package/dist/esm/nv-stack.entry.js +2 -2
  287. package/dist/esm/nv-table.entry.js +3 -3
  288. package/dist/esm/nv-tablecolumn.entry.js +1 -1
  289. package/dist/esm/nv-toggle.entry.js +3 -3
  290. package/dist/esm/nv-tooltip.entry.js +2 -2
  291. package/dist/native/index.esm.js +1 -1
  292. package/dist/native/native.css +1 -1
  293. package/dist/native/native.esm.js +1 -1
  294. package/dist/native/native.esm.js.map +1 -1
  295. package/dist/native/p-01164e86.entry.js +2 -0
  296. package/dist/native/{p-5382eab2.entry.js.map → p-01164e86.entry.js.map} +1 -1
  297. package/dist/native/p-0410facd.entry.js +2 -0
  298. package/dist/native/p-0410facd.entry.js.map +1 -0
  299. package/dist/native/{p-519b4819.entry.js → p-08ca678c.entry.js} +2 -2
  300. package/dist/native/{p-cfe0a6c6.entry.js → p-0ec2d430.entry.js} +2 -2
  301. package/dist/native/{p-cfe0a6c6.entry.js.map → p-0ec2d430.entry.js.map} +1 -1
  302. package/dist/native/p-14895e84.entry.js +2 -0
  303. package/dist/native/p-14895e84.entry.js.map +1 -0
  304. package/dist/native/p-1a5d3b87.entry.js +2 -0
  305. package/dist/native/{p-7c676f2c.entry.js.map → p-1a5d3b87.entry.js.map} +1 -1
  306. package/dist/native/{p-0323daf6.entry.js → p-1c1ecd38.entry.js} +2 -2
  307. package/dist/native/{p-16a4cdf3.entry.js → p-1d98477d.entry.js} +2 -2
  308. package/dist/native/{p-19fb0fd0.entry.js → p-2006f5d4.entry.js} +2 -2
  309. package/dist/native/p-24659a85.entry.js +2 -0
  310. package/dist/native/{p-ef76178b.entry.js.map → p-24659a85.entry.js.map} +1 -1
  311. package/dist/native/p-2b1e7675.entry.js +2 -0
  312. package/dist/native/{p-b0fc08e7.entry.js.map → p-2b1e7675.entry.js.map} +1 -1
  313. package/dist/native/{p-9fba8663.entry.js → p-2bc7d66a.entry.js} +2 -2
  314. package/dist/native/p-2c3fb8cc.entry.js +2 -0
  315. package/dist/native/p-2c3fb8cc.entry.js.map +1 -0
  316. package/dist/native/p-45cbe6e4.entry.js +2 -0
  317. package/dist/native/p-46428304.entry.js +2 -0
  318. package/dist/native/p-46428304.entry.js.map +1 -0
  319. package/dist/native/{p-c930adb7.entry.js → p-55df8bf9.entry.js} +2 -2
  320. package/dist/native/p-59b07b36.entry.js +2 -0
  321. package/dist/native/{p-987c79d8.entry.js.map → p-59b07b36.entry.js.map} +1 -1
  322. package/dist/native/p-6029e51b.entry.js +2 -0
  323. package/dist/native/{p-fc3bea07.entry.js.map → p-6029e51b.entry.js.map} +1 -1
  324. package/dist/native/{p-4c0d81b0.entry.js → p-7ba03c5d.entry.js} +2 -2
  325. package/dist/native/p-82c4bf56.entry.js +2 -0
  326. package/dist/native/p-82c4bf56.entry.js.map +1 -0
  327. package/dist/native/{p-407fc32d.entry.js → p-86ab23ea.entry.js} +2 -2
  328. package/dist/native/p-87784622.entry.js +2 -0
  329. package/dist/native/{p-05d95d4d.entry.js → p-914da1e1.entry.js} +2 -2
  330. package/dist/native/p-9850c1d7.entry.js +2 -0
  331. package/dist/native/{p-5ba3fc3c.entry.js.map → p-9850c1d7.entry.js.map} +1 -1
  332. package/dist/native/{p-de2c07a6.entry.js → p-a0505695.entry.js} +3 -3
  333. package/dist/native/p-a0505695.entry.js.map +1 -0
  334. package/dist/native/p-a30206c1.entry.js +2 -0
  335. package/dist/native/{p-aa86af25.entry.js.map → p-a30206c1.entry.js.map} +1 -1
  336. package/dist/native/p-abbe5d69.entry.js +2 -0
  337. package/dist/native/{p-7c6edd1c.entry.js.map → p-abbe5d69.entry.js.map} +1 -1
  338. package/dist/native/{p-221b8f72.entry.js → p-ad128108.entry.js} +2 -2
  339. package/dist/native/{p-f0ddf60b.entry.js → p-b5b9190a.entry.js} +2 -2
  340. package/dist/native/p-c7b8b7ba.entry.js +2 -0
  341. package/dist/native/{p-fb897f7d.entry.js.map → p-c7b8b7ba.entry.js.map} +1 -1
  342. package/dist/native/p-c92d55f9.entry.js +2 -0
  343. package/dist/native/{p-3f2b6a22.entry.js → p-c9d3de9c.entry.js} +2 -2
  344. package/dist/native/p-cbca9326.entry.js +2 -0
  345. package/dist/native/{p-60b204ac.entry.js.map → p-cbca9326.entry.js.map} +1 -1
  346. package/dist/native/p-d0a33e64.js +3 -0
  347. package/dist/native/p-d0a33e64.js.map +1 -0
  348. package/dist/native/{p-ed488498.entry.js → p-d21b2da2.entry.js} +3 -3
  349. package/dist/native/{p-f85c08f1.js → p-e2d0a77d.js} +2 -2
  350. package/dist/native/{p-a2c0f1a7.entry.js → p-ec87200a.entry.js} +2 -2
  351. package/dist/native/{p-0ec1e2e3.entry.js → p-f377b285.entry.js} +2 -2
  352. package/dist/native/p-ff0f3794.entry.js +2 -0
  353. package/dist/native/{p-adc96c3a.entry.js.map → p-ff0f3794.entry.js.map} +1 -1
  354. package/dist/types/components/nv-calendar/nv-calendar.d.ts +25 -45
  355. package/dist/types/components/nv-calendar/partials/calendar-actions.d.ts +19 -0
  356. package/dist/types/components/nv-calendar/partials/calendar-grid.d.ts +46 -0
  357. package/dist/types/components/nv-calendar/partials/calendar-header.d.ts +38 -0
  358. package/dist/types/components/nv-calendar/partials/calendar-shortcuts.d.ts +35 -0
  359. package/dist/types/components/nv-calendar/partials/day-cell.d.ts +35 -0
  360. package/dist/types/components/nv-calendar/partials/index.d.ts +6 -0
  361. package/dist/types/components/nv-calendar/partials/week-numbers.d.ts +30 -0
  362. package/dist/types/components/nv-calendar/test/partials/calendar-actions.logic.test.d.ts +1 -0
  363. package/dist/types/components/nv-calendar/test/partials/calendar-grid.logic.test.d.ts +1 -0
  364. package/dist/types/components/nv-calendar/test/partials/calendar-header.logic.test.d.ts +1 -0
  365. package/dist/types/components/nv-calendar/test/partials/calendar-shortcuts.logic.test.d.ts +1 -0
  366. package/dist/types/components/nv-calendar/test/partials/day-cell.logic.test.d.ts +1 -0
  367. package/dist/types/components/nv-calendar/test/partials/week-numbers.logic.test.d.ts +1 -0
  368. package/dist/types/components/nv-datagrid/nv-datagrid.d.ts +106 -2
  369. package/dist/types/components/nv-fielddate/nv-fielddate.d.ts +21 -9
  370. package/dist/types/components/nv-fielddate/test/nv-fielddate.logic.test.d.ts +1 -0
  371. package/dist/types/components/nv-fielddaterange/nv-fielddaterange.d.ts +19 -6
  372. package/dist/types/components/nv-fielddaterange/test/nv-fielddaterange.logic.test.d.ts +1 -0
  373. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +1 -0
  374. package/dist/types/components/nv-fieldslider/nv-fieldslider.d.ts +5 -6
  375. package/dist/types/components.d.ts +175 -38
  376. package/dist/vscode-data.json +4 -4
  377. package/hydrate/index.js +666 -291
  378. package/hydrate/index.mjs +666 -291
  379. package/package.json +10 -2
  380. package/dist/cjs/index-108ddff0.js.map +0 -1
  381. package/dist/components/p-4656efae.js.map +0 -1
  382. package/dist/components/p-679e0fa9.js.map +0 -1
  383. package/dist/components/p-f0a5e7e4.js +0 -167
  384. package/dist/esm/index-8f0e5f19.js.map +0 -1
  385. package/dist/native/p-1e3d3374.entry.js +0 -2
  386. package/dist/native/p-21e7132f.entry.js +0 -2
  387. package/dist/native/p-21e7132f.entry.js.map +0 -1
  388. package/dist/native/p-2805f9f2.entry.js +0 -2
  389. package/dist/native/p-2805f9f2.entry.js.map +0 -1
  390. package/dist/native/p-5382eab2.entry.js +0 -2
  391. package/dist/native/p-5ba3fc3c.entry.js +0 -2
  392. package/dist/native/p-60b204ac.entry.js +0 -2
  393. package/dist/native/p-7092a675.entry.js +0 -2
  394. package/dist/native/p-711a7778.js +0 -3
  395. package/dist/native/p-711a7778.js.map +0 -1
  396. package/dist/native/p-759c9ce4.entry.js +0 -2
  397. package/dist/native/p-759c9ce4.entry.js.map +0 -1
  398. package/dist/native/p-7c676f2c.entry.js +0 -2
  399. package/dist/native/p-7c6edd1c.entry.js +0 -2
  400. package/dist/native/p-987c79d8.entry.js +0 -2
  401. package/dist/native/p-aa86af25.entry.js +0 -2
  402. package/dist/native/p-adc96c3a.entry.js +0 -2
  403. package/dist/native/p-b0fc08e7.entry.js +0 -2
  404. package/dist/native/p-d07ab618.entry.js +0 -2
  405. package/dist/native/p-dac0089b.entry.js +0 -2
  406. package/dist/native/p-dac0089b.entry.js.map +0 -1
  407. package/dist/native/p-de2c07a6.entry.js.map +0 -1
  408. package/dist/native/p-ef76178b.entry.js +0 -2
  409. package/dist/native/p-f39803d9.entry.js +0 -2
  410. package/dist/native/p-f39803d9.entry.js.map +0 -1
  411. package/dist/native/p-fb897f7d.entry.js +0 -2
  412. package/dist/native/p-fc3bea07.entry.js +0 -2
  413. /package/dist/native/{p-519b4819.entry.js.map → p-08ca678c.entry.js.map} +0 -0
  414. /package/dist/native/{p-0323daf6.entry.js.map → p-1c1ecd38.entry.js.map} +0 -0
  415. /package/dist/native/{p-16a4cdf3.entry.js.map → p-1d98477d.entry.js.map} +0 -0
  416. /package/dist/native/{p-19fb0fd0.entry.js.map → p-2006f5d4.entry.js.map} +0 -0
  417. /package/dist/native/{p-9fba8663.entry.js.map → p-2bc7d66a.entry.js.map} +0 -0
  418. /package/dist/native/{p-1e3d3374.entry.js.map → p-45cbe6e4.entry.js.map} +0 -0
  419. /package/dist/native/{p-c930adb7.entry.js.map → p-55df8bf9.entry.js.map} +0 -0
  420. /package/dist/native/{p-4c0d81b0.entry.js.map → p-7ba03c5d.entry.js.map} +0 -0
  421. /package/dist/native/{p-407fc32d.entry.js.map → p-86ab23ea.entry.js.map} +0 -0
  422. /package/dist/native/{p-d07ab618.entry.js.map → p-87784622.entry.js.map} +0 -0
  423. /package/dist/native/{p-05d95d4d.entry.js.map → p-914da1e1.entry.js.map} +0 -0
  424. /package/dist/native/{p-221b8f72.entry.js.map → p-ad128108.entry.js.map} +0 -0
  425. /package/dist/native/{p-f0ddf60b.entry.js.map → p-b5b9190a.entry.js.map} +0 -0
  426. /package/dist/native/{p-7092a675.entry.js.map → p-c92d55f9.entry.js.map} +0 -0
  427. /package/dist/native/{p-3f2b6a22.entry.js.map → p-c9d3de9c.entry.js.map} +0 -0
  428. /package/dist/native/{p-ed488498.entry.js.map → p-d21b2da2.entry.js.map} +0 -0
  429. /package/dist/native/{p-f85c08f1.js.map → p-e2d0a77d.js.map} +0 -0
  430. /package/dist/native/{p-a2c0f1a7.entry.js.map → p-ec87200a.entry.js.map} +0 -0
  431. /package/dist/native/{p-0ec1e2e3.entry.js.map → p-f377b285.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as t,c as s,h as e,H as a,g as i}from"./p-d0a33e64.js";import{d as n,e as o}from"./p-cb34aa4f.js";const r="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)}";const l=r;const h=class{constructor(e){t(this,e);this.action=s(this,"action",7);this.templateCache=new Map;this.headerTemplateCache=new Map;this.parsedColumns=[];this.parsedData=[];this.table=null;this.data=[];this.columnsConfig=[];this.fallbackValue="N/A";this.noDataMessage="No data available";this.noColumnsNoDataMessage="No data or columns available to display."}cacheTemplates(){const t=Array.from(this.el.querySelectorAll("nv-tablecolumn"));t.forEach((t=>{const s=t.name;const e=t.querySelector('[slot="cell"]');if(e){const t=n(e);this.templateCache.set(s,t)}const a=t.querySelector('[slot="header"]');if(a){const t=n(a);this.headerTemplateCache.set(s,t)}else{const e=t.header;if(e){const t=document.createElement("div");t.textContent=e;this.headerTemplateCache.set(s,t)}}}))}parseDataAndColumns(){if(this.dataJson){this.parseJsonData(this.dataJson)}else if(this.data&&this.data.length>0){this.parseDataArray(this.data,this.parsedData)}if(this.columnsConfigJson){this.parseJsonColumns(this.columnsConfigJson,this.parsedColumns)}else if(this.columnsConfig&&this.columnsConfig.length>0){this.parseColumnsArray(this.columnsConfig,this.parsedColumns)}else if(this.headerTemplateCache.size>0){const t=Array.from(this.headerTemplateCache.keys());const s=t.map((t=>Object.assign({},{name:t,header:t?t.charAt(0).toUpperCase()+t.slice(1):""})));this.parseColumnsArray(s,this.parsedColumns)}else if(this.parsedData.length>0){const t=this.parsedData[0];const s=Object.keys(t).map((t=>({name:t,header:t.charAt(0).toUpperCase()+t.slice(1)})));this.parseColumnsArray(s,this.parsedColumns)}}deepEqual(t,s){return JSON.stringify(t)===JSON.stringify(s)}parseDataArray(t,s){const e=Array.isArray(t)?t:[];const a=Array.isArray(s)?s:[];if(this.deepEqual(e,a)){return}this.parsedData=Array.isArray(t)?t:[]}parseColumnsArray(t,s){const e=Array.isArray(t)?t:[];const a=Array.isArray(s)?s:[];if(this.deepEqual(e,a)){return}this.parsedColumns=e}initializeTable(){this.table=null;if(this.parsedColumns.length>0){this.table={columns:this.parsedColumns,data:this.getTableData()}}else{this.table=null}}getTableData(){if(this.parsedData&&Array.isArray(this.parsedData)&&this.parsedData.length>0){return[...this.parsedData]}else{return[]}}replaceKeyWithValue(t,s){var e;return(e=s.split(".").reduce(((t,s)=>t&&t[s]!==undefined?t[s]:undefined),t))!==null&&e!==void 0?e:this.fallbackValue}renderTemplate(t,s){if(!t){return null}const a=t instanceof HTMLTemplateElement?t.content:t;const i=n(a);i.querySelectorAll("*").forEach((t=>{this.replacePlaceholdersTextContent(t,s);this.replacePlaceholdersAttributes(t,s);this.replacePlaceholdersProperties(t,s)}));i.querySelectorAll("[data-bind-event]").forEach((t=>{const e=t.getAttribute("data-bind-event")||"";const a=e.split(":");if(!e.includes(":")||a.length<2){console.warn("Invalid data-bind-event format:",e);return}const i=a[0];const n=a[1];const o=a.length>2?a[2]:null;t.addEventListener(i,(()=>{var t;const e=(t=o===null||o===void 0?void 0:o.split(","))!==null&&t!==void 0?t:[];const a=e.reduce(((t,e)=>{t[e]=s===null||s===void 0?void 0:s[e];return t}),{});const i={keyAction:n,details:a};this.action.emit(i)}))}));setTimeout((()=>{i.querySelectorAll("*").forEach((t=>{if(typeof t.connectedCallback==="function"){t.connectedCallback()}}))}),0);return e("div",{ref:t=>{if(t){t.innerHTML="";t.appendChild(i)}}})}replacePlaceholdersTextContent(t,s){t.childNodes.forEach((t=>{if(t.nodeType===Node.TEXT_NODE){t.textContent=t.textContent.replace(/__([\w.]+)__/g,((t,e)=>this.replaceKeyWithValue(s,e)))}}))}replacePlaceholdersAttributes(t,s){Array.from(t.attributes).forEach((t=>{if(t.value.includes("__")){t.value=t.value.replace(/__([\w.]+)__/g,((t,e)=>this.replaceKeyWithValue(s,e)))}}))}replacePlaceholdersProperties(t,s){const e=new Set;Object.keys(t).forEach((t=>e.add(t)));let a=Object.getPrototypeOf(t);while(a&&a!==HTMLElement.prototype){Object.keys(a).forEach((t=>e.add(t)));a=Object.getPrototypeOf(a)}e.forEach((e=>{if(typeof t[e]!=="function"&&!e.startsWith("on")&&!o.has(e)){try{const a=t[e];if(typeof a==="string"&&a.includes("__")){t[e]=a.replace(/__([\w.]+)__/g,((t,e)=>this.replaceKeyWithValue(s,e)))}}catch(t){console.warn(`Could not assign property ${e}:`,t.message)}}}))}parseColumns(t,s){this.parseColumnsArray(t,s)}parseJsonColumns(t,s){try{const e=t?JSON.parse(t):[];this.parseColumnsArray(e,s)}catch(t){console.error("Invalid JSON format for columnsConfigJson:",t.message);this.parsedColumns=[]}}parseData(t,s){this.parseDataArray(t,s)}parseJsonData(t){try{const s=t?JSON.parse(t):[];this.parseDataArray(s,this.parsedData)}catch(t){console.error("Invalid JSON format for dataJson:",t.message);this.parsedData=[]}}handleParsedChange(){this.initializeTable()}componentWillLoad(){this.cacheTemplates();this.parseDataAndColumns()}render(){const t=!this.table||this.table===undefined||this.parsedColumns.length===0?[]:this.table.columns;const s=!this.table||this.table===undefined||this.parsedData.length===0?[]:this.table.data;return e(a,{key:"510ea0b8404254faa7b2add62884da77232bf13d"},e("div",{key:"482a3cfb6fb948d7280b7c0ea70035a9c6385615",class:"hidden"},e("slot",{key:"da7aa706d453676212e260e9454ed4e5143f2ccc"})),e("slot",{key:"78054c9a10623c82d7cc7fef5619053c89b70944",name:"before"}),this.parsedColumns.length===0&&this.parsedData.length===0?e("div",{class:"no-data"},this.noColumnsNoDataMessage):e("table",{class:"table"},this.parsedColumns.length>0&&t.length>0&&e("thead",{class:"table-header"},e("tr",null,t&&t.map((t=>e("th",{key:t.name},this.renderTemplate(this.headerTemplateCache.get(t.name),{})||t.header))))),e("tbody",{class:"table-body"},!s||s.length===0?e("tr",null,e("td",{colSpan:t.length||12,class:"no-data"},this.noDataMessage)):s.map((s=>e("tr",{key:JSON.stringify(s)},t.map((t=>{var a;return e("td",null,this.renderTemplate(this.templateCache.get(t.name),s)||((a=s[t.name])!==null&&a!==void 0?a:this.fallbackValue))}))))))),e("slot",{key:"8e5b8eee3870e0d38944370a3d9500f641914935",name:"after"}))}get el(){return i(this)}static get watchers(){return{columnsConfig:["parseColumns"],columnsConfigJson:["parseJsonColumns"],data:["parseData"],dataJson:["parseJsonData"],parsedColumns:["handleParsedChange"],parsedData:["handleParsedChange"]}}};h.style=l;export{h as nv_table};
2
+ //# sourceMappingURL=p-cbca9326.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nvTableCss","NvTableStyle0","NvTable","constructor","hostRef","this","templateCache","Map","headerTemplateCache","parsedColumns","parsedData","table","data","columnsConfig","fallbackValue","noDataMessage","noColumnsNoDataMessage","cacheTemplates","columns","Array","from","el","querySelectorAll","forEach","col","key","name","cellSlot","querySelector","element","deepCopyElement","set","headerSlot","header","headerDiv","document","createElement","textContent","parseDataAndColumns","dataJson","parseJsonData","length","parseDataArray","columnsConfigJson","parseJsonColumns","parseColumnsArray","size","headerKeys","keys","arrayColumnsConfig","map","Object","assign","charAt","toUpperCase","slice","firstRow","deepEqual","a","b","JSON","stringify","newValue","oldValue","safeNewValue","isArray","safeOldValue","initializeTable","getTableData","replaceKeyWithValue","obj","path","_a","split","reduce","acc","undefined","renderTemplate","template","row","templateContent","HTMLTemplateElement","content","replacePlaceholdersTextContent","replacePlaceholdersAttributes","replacePlaceholdersProperties","bindEvent","getAttribute","splitted","includes","console","warn","eventType","keyAction","details","addEventListener","keyValue","action","emit","setTimeout","child","connectedCallback","h","ref","innerHTML","appendChild","childNodes","node","nodeType","Node","TEXT_NODE","replace","_","attributes","attr","value","properties","Set","add","proto","getPrototypeOf","HTMLElement","prototype","prop","startsWith","excludedProps","has","error","message","parseColumns","newItems","parse","e","parseData","handleParsedChange","componentWillLoad","render","headerGroups","rows","Host","class","get","colSpan"],"sources":["src/components/nv-table/nv-table.scss?tag=nv-table","src/components/nv-table/nv-table.tsx"],"sourcesContent":["@mixin root-styles() {\n display: block;\n}\n\nnv-table {\n @include root-styles();\n\n .hidden {\n display: none;\n }\n\n table {\n border-collapse: collapse;\n border-color: inherit;\n text-indent: 0;\n width: 100%;\n }\n th {\n text-align: left;\n border-bottom: 1px solid var(--components-datagrid-header-border);\n height: var(--spacing-12);\n padding: var(--spacing-3) var(--spacing-4);\n font-size: var(--font-size-md);\n font-weight: 700;\n color: var(--components-datagrid-header-text);\n }\n td {\n border-bottom: 1px solid var(--components-datagrid-body-border);\n height: var(--spacing-12);\n max-height: var(--spacing-14);\n padding: var(--spacing-2) var(--spacing-4);\n font-size: var(--font-size-md);\n font-weight: 400;\n color: var(--components-datagrid-body-text);\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n tbody > tr:hover {\n background: var(--color-interaction-container-neutral-background-hover);\n }\n}\n\n// https://tailwindcss.com/docs/table-layout","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Host,\n Prop,\n State,\n h,\n Element,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { ColumnConfig } from '../../interfaces/ColumnConfig';\nimport { deepCopyElement, excludedProps } from '../../utils/dom.utils';\n\n/**\n * Helper interface to define the table structure\n */\ninterface Table {\n /**\n * Configuration of the columns of the table\n */\n columns: ColumnConfig[];\n\n /**\n * Data to be displayed in the table\n */\n data: any[];\n}\n\n/**\n * @slot default - Slot for the composed table columns\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n *\n * @deprecated [EXPERIMENTAL]\n * @experimental - This component is used as a base for the nv-datagrid component. Do not use it directly.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: 'nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n private readonly templateCache = new Map<string, Element>();\n private readonly headerTemplateCache = new Map<string, Element>();\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: ColumnConfig[] = [];\n\n @State()\n parsedData: any[] = [];\n\n @State()\n private table: Table = null;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly data: any[] = [];\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfig: ColumnConfig[] = [];\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfigJson?: string;\n\n /**\n * Fallback value to be displayed when data is not available\n */\n @Prop({ reflect: true })\n readonly fallbackValue: string = 'N/A';\n\n /**\n * Message to be displayed when no data is available\n */\n @Prop({ reflect: true })\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop({ reflect: true })\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Caches templates for cells and headers upfront to improve performance.\n */\n private cacheTemplates() {\n const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));\n\n columns.forEach((col: HTMLNvTablecolumnElement) => {\n const key = col.name;\n const cellSlot = col.querySelector('[slot=\"cell\"]');\n\n if (cellSlot) {\n const element = deepCopyElement(cellSlot as HTMLElement);\n this.templateCache.set(key, element);\n }\n\n const headerSlot = col.querySelector('[slot=\"header\"]');\n\n if (headerSlot) {\n const element = deepCopyElement(headerSlot as HTMLElement);\n this.headerTemplateCache.set(key, element);\n } else {\n const header = col.header;\n\n if (header) {\n const headerDiv = document.createElement('div');\n headerDiv.textContent = header;\n this.headerTemplateCache.set(key, headerDiv);\n }\n }\n });\n }\n\n private parseDataAndColumns() {\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseDataArray(this.data, this.parsedData);\n }\n\n if (this.columnsConfigJson) {\n this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);\n } else if (this.columnsConfig && this.columnsConfig.length > 0) {\n this.parseColumnsArray(this.columnsConfig, this.parsedColumns);\n } else if (this.headerTemplateCache.size > 0) {\n const headerKeys = Array.from(this.headerTemplateCache.keys());\n const arrayColumnsConfig = headerKeys.map<ColumnConfig>(key => ({\n ...{}, // Ensure no prototype inheritance\n name: key,\n header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '',\n }));\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n } else if (this.parsedData.length > 0) {\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<ColumnConfig>(\n key => ({\n name: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n }),\n );\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n }\n\n private deepEqual(a: any, b: any): boolean {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n /**\n * Parses the data array and sets the state accordingly\n * @param {any[]} newValue - New value of the data array\n * @param {any[]} oldValue - Old value of the data array\n * @returns {void}\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return; // Deep comparison\n }\n\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the columns array and sets the state accordingly\n * @param {ColumnConfig[]} newValue - New value of the columns array\n * @param {ColumnConfig[]} oldValue - Old value of the columns array\n * @returns {void}\n */\n private parseColumnsArray(\n newValue: ColumnConfig[] | null | undefined,\n oldValue: ColumnConfig[] | null | undefined,\n ) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n // Use a proper deep comparison function (e.g., Lodash's isEqual)\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return;\n }\n\n // Assign only after confirming changes\n this.parsedColumns = safeNewValue;\n }\n\n private initializeTable() {\n // Clear the previous table instance (if any)\n this.table = null;\n\n if (this.parsedColumns.length > 0) {\n this.table = {\n columns: this.parsedColumns,\n data: this.getTableData(),\n };\n } else {\n this.table = null;\n }\n }\n\n private getTableData(): any[] {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n }\n\n // Helper function to get nested property value\n private replaceKeyWithValue(obj: any, path: string) {\n return (\n path\n .split('.')\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj,\n ) ?? this.fallbackValue\n );\n }\n\n private renderTemplate(template: Element | undefined, row: any) {\n if (!template) {\n return null;\n }\n\n // Handle <template> elements correctly\n const templateContent =\n template instanceof HTMLTemplateElement ? template.content : template;\n const element = deepCopyElement(templateContent as HTMLElement);\n\n // Replace placeholders in text content, attributes, and properties\n element.querySelectorAll('*').forEach(el => {\n // Replace placeholders in text content\n this.replacePlaceholdersTextContent(el, row);\n\n // Replace placeholders in attributes\n this.replacePlaceholdersAttributes(el, row);\n\n // Replace placeholders in properties\n this.replacePlaceholdersProperties(el, row);\n });\n\n // Handle `data-bind-event`\n element.querySelectorAll('[data-bind-event]').forEach(el => {\n const bindEvent = el.getAttribute('data-bind-event') || '';\n const splitted = bindEvent.split(':');\n\n if (!bindEvent.includes(':') || splitted.length < 2) {\n console.warn('Invalid data-bind-event format:', bindEvent);\n return;\n }\n\n const eventType = splitted[0];\n const keyAction = splitted[1];\n const details = splitted.length > 2 ? splitted[2] : null;\n\n el.addEventListener(eventType, () => {\n const keys = details?.split(',') ?? [];\n\n // Convert keys into a single object instead of an array of objects\n const keyValue = keys.reduce((acc, key) => {\n acc[key] = row?.[key];\n return acc;\n }, {} as Record<string, any>);\n\n const action = { keyAction, details: keyValue };\n\n this.action.emit(action);\n });\n });\n\n // Ensure Web Components are properly connected\n setTimeout(() => {\n element.querySelectorAll('*').forEach(child => {\n if (typeof (child as any).connectedCallback === 'function') {\n (child as any).connectedCallback();\n }\n });\n }, 0);\n\n return (\n <div\n ref={el => {\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(element); // Append new element\n }\n }}\n ></div>\n );\n }\n\n private replacePlaceholdersTextContent(element: Element, row: any) {\n // ✅ Replace placeholders in text content\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersAttributes(element: Element, row: any) {\n // ✅ Replace placeholders in attributes\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersProperties(element: Element, row: any) {\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n const value = element[prop];\n\n // ✅ Replace placeholders only if the value is a string\n if (typeof value === 'string' && value.includes('__')) {\n element[prop] = value.replace(/__([\\w.]+)__/g, (_, key: string) =>\n this.replaceKeyWithValue(row, key),\n ) as any; // ✅ TypeScript safe\n }\n } catch (error) {\n console.warn(`Could not assign property ${prop}:`, error.message);\n }\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columnsConfig')\n parseColumns(newValue: ColumnConfig[], oldValue: ColumnConfig[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsConfigJson')\n parseJsonColumns(newValue: string | undefined, oldValue: ColumnConfig[]) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, oldValue);\n } catch (e) {\n console.error('Invalid JSON format for columnsConfigJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.cacheTemplates();\n\n this.parseDataAndColumns();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n @Event()\n action: EventEmitter<{\n /**\n * Key action to be performed\n */\n keyAction: string;\n\n /**\n * Details of the action to be performed\n */\n details: any;\n }>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table || this.table === undefined || this.parsedColumns.length === 0\n ? []\n : this.table.columns;\n\n const rows =\n !this.table || this.table === undefined || this.parsedData.length === 0\n ? []\n : this.table.data;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (\n <div class=\"no-data\">{this.noColumnsNoDataMessage}</div>\n ) : (\n <table class=\"table\">\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead class=\"table-header\">\n <tr>\n {headerGroups &&\n headerGroups.map(col => {\n return (\n <th key={col.name}>\n {this.renderTemplate(\n this.headerTemplateCache.get(col.name),\n {},\n ) || col.header}\n </th>\n );\n })}\n </tr>\n </thead>\n )}\n <tbody class=\"table-body\">\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={headerGroups.length || 12} class=\"no-data\">\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => (\n <tr key={JSON.stringify(row)}>\n {headerGroups.map(col => (\n <td>\n {this.renderTemplate(\n this.templateCache.get(col.name),\n row,\n ) ||\n (row[col.name] ?? this.fallbackValue)}\n </td>\n ))}\n </tr>\n ))\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["nvTableCss","NvTableStyle0","NvTable","constructor","hostRef","this","templateCache","Map","headerTemplateCache","parsedColumns","parsedData","table","data","columnsConfig","fallbackValue","noDataMessage","noColumnsNoDataMessage","cacheTemplates","columns","Array","from","el","querySelectorAll","forEach","col","key","name","cellSlot","querySelector","element","deepCopyElement","set","headerSlot","header","headerDiv","document","createElement","textContent","parseDataAndColumns","dataJson","parseJsonData","length","parseDataArray","columnsConfigJson","parseJsonColumns","parseColumnsArray","size","headerKeys","keys","arrayColumnsConfig","map","Object","assign","charAt","toUpperCase","slice","firstRow","deepEqual","a","b","JSON","stringify","newValue","oldValue","safeNewValue","isArray","safeOldValue","initializeTable","getTableData","replaceKeyWithValue","obj","path","_a","split","reduce","acc","undefined","renderTemplate","template","row","templateContent","HTMLTemplateElement","content","replacePlaceholdersTextContent","replacePlaceholdersAttributes","replacePlaceholdersProperties","bindEvent","getAttribute","splitted","includes","console","warn","eventType","keyAction","details","addEventListener","keyValue","action","emit","setTimeout","child","connectedCallback","h","ref","innerHTML","appendChild","childNodes","node","nodeType","Node","TEXT_NODE","replace","_","attributes","attr","value","properties","Set","add","proto","getPrototypeOf","HTMLElement","prototype","prop","startsWith","excludedProps","has","error","message","parseColumns","newItems","parse","e","parseData","handleParsedChange","componentWillLoad","render","headerGroups","rows","Host","class","get","colSpan"],"sources":["src/components/nv-table/nv-table.scss?tag=nv-table","src/components/nv-table/nv-table.tsx"],"sourcesContent":["@mixin root-styles() {\n display: block;\n}\n\nnv-table {\n @include root-styles();\n\n .hidden {\n display: none;\n }\n\n table {\n border-collapse: collapse;\n border-color: inherit;\n text-indent: 0;\n width: 100%;\n }\n th {\n text-align: left;\n border-bottom: 1px solid var(--components-datagrid-header-border);\n height: var(--spacing-12);\n padding: var(--spacing-3) var(--spacing-4);\n font-size: var(--font-size-md);\n font-weight: 700;\n color: var(--components-datagrid-header-text);\n }\n td {\n border-bottom: 1px solid var(--components-datagrid-body-border);\n height: var(--spacing-12);\n max-height: var(--spacing-14);\n padding: var(--spacing-2) var(--spacing-4);\n font-size: var(--font-size-md);\n font-weight: 400;\n color: var(--components-datagrid-body-text);\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n tbody > tr:hover {\n background: var(--color-interaction-container-neutral-background-hover);\n }\n}\n\n// https://tailwindcss.com/docs/table-layout","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n Component,\n Host,\n Prop,\n State,\n h,\n Element,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport { ColumnConfig } from '../../interfaces/ColumnConfig';\nimport { deepCopyElement, excludedProps } from '../../utils/dom.utils';\n\n/**\n * Helper interface to define the table structure\n */\ninterface Table {\n /**\n * Configuration of the columns of the table\n */\n columns: ColumnConfig[];\n\n /**\n * Data to be displayed in the table\n */\n data: any[];\n}\n\n/**\n * @slot default - Slot for the composed table columns\n * @slot before - Use this slot to insert HTML before the table.\n * @slot after - Use this slot to insert HTML after the table.\n *\n * @deprecated [EXPERIMENTAL]\n * @experimental - This component is used as a base for the nv-datagrid component. Do not use it directly.\n */\n@Component({\n tag: 'nv-table',\n styleUrl: 'nv-table.scss',\n shadow: false,\n})\nexport class NvTable {\n @Element() el: HTMLNvTableElement;\n\n private readonly templateCache = new Map<string, Element>();\n private readonly headerTemplateCache = new Map<string, Element>();\n\n /****************************************************************************/\n //#region STATES\n\n @State()\n parsedColumns: ColumnConfig[] = [];\n\n @State()\n parsedData: any[] = [];\n\n @State()\n private table: Table = null;\n\n //#endregion STATES\n /****************************************************************************/\n //#region PROPERTIES\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly data: any[] = [];\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfig: ColumnConfig[] = [];\n\n /**\n * Data to be displayed in the table\n */\n @Prop({ reflect: true })\n readonly dataJson?: string;\n\n /**\n * Configuration of the columns of the table\n */\n @Prop({ reflect: true })\n readonly columnsConfigJson?: string;\n\n /**\n * Fallback value to be displayed when data is not available\n */\n @Prop({ reflect: true })\n readonly fallbackValue: string = 'N/A';\n\n /**\n * Message to be displayed when no data is available\n */\n @Prop({ reflect: true })\n readonly noDataMessage: string = 'No data available';\n\n /**\n * The message to display when there are no columns or data available.\n * @default 'No data or columns available to display.'\n */\n @Prop({ reflect: true })\n readonly noColumnsNoDataMessage: string =\n 'No data or columns available to display.';\n\n //#endregion PROPERTIES\n /****************************************************************************/\n //#region METHODS\n\n /**\n * Caches templates for cells and headers upfront to improve performance.\n */\n private cacheTemplates() {\n const columns = Array.from(this.el.querySelectorAll('nv-tablecolumn'));\n\n columns.forEach((col: HTMLNvTablecolumnElement) => {\n const key = col.name;\n const cellSlot = col.querySelector('[slot=\"cell\"]');\n\n if (cellSlot) {\n const element = deepCopyElement(cellSlot as HTMLElement);\n this.templateCache.set(key, element);\n }\n\n const headerSlot = col.querySelector('[slot=\"header\"]');\n\n if (headerSlot) {\n const element = deepCopyElement(headerSlot as HTMLElement);\n this.headerTemplateCache.set(key, element);\n } else {\n const header = col.header;\n\n if (header) {\n const headerDiv = document.createElement('div');\n headerDiv.textContent = header;\n this.headerTemplateCache.set(key, headerDiv);\n }\n }\n });\n }\n\n private parseDataAndColumns() {\n if (this.dataJson) {\n this.parseJsonData(this.dataJson);\n } else if (this.data && this.data.length > 0) {\n this.parseDataArray(this.data, this.parsedData);\n }\n\n if (this.columnsConfigJson) {\n this.parseJsonColumns(this.columnsConfigJson, this.parsedColumns);\n } else if (this.columnsConfig && this.columnsConfig.length > 0) {\n this.parseColumnsArray(this.columnsConfig, this.parsedColumns);\n } else if (this.headerTemplateCache.size > 0) {\n const headerKeys = Array.from(this.headerTemplateCache.keys());\n const arrayColumnsConfig = headerKeys.map<ColumnConfig>(key => ({\n ...{}, // Ensure no prototype inheritance\n name: key,\n header: key ? key.charAt(0).toUpperCase() + key.slice(1) : '',\n }));\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n } else if (this.parsedData.length > 0) {\n const firstRow = this.parsedData[0];\n const arrayColumnsConfig = Object.keys(firstRow).map<ColumnConfig>(\n key => ({\n name: key,\n header: key.charAt(0).toUpperCase() + key.slice(1),\n }),\n );\n\n this.parseColumnsArray(arrayColumnsConfig, this.parsedColumns);\n }\n }\n\n private deepEqual(a: any, b: any): boolean {\n return JSON.stringify(a) === JSON.stringify(b);\n }\n\n /**\n * Parses the data array and sets the state accordingly\n * @param {any[]} newValue - New value of the data array\n * @param {any[]} oldValue - Old value of the data array\n * @returns {void}\n */\n private parseDataArray(newValue: any[], oldValue: any[]) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return; // Deep comparison\n }\n\n this.parsedData = Array.isArray(newValue) ? newValue : [];\n }\n\n /**\n * Parses the columns array and sets the state accordingly\n * @param {ColumnConfig[]} newValue - New value of the columns array\n * @param {ColumnConfig[]} oldValue - Old value of the columns array\n * @returns {void}\n */\n private parseColumnsArray(\n newValue: ColumnConfig[] | null | undefined,\n oldValue: ColumnConfig[] | null | undefined,\n ) {\n // Ensure both are arrays for proper comparison\n const safeNewValue = Array.isArray(newValue) ? newValue : [];\n const safeOldValue = Array.isArray(oldValue) ? oldValue : [];\n\n // Use a proper deep comparison function (e.g., Lodash's isEqual)\n if (this.deepEqual(safeNewValue, safeOldValue)) {\n return;\n }\n\n // Assign only after confirming changes\n this.parsedColumns = safeNewValue;\n }\n\n private initializeTable() {\n // Clear the previous table instance (if any)\n this.table = null;\n\n if (this.parsedColumns.length > 0) {\n this.table = {\n columns: this.parsedColumns,\n data: this.getTableData(),\n };\n } else {\n this.table = null;\n }\n }\n\n private getTableData(): any[] {\n if (\n this.parsedData &&\n Array.isArray(this.parsedData) &&\n this.parsedData.length > 0\n ) {\n return [...this.parsedData];\n } else {\n return [];\n }\n }\n\n // Helper function to get nested property value\n private replaceKeyWithValue(obj: any, path: string) {\n return (\n path\n .split('.')\n .reduce(\n (acc, key) => (acc && acc[key] !== undefined ? acc[key] : undefined),\n obj,\n ) ?? this.fallbackValue\n );\n }\n\n private renderTemplate(template: Element | undefined, row: any) {\n if (!template) {\n return null;\n }\n\n // Handle <template> elements correctly\n const templateContent =\n template instanceof HTMLTemplateElement ? template.content : template;\n const element = deepCopyElement(templateContent as HTMLElement);\n\n // Replace placeholders in text content, attributes, and properties\n element.querySelectorAll('*').forEach(el => {\n // Replace placeholders in text content\n this.replacePlaceholdersTextContent(el, row);\n\n // Replace placeholders in attributes\n this.replacePlaceholdersAttributes(el, row);\n\n // Replace placeholders in properties\n this.replacePlaceholdersProperties(el, row);\n });\n\n // Handle `data-bind-event`\n element.querySelectorAll('[data-bind-event]').forEach(el => {\n const bindEvent = el.getAttribute('data-bind-event') || '';\n const splitted = bindEvent.split(':');\n\n if (!bindEvent.includes(':') || splitted.length < 2) {\n console.warn('Invalid data-bind-event format:', bindEvent);\n return;\n }\n\n const eventType = splitted[0];\n const keyAction = splitted[1];\n const details = splitted.length > 2 ? splitted[2] : null;\n\n el.addEventListener(eventType, () => {\n const keys = details?.split(',') ?? [];\n\n // Convert keys into a single object instead of an array of objects\n const keyValue = keys.reduce((acc, key) => {\n acc[key] = row?.[key];\n return acc;\n }, {} as Record<string, any>);\n\n const action = { keyAction, details: keyValue };\n\n this.action.emit(action);\n });\n });\n\n // Ensure Web Components are properly connected\n setTimeout(() => {\n element.querySelectorAll('*').forEach(child => {\n if (typeof (child as any).connectedCallback === 'function') {\n (child as any).connectedCallback();\n }\n });\n }, 0);\n\n return (\n <div\n ref={el => {\n if (el) {\n el.innerHTML = ''; // Remove existing content\n el.appendChild(element); // Append new element\n }\n }}\n ></div>\n );\n }\n\n private replacePlaceholdersTextContent(element: Element, row: any) {\n // ✅ Replace placeholders in text content\n element.childNodes.forEach(node => {\n if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = node.textContent.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersAttributes(element: Element, row: any) {\n // ✅ Replace placeholders in attributes\n Array.from(element.attributes).forEach(attr => {\n if (attr.value.includes('__')) {\n attr.value = attr.value.replace(/__([\\w.]+)__/g, (_, key) =>\n this.replaceKeyWithValue(row, key),\n );\n }\n });\n }\n\n private replacePlaceholdersProperties(element: Element, row: any) {\n // ✅ Dynamically extract relevant properties\n const properties = new Set<string>();\n\n // Collect only own enumerable properties\n Object.keys(element).forEach(key => properties.add(key));\n\n // Collect inherited properties from prototypes (HTMLElement -> Element -> Node)\n let proto = Object.getPrototypeOf(element);\n while (proto && proto !== HTMLElement.prototype) {\n Object.keys(proto).forEach(key => properties.add(key));\n proto = Object.getPrototypeOf(proto);\n }\n\n // ✅ Filter and copy only non-function properties and exclude irrelevant ones\n properties.forEach(prop => {\n if (\n typeof (element as any)[prop] !== 'function' && // Ignore methods\n !prop.startsWith('on') && // Ignore event listeners (onclick, oninput, etc.)\n !excludedProps.has(prop) // 🚨 Prevent text duplication and irrelevant props\n ) {\n try {\n const value = element[prop];\n\n // ✅ Replace placeholders only if the value is a string\n if (typeof value === 'string' && value.includes('__')) {\n element[prop] = value.replace(/__([\\w.]+)__/g, (_, key: string) =>\n this.replaceKeyWithValue(row, key),\n ) as any; // ✅ TypeScript safe\n }\n } catch (error) {\n console.warn(`Could not assign property ${prop}:`, error.message);\n }\n }\n });\n }\n\n //#endregion METHODS\n /****************************************************************************/\n //#region WATCHERS\n\n @Watch('columnsConfig')\n parseColumns(newValue: ColumnConfig[], oldValue: ColumnConfig[]) {\n this.parseColumnsArray(newValue, oldValue);\n }\n\n @Watch('columnsConfigJson')\n parseJsonColumns(newValue: string | undefined, oldValue: ColumnConfig[]) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseColumnsArray(newItems, oldValue);\n } catch (e) {\n console.error('Invalid JSON format for columnsConfigJson:', e.message);\n this.parsedColumns = [];\n }\n }\n\n @Watch('data')\n parseData(newValue: any[], oldValue: any[]) {\n this.parseDataArray(newValue, oldValue);\n }\n\n @Watch('dataJson')\n parseJsonData(newValue: string | undefined) {\n try {\n const newItems = newValue ? JSON.parse(newValue) : [];\n\n this.parseDataArray(newItems, this.parsedData);\n } catch (e) {\n console.error('Invalid JSON format for dataJson:', e.message);\n this.parsedData = [];\n }\n }\n\n @Watch('parsedColumns')\n @Watch('parsedData')\n handleParsedChange() {\n this.initializeTable();\n }\n\n //#endregion WATCHERS\n /****************************************************************************/\n //#region LIFECYCLE\n\n componentWillLoad() {\n this.cacheTemplates();\n\n this.parseDataAndColumns();\n }\n\n //#endregion LIFECYCLE\n /****************************************************************************/\n //#region EVENTS\n\n @Event()\n action: EventEmitter<{\n /**\n * Key action to be performed\n */\n keyAction: string;\n\n /**\n * Details of the action to be performed\n */\n details: any;\n }>;\n\n //#endregion EVENTS\n /****************************************************************************/\n //#region RENDER\n\n render() {\n const headerGroups =\n !this.table || this.table === undefined || this.parsedColumns.length === 0\n ? []\n : this.table.columns;\n\n const rows =\n !this.table || this.table === undefined || this.parsedData.length === 0\n ? []\n : this.table.data;\n\n return (\n <Host>\n <div class=\"hidden\">\n <slot></slot>\n </div>\n\n <slot name=\"before\"></slot>\n\n {this.parsedColumns.length === 0 && this.parsedData.length === 0 ? (\n <div class=\"no-data\">{this.noColumnsNoDataMessage}</div>\n ) : (\n <table class=\"table\">\n {this.parsedColumns.length > 0 && headerGroups.length > 0 && (\n <thead class=\"table-header\">\n <tr>\n {headerGroups &&\n headerGroups.map(col => {\n return (\n <th key={col.name}>\n {this.renderTemplate(\n this.headerTemplateCache.get(col.name),\n {},\n ) || col.header}\n </th>\n );\n })}\n </tr>\n </thead>\n )}\n <tbody class=\"table-body\">\n {!rows || rows.length === 0 ? (\n <tr>\n <td colSpan={headerGroups.length || 12} class=\"no-data\">\n {this.noDataMessage}\n </td>\n </tr>\n ) : (\n rows.map(row => (\n <tr key={JSON.stringify(row)}>\n {headerGroups.map(col => (\n <td>\n {this.renderTemplate(\n this.templateCache.get(col.name),\n row,\n ) ||\n (row[col.name] ?? this.fallbackValue)}\n </td>\n ))}\n </tr>\n ))\n )}\n </tbody>\n </table>\n )}\n\n <slot name=\"after\"></slot>\n </Host>\n );\n }\n // #endregion RENDER\n}\n"],"mappings":"2GAAA,MAAMA,EAAa,sxBACnB,MAAAC,EAAeD,E,MC0CFE,EAAO,MALpB,WAAAC,CAAAC,G,yCAQmBC,KAAAC,cAAgB,IAAIC,IACpBF,KAAAG,oBAAsB,IAAID,IAM3CF,KAAAI,cAAgC,GAGhCJ,KAAAK,WAAoB,GAGZL,KAAAM,MAAe,KAUdN,KAAAO,KAAc,GAMdP,KAAAQ,cAAgC,GAkBhCR,KAAAS,cAAwB,MAMxBT,KAAAU,cAAwB,oBAOxBV,KAAAW,uBACP,0C,CASM,cAAAC,GACN,MAAMC,EAAUC,MAAMC,KAAKf,KAAKgB,GAAGC,iBAAiB,mBAEpDJ,EAAQK,SAASC,IACf,MAAMC,EAAMD,EAAIE,KAChB,MAAMC,EAAWH,EAAII,cAAc,iBAEnC,GAAID,EAAU,CACZ,MAAME,EAAUC,EAAgBH,GAChCtB,KAAKC,cAAcyB,IAAIN,EAAKI,E,CAG9B,MAAMG,EAAaR,EAAII,cAAc,mBAErC,GAAII,EAAY,CACd,MAAMH,EAAUC,EAAgBE,GAChC3B,KAAKG,oBAAoBuB,IAAIN,EAAKI,E,KAC7B,CACL,MAAMI,EAAST,EAAIS,OAEnB,GAAIA,EAAQ,CACV,MAAMC,EAAYC,SAASC,cAAc,OACzCF,EAAUG,YAAcJ,EACxB5B,KAAKG,oBAAoBuB,IAAIN,EAAKS,E,MAMlC,mBAAAI,GACN,GAAIjC,KAAKkC,SAAU,CACjBlC,KAAKmC,cAAcnC,KAAKkC,S,MACnB,GAAIlC,KAAKO,MAAQP,KAAKO,KAAK6B,OAAS,EAAG,CAC5CpC,KAAKqC,eAAerC,KAAKO,KAAMP,KAAKK,W,CAGtC,GAAIL,KAAKsC,kBAAmB,CAC1BtC,KAAKuC,iBAAiBvC,KAAKsC,kBAAmBtC,KAAKI,c,MAC9C,GAAIJ,KAAKQ,eAAiBR,KAAKQ,cAAc4B,OAAS,EAAG,CAC9DpC,KAAKwC,kBAAkBxC,KAAKQ,cAAeR,KAAKI,c,MAC3C,GAAIJ,KAAKG,oBAAoBsC,KAAO,EAAG,CAC5C,MAAMC,EAAa5B,MAAMC,KAAKf,KAAKG,oBAAoBwC,QACvD,MAAMC,EAAqBF,EAAWG,KAAkBzB,GAAG0B,OAAAC,OACtD,GAAE,CACL1B,KAAMD,EACNQ,OAAQR,EAAMA,EAAI4B,OAAO,GAAGC,cAAgB7B,EAAI8B,MAAM,GAAK,OAG7DlD,KAAKwC,kBAAkBI,EAAoB5C,KAAKI,c,MAC3C,GAAIJ,KAAKK,WAAW+B,OAAS,EAAG,CACrC,MAAMe,EAAWnD,KAAKK,WAAW,GACjC,MAAMuC,EAAqBE,OAAOH,KAAKQ,GAAUN,KAC/CzB,IAAG,CACDC,KAAMD,EACNQ,OAAQR,EAAI4B,OAAO,GAAGC,cAAgB7B,EAAI8B,MAAM,OAIpDlD,KAAKwC,kBAAkBI,EAAoB5C,KAAKI,c,EAI5C,SAAAgD,CAAUC,EAAQC,GACxB,OAAOC,KAAKC,UAAUH,KAAOE,KAAKC,UAAUF,E,CAStC,cAAAjB,CAAeoB,EAAiBC,GAEtC,MAAMC,EAAe7C,MAAM8C,QAAQH,GAAYA,EAAW,GAC1D,MAAMI,EAAe/C,MAAM8C,QAAQF,GAAYA,EAAW,GAE1D,GAAI1D,KAAKoD,UAAUO,EAAcE,GAAe,CAC9C,M,CAGF7D,KAAKK,WAAaS,MAAM8C,QAAQH,GAAYA,EAAW,E,CASjD,iBAAAjB,CACNiB,EACAC,GAGA,MAAMC,EAAe7C,MAAM8C,QAAQH,GAAYA,EAAW,GAC1D,MAAMI,EAAe/C,MAAM8C,QAAQF,GAAYA,EAAW,GAG1D,GAAI1D,KAAKoD,UAAUO,EAAcE,GAAe,CAC9C,M,CAIF7D,KAAKI,cAAgBuD,C,CAGf,eAAAG,GAEN9D,KAAKM,MAAQ,KAEb,GAAIN,KAAKI,cAAcgC,OAAS,EAAG,CACjCpC,KAAKM,MAAQ,CACXO,QAASb,KAAKI,cACdG,KAAMP,KAAK+D,e,KAER,CACL/D,KAAKM,MAAQ,I,EAIT,YAAAyD,GACN,GACE/D,KAAKK,YACLS,MAAM8C,QAAQ5D,KAAKK,aACnBL,KAAKK,WAAW+B,OAAS,EACzB,CACA,MAAO,IAAIpC,KAAKK,W,KACX,CACL,MAAO,E,EAKH,mBAAA2D,CAAoBC,EAAUC,G,MACpC,OACEC,EAAAD,EACGE,MAAM,KACNC,QACC,CAACC,EAAKlD,IAASkD,GAAOA,EAAIlD,KAASmD,UAAYD,EAAIlD,GAAOmD,WAC1DN,MACD,MAAAE,SAAA,EAAAA,EAAInE,KAAKS,a,CAIR,cAAA+D,CAAeC,EAA+BC,GACpD,IAAKD,EAAU,CACb,OAAO,I,CAIT,MAAME,EACJF,aAAoBG,oBAAsBH,EAASI,QAAUJ,EAC/D,MAAMjD,EAAUC,EAAgBkD,GAGhCnD,EAAQP,iBAAiB,KAAKC,SAAQF,IAEpChB,KAAK8E,+BAA+B9D,EAAI0D,GAGxC1E,KAAK+E,8BAA8B/D,EAAI0D,GAGvC1E,KAAKgF,8BAA8BhE,EAAI0D,EAAI,IAI7ClD,EAAQP,iBAAiB,qBAAqBC,SAAQF,IACpD,MAAMiE,EAAYjE,EAAGkE,aAAa,oBAAsB,GACxD,MAAMC,EAAWF,EAAUb,MAAM,KAEjC,IAAKa,EAAUG,SAAS,MAAQD,EAAS/C,OAAS,EAAG,CACnDiD,QAAQC,KAAK,kCAAmCL,GAChD,M,CAGF,MAAMM,EAAYJ,EAAS,GAC3B,MAAMK,EAAYL,EAAS,GAC3B,MAAMM,EAAUN,EAAS/C,OAAS,EAAI+C,EAAS,GAAK,KAEpDnE,EAAG0E,iBAAiBH,GAAW,K,MAC7B,MAAM5C,GAAOwB,EAAAsB,IAAO,MAAPA,SAAO,SAAPA,EAASrB,MAAM,QAAI,MAAAD,SAAA,EAAAA,EAAI,GAGpC,MAAMwB,EAAWhD,EAAK0B,QAAO,CAACC,EAAKlD,KACjCkD,EAAIlD,GAAOsD,IAAG,MAAHA,SAAG,SAAHA,EAAMtD,GACjB,OAAOkD,CAAG,GACT,IAEH,MAAMsB,EAAS,CAAEJ,YAAWC,QAASE,GAErC3F,KAAK4F,OAAOC,KAAKD,EAAO,GACxB,IAIJE,YAAW,KACTtE,EAAQP,iBAAiB,KAAKC,SAAQ6E,IACpC,UAAYA,EAAcC,oBAAsB,WAAY,CACzDD,EAAcC,mB,IAEjB,GACD,GAEH,OACEC,EAAA,OACEC,IAAKlF,IACH,GAAIA,EAAI,CACNA,EAAGmF,UAAY,GACfnF,EAAGoF,YAAY5E,E,KAOjB,8BAAAsD,CAA+BtD,EAAkBkD,GAEvDlD,EAAQ6E,WAAWnF,SAAQoF,IACzB,GAAIA,EAAKC,WAAaC,KAAKC,UAAW,CACpCH,EAAKtE,YAAcsE,EAAKtE,YAAY0E,QAAQ,iBAAiB,CAACC,EAAGvF,IAC/DpB,KAAKgE,oBAAoBU,EAAKtD,I,KAM9B,6BAAA2D,CAA8BvD,EAAkBkD,GAEtD5D,MAAMC,KAAKS,EAAQoF,YAAY1F,SAAQ2F,IACrC,GAAIA,EAAKC,MAAM1B,SAAS,MAAO,CAC7ByB,EAAKC,MAAQD,EAAKC,MAAMJ,QAAQ,iBAAiB,CAACC,EAAGvF,IACnDpB,KAAKgE,oBAAoBU,EAAKtD,I,KAM9B,6BAAA4D,CAA8BxD,EAAkBkD,GAEtD,MAAMqC,EAAa,IAAIC,IAGvBlE,OAAOH,KAAKnB,GAASN,SAAQE,GAAO2F,EAAWE,IAAI7F,KAGnD,IAAI8F,EAAQpE,OAAOqE,eAAe3F,GAClC,MAAO0F,GAASA,IAAUE,YAAYC,UAAW,CAC/CvE,OAAOH,KAAKuE,GAAOhG,SAAQE,GAAO2F,EAAWE,IAAI7F,KACjD8F,EAAQpE,OAAOqE,eAAeD,E,CAIhCH,EAAW7F,SAAQoG,IACjB,UACU9F,EAAgB8F,KAAU,aACjCA,EAAKC,WAAW,QAChBC,EAAcC,IAAIH,GACnB,CACA,IACE,MAAMR,EAAQtF,EAAQ8F,GAGtB,UAAWR,IAAU,UAAYA,EAAM1B,SAAS,MAAO,CACrD5D,EAAQ8F,GAAQR,EAAMJ,QAAQ,iBAAiB,CAACC,EAAGvF,IACjDpB,KAAKgE,oBAAoBU,EAAKtD,I,EAGlC,MAAOsG,GACPrC,QAAQC,KAAK,6BAA6BgC,KAASI,EAAMC,Q,MAWjE,YAAAC,CAAanE,EAA0BC,GACrC1D,KAAKwC,kBAAkBiB,EAAUC,E,CAInC,gBAAAnB,CAAiBkB,EAA8BC,GAC7C,IACE,MAAMmE,EAAWpE,EAAWF,KAAKuE,MAAMrE,GAAY,GAEnDzD,KAAKwC,kBAAkBqF,EAAUnE,E,CACjC,MAAOqE,GACP1C,QAAQqC,MAAM,6CAA8CK,EAAEJ,SAC9D3H,KAAKI,cAAgB,E,EAKzB,SAAA4H,CAAUvE,EAAiBC,GACzB1D,KAAKqC,eAAeoB,EAAUC,E,CAIhC,aAAAvB,CAAcsB,GACZ,IACE,MAAMoE,EAAWpE,EAAWF,KAAKuE,MAAMrE,GAAY,GAEnDzD,KAAKqC,eAAewF,EAAU7H,KAAKK,W,CACnC,MAAO0H,GACP1C,QAAQqC,MAAM,oCAAqCK,EAAEJ,SACrD3H,KAAKK,WAAa,E,EAMtB,kBAAA4H,GACEjI,KAAK8D,iB,CAOP,iBAAAoE,GACElI,KAAKY,iBAELZ,KAAKiC,qB,CAwBP,MAAAkG,GACE,MAAMC,GACHpI,KAAKM,OAASN,KAAKM,QAAUiE,WAAavE,KAAKI,cAAcgC,SAAW,EACrE,GACApC,KAAKM,MAAMO,QAEjB,MAAMwH,GACHrI,KAAKM,OAASN,KAAKM,QAAUiE,WAAavE,KAAKK,WAAW+B,SAAW,EAClE,GACApC,KAAKM,MAAMC,KAEjB,OACE0F,EAACqC,EAAI,CAAAlH,IAAA,4CACH6E,EAAA,OAAA7E,IAAA,2CAAKmH,MAAM,UACTtC,EAAA,QAAA7E,IAAA,8CAGF6E,EAAA,QAAA7E,IAAA,2CAAMC,KAAK,WAEVrB,KAAKI,cAAcgC,SAAW,GAAKpC,KAAKK,WAAW+B,SAAW,EAC7D6D,EAAA,OAAKsC,MAAM,WAAWvI,KAAKW,wBAE3BsF,EAAA,SAAOsC,MAAM,SACVvI,KAAKI,cAAcgC,OAAS,GAAKgG,EAAahG,OAAS,GACtD6D,EAAA,SAAOsC,MAAM,gBACXtC,EAAA,UACGmC,GACCA,EAAavF,KAAI1B,GAEb8E,EAAA,MAAI7E,IAAKD,EAAIE,MACVrB,KAAKwE,eACJxE,KAAKG,oBAAoBqI,IAAIrH,EAAIE,MACjC,KACGF,EAAIS,YAOvBqE,EAAA,SAAOsC,MAAM,eACTF,GAAQA,EAAKjG,SAAW,EACxB6D,EAAA,UACEA,EAAA,MAAIwC,QAASL,EAAahG,QAAU,GAAImG,MAAM,WAC3CvI,KAAKU,gBAIV2H,EAAKxF,KAAI6B,GACPuB,EAAA,MAAI7E,IAAKmC,KAAKC,UAAUkB,IACrB0D,EAAavF,KAAI1B,I,MAAO,OACvB8E,EAAA,UACGjG,KAAKwE,eACJxE,KAAKC,cAAcuI,IAAIrH,EAAIE,MAC3BqD,MAECP,EAAAO,EAAIvD,EAAIE,SAAK,MAAA8C,SAAA,EAAAA,EAAInE,KAAKS,eACtB,SASnBwF,EAAA,QAAA7E,IAAA,2CAAMC,KAAK,U","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ const e="native";const t={allRenderFn:true,appendChildSlotFix:false,asyncLoading:true,asyncQueue:false,attachStyles:true,cloneNodeFix:false,constructableCSS:true,cssAnnotations:true,devTools:false,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:false,hydratedAttribute:false,hydratedClass:true,hydratedSelectorName:"hydrated",initializeNextTick:false,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:false,scriptDataOpts:false,shadowDelegatesFocus:false,shadowDom:false,slot:true,slotChildNodesFix:false,slotRelocation:true,state:true,style:true,svg:true,taskQueue:true,transformTagName:false,updatable:true,vdomAttribute:true,vdomClass:true,vdomFunctional:true,vdomKey:true,vdomListener:true,vdomPropOrAttr:true,vdomRef:true,vdomRender:true,vdomStyle:true,vdomText:true,vdomXlink:true,watchCallback:true};var n=Object.defineProperty;var r=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:true})};var l="http://www.w3.org/2000/svg";var s="http://www.w3.org/1999/xhtml";var i=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var o=(e,t)=>{e.__stencil__getHostRef=()=>t;t.t=e};var f=(e,t)=>{const n={l:0,$hostElement$:e,i:t,o:new Map};{n.u=new Promise((e=>n.v=e))}{n.h=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}const r=n;e.__stencil__getHostRef=()=>r;return r};var a=(e,t)=>t in e;var c=(e,t)=>(0,console.error)(e,t);var u=new Map;var v=(e,t,n)=>{const r=e.m.replace(/-/g,"_");const l=e.$;if(!l){return void 0}const s=u.get(l);if(s){return s[r]}
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${l}.entry.js${""}`).then((e=>{{u.set(l,e)}return e[r]}),(e=>{c(e,t.$hostElement$)}))};var d=new Map;var h="r";var p="o";var m="s";var $="t";var y="c";var b="s-id";var w="sty-id";var g="c-id";var S="{visibility:hidden}.hydrated{visibility:inherit}";var k="slot-fb{display:contents}slot-fb[hidden]{display:none}";var C="http://www.w3.org/1999/xlink";var O=["formAssociatedCallback","formResetCallback","formDisabledCallback","formStateRestoreCallback"];var j=typeof window!=="undefined"?window:{};var x={l:0,S:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)};var T=t.shadowDom;var F=(()=>{var e;let t=false;try{(e=j.document)==null?void 0:e.addEventListener("e",null,Object.defineProperty({},"passive",{get(){t=true}}))}catch(e){}return t})();var R=e=>Promise.resolve(e);var L=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var N=false;var D=[];var E=[];var M=(e,t)=>n=>{e.push(n);if(!N){N=true;if(t&&x.l&4){I(P)}else{x.raf(P)}}};var A=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){c(e)}}e.length=0};var P=()=>{A(D);{A(E);if(N=D.length>0){x.raf(P)}}};var I=e=>R().then(e);var U=M(E,true);var W=e=>{e=typeof e;return e==="object"||e==="function"};function B(e){var t,n,r;return(r=(n=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?r:void 0}var _={};r(_,{err:()=>H,map:()=>Q,ok:()=>z,unwrap:()=>V,unwrapErr:()=>Y});var z=e=>({isOk:true,isErr:false,value:e});var H=e=>({isOk:false,isErr:true,value:e});function Q(e,t){if(e.isOk){const n=t(e.value);if(n instanceof Promise){return n.then((e=>z(e)))}else{return z(n)}}if(e.isErr){const t=e.value;return H(t)}throw"should never get here"}var V=e=>{if(e.isOk){return e.value}else{throw e.value}};var Y=e=>{if(e.isErr){return e.value}else{throw e.value}};var q=e=>{const t=ne(e,"childNodes");if(e.tagName&&e.tagName.includes("-")&&e["s-cr"]&&e.tagName!=="SLOT-FB"){K(t,e.tagName).forEach((e=>{if(e.nodeType===1&&e.tagName==="SLOT-FB"){if(X(e,ee(e),false).length){e.hidden=true}else{e.hidden=false}}}))}let n=0;for(n=0;n<t.length;n++){const e=t[n];if(e.nodeType===1&&ne(e,"childNodes").length){q(e)}}};var G=e=>{const t=[];for(let n=0;n<e.length;n++){const r=e[n]["s-nr"]||void 0;if(r&&r.isConnected){t.push(r)}}return t};function K(e,t,n){let r=0;let l=[];let s;for(;r<e.length;r++){s=e[r];if(s["s-sr"]&&(!t||s["s-hn"]===t)&&(n===void 0||ee(s)===n)){l.push(s);if(typeof n!=="undefined")return l}l=[...l,...K(s.childNodes,t,n)]}return l}var X=(e,t,n=true)=>{const r=[];if(n&&e["s-sr"]||!e["s-sr"])r.push(e);let l=e;while(l=l.nextSibling){if(ee(l)===t&&(n||!l["s-sr"]))r.push(l)}return r};var J=(e,t)=>{if(e.nodeType===1){if(e.getAttribute("slot")===null&&t===""){return true}if(e.getAttribute("slot")===t){return true}return false}if(e["s-sn"]===t){return true}return t===""};var Z=(e,t,n,r)=>{if(e["s-ol"]&&e["s-ol"].isConnected){return}const l=document.createTextNode("");l["s-nr"]=e;if(!t["s-cr"]||!t["s-cr"].parentNode)return;const s=t["s-cr"].parentNode;const i=n?ne(s,"prepend"):ne(s,"appendChild");if(typeof r!=="undefined"){l["s-oo"]=r;const e=ne(s,"childNodes");const t=[l];e.forEach((e=>{if(e["s-nr"])t.push(e)}));t.sort(((e,t)=>{if(!e["s-oo"]||e["s-oo"]<(t["s-oo"]||0))return-1;else if(!t["s-oo"]||t["s-oo"]<e["s-oo"])return 1;return 0}));t.forEach((e=>i.call(s,e)))}else{i.call(s,l)}e["s-ol"]=l;e["s-sh"]=t["s-hn"]};var ee=e=>typeof e["s-sn"]==="string"?e["s-sn"]:e.nodeType===1&&e.getAttribute("slot")||void 0;function te(e){if(e.assignedElements||e.assignedNodes||!e["s-sr"])return;const t=t=>function(e){const n=[];const r=this["s-sn"];if(e==null?void 0:e.flatten){console.error(`\n Flattening is not supported for Stencil non-shadow slots. \n You can use \`.childNodes\` to nested slot fallback content.\n If you have a particular use case, please open an issue on the Stencil repo.\n `)}const l=this["s-cr"].parentElement;const s=l.__childNodes?l.childNodes:G(l.childNodes);s.forEach((e=>{if(r===ee(e)){n.push(e)}}));if(t){return n.filter((e=>e.nodeType===1))}return n}.bind(e);e.assignedElements=t(true);e.assignedNodes=t(false)}function ne(e,t){if("__"+t in e){const n=e["__"+t];if(typeof n!=="function")return n;return n.bind(e)}else{if(typeof e[t]!=="function")return e[t];return e[t].bind(e)}}var re=(e,t="")=>{{return()=>{}}};var le=(e,t)=>{{return()=>{}}};var se=(e,t,...n)=>{let r=null;let l=null;let s=null;let i=false;let o=false;const f=[];const a=t=>{for(let n=0;n<t.length;n++){r=t[n];if(Array.isArray(r)){a(r)}else if(r!=null&&typeof r!=="boolean"){if(i=typeof e!=="function"&&!W(r)){r=String(r)}if(i&&o){f[f.length-1].k+=r}else{f.push(i?ie(null,r):r)}o=i}}};a(n);if(t){if(t.key){l=t.key}if(t.name){s=t.name}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}if(typeof e==="function"){return e(t===null?{}:t,f,ae)}const c=ie(e,null);c.C=t;if(f.length>0){c.O=f}{c.j=l}{c.T=s}return c};var ie=(e,t)=>{const n={l:0,F:e,k:t,R:null,O:null};{n.C=null}{n.j=null}{n.T=null}return n};var oe={};var fe=e=>e&&e.F===oe;var ae={forEach:(e,t)=>e.map(ce).forEach(t),map:(e,t)=>e.map(ce).map(t).map(ue)};var ce=e=>({vattrs:e.C,vchildren:e.O,vkey:e.j,vname:e.T,vtag:e.F,vtext:e.k});var ue=e=>{if(typeof e.vtag==="function"){const t={...e.vattrs};if(e.vkey){t.key=e.vkey}if(e.vname){t.name=e.vname}return se(e.vtag,t,...e.vchildren||[])}const t=ie(e.vtag,e.vtext);t.C=e.vattrs;t.O=e.vchildren;t.j=e.vkey;t.T=e.vname;return t};var ve=(e,t,n,r)=>{const l=re("hydrateClient",t);const s=e.shadowRoot;const i=[];const o=[];const f=[];const a=null;const c=ie(t,null);c.R=e;if(j.document&&(!x.L||!x.L.size)){he(j.document.body,x.L=new Map)}e[b]=n;e.removeAttribute(b);r.N=de(c,i,o,a,e,e,n,f);let u=0;const v=i.length;let d;for(u;u<v;u++){d=i[u];const n=d.D+"."+d.M;const r=x.L.get(n);const l=d.R;if(!s){l["s-hn"]=t.toUpperCase();if(d.F==="slot"){l["s-cr"]=e["s-cr"]}}if(d.F==="slot"){d.T=d.R["s-sn"]||d.R["name"]||null;if(d.O){d.l|=2;if(!d.R.childNodes.length){d.O.forEach((e=>{d.R.appendChild(e.R)}))}}else{d.l|=1}}if(r&&r.isConnected){if(s&&r["s-en"]===""){r.parentNode.insertBefore(l,r.nextSibling)}r.parentNode.removeChild(r);if(!s){l["s-oo"]=parseInt(d.M)}}x.L.delete(n)}const h=[];const p=f.length;let m=0;let $;let y;let w;let g;for(m;m<p;m++){$=f[m];if(!$||!$.length)continue;w=$.length;y=0;for(y;y<w;y++){g=$[y];if(!h[g.hostId]){h[g.hostId]=x.L.get(g.hostId)}if(!h[g.hostId])continue;const e=h[g.hostId];if(!e.shadowRoot||!s){g.slot["s-cr"]=e["s-cr"];if(!g.slot["s-cr"]&&e.shadowRoot){g.slot["s-cr"]=e}else{g.slot["s-cr"]=(e.__childNodes||e.childNodes)[0]}Z(g.node,g.slot,false,g.node["s-oo"])}if(e.shadowRoot&&g.node.parentElement!==e){e.appendChild(g.node)}}}x.L.delete(e["s-id"]);r.$hostElement$=e;l()};var de=(e,t,n,r,l,s,i,o=[])=>{let f;let a;let c;let u;if(s.nodeType===1){f=s.getAttribute(g);if(f){a=f.split(".");if(a[0]===i||a[0]==="0"){c=pe({l:0,D:a[0],M:a[1],A:a[2],P:a[3],F:s.tagName.toLowerCase(),R:s,C:{class:s.className||""}});t.push(c);s.removeAttribute(g);if(!e.O){e.O=[]}const l=c.R.getAttribute("s-sn");if(typeof l==="string"){if(c.F==="slot-fb"){me(l,a[2],c,s,e,t,n,r,o)}c.R["s-sn"]=l;c.R.removeAttribute("s-sn")}if(c.P!==void 0){e.O[c.P]=c}e=c;if(r&&c.A==="0"){r[c.P]=c.R}}}if(s.shadowRoot){for(u=s.shadowRoot.childNodes.length-1;u>=0;u--){de(e,t,n,r,l,s.shadowRoot.childNodes[u],i,o)}}const v=s.__childNodes||s.childNodes;for(u=v.length-1;u>=0;u--){de(e,t,n,r,l,v[u],i,o)}}else if(s.nodeType===8){a=s.nodeValue.split(".");if(a[1]===i||a[1]==="0"){f=a[0];c=pe({D:a[1],M:a[2],A:a[3],P:a[4]||"0",R:s,C:null,O:null,j:null,T:null,F:null,k:null});if(f===$){c.R=ye(s,3);if(c.R&&c.R.nodeType===3){c.k=c.R.textContent;t.push(c);s.remove();if(i===c.D){if(!e.O){e.O=[]}e.O[c.P]=c}if(r&&c.A==="0"){r[c.P]=c.R}}}else if(f===y){c.R=ye(s,8);if(c.R&&c.R.nodeType===8){t.push(c);s.remove()}}else if(c.D===i){if(f===m){const l=s["s-sn"]=a[5]||"";me(l,a[2],c,s,e,t,n,r,o)}else if(f===h){{l["s-cr"]=s;s["s-cn"]=true}}}}}else if(e&&e.F==="style"){const t=ie(null,s.textContent);t.R=s;t.P="0";e.O=[t]}else{if(s.nodeType===3&&!s.wholeText.trim()){s.remove()}}return e};var he=(e,t)=>{if(e.nodeType===1){const n=e[b]||e.getAttribute(b);if(n){t.set(n,e)}let r=0;if(e.shadowRoot){for(;r<e.shadowRoot.childNodes.length;r++){he(e.shadowRoot.childNodes[r],t)}}const l=e.__childNodes||e.childNodes;for(r=0;r<l.length;r++){he(l[r],t)}}else if(e.nodeType===8){const n=e.nodeValue.split(".");if(n[0]===p){t.set(n[1]+"."+n[2],e);e.nodeValue="";e["s-en"]=n[3]}}};var pe=e=>{const t={l:0,D:null,M:null,A:null,P:"0",R:null,C:null,O:null,j:null,T:null,F:null,k:null};return{...t,...e}};function me(e,t,n,r,l,s,i,o,f){r["s-sr"]=true;n.T=e||null;n.F="slot";const a=(l==null?void 0:l.R)?l.R["s-id"]||l.R.getAttribute("s-id"):"";{const i=n.R;const o=a&&a!==n.D&&l.R.shadowRoot;$e(f,t,e,r,o?a:n.D);te(r);if(o){l.R.insertBefore(i,l.R.children[0])}s.push(n)}i.push(n);if(!l.O){l.O=[]}l.O[n.P]=n}var $e=(e,t,n,r,l)=>{let s=r.nextSibling;e[t]=e[t]||[];while(s&&((s["getAttribute"]&&s.getAttribute("slot")||s["s-sn"])===n||n===""&&!s["s-sn"]&&(s.nodeType===8&&s.nodeValue.indexOf(".")!==1||s.nodeType===3))){s["s-sn"]=n;e[t].push({slot:r,node:s,hostId:l});s=s.nextSibling}};var ye=(e,t)=>{let n=e;do{n=n.nextSibling}while(n&&(n.nodeType!==t||!n.nodeValue));return n};var be=(e,t)=>{if(e!=null&&!W(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var we=e=>i(e).$hostElement$;var ge=(e,t,n)=>{const r=we(e);return{emit:e=>Se(r,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}};var Se=(e,t,n)=>{const r=x.ce(t,n);e.dispatchEvent(r);return r};var ke=new WeakMap;var Ce=(e,t,n)=>{let r=d.get(e);if(L&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}d.set(e,r)};var Oe=(e,t,n)=>{var r;const l=xe(t);const s=d.get(l);if(!j.document){return l}e=e.nodeType===11?e:j.document;if(s){if(typeof s==="string"){e=e.head||e;let n=ke.get(e);let i;if(!n){ke.set(e,n=new Set)}if(!n.has(l)){if(e.host&&(i=e.querySelector(`[${w}="${l}"]`))){i.innerHTML=s}else{i=document.querySelector(`[${w}="${l}"]`)||j.document.createElement("style");i.innerHTML=s;const n=(r=x.I)!=null?r:B(j.document);if(n!=null){i.setAttribute("nonce",n)}if(!(t.l&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(i,(n==null?void 0:n.parentNode)===e?n:null)}else if("host"in e){if(L){const t=new CSSStyleSheet;t.replaceSync(s);e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");if(t){t.innerHTML=s+t.innerHTML}else{e.prepend(i)}}}else{e.append(i)}}if(t.l&1){e.insertBefore(i,null)}}if(t.l&4){i.innerHTML+=k}if(n){n.add(l)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,s]}}return l};var je=e=>{const t=e.i;const n=e.$hostElement$;const r=re("attachStyles",t.m);Oe(n.getRootNode(),t);r()};var xe=(e,t)=>"sc-"+e.m;var Te=(e,t,n,r,l,s,i)=>{if(n===r){return}let o=a(e,t);let f=t.toLowerCase();if(t==="class"){const t=e.classList;const l=Re(n);let s=Re(r);if(e["s-si"]&&i){s.push(e["s-si"]);l.forEach((t=>{if(t.startsWith(e["s-si"]))s.push(t)}));s=[...new Set(s)];t.add(...s)}else{t.remove(...l.filter((e=>e&&!s.includes(e))));t.add(...s.filter((e=>e&&!l.includes(e))))}}else if(t==="style"){{for(const t in n){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!n||r[t]!==n[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(t==="ref"){if(r){r(e)}}else if(!o&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(a(j,f)){t=f.slice(2)}else{t=f[2]+t.slice(3)}if(n||r){const l=t.endsWith(Le);t=t.replace(Ne,"");if(n){x.rel(e,t,n,l)}if(r){x.ael(e,t,r,l)}}}else{const i=W(r);if((o||i&&r!==null)&&!l){try{if(!e.tagName.includes("-")){const l=r==null?"":r;if(t==="list"){o=false}else if(n==null||e[t]!=l){if(typeof e.__lookupSetter__(t)==="function"){e[t]=l}else{e.setAttribute(t,l)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}let a=false;{if(f!==(f=f.replace(/^xlink\:?/,""))){t=f;a=true}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){if(a){e.removeAttributeNS(C,t)}else{e.removeAttribute(t)}}}else if((!o||s&4||l)&&!i&&e.nodeType===1){r=r===true?"":r;if(a){e.setAttributeNS(C,t,r)}else{e.setAttribute(t,r)}}}};var Fe=/\s/;var Re=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(Fe)};var Le="Capture";var Ne=new RegExp(Le+"$");var De=(e,t,n,r)=>{const l=t.R.nodeType===11&&t.R.host?t.R.host:t.R;const s=e&&e.C||{};const i=t.C||{};{for(const e of Ee(Object.keys(s))){if(!(e in i)){Te(l,e,s[e],void 0,n,t.l,r)}}}for(const e of Ee(Object.keys(i))){Te(l,e,s[e],i[e],n,t.l,r)}};function Ee(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var Me;var Ae;var Pe=false;var Ie=false;var Ue=false;var We=false;var Be=(e,n,r)=>{var i;const o=n.O[r];let f=0;let a;let c;let u;if(!Pe){Ue=true;if(o.F==="slot"){o.l|=o.O?2:1}}if(o.k!==null){a=o.R=j.document.createTextNode(o.k)}else if(o.l&1){a=o.R=j.document.createTextNode("");{De(null,o,We)}}else{if(!We){We=o.F==="svg"}if(!j.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}a=o.R=j.document.createElementNS(We?l:s,!Pe&&t.slotRelocation&&o.l&2?"slot-fb":o.F);if(We&&o.F==="foreignObject"){We=false}{De(null,o,We)}if(o.O){for(f=0;f<o.O.length;++f){c=Be(e,o,f);if(c){a.appendChild(c)}}}{if(o.F==="svg"){We=false}else if(a.tagName==="foreignObject"){We=true}}}a["s-hn"]=Ae;{if(o.l&(2|1)){a["s-sr"]=true;a["s-cr"]=Me;a["s-sn"]=o.T||"";a["s-rf"]=(i=o.C)==null?void 0:i.ref;te(a);u=e&&e.O&&e.O[r];if(u&&u.F===o.F&&e.R){{_e(e.R,false)}}}}return a};var _e=(e,n)=>{x.l|=1;const r=Array.from(e.__childNodes||e.childNodes);if(e["s-sr"]&&t.experimentalSlotFixes){let t=e;while(t=t.nextSibling){if(t&&t["s-sn"]===e["s-sn"]&&t["s-sh"]===Ae){r.push(t)}}}for(let e=r.length-1;e>=0;e--){const t=r[e];if(t["s-hn"]!==Ae&&t["s-ol"]){Je(Ye(t).parentNode,t,Ye(t));t["s-ol"].remove();t["s-ol"]=void 0;t["s-sh"]=void 0;Ue=true}if(n){_e(t,n)}}x.l&=~1};var ze=(e,t,n,r,l,s)=>{let i=e["s-cr"]&&e["s-cr"].parentNode||e;let o;for(;l<=s;++l){if(r[l]){o=Be(null,n,l);if(o){r[l].R=o;Je(i,o,Ye(t))}}}};var He=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.R;Xe(t);if(e){{Ie=true;if(e["s-ol"]){e["s-ol"].remove()}else{_e(e,true)}}e.remove()}}}};var Qe=(e,t,n,r,l=false)=>{let s=0;let i=0;let o=0;let f=0;let a=t.length-1;let c=t[0];let u=t[a];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(s<=a&&i<=v){if(c==null){c=t[++s]}else if(u==null){u=t[--a]}else if(d==null){d=r[++i]}else if(h==null){h=r[--v]}else if(Ve(c,d,l)){qe(c,d,l);c=t[++s];d=r[++i]}else if(Ve(u,h,l)){qe(u,h,l);u=t[--a];h=r[--v]}else if(Ve(c,h,l)){if(c.F==="slot"||h.F==="slot"){_e(c.R.parentNode,false)}qe(c,h,l);Je(e,c.R,u.R.nextSibling);c=t[++s];h=r[--v]}else if(Ve(u,d,l)){if(c.F==="slot"||h.F==="slot"){_e(u.R.parentNode,false)}qe(u,d,l);Je(e,u.R,c.R);u=t[--a];d=r[++i]}else{o=-1;{for(f=s;f<=a;++f){if(t[f]&&t[f].j!==null&&t[f].j===d.j){o=f;break}}}if(o>=0){m=t[o];if(m.F!==d.F){p=Be(t&&t[i],n,o)}else{qe(m,d,l);t[o]=void 0;p=m.R}d=r[++i]}else{p=Be(t&&t[i],n,i);d=r[++i]}if(p){{Je(Ye(c.R).parentNode,p,Ye(c.R))}}}}if(s>a){ze(e,r[v+1]==null?null:r[v+1].R,n,r,i,v)}else if(i>v){He(t,s,a)}};var Ve=(e,t,n=false)=>{if(e.F===t.F){if(e.F==="slot"){return e.T===t.T}if(!n){return e.j===t.j}if(n&&!e.j&&t.j){e.j=t.j}return true}return false};var Ye=e=>e&&e["s-ol"]||e;var qe=(e,n,r=false)=>{const l=n.R=e.R;const s=e.O;const i=n.O;const o=n.F;const f=n.k;let a;if(f===null){{We=o==="svg"?true:o==="foreignObject"?false:We}{De(e,n,We,r)}if(s!==null&&i!==null){Qe(l,s,n,i,r)}else if(i!==null){if(e.k!==null){l.textContent=""}ze(l,null,n,i,0,i.length-1)}else if(!r&&t.updatable&&s!==null){He(s,0,s.length-1)}if(We&&o==="svg"){We=false}}else if(a=l["s-cr"]){a.parentNode.textContent=f}else if(e.k!==f){l.data=f}};var Ge=[];var Ke=e=>{let n;let r;let l;const s=e.__childNodes||e.childNodes;for(const e of s){if(e["s-sr"]&&(n=e["s-cr"])&&n.parentNode){r=n.parentNode.__childNodes||n.parentNode.childNodes;const s=e["s-sn"];for(l=r.length-1;l>=0;l--){n=r[l];if(!n["s-cn"]&&!n["s-nr"]&&n["s-hn"]!==e["s-hn"]&&!t.experimentalSlotFixes){if(J(n,s)){let t=Ge.find((e=>e.U===n));Ie=true;n["s-sn"]=n["s-sn"]||s;if(t){t.U["s-sh"]=e["s-hn"];t.W=e}else{n["s-sh"]=e["s-hn"];Ge.push({W:e,U:n})}if(n["s-sr"]){Ge.map((e=>{if(J(e.U,n["s-sn"])){t=Ge.find((e=>e.U===n));if(t&&!e.W){e.W=t.W}}}))}}else if(!Ge.some((e=>e.U===n))){Ge.push({U:n})}}}}if(e.nodeType===1){Ke(e)}}};var Xe=e=>{{e.C&&e.C.ref&&e.C.ref(null);e.O&&e.O.map(Xe)}};var Je=(e,t,n)=>{{return e==null?void 0:e.insertBefore(t,n)}};var Ze=(e,t,n=false)=>{var r,l,s,i;const o=e.$hostElement$;const f=e.i;const a=e.N||ie(null,null);const c=fe(t)?t:se(null,null,t);Ae=o.tagName;if(f.B){c.C=c.C||{};f.B.map((([e,t])=>c.C[t]=o[e]))}if(n&&c.C){for(const e of Object.keys(c.C)){if(o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){c.C[e]=o[e]}}}c.F=null;c.l|=4;e.N=c;c.R=a.R=o;Pe=T;{Me=o["s-cr"];Ie=false}qe(a,c,n);{x.l|=1;if(Ue){Ke(c.R);for(const e of Ge){const t=e.U;if(!t["s-ol"]&&j.document){const e=j.document.createTextNode("");e["s-nr"]=t;Je(t.parentNode,t["s-ol"]=e,t)}}for(const e of Ge){const t=e.U;const o=e.W;if(o){const e=o.parentNode;let n=o.nextSibling;{let s=(r=t["s-ol"])==null?void 0:r.previousSibling;while(s){let r=(l=s["s-nr"])!=null?l:null;if(r&&r["s-sn"]===t["s-sn"]&&e===(r.__parentNode||r.parentNode)){r=r.nextSibling;while(r===t||(r==null?void 0:r["s-sr"])){r=r==null?void 0:r.nextSibling}if(!r||!r["s-nr"]){n=r;break}}s=s.previousSibling}}const i=t.__parentNode||t.parentNode;const f=t.__nextSibling||t.nextSibling;if(!n&&e!==i||f!==n){if(t!==n){if(!t["s-hn"]&&t["s-ol"]){t["s-hn"]=t["s-ol"].parentNode.nodeName}Je(e,t,n);if(t.nodeType===1&&t.tagName!=="SLOT-FB"){t.hidden=(s=t["s-ih"])!=null?s:false}}}t&&typeof o["s-rf"]==="function"&&o["s-rf"](o)}else{if(t.nodeType===1){if(n){t["s-ih"]=(i=t.hidden)!=null?i:false}t.hidden=true}}}}if(Ie){q(c.R)}x.l&=~1;Ge.length=0}Me=void 0};var et=(e,t)=>{if(t&&!e._&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e._=()=>{t["s-p"].splice(n-1,1);r()})))}};var tt=(e,t)=>{{e.l|=16}if(e.l&4){e.l|=512;return}et(e,e.H);const n=()=>nt(e,t);return U(n)};var nt=(e,t)=>{const n=e.$hostElement$;const r=re("scheduleUpdate",e.i.m);const l=e.t;if(!l){throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let s;if(t){{e.l|=256;if(e.V){e.V.map((([e,t])=>vt(l,e,t,n)));e.V=void 0}}s=vt(l,"componentWillLoad",void 0,n)}else{s=vt(l,"componentWillUpdate",void 0,n)}s=rt(s,(()=>vt(l,"componentWillRender",void 0,n)));r();return rt(s,(()=>st(e,l,t)))};var rt=(e,t)=>lt(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var lt=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var st=async(e,t,n)=>{var r;const l=e.$hostElement$;const s=re("update",e.i.m);const i=l["s-rc"];if(n){je(e)}const o=re("render",e.i.m);{ot(e,t,l,n)}if(i){i.map((e=>e()));l["s-rc"]=void 0}o();s();{const t=(r=l["s-p"])!=null?r:[];const n=()=>at(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.l|=4;t.length=0}}};var it=null;var ot=(e,t,n,r)=>{try{it=t;t=t.render();{e.l&=~16}{e.l|=2}{{{Ze(e,t,r)}}}}catch(t){c(t,e.$hostElement$)}it=null;return null};var ft=()=>it;var at=e=>{const t=e.i.m;const n=e.$hostElement$;const r=re("postUpdate",t);const l=e.t;const s=e.H;vt(l,"componentDidRender",void 0,n);if(!(e.l&64)){e.l|=64;{dt(n)}vt(l,"componentDidLoad",void 0,n);r();{e.p(n);if(!s){ut()}}}else{vt(l,"componentDidUpdate",void 0,n);r()}{e.v(n)}{if(e._){e._();e._=void 0}if(e.l&512){I((()=>tt(e,false)))}e.l&=~(4|512)}};var ct=e=>{{const t=i(e);const n=t.$hostElement$.isConnected;if(n&&(t.l&(2|16))===2){tt(t,false)}return n}};var ut=t=>{I((()=>Se(j,"appload",{detail:{namespace:e}})))};var vt=(e,t,n,r)=>{if(e&&e[t]){try{return e[t](n)}catch(e){c(e,r)}}return void 0};var dt=e=>{var n;return e.classList.add((n=t.hydratedSelectorName)!=null?n:"hydrated")};var ht=(e,t)=>i(e).o.get(t);var pt=(e,t,n,r)=>{const l=i(e);if(!l){throw new Error(`Couldn't find host element for "${r.m}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`)}const s=l.$hostElement$;const o=l.o.get(t);const f=l.l;const a=l.t;n=be(n,r.Y[t][0]);const u=Number.isNaN(o)&&Number.isNaN(n);const v=n!==o&&!u;if((!(f&8)||o===void 0)&&v){l.o.set(t,n);if(a){if(r.q&&f&128){const e=r.q[t];if(e){e.map((e=>{try{a[e](n,o,t)}catch(e){c(e,s)}}))}}if((f&(2|16))===2){if(a.componentShouldUpdate){if(a.componentShouldUpdate(n,o,t)===false){return}}tt(l,false)}}}};var mt=(e,n,r)=>{var l,s;const o=e.prototype;if(n.l&64&&r&1){O.forEach((e=>{Object.defineProperty(o,e,{value(...t){const n=i(this);const r=n.t;if(!r){n.h.then((n=>{const r=n[e];typeof r==="function"&&r.call(n,...t)}))}else{const n=r[e];typeof n==="function"&&n.call(r,...t)}}})}))}if(n.Y||(n.q||e.watchers)){if(e.watchers&&!n.q){n.q=e.watchers}const f=Object.entries((l=n.Y)!=null?l:{});f.map((([e,[t]])=>{if(t&31||r&2&&t&32){const{get:l,set:s}=Object.getOwnPropertyDescriptor(o,e)||{};if(l)n.Y[e][0]|=2048;if(s)n.Y[e][0]|=4096;if(r&1||!l){Object.defineProperty(o,e,{get(){{if((n.Y[e][0]&2048)===0){return ht(this,e)}const t=i(this);const r=t?t.t:o;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(o,e,{set(l){const o=i(this);if(s){const r=t&32?this[e]:o.$hostElement$[e];if(typeof r==="undefined"&&o.o.get(e)){l=o.o.get(e)}else if(!o.o.get(e)&&r){o.o.set(e,r)}s.apply(this,[be(l,t)]);l=t&32?this[e]:o.$hostElement$[e];pt(this,e,l,n);return}{if((r&1)===0||(n.Y[e][0]&4096)===0){pt(this,e,l,n);if(r&1&&!o.t){o.h.then((()=>{if(n.Y[e][0]&4096&&o.t[e]!==o.o.get(e)){o.t[e]=l}}))}return}const s=()=>{const r=o.t[e];if(!o.o.get(e)&&r){o.o.set(e,r)}o.t[e]=be(l,t);pt(this,e,o.t[e],n)};if(o.t){s()}else{o.h.then((()=>s()))}}}})}else if(r&1&&t&64){Object.defineProperty(o,e,{value(...t){var n;const r=i(this);return(n=r==null?void 0:r.u)==null?void 0:n.then((()=>{var n;return(n=r.t)==null?void 0:n[e](...t)}))}})}}));if(r&1){const r=new Map;o.attributeChangedCallback=function(e,l,s){x.jmp((()=>{var f;const a=r.get(e);if(this.hasOwnProperty(a)&&t.lazyLoad){s=this[a];delete this[a]}else if(o.hasOwnProperty(a)&&typeof this[a]==="number"&&this[a]==s){return}else if(a==null){const t=i(this);const r=t==null?void 0:t.l;if(r&&!(r&8)&&r&128&&s!==l){const r=t.t;const i=(f=n.q)==null?void 0:f[e];i==null?void 0:i.forEach((t=>{if(r[t]!=null){r[t].call(r,s,l,e)}}))}return}const c=Object.getOwnPropertyDescriptor(o,a);s=s===null&&typeof this[a]==="boolean"?false:s;if(s!==this[a]&&(!c.get||!!c.set)){this[a]=s}}))};e.observedAttributes=Array.from(new Set([...Object.keys((s=n.q)!=null?s:{}),...f.filter((([e,t])=>t[0]&15)).map((([e,t])=>{var l;const s=t[1]||e;r.set(s,e);if(t[0]&512){(l=n.B)==null?void 0:l.push([e,s])}return s}))]))}}return e};var $t=async(e,t,n,r)=>{let l;if((t.l&32)===0){t.l|=32;const r=n.$;if(r){const r=v(n,t);if(r&&"then"in r){const e=le();l=await r;e()}else{l=r}if(!l){throw new Error(`Constructor for "${n.m}#${t.G}" was not found`)}if(!l.isProxied){{n.q=l.watchers}mt(l,n,2);l.isProxied=true}const s=re("createInstance",n.m);{t.l|=8}try{new l(t)}catch(t){c(t,e)}{t.l&=~8}{t.l|=128}s();yt(t.t,e)}else{l=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.l|=128))}if(l&&l.style){let e;if(typeof l.style==="string"){e=l.style}const t=xe(n);if(!d.has(t)){const r=re("registerStyles",n.m);Ce(t,e,!!(n.l&1));r()}}}const s=t.H;const i=()=>tt(t,true);if(s&&s["s-rc"]){s["s-rc"].push(i)}else{i()}};var yt=(e,t)=>{{vt(e,"connectedCallback",void 0,t)}};var bt=e=>{if((x.l&1)===0){const t=i(e);const n=t.i;const r=re("connectedCallback",n.m);if(!(t.l&1)){t.l|=1;let r;{r=e.getAttribute(b);if(r){ve(e,n.m,r,t)}}if(!r){if(n.l&(4|8)){wt(e)}}{let n=e;while(n=n.parentNode||n.host){if(n.nodeType===1&&n.hasAttribute("s-id")&&n["s-p"]||n["s-p"]){et(t,t.H=n);break}}}if(n.Y){Object.entries(n.Y).map((([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){const n=e[t];delete e[t];e[t]=n}}))}{$t(e,t,n)}}else{Ot(e,t,n.K);if(t==null?void 0:t.t){yt(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>yt(t.t,e)))}}r()}};var wt=e=>{if(!j.document){return}const t=e["s-cr"]=j.document.createComment("");t["s-cn"]=true;Je(e,t,e.firstChild)};var gt=(e,t)=>{{vt(e,"disconnectedCallback",void 0,t||e)}};var St=async e=>{if((x.l&1)===0){const t=i(e);{if(t.X){t.X.map((e=>e()));t.X=void 0}}if(t==null?void 0:t.t){gt(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>gt(t.t,e)))}}if(ke.has(e)){ke.delete(e)}if(e.shadowRoot&&ke.has(e.shadowRoot)){ke.delete(e.shadowRoot)}};var kt=(e,t={})=>{var n;if(!j.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=re();const l=[];const s=t.exclude||[];const o=j.customElements;const a=j.document.head;const c=a.querySelector("meta[charset]");const u=j.document.createElement("style");const v=[];let d;let h=true;Object.assign(x,t);x.S=new URL(t.resourcesUrl||"./",j.document.baseURI).href;{x.l|=2}let p=false;e.map((e=>{e[1].map((t=>{var n;const r={l:t[0],m:t[1],Y:t[2],K:t[3]};if(r.l&4){p=true}{r.Y=t[2]}{r.K=t[3]}{r.B=[]}{r.q=(n=t[4])!=null?n:{}}const a=r.m;const c=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;f(e,r)}connectedCallback(){const e=i(this);if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true;Ot(this,e,r.K)}if(d){clearTimeout(d);d=null}if(h){v.push(this)}else{x.jmp((()=>bt(this)))}}disconnectedCallback(){x.jmp((()=>St(this)));x.raf((()=>{var e;const t=i(this);const n=v.findIndex((e=>e===this));if(n>-1){v.splice(n,1)}if(((e=t==null?void 0:t.N)==null?void 0:e.R)instanceof Node&&!t.N.R.isConnected){delete t.N.R}}))}componentOnReady(){return i(this).h}};if(r.l&64){c.formAssociated=true}r.$=e[0];if(!s.includes(a)&&!o.get(a)){l.push(a);o.define(a,mt(c,r,1))}}))}));if(l.length>0){if(p){u.textContent+=k}{u.textContent+=l.sort()+S}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(n=x.I)!=null?n:B(j.document);if(e!=null){u.setAttribute("nonce",e)}a.insertBefore(u,c?c.nextSibling:a.firstChild)}}h=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{x.jmp((()=>d=setTimeout(ut,30)))}}r()};var Ct=(e,t)=>t;var Ot=(e,t,n,r)=>{if(n&&j.document){n.map((([n,r,l])=>{const s=xt(j.document,e,n);const i=jt(t,l);const o=Tt(n);x.ael(s,r,i,o);(t.X=t.X||[]).push((()=>x.rel(s,r,i,o)))}))}};var jt=(e,t)=>n=>{var r;try{{if(e.l&256){(r=e.t)==null?void 0:r[t](n)}else{(e.V=e.V||[]).push([t,n])}}}catch(t){c(t,e.$hostElement$)}};var xt=(e,t,n)=>{if(n&4){return e}return t};var Tt=e=>F?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;var Ft=e=>x.I=e;export{Ct as F,oe as H,ft as a,kt as b,ge as c,ct as f,we as g,se as h,R as p,o as r,Ft as s};
3
+ //# sourceMappingURL=p-d0a33e64.js.map