nexabase-report 0.2.6 → 0.2.9

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 (199) hide show
  1. package/README.md +255 -171
  2. package/dist/{html2canvas-CVvkCg-2.js → html2canvas-C7YA4nkW.js} +1 -1
  3. package/dist/{html2canvas-CVos72rP.js → html2canvas-Ch6xQdU-.js} +2 -2
  4. package/dist/{html2pdf-Cyvo1NsU.js → html2pdf-BmsoJhgy.js} +3 -3
  5. package/dist/{index-DxNI7UUB.js → index-TKDtDVn8.js} +22644 -20905
  6. package/dist/{index.es-Cl2FwCxT.js → index.es-DVVUHaBy.js} +2 -2
  7. package/dist/{jspdf.es.min-CluyHBde.js → jspdf.es.min-C0JdIV8T.js} +2 -2
  8. package/dist/lib/styles/_primevue-core.css +4 -4
  9. package/dist/nexabase-report.es.js +1 -1
  10. package/dist/nexabase-report.umd.js +151 -151
  11. package/examples/BlazorServer/Pages/FacturaReport.razor +52 -0
  12. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/CodeChunks.db +0 -0
  13. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/CodeChunks.db-shm +0 -0
  14. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/CodeChunks.db-wal +0 -0
  15. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/SemanticSymbols.db +0 -0
  16. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/SemanticSymbols.db-shm +0 -0
  17. package/examples/blazor-report/.vs/blazor-report/CopilotIndices/18.5.39187.10602/SemanticSymbols.db-wal +0 -0
  18. package/examples/blazor-report/.vs/blazor-report.slnx/FileContentIndex/703a57d7-cf1c-457c-aa2c-6fb9398c8bf7.vsidx +0 -0
  19. package/examples/blazor-report/.vs/blazor-report.slnx/FileContentIndex/70741c74-9514-4067-90f8-96624e5a719f.vsidx +0 -0
  20. package/examples/blazor-report/.vs/blazor-report.slnx/FileContentIndex/7ca4089f-e321-418f-8d92-4cb41fb5a7fc.vsidx +0 -0
  21. package/examples/blazor-report/Components/App.razor +19 -0
  22. package/examples/blazor-report/Components/Layout/MainLayout.razor +23 -0
  23. package/examples/blazor-report/Components/Layout/MainLayout.razor.css +98 -0
  24. package/examples/blazor-report/Components/Layout/NavMenu.razor +30 -0
  25. package/examples/blazor-report/Components/Layout/NavMenu.razor.css +105 -0
  26. package/examples/blazor-report/Components/Layout/ReconnectModal.razor +31 -0
  27. package/examples/blazor-report/Components/Layout/ReconnectModal.razor.css +157 -0
  28. package/examples/blazor-report/Components/Layout/ReconnectModal.razor.js +63 -0
  29. package/examples/blazor-report/Components/Pages/Counter.razor +19 -0
  30. package/examples/blazor-report/Components/Pages/Error.razor +36 -0
  31. package/examples/blazor-report/Components/Pages/Factura.razor +32 -0
  32. package/examples/blazor-report/Components/Pages/Home.razor +16 -0
  33. package/examples/blazor-report/Components/Pages/NotFound.razor +5 -0
  34. package/examples/blazor-report/Components/Pages/Weather.razor +64 -0
  35. package/examples/blazor-report/Components/Routes.razor +6 -0
  36. package/examples/blazor-report/Components/_Imports.razor +11 -0
  37. package/examples/blazor-report/Program.cs +18 -0
  38. package/examples/blazor-report/Properties/launchSettings.json +23 -0
  39. package/examples/blazor-report/appsettings.Development.json +8 -0
  40. package/examples/blazor-report/appsettings.json +9 -0
  41. package/examples/blazor-report/bin/Debug/net10.0/appsettings.Development.json +8 -0
  42. package/examples/blazor-report/bin/Debug/net10.0/appsettings.json +9 -0
  43. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.deps.json +23 -0
  44. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.dll +0 -0
  45. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.exe +0 -0
  46. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.pdb +0 -0
  47. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.runtimeconfig.json +20 -0
  48. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.staticwebassets.endpoints.json +1 -0
  49. package/examples/blazor-report/bin/Debug/net10.0/blazor-report.staticwebassets.runtime.json +1 -0
  50. package/examples/blazor-report/blazor-report.csproj +12 -0
  51. package/examples/blazor-report/blazor-report.csproj.user +6 -0
  52. package/examples/blazor-report/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.cs +4 -0
  53. package/examples/blazor-report/obj/Debug/net10.0/ApiEndpoints.json +1 -0
  54. package/examples/blazor-report/obj/Debug/net10.0/EmbeddedAttribute.cs +7 -0
  55. package/examples/blazor-report/obj/Debug/net10.0/ValidatableTypeAttribute.cs +9 -0
  56. package/examples/blazor-report/obj/Debug/net10.0/apphost.exe +0 -0
  57. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.AssemblyInfo.cs +23 -0
  58. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.AssemblyInfoInputs.cache +1 -0
  59. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.GeneratedMSBuildEditorConfig.editorconfig +71 -0
  60. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.GlobalUsings.g.cs +18 -0
  61. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.MvcApplicationPartsAssemblyInfo.cache +0 -0
  62. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.assets.cache +0 -0
  63. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.csproj.BuildWithSkipAnalyzers +0 -0
  64. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.csproj.CoreCompileInputs.cache +1 -0
  65. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.csproj.FileListAbsolute.txt +87 -0
  66. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.dll +0 -0
  67. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.genruntimeconfig.cache +1 -0
  68. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.pdb +0 -0
  69. package/examples/blazor-report/obj/Debug/net10.0/blazor-report.sourcelink.json +1 -0
  70. package/examples/blazor-report/obj/Debug/net10.0/compressed/01gcr5ok0d-{0}-tdbxkamptv-tdbxkamptv.gz +0 -0
  71. package/examples/blazor-report/obj/Debug/net10.0/compressed/0u122lzsqf-{0}-v0zj4ognzu-v0zj4ognzu.gz +0 -0
  72. package/examples/blazor-report/obj/Debug/net10.0/compressed/19vuobcugt-{0}-ausgxo2sd3-ausgxo2sd3.gz +0 -0
  73. package/examples/blazor-report/obj/Debug/net10.0/compressed/2w8s7d0tmu-{0}-c2oey78nd0-c2oey78nd0.gz +0 -0
  74. package/examples/blazor-report/obj/Debug/net10.0/compressed/3seby862hk-{0}-pj5nd1wqec-pj5nd1wqec.gz +0 -0
  75. package/examples/blazor-report/obj/Debug/net10.0/compressed/4z6vyi198a-{0}-c2jlpeoesf-c2jlpeoesf.gz +0 -0
  76. package/examples/blazor-report/obj/Debug/net10.0/compressed/56erzxf847-{0}-rzd6atqjts-rzd6atqjts.gz +0 -0
  77. package/examples/blazor-report/obj/Debug/net10.0/compressed/6pye2umi32-{0}-nvvlpmu67g-nvvlpmu67g.gz +0 -0
  78. package/examples/blazor-report/obj/Debug/net10.0/compressed/6rkf7abng5-{0}-xbbil6v7co-xbbil6v7co.gz +0 -0
  79. package/examples/blazor-report/obj/Debug/net10.0/compressed/7qckystb2n-{0}-jj8uyg4cgr-jj8uyg4cgr.gz +0 -0
  80. package/examples/blazor-report/obj/Debug/net10.0/compressed/7y9tnc1ana-{0}-hwaxidwiwj-hwaxidwiwj.gz +0 -0
  81. package/examples/blazor-report/obj/Debug/net10.0/compressed/7zwf5lrnue-{0}-notf2xhcfb-notf2xhcfb.gz +0 -0
  82. package/examples/blazor-report/obj/Debug/net10.0/compressed/83pb0ayzsm-{0}-k8d9w2qqmf-k8d9w2qqmf.gz +0 -0
  83. package/examples/blazor-report/obj/Debug/net10.0/compressed/88dhp3hbzx-{0}-37tfw0ft22-37tfw0ft22.gz +0 -0
  84. package/examples/blazor-report/obj/Debug/net10.0/compressed/a0n8vocv65-{0}-khv3u5hwcm-khv3u5hwcm.gz +0 -0
  85. package/examples/blazor-report/obj/Debug/net10.0/compressed/acjalqkfgt-{0}-7ma0977mvv-7ma0977mvv.gz +0 -0
  86. package/examples/blazor-report/obj/Debug/net10.0/compressed/bgsbrgy7vf-{0}-h1s4sie4z3-h1s4sie4z3.gz +0 -0
  87. package/examples/blazor-report/obj/Debug/net10.0/compressed/c6laszq5ww-{0}-46ein0sx1k-46ein0sx1k.gz +0 -0
  88. package/examples/blazor-report/obj/Debug/net10.0/compressed/dm27gmg8ll-{0}-fvhpjtyr6v-fvhpjtyr6v.gz +0 -0
  89. package/examples/blazor-report/obj/Debug/net10.0/compressed/es0hst4x17-{0}-ee0r1s7dh0-ee0r1s7dh0.gz +0 -0
  90. package/examples/blazor-report/obj/Debug/net10.0/compressed/f4eerlwe3k-{0}-63fj8s7r0e-63fj8s7r0e.gz +0 -0
  91. package/examples/blazor-report/obj/Debug/net10.0/compressed/f5b7s575cu-{0}-ub07r2b239-ub07r2b239.gz +0 -0
  92. package/examples/blazor-report/obj/Debug/net10.0/compressed/gi3zzjjv2d-{0}-iovd86k7lj-iovd86k7lj.gz +0 -0
  93. package/examples/blazor-report/obj/Debug/net10.0/compressed/h9k7hhwqjn-{0}-m2jb7tclhy-m2jb7tclhy.gz +0 -0
  94. package/examples/blazor-report/obj/Debug/net10.0/compressed/hd6b60w7a9-{0}-pk9g2wxc8p-pk9g2wxc8p.gz +0 -0
  95. package/examples/blazor-report/obj/Debug/net10.0/compressed/iepu09js1p-{0}-493y06b0oq-493y06b0oq.gz +0 -0
  96. package/examples/blazor-report/obj/Debug/net10.0/compressed/k77ggeojrw-{0}-bqjiyaj88i-bqjiyaj88i.gz +0 -0
  97. package/examples/blazor-report/obj/Debug/net10.0/compressed/kpxymjsba6-{0}-kbrnm935zg-kbrnm935zg.gz +0 -0
  98. package/examples/blazor-report/obj/Debug/net10.0/compressed/kq868t8x5q-{0}-fsbi9cje9m-fsbi9cje9m.gz +0 -0
  99. package/examples/blazor-report/obj/Debug/net10.0/compressed/lbvdfe28z6-{0}-b7pk76d08c-b7pk76d08c.gz +0 -0
  100. package/examples/blazor-report/obj/Debug/net10.0/compressed/ltulwrnpym-{0}-erw9l3u2r3-erw9l3u2r3.gz +0 -0
  101. package/examples/blazor-report/obj/Debug/net10.0/compressed/pcqcp3y12o-{0}-lcd1t2u6c8-lcd1t2u6c8.gz +0 -0
  102. package/examples/blazor-report/obj/Debug/net10.0/compressed/q6ii8s1dt0-{0}-abdmv1u4y3-abdmv1u4y3.gz +0 -0
  103. package/examples/blazor-report/obj/Debug/net10.0/compressed/r8rcl1ft48-{0}-ft3s53vfgj-ft3s53vfgj.gz +0 -0
  104. package/examples/blazor-report/obj/Debug/net10.0/compressed/relgedb7iz-{0}-6pdc2jztkx-6pdc2jztkx.gz +0 -0
  105. package/examples/blazor-report/obj/Debug/net10.0/compressed/s7ng5by487-{0}-hrwsygsryq-hrwsygsryq.gz +0 -0
  106. package/examples/blazor-report/obj/Debug/net10.0/compressed/sezds5me7x-{0}-d7shbmvgxk-d7shbmvgxk.gz +0 -0
  107. package/examples/blazor-report/obj/Debug/net10.0/compressed/soo3rna5ha-{0}-0j3bgjxly4-0j3bgjxly4.gz +0 -0
  108. package/examples/blazor-report/obj/Debug/net10.0/compressed/t11mfcypsb-{0}-s35ty4nyc5-s35ty4nyc5.gz +0 -0
  109. package/examples/blazor-report/obj/Debug/net10.0/compressed/t35fshhzld-{0}-06098lyss8-06098lyss8.gz +0 -0
  110. package/examples/blazor-report/obj/Debug/net10.0/compressed/tb3gndp62e-{0}-dxx9fxp4il-dxx9fxp4il.gz +0 -0
  111. package/examples/blazor-report/obj/Debug/net10.0/compressed/tmx7wa8ilq-{0}-vr1egmr9el-vr1egmr9el.gz +0 -0
  112. package/examples/blazor-report/obj/Debug/net10.0/compressed/v33f9mpzye-{0}-r4e9w2rdcm-r4e9w2rdcm.gz +0 -0
  113. package/examples/blazor-report/obj/Debug/net10.0/compressed/va8x872qf1-{0}-aexeepp0ev-aexeepp0ev.gz +0 -0
  114. package/examples/blazor-report/obj/Debug/net10.0/compressed/w5d5wye635-{0}-j5mq2jizvt-j5mq2jizvt.gz +0 -0
  115. package/examples/blazor-report/obj/Debug/net10.0/compressed/weriyjrep0-{0}-y7v9cxd14o-y7v9cxd14o.gz +0 -0
  116. package/examples/blazor-report/obj/Debug/net10.0/compressed/ycnqkrbal1-{0}-m2jb7tclhy-m2jb7tclhy.gz +0 -0
  117. package/examples/blazor-report/obj/Debug/net10.0/compressed/yl0vb4jg87-{0}-jd9uben2k1-jd9uben2k1.gz +0 -0
  118. package/examples/blazor-report/obj/Debug/net10.0/compressed/z5nx2tkgl4-{0}-khy4lop6wu-khy4lop6wu.gz +0 -0
  119. package/examples/blazor-report/obj/Debug/net10.0/compressed/zeckyeunui-{0}-6cfz1n2cew-6cfz1n2cew.gz +0 -0
  120. package/examples/blazor-report/obj/Debug/net10.0/compressed/zu2f3ffzwm-{0}-cosvhxvwiu-cosvhxvwiu.gz +0 -0
  121. package/examples/blazor-report/obj/Debug/net10.0/rbcswa.dswa.cache.json +1 -0
  122. package/examples/blazor-report/obj/Debug/net10.0/ref/blazor-report.dll +0 -0
  123. package/examples/blazor-report/obj/Debug/net10.0/refint/blazor-report.dll +0 -0
  124. package/examples/blazor-report/obj/Debug/net10.0/rjimswa.dswa.cache.json +1 -0
  125. package/examples/blazor-report/obj/Debug/net10.0/rjsmcshtml.dswa.cache.json +1 -0
  126. package/examples/blazor-report/obj/Debug/net10.0/rjsmrazor.dswa.cache.json +1 -0
  127. package/examples/blazor-report/obj/Debug/net10.0/rpswa.dswa.cache.json +1 -0
  128. package/examples/blazor-report/obj/Debug/net10.0/scopedcss/Components/Layout/MainLayout.razor.rz.scp.css +98 -0
  129. package/examples/blazor-report/obj/Debug/net10.0/scopedcss/Components/Layout/NavMenu.razor.rz.scp.css +105 -0
  130. package/examples/blazor-report/obj/Debug/net10.0/scopedcss/Components/Layout/ReconnectModal.razor.rz.scp.css +157 -0
  131. package/examples/blazor-report/obj/Debug/net10.0/scopedcss/bundle/blazor-report.styles.css +363 -0
  132. package/examples/blazor-report/obj/Debug/net10.0/scopedcss/projectbundle/blazor-report.bundle.scp.css +363 -0
  133. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.build.endpoints.json +1 -0
  134. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.build.json +1 -0
  135. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.build.json.cache +1 -0
  136. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.development.json +1 -0
  137. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.references.upToDateCheck.txt +0 -0
  138. package/examples/blazor-report/obj/Debug/net10.0/staticwebassets.removed.txt +0 -0
  139. package/examples/blazor-report/obj/Debug/net10.0/swae.build.ex.cache +0 -0
  140. package/examples/blazor-report/obj/blazor-report.csproj.nuget.dgspec.json +499 -0
  141. package/examples/blazor-report/obj/blazor-report.csproj.nuget.g.props +19 -0
  142. package/examples/blazor-report/obj/blazor-report.csproj.nuget.g.targets +6 -0
  143. package/examples/blazor-report/obj/project.assets.json +542 -0
  144. package/examples/blazor-report/obj/project.nuget.cache +10 -0
  145. package/examples/blazor-report/wwwroot/app.css +60 -0
  146. package/examples/blazor-report/wwwroot/factura_de_recolecci/303/263n_de_residuos.json +528 -0
  147. package/examples/blazor-report/wwwroot/favicon.png +0 -0
  148. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css +4085 -0
  149. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.css.map +1 -0
  150. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css +6 -0
  151. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.min.css.map +1 -0
  152. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css +4084 -0
  153. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map +1 -0
  154. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css +6 -0
  155. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map +1 -0
  156. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css +597 -0
  157. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css.map +1 -0
  158. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css +6 -0
  159. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map +1 -0
  160. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css +594 -0
  161. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map +1 -0
  162. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css +6 -0
  163. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map +1 -0
  164. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css +5402 -0
  165. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.css.map +1 -0
  166. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css +6 -0
  167. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map +1 -0
  168. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css +5393 -0
  169. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map +1 -0
  170. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css +6 -0
  171. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map +1 -0
  172. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.css +12057 -0
  173. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map +1 -0
  174. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css +6 -0
  175. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  176. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css +12030 -0
  177. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.css.map +1 -0
  178. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css +6 -0
  179. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map +1 -0
  180. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js +6314 -0
  181. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.js.map +1 -0
  182. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js +7 -0
  183. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map +1 -0
  184. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js +4447 -0
  185. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.js.map +1 -0
  186. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js +7 -0
  187. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.esm.min.js.map +1 -0
  188. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.js +4494 -0
  189. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.js.map +1 -0
  190. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js +7 -0
  191. package/examples/blazor-report/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js.map +1 -0
  192. package/examples/integration/AspNetCoreRazorPages.cshtml +52 -0
  193. package/examples/integration/BlazorRazor.razor +84 -0
  194. package/examples/integration/BlazorServer.razor +91 -0
  195. package/examples/integration/index.html +100 -0
  196. package/examples/integration/integration-jquery.html +142 -0
  197. package/examples/viewer.html +58 -0
  198. package/package.json +4 -4
  199. package/dist/browser-lud4wlfC.js +0 -1473
@@ -0,0 +1,52 @@
1
+ @page "/reports/factura"
2
+ @inject IHttpClientFactory HttpFactory
3
+ @inject IJSRuntime JS
4
+
5
+ <h1 style="color:#1e3a8a; margin-bottom:16px;">Factura de Recolección</h1>
6
+
7
+ <div style="height:800px; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; background:white;">
8
+ <nexa-viewer id="viewer"></nexa-viewer>
9
+ </div>
10
+
11
+ <div style="margin-top:16px; display:flex; gap:8px;">
12
+ <button @onclick="ExportPdf" style="padding:8px 16px; background:#1e40af; color:white; border:none; border-radius:6px; cursor:pointer;">PDF</button>
13
+ <button @onclick="ExportExcel" style="padding:8px 16px; background:#16a34a; color:white; border:none; border-radius:6px; cursor:pointer;">Excel</button>
14
+ <button @onclick="LoadReport" style="padding:8px 16px; background:#fff; border:1px solid #d1d5db; border-radius:6px; cursor:pointer;">Recargar</button>
15
+ </div>
16
+
17
+ @code {
18
+ private bool _loaded = false;
19
+
20
+ protected override async Task OnAfterRenderAsync(bool firstRender)
21
+ {
22
+ if (firstRender && !_loaded)
23
+ {
24
+ _loaded = true;
25
+ await LoadReport();
26
+ }
27
+ }
28
+
29
+ private async Task LoadReport()
30
+ {
31
+ var http = HttpFactory.CreateClient();
32
+ var definition = await http.GetFromJsonAsync<object>("/examples/invoice-report.json");
33
+ var data = new Dictionary<string, object[]>
34
+ {
35
+ ["main"] = new object[] { new { nofactura = "34", nombre = "CLIENTE EJEMPLO S.A.S.", nit = "900.123.456-7", direccion = "Calle 100 # 15-20" } }
36
+ };
37
+ await JS.InvokeVoidAsync("nexaReportRender", "viewer", definition, data);
38
+ }
39
+
40
+ private async Task ExportPdf() => await JS.InvokeVoidAsync("nexaReportExportPdf", "viewer");
41
+ private async Task ExportExcel() => await JS.InvokeVoidAsync("nexaReportExportExcel", "viewer");
42
+ }
43
+
44
+ <script src="https://cdn.jsdelivr.net/npm/nexabase-report@0.2.8/dist/nexabase-report.umd.js"></script>
45
+ <script>
46
+ window.nexaReportRender = function(id, def, data) {
47
+ if (!window._nexaReg) { NexaReport.registerNexaReport(); window._nexaReg = true; }
48
+ setTimeout(() => { const v = document.getElementById(id); if (v) { v.definition = def; v.data = data; } }, 100);
49
+ };
50
+ window.nexaReportExportPdf = (id) => { const v = document.getElementById(id); v && v.exportPdf(); };
51
+ window.nexaReportExportExcel = (id) => { const v = document.getElementById(id); v && v.exportExcel(); };
52
+ </script>
@@ -0,0 +1,19 @@
1
+ <!DOCTYPE html>
2
+ <html lang="es">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <base href="/" />
7
+ <ImportMap />
8
+ <link rel="icon" type="image/png" href="favicon.png" />
9
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/nexabase-report@0.2.8/dist/style.css" />
10
+ <HeadOutlet />
11
+ </head>
12
+ <body>
13
+ <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
14
+ <script src="https://cdn.jsdelivr.net/npm/nexabase-report@0.2.8/dist/nexabase-report.umd.js"></script>
15
+ <Routes />
16
+ <ReconnectModal />
17
+ <script src="_framework/blazor.web.js"></script>
18
+ </body>
19
+ </html>
@@ -0,0 +1,23 @@
1
+ @inherits LayoutComponentBase
2
+
3
+ <div class="page">
4
+ <div class="sidebar">
5
+ <NavMenu />
6
+ </div>
7
+
8
+ <main>
9
+ <div class="top-row px-4">
10
+ <a href="https://learn.microsoft.com/aspnet/core/" target="_blank">About</a>
11
+ </div>
12
+
13
+ <article class="content px-4">
14
+ @Body
15
+ </article>
16
+ </main>
17
+ </div>
18
+
19
+ <div id="blazor-error-ui" data-nosnippet>
20
+ An unhandled error has occurred.
21
+ <a href="." class="reload">Reload</a>
22
+ <span class="dismiss">🗙</span>
23
+ </div>
@@ -0,0 +1,98 @@
1
+ .page {
2
+ position: relative;
3
+ display: flex;
4
+ flex-direction: column;
5
+ }
6
+
7
+ main {
8
+ flex: 1;
9
+ }
10
+
11
+ .sidebar {
12
+ background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
13
+ }
14
+
15
+ .top-row {
16
+ background-color: #f7f7f7;
17
+ border-bottom: 1px solid #d6d5d5;
18
+ justify-content: flex-end;
19
+ height: 3.5rem;
20
+ display: flex;
21
+ align-items: center;
22
+ }
23
+
24
+ .top-row ::deep a, .top-row ::deep .btn-link {
25
+ white-space: nowrap;
26
+ margin-left: 1.5rem;
27
+ text-decoration: none;
28
+ }
29
+
30
+ .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
31
+ text-decoration: underline;
32
+ }
33
+
34
+ .top-row ::deep a:first-child {
35
+ overflow: hidden;
36
+ text-overflow: ellipsis;
37
+ }
38
+
39
+ @media (max-width: 640.98px) {
40
+ .top-row {
41
+ justify-content: space-between;
42
+ }
43
+
44
+ .top-row ::deep a, .top-row ::deep .btn-link {
45
+ margin-left: 0;
46
+ }
47
+ }
48
+
49
+ @media (min-width: 641px) {
50
+ .page {
51
+ flex-direction: row;
52
+ }
53
+
54
+ .sidebar {
55
+ width: 250px;
56
+ height: 100vh;
57
+ position: sticky;
58
+ top: 0;
59
+ }
60
+
61
+ .top-row {
62
+ position: sticky;
63
+ top: 0;
64
+ z-index: 1;
65
+ }
66
+
67
+ .top-row.auth ::deep a:first-child {
68
+ flex: 1;
69
+ text-align: right;
70
+ width: 0;
71
+ }
72
+
73
+ .top-row, article {
74
+ padding-left: 2rem !important;
75
+ padding-right: 1.5rem !important;
76
+ }
77
+ }
78
+
79
+ #blazor-error-ui {
80
+ color-scheme: light only;
81
+ background: lightyellow;
82
+ bottom: 0;
83
+ box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
84
+ box-sizing: border-box;
85
+ display: none;
86
+ left: 0;
87
+ padding: 0.6rem 1.25rem 0.7rem 1.25rem;
88
+ position: fixed;
89
+ width: 100%;
90
+ z-index: 1000;
91
+ }
92
+
93
+ #blazor-error-ui .dismiss {
94
+ cursor: pointer;
95
+ position: absolute;
96
+ right: 0.75rem;
97
+ top: 0.5rem;
98
+ }
@@ -0,0 +1,30 @@
1
+ <div class="top-row ps-3 navbar navbar-dark">
2
+ <div class="container-fluid">
3
+ <a class="navbar-brand" href="">blazor-report</a>
4
+ </div>
5
+ </div>
6
+
7
+ <input type="checkbox" title="Navigation menu" class="navbar-toggler" />
8
+
9
+ <div class="nav-scrollable" onclick="document.querySelector('.navbar-toggler').click()">
10
+ <nav class="nav flex-column">
11
+ <div class="nav-item px-3">
12
+ <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
13
+ <span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Home
14
+ </NavLink>
15
+ </div>
16
+
17
+ <div class="nav-item px-3">
18
+ <NavLink class="nav-link" href="counter">
19
+ <span class="bi bi-plus-square-fill-nav-menu" aria-hidden="true"></span> Counter
20
+ </NavLink>
21
+ </div>
22
+
23
+ <div class="nav-item px-3">
24
+ <NavLink class="nav-link" href="weather">
25
+ <span class="bi bi-list-nested-nav-menu" aria-hidden="true"></span> Weather
26
+ </NavLink>
27
+ </div>
28
+ </nav>
29
+ </div>
30
+
@@ -0,0 +1,105 @@
1
+ .navbar-toggler {
2
+ appearance: none;
3
+ cursor: pointer;
4
+ width: 3.5rem;
5
+ height: 2.5rem;
6
+ color: white;
7
+ position: absolute;
8
+ top: 0.5rem;
9
+ right: 1rem;
10
+ border: 1px solid rgba(255, 255, 255, 0.1);
11
+ background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
12
+ }
13
+
14
+ .navbar-toggler:checked {
15
+ background-color: rgba(255, 255, 255, 0.5);
16
+ }
17
+
18
+ .top-row {
19
+ min-height: 3.5rem;
20
+ background-color: rgba(0,0,0,0.4);
21
+ }
22
+
23
+ .navbar-brand {
24
+ font-size: 1.1rem;
25
+ }
26
+
27
+ .bi {
28
+ display: inline-block;
29
+ position: relative;
30
+ width: 1.25rem;
31
+ height: 1.25rem;
32
+ margin-right: 0.75rem;
33
+ top: -1px;
34
+ background-size: cover;
35
+ }
36
+
37
+ .bi-house-door-fill-nav-menu {
38
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
39
+ }
40
+
41
+ .bi-plus-square-fill-nav-menu {
42
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
43
+ }
44
+
45
+ .bi-list-nested-nav-menu {
46
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
47
+ }
48
+
49
+ .nav-item {
50
+ font-size: 0.9rem;
51
+ padding-bottom: 0.5rem;
52
+ }
53
+
54
+ .nav-item:first-of-type {
55
+ padding-top: 1rem;
56
+ }
57
+
58
+ .nav-item:last-of-type {
59
+ padding-bottom: 1rem;
60
+ }
61
+
62
+ .nav-item ::deep .nav-link {
63
+ color: #d7d7d7;
64
+ background: none;
65
+ border: none;
66
+ border-radius: 4px;
67
+ height: 3rem;
68
+ display: flex;
69
+ align-items: center;
70
+ line-height: 3rem;
71
+ width: 100%;
72
+ }
73
+
74
+ .nav-item ::deep a.active {
75
+ background-color: rgba(255,255,255,0.37);
76
+ color: white;
77
+ }
78
+
79
+ .nav-item ::deep .nav-link:hover {
80
+ background-color: rgba(255,255,255,0.1);
81
+ color: white;
82
+ }
83
+
84
+ .nav-scrollable {
85
+ display: none;
86
+ }
87
+
88
+ .navbar-toggler:checked ~ .nav-scrollable {
89
+ display: block;
90
+ }
91
+
92
+ @media (min-width: 641px) {
93
+ .navbar-toggler {
94
+ display: none;
95
+ }
96
+
97
+ .nav-scrollable {
98
+ /* Never collapse the sidebar for wide screens */
99
+ display: block;
100
+
101
+ /* Allow sidebar to scroll for tall menus */
102
+ height: calc(100vh - 3.5rem);
103
+ overflow-y: auto;
104
+ }
105
+ }
@@ -0,0 +1,31 @@
1
+ <script type="module" src="@Assets["Components/Layout/ReconnectModal.razor.js"]"></script>
2
+
3
+ <dialog id="components-reconnect-modal" data-nosnippet>
4
+ <div class="components-reconnect-container">
5
+ <div class="components-rejoining-animation" aria-hidden="true">
6
+ <div></div>
7
+ <div></div>
8
+ </div>
9
+ <p class="components-reconnect-first-attempt-visible">
10
+ Rejoining the server...
11
+ </p>
12
+ <p class="components-reconnect-repeated-attempt-visible">
13
+ Rejoin failed... trying again in <span id="components-seconds-to-next-attempt"></span> seconds.
14
+ </p>
15
+ <p class="components-reconnect-failed-visible">
16
+ Failed to rejoin.<br />Please retry or reload the page.
17
+ </p>
18
+ <button id="components-reconnect-button" class="components-reconnect-failed-visible">
19
+ Retry
20
+ </button>
21
+ <p class="components-pause-visible">
22
+ The session has been paused by the server.
23
+ </p>
24
+ <p class="components-resume-failed-visible">
25
+ Failed to resume the session.<br />Please retry or reload the page.
26
+ </p>
27
+ <button id="components-resume-button" class="components-pause-visible components-resume-failed-visible">
28
+ Resume
29
+ </button>
30
+ </div>
31
+ </dialog>
@@ -0,0 +1,157 @@
1
+ .components-reconnect-first-attempt-visible,
2
+ .components-reconnect-repeated-attempt-visible,
3
+ .components-reconnect-failed-visible,
4
+ .components-pause-visible,
5
+ .components-resume-failed-visible,
6
+ .components-rejoining-animation {
7
+ display: none;
8
+ }
9
+
10
+ #components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible,
11
+ #components-reconnect-modal.components-reconnect-show .components-rejoining-animation,
12
+ #components-reconnect-modal.components-reconnect-paused .components-pause-visible,
13
+ #components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible,
14
+ #components-reconnect-modal.components-reconnect-retrying,
15
+ #components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible,
16
+ #components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation,
17
+ #components-reconnect-modal.components-reconnect-failed,
18
+ #components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible {
19
+ display: block;
20
+ }
21
+
22
+
23
+ #components-reconnect-modal {
24
+ background-color: white;
25
+ width: 20rem;
26
+ margin: 20vh auto;
27
+ padding: 2rem;
28
+ border: 0;
29
+ border-radius: 0.5rem;
30
+ box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
31
+ opacity: 0;
32
+ transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
33
+ animation: components-reconnect-modal-fadeOutOpacity 0.5s both;
34
+ &[open]
35
+
36
+ {
37
+ animation: components-reconnect-modal-slideUp 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity 0.5s ease-in-out 0.3s;
38
+ animation-fill-mode: both;
39
+ }
40
+
41
+ }
42
+
43
+ #components-reconnect-modal::backdrop {
44
+ background-color: rgba(0, 0, 0, 0.4);
45
+ animation: components-reconnect-modal-fadeInOpacity 0.5s ease-in-out;
46
+ opacity: 1;
47
+ }
48
+
49
+ @keyframes components-reconnect-modal-slideUp {
50
+ 0% {
51
+ transform: translateY(30px) scale(0.95);
52
+ }
53
+
54
+ 100% {
55
+ transform: translateY(0);
56
+ }
57
+ }
58
+
59
+ @keyframes components-reconnect-modal-fadeInOpacity {
60
+ 0% {
61
+ opacity: 0;
62
+ }
63
+
64
+ 100% {
65
+ opacity: 1;
66
+ }
67
+ }
68
+
69
+ @keyframes components-reconnect-modal-fadeOutOpacity {
70
+ 0% {
71
+ opacity: 1;
72
+ }
73
+
74
+ 100% {
75
+ opacity: 0;
76
+ }
77
+ }
78
+
79
+ .components-reconnect-container {
80
+ display: flex;
81
+ flex-direction: column;
82
+ align-items: center;
83
+ gap: 1rem;
84
+ }
85
+
86
+ #components-reconnect-modal p {
87
+ margin: 0;
88
+ text-align: center;
89
+ }
90
+
91
+ #components-reconnect-modal button {
92
+ border: 0;
93
+ background-color: #6b9ed2;
94
+ color: white;
95
+ padding: 4px 24px;
96
+ border-radius: 4px;
97
+ }
98
+
99
+ #components-reconnect-modal button:hover {
100
+ background-color: #3b6ea2;
101
+ }
102
+
103
+ #components-reconnect-modal button:active {
104
+ background-color: #6b9ed2;
105
+ }
106
+
107
+ .components-rejoining-animation {
108
+ position: relative;
109
+ width: 80px;
110
+ height: 80px;
111
+ }
112
+
113
+ .components-rejoining-animation div {
114
+ position: absolute;
115
+ border: 3px solid #0087ff;
116
+ opacity: 1;
117
+ border-radius: 50%;
118
+ animation: components-rejoining-animation 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
119
+ }
120
+
121
+ .components-rejoining-animation div:nth-child(2) {
122
+ animation-delay: -0.5s;
123
+ }
124
+
125
+ @keyframes components-rejoining-animation {
126
+ 0% {
127
+ top: 40px;
128
+ left: 40px;
129
+ width: 0;
130
+ height: 0;
131
+ opacity: 0;
132
+ }
133
+
134
+ 4.9% {
135
+ top: 40px;
136
+ left: 40px;
137
+ width: 0;
138
+ height: 0;
139
+ opacity: 0;
140
+ }
141
+
142
+ 5% {
143
+ top: 40px;
144
+ left: 40px;
145
+ width: 0;
146
+ height: 0;
147
+ opacity: 1;
148
+ }
149
+
150
+ 100% {
151
+ top: 0px;
152
+ left: 0px;
153
+ width: 80px;
154
+ height: 80px;
155
+ opacity: 0;
156
+ }
157
+ }
@@ -0,0 +1,63 @@
1
+ // Set up event handlers
2
+ const reconnectModal = document.getElementById("components-reconnect-modal");
3
+ reconnectModal.addEventListener("components-reconnect-state-changed", handleReconnectStateChanged);
4
+
5
+ const retryButton = document.getElementById("components-reconnect-button");
6
+ retryButton.addEventListener("click", retry);
7
+
8
+ const resumeButton = document.getElementById("components-resume-button");
9
+ resumeButton.addEventListener("click", resume);
10
+
11
+ function handleReconnectStateChanged(event) {
12
+ if (event.detail.state === "show") {
13
+ reconnectModal.showModal();
14
+ } else if (event.detail.state === "hide") {
15
+ reconnectModal.close();
16
+ } else if (event.detail.state === "failed") {
17
+ document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible);
18
+ } else if (event.detail.state === "rejected") {
19
+ location.reload();
20
+ }
21
+ }
22
+
23
+ async function retry() {
24
+ document.removeEventListener("visibilitychange", retryWhenDocumentBecomesVisible);
25
+
26
+ try {
27
+ // Reconnect will asynchronously return:
28
+ // - true to mean success
29
+ // - false to mean we reached the server, but it rejected the connection (e.g., unknown circuit ID)
30
+ // - exception to mean we didn't reach the server (this can be sync or async)
31
+ const successful = await Blazor.reconnect();
32
+ if (!successful) {
33
+ // We have been able to reach the server, but the circuit is no longer available.
34
+ // We'll reload the page so the user can continue using the app as quickly as possible.
35
+ const resumeSuccessful = await Blazor.resumeCircuit();
36
+ if (!resumeSuccessful) {
37
+ location.reload();
38
+ } else {
39
+ reconnectModal.close();
40
+ }
41
+ }
42
+ } catch (err) {
43
+ // We got an exception, server is currently unavailable
44
+ document.addEventListener("visibilitychange", retryWhenDocumentBecomesVisible);
45
+ }
46
+ }
47
+
48
+ async function resume() {
49
+ try {
50
+ const successful = await Blazor.resumeCircuit();
51
+ if (!successful) {
52
+ location.reload();
53
+ }
54
+ } catch {
55
+ reconnectModal.classList.replace("components-reconnect-paused", "components-reconnect-resume-failed");
56
+ }
57
+ }
58
+
59
+ async function retryWhenDocumentBecomesVisible() {
60
+ if (document.visibilityState === "visible") {
61
+ await retry();
62
+ }
63
+ }
@@ -0,0 +1,19 @@
1
+ @page "/counter"
2
+ @rendermode InteractiveServer
3
+
4
+ <PageTitle>Counter</PageTitle>
5
+
6
+ <h1>Counter</h1>
7
+
8
+ <p role="status">Current count: @currentCount</p>
9
+
10
+ <button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
11
+
12
+ @code {
13
+ private int currentCount = 0;
14
+
15
+ private void IncrementCount()
16
+ {
17
+ currentCount++;
18
+ }
19
+ }
@@ -0,0 +1,36 @@
1
+ @page "/Error"
2
+ @using System.Diagnostics
3
+
4
+ <PageTitle>Error</PageTitle>
5
+
6
+ <h1 class="text-danger">Error.</h1>
7
+ <h2 class="text-danger">An error occurred while processing your request.</h2>
8
+
9
+ @if (ShowRequestId)
10
+ {
11
+ <p>
12
+ <strong>Request ID:</strong> <code>@RequestId</code>
13
+ </p>
14
+ }
15
+
16
+ <h3>Development Mode</h3>
17
+ <p>
18
+ Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
19
+ </p>
20
+ <p>
21
+ <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
22
+ It can result in displaying sensitive information from exceptions to end users.
23
+ For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
24
+ and restarting the app.
25
+ </p>
26
+
27
+ @code{
28
+ [CascadingParameter]
29
+ private HttpContext? HttpContext { get; set; }
30
+
31
+ private string? RequestId { get; set; }
32
+ private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
33
+
34
+ protected override void OnInitialized() =>
35
+ RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
36
+ }