@opengis/bi 1.2.32 → 1.2.34

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 (74) hide show
  1. package/README.md +92 -92
  2. package/dist/bi.js +1 -1
  3. package/dist/bi.umd.cjs +68 -68
  4. package/dist/{import-file-D-ISqB7l.js → import-file-BwxPX622.js} +1132 -1079
  5. package/dist/style.css +1 -1
  6. package/dist/{vs-funnel-bar-aoZzvriV.js → vs-funnel-bar-BV18EA4K.js} +3 -3
  7. package/dist/{vs-list-CBkyJSBj.js → vs-list-WrrWQ5KF.js} +32 -53
  8. package/dist/{vs-map-C3C11qmT.js → vs-map-CYd9vdrd.js} +3 -3
  9. package/dist/{vs-map-cluster-BsPmHIMx.js → vs-map-cluster-5TnGPuBH.js} +3 -3
  10. package/dist/{vs-number-d58ftpH5.js → vs-number-DUeRr7uz.js} +3 -3
  11. package/dist/{vs-table-BHa5Velm.js → vs-table-CZJnXfUv.js} +6 -6
  12. package/dist/{vs-text-Bq87gMTx.js → vs-text-D3nCPkgk.js} +4 -4
  13. package/package.json +77 -77
  14. package/plugin.js +21 -21
  15. package/server/helpers/mdToHTML.js +17 -17
  16. package/server/migrations/bi.dataset.sql +46 -46
  17. package/server/migrations/bi.sql +114 -114
  18. package/server/plugins/docs.js +48 -48
  19. package/server/plugins/hook.js +89 -89
  20. package/server/routes/dashboard/controllers/dashboard.import.js +103 -103
  21. package/server/routes/dashboard/controllers/dashboard.js +158 -158
  22. package/server/routes/dashboard/controllers/dashboard.list.js +60 -60
  23. package/server/routes/dashboard/controllers/utils/yaml.js +11 -11
  24. package/server/routes/dashboard/index.mjs +26 -26
  25. package/server/routes/data/controllers/data.js +230 -230
  26. package/server/routes/data/controllers/util/chartSQL.js +49 -49
  27. package/server/routes/data/controllers/util/normalizeData.js +65 -65
  28. package/server/routes/data/index.mjs +38 -38
  29. package/server/routes/dataset/controllers/bi.dataset.list.js +29 -29
  30. package/server/routes/dataset/controllers/bi.db.list.js +19 -19
  31. package/server/routes/dataset/controllers/comment.js +55 -55
  32. package/server/routes/dataset/controllers/createDatasetPost.js +134 -134
  33. package/server/routes/dataset/controllers/data.js +149 -149
  34. package/server/routes/dataset/controllers/dbTablePreview.js +58 -58
  35. package/server/routes/dataset/controllers/dbTables.js +34 -34
  36. package/server/routes/dataset/controllers/delete.js +40 -40
  37. package/server/routes/dataset/controllers/deleteDataset.js +52 -52
  38. package/server/routes/dataset/controllers/editDataset.js +90 -90
  39. package/server/routes/dataset/controllers/export.js +214 -214
  40. package/server/routes/dataset/controllers/form.js +99 -99
  41. package/server/routes/dataset/controllers/format.js +46 -46
  42. package/server/routes/dataset/controllers/insert.js +47 -47
  43. package/server/routes/dataset/controllers/table.js +68 -68
  44. package/server/routes/dataset/controllers/update.js +43 -43
  45. package/server/routes/dataset/index.mjs +132 -132
  46. package/server/routes/dataset/utils/convertJSONToCSV.js +17 -17
  47. package/server/routes/dataset/utils/convertJSONToXls.js +47 -47
  48. package/server/routes/dataset/utils/createTableQuery.js +59 -59
  49. package/server/routes/dataset/utils/datasetForms.js +1 -1
  50. package/server/routes/dataset/utils/descriptionList.js +45 -45
  51. package/server/routes/dataset/utils/downloadRemoteFile.js +58 -58
  52. package/server/routes/dataset/utils/executeQuery.js +46 -46
  53. package/server/routes/dataset/utils/getLayersData.js +106 -106
  54. package/server/routes/dataset/utils/getTableData.js +46 -46
  55. package/server/routes/dataset/utils/insertDataQuery.js +12 -12
  56. package/server/routes/dataset/utils/metaFormat.js +24 -24
  57. package/server/routes/edit/controllers/dashboard.add.js +36 -36
  58. package/server/routes/edit/controllers/dashboard.delete.js +39 -39
  59. package/server/routes/edit/controllers/dashboard.edit.js +61 -61
  60. package/server/routes/edit/controllers/widget.add.js +78 -78
  61. package/server/routes/edit/controllers/widget.del.js +58 -58
  62. package/server/routes/edit/controllers/widget.edit.js +115 -115
  63. package/server/routes/edit/index.mjs +33 -33
  64. package/server/routes/map/controllers/cluster.js +125 -125
  65. package/server/routes/map/controllers/clusterVtile.js +166 -166
  66. package/server/routes/map/controllers/geojson.js +127 -127
  67. package/server/routes/map/controllers/heatmap.js +118 -118
  68. package/server/routes/map/controllers/map.js +69 -69
  69. package/server/routes/map/controllers/utils/downloadClusterData.js +44 -44
  70. package/server/routes/map/controllers/vtile.js +183 -183
  71. package/server/routes/map/index.mjs +32 -32
  72. package/server/templates/page/login.html +58 -58
  73. package/server/utils/getWidget.js +118 -118
  74. package/utils.js +12 -12
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:400}h1{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:700}em{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-style:italic}.custom-scrollbar{overflow-y:auto;overflow-x:clip}.custom-scrollbar::-webkit-scrollbar{width:6px;margin-right:0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-modal-content[data-v-72958ba5]{scrollbar-width:thin}.vs-modal-enter-active[data-v-72958ba5],.vs-modal-leave-active[data-v-72958ba5]{transition:opacity .2s ease,transform .2s ease}.vs-modal-enter-from[data-v-72958ba5],.vs-modal-leave-to[data-v-72958ba5]{opacity:0;transform:scale(.95)}.custom-scrollbar[data-v-5400c793]{overflow-y:auto;overflow-x:clip}.custom-scrollbar[data-v-5400c793]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-5400c793]::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar[data-v-5400c793]::-webkit-scrollbar-track{background-color:#f1f1f1}@keyframes fade-in-6c4cd6c6{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-6c4cd6c6]{animation:fade-in-6c4cd6c6 .3s ease-out}.custom-x-scrollbar{overflow-x:auto;overflow-y:clip}.custom-x-scrollbar::-webkit-scrollbar{height:6px}.custom-x-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0}.custom-x-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-chart{width:100%;height:100%}.vs-chart-tooltip{border-radius:7px;max-height:100px;max-width:340px;min-width:140px;background-color:#fff;box-shadow:0 0 8px #0000002e}.vs-chart-tooltip__head{padding:5px;border-bottom:1px solid #eee;margin-bottom:5px}.vs-chart-tooltip__head-title{font-size:14px;font-weight:700;display:flex;align-items:center}.vs-chart-tooltip__head-value{margin-right:5px}.vs-chart-tooltip__head-series{font-size:14px;display:flex;align-items:center}.vs-chart-tooltip__color{width:12px;height:12px;display:block;border-radius:50%;margin-right:5px}.vs-chart-tooltip__body{padding:5px;font-size:14px;display:flex;align-items:start;flex-direction:column}.vs-chart-tooltip__body .vs-chart-tooltip__color{border-radius:3px}.vs-chart-tooltip__item{width:100%;display:flex;align-items:center;justify-content:space-between}.vs-chart-tooltip__text{margin-right:auto}.vs-chart-tooltip__body svg{margin-right:8px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-widget h1{font-size:18px}.text-widget h2{font-size:14px}.map__settings{display:flex;padding:3px 1px;background:#fff;position:absolute;right:0;bottom:15px;height:30px;align-items:center;font-weight:100;text-align:center}.map__settings-item{display:flex;white-space:nowrap;padding:0 2px;font-size:10px;font-weight:400}.map__settings-attribution{padding:0}.map__settings-menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:15px!important;position:absolute;background-color:#fff;bottom:60px;right:90px;width:260px}.map__settings-menu-item{display:flex;align-items:center;color:#2c2c2c;margin-bottom:5px;font-size:12px;justify-content:space-between;height:28px}.map__settings-menu-item-text{height:28px;line-height:28px;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:12px;height:40px;line-height:40px;outline:0;padding:0 10px}.map__settings-menu-item--checktext{color:#000!important;font-size:12px;display:inline-block;padding-left:10px;line-height:19px;cursor:pointer}.checked{color:#409eff!important}.vs-map-slot-layers{position:absolute;display:none;bottom:10px;left:15px}.vs-map-slot-layers__layer{width:50px;height:50px;background-color:#fff;box-shadow:0 0 7px #434c5626;padding:5px;border-radius:5px;margin-top:10px;margin-right:10px;cursor:pointer;transition:all .3s}.vs-map-slot-layers__layer:hover{background-color:#eee}.vs-map-slot-layers__image{width:100%;border-radius:5px;object-fit:contain}.focused{background-color:#1989fa!important}.maplibregl-popup-content{padding:0}
1
+ @font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/inter/v18/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:400}h1{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-weight:700}em{font-family:Inter,Segoe UI,Helvetica Neue,Roboto,sans-serif;font-style:italic}.custom-scrollbar{overflow-y:auto;overflow-x:clip}.custom-scrollbar::-webkit-scrollbar{width:6px;margin-right:0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-modal-content[data-v-5722a50f]{scrollbar-width:thin}.vs-modal-enter-active[data-v-5722a50f],.vs-modal-leave-active[data-v-5722a50f]{transition:opacity .2s ease,transform .2s ease}.vs-modal-enter-from[data-v-5722a50f],.vs-modal-leave-to[data-v-5722a50f]{opacity:0;transform:scale(.95)}.custom-scrollbar[data-v-330ef797]{overflow-y:auto;overflow-x:clip}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar{width:6px}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar-thumb{background-color:#e0e0e0;border-radius:10px}.custom-scrollbar[data-v-330ef797]::-webkit-scrollbar-track{background-color:#f1f1f1}@keyframes fade-in-6f582e09{0%{opacity:0}to{opacity:1}}.animate-fade-in[data-v-6f582e09]{animation:fade-in-6f582e09 .3s ease-out}.custom-x-scrollbar{overflow-x:auto;overflow-y:clip}.custom-x-scrollbar::-webkit-scrollbar{height:6px}.custom-x-scrollbar::-webkit-scrollbar-thumb{background-color:#e0e0e0}.custom-x-scrollbar::-webkit-scrollbar-track{background-color:#f1f1f1}.vs-chart{width:100%;height:100%}.vs-chart-tooltip{border-radius:7px;max-height:100px;max-width:340px;min-width:140px;background-color:#fff;box-shadow:0 0 8px #0000002e}.vs-chart-tooltip__head{padding:5px;border-bottom:1px solid #eee;margin-bottom:5px}.vs-chart-tooltip__head-title{font-size:14px;font-weight:700;display:flex;align-items:center}.vs-chart-tooltip__head-value{margin-right:5px}.vs-chart-tooltip__head-series{font-size:14px;display:flex;align-items:center}.vs-chart-tooltip__color{width:12px;height:12px;display:block;border-radius:50%;margin-right:5px}.vs-chart-tooltip__body{padding:5px;font-size:14px;display:flex;align-items:start;flex-direction:column}.vs-chart-tooltip__body .vs-chart-tooltip__color{border-radius:3px}.vs-chart-tooltip__item{width:100%;display:flex;align-items:center;justify-content:space-between}.vs-chart-tooltip__text{margin-right:auto}.vs-chart-tooltip__body svg{margin-right:8px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-widget h1{font-size:18px}.text-widget h2{font-size:14px}.map__settings{display:flex;padding:3px 1px;background:#fff;position:absolute;right:0;bottom:15px;height:30px;align-items:center;font-weight:100;text-align:center}.map__settings-item{display:flex;white-space:nowrap;padding:0 2px;font-size:10px;font-weight:400}.map__settings-attribution{padding:0}.map__settings-menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:15px!important;position:absolute;background-color:#fff;bottom:60px;right:90px;width:260px}.map__settings-menu-item{display:flex;align-items:center;color:#2c2c2c;margin-bottom:5px;font-size:12px;justify-content:space-between;height:28px}.map__settings-menu-item-text{height:28px;line-height:28px;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:12px;height:40px;line-height:40px;outline:0;padding:0 10px}.map__settings-menu-item--checktext{color:#000!important;font-size:12px;display:inline-block;padding-left:10px;line-height:19px;cursor:pointer}.checked{color:#409eff!important}.vs-map-slot-layers{position:absolute;display:none;bottom:10px;left:15px}.vs-map-slot-layers__layer{width:50px;height:50px;background-color:#fff;box-shadow:0 0 7px #434c5626;padding:5px;border-radius:5px;margin-top:10px;margin-right:10px;cursor:pointer;transition:all .3s}.vs-map-slot-layers__layer:hover{background-color:#eee}.vs-map-slot-layers__image{width:100%;border-radius:5px;object-fit:contain}.focused{background-color:#1989fa!important}.maplibregl-popup-content{padding:0}
@@ -1,5 +1,5 @@
1
- import { _ as l, c as h, a as c, b as d, d as p } from "./import-file-D-ISqB7l.js";
2
- import { openBlock as u, createElementBlock as m } from "vue";
1
+ import { _ as l, c as h, a as c, b as d, d as p } from "./import-file-BwxPX622.js";
2
+ import { createElementBlock as u, openBlock as m } from "vue";
3
3
  const o = typeof window < "u" ? window.echarts : null, f = {
4
4
  name: "VsFunnelBar",
5
5
  mixins: [h],
@@ -109,7 +109,7 @@ const o = typeof window < "u" ? window.echarts : null, f = {
109
109
  }
110
110
  }, y = ["id"];
111
111
  function D(t, s, r, a, e, i) {
112
- return u(), m("div", {
112
+ return m(), u("div", {
113
113
  ref: "chart",
114
114
  id: e.uniqueID,
115
115
  class: "h-[90%] custom-scrollbar min-h-[200px]"
@@ -1,5 +1,5 @@
1
- import { openBlock as l, createBlock as b, unref as L, mergeProps as v, createElementBlock as d, createElementVNode as c, withDirectives as F, toDisplayString as S, vShow as R, Fragment as P, renderList as V, normalizeClass as D, resolveComponent as A, createVNode as H } from "vue";
2
- import { e as x, X as J, _ as w } from "./import-file-D-ISqB7l.js";
1
+ import { createBlock as b, openBlock as l, unref as L, mergeProps as v, createElementBlock as d, createElementVNode as c, withDirectives as F, toDisplayString as S, vShow as R, Fragment as P, renderList as V, normalizeClass as D, resolveComponent as A, createVNode as H } from "vue";
2
+ import { e as x, X as J, _ as w } from "./import-file-BwxPX622.js";
3
3
  /**
4
4
  * @license lucide-vue-next v0.577.0 - ISC
5
5
  *
@@ -346,13 +346,7 @@ const Ee = /* @__PURE__ */ w(oe, [["render", le]]);
346
346
  function B(e, t, r) {
347
347
  if (e !== null)
348
348
  for (var i, o, n, s, _, a, m, k = 0, p = 0, $, M = e.type, E = M === "FeatureCollection", G = M === "Feature", j = E ? e.features.length : 1, h = 0; h < j; h++) {
349
- m = E ? (
350
- // @ts-expect-error: Known type conflict
351
- e.features[h].geometry
352
- ) : G ? (
353
- // @ts-expect-error: Known type conflict
354
- e.geometry
355
- ) : e, $ = m ? m.type === "GeometryCollection" : !1, _ = $ ? m.geometries.length : 1;
349
+ m = E ? e.features[h].geometry : G ? e.geometry : e, $ = m ? m.type === "GeometryCollection" : !1, _ = $ ? m.geometries.length : 1;
356
350
  for (var z = 0; z < _; z++) {
357
351
  var u = 0, f = 0;
358
352
  if (s = $ ? m.geometries[z] : m, s !== null) {
@@ -362,32 +356,26 @@ function B(e, t, r) {
362
356
  case null:
363
357
  break;
364
358
  case "Point":
365
- if (
366
- // @ts-expect-error: Known type conflict
367
- t(
368
- a,
369
- p,
370
- h,
371
- u,
372
- f
373
- ) === !1
374
- )
359
+ if (t(
360
+ a,
361
+ p,
362
+ h,
363
+ u,
364
+ f
365
+ ) === !1)
375
366
  return !1;
376
367
  p++, u++;
377
368
  break;
378
369
  case "LineString":
379
370
  case "MultiPoint":
380
371
  for (i = 0; i < a.length; i++) {
381
- if (
382
- // @ts-expect-error: Known type conflict
383
- t(
384
- a[i],
385
- p,
386
- h,
387
- u,
388
- f
389
- ) === !1
390
- )
372
+ if (t(
373
+ a[i],
374
+ p,
375
+ h,
376
+ u,
377
+ f
378
+ ) === !1)
391
379
  return !1;
392
380
  p++, y === "MultiPoint" && u++;
393
381
  }
@@ -397,16 +385,13 @@ function B(e, t, r) {
397
385
  case "MultiLineString":
398
386
  for (i = 0; i < a.length; i++) {
399
387
  for (o = 0; o < a[i].length - k; o++) {
400
- if (
401
- // @ts-expect-error: Known type conflict
402
- t(
403
- a[i][o],
404
- p,
405
- h,
406
- u,
407
- f
408
- ) === !1
409
- )
388
+ if (t(
389
+ a[i][o],
390
+ p,
391
+ h,
392
+ u,
393
+ f
394
+ ) === !1)
410
395
  return !1;
411
396
  p++;
412
397
  }
@@ -418,16 +403,13 @@ function B(e, t, r) {
418
403
  for (i = 0; i < a.length; i++) {
419
404
  for (f = 0, o = 0; o < a[i].length; o++) {
420
405
  for (n = 0; n < a[i][o].length - k; n++) {
421
- if (
422
- // @ts-expect-error: Known type conflict
423
- t(
424
- a[i][o][n],
425
- p,
426
- h,
427
- u,
428
- f
429
- ) === !1
430
- )
406
+ if (t(
407
+ a[i][o][n],
408
+ p,
409
+ h,
410
+ u,
411
+ f
412
+ ) === !1)
431
413
  return !1;
432
414
  p++;
433
415
  }
@@ -438,10 +420,7 @@ function B(e, t, r) {
438
420
  break;
439
421
  case "GeometryCollection":
440
422
  for (i = 0; i < s.geometries.length; i++)
441
- if (
442
- // @ts-expect-error: Known type conflict
443
- B(s.geometries[i], t) === !1
444
- )
423
+ if (B(s.geometries[i], t) === !1)
445
424
  return !1;
446
425
  break;
447
426
  default:
@@ -1,6 +1,6 @@
1
- import { _ as C, a as E, p as L, V as T, b as B, c as H, d as O, l as F, e as D } from "./vs-list-CBkyJSBj.js";
2
- import { _ as $, c as P } from "./import-file-D-ISqB7l.js";
3
- import { resolveComponent as x, openBlock as c, createElementBlock as m, Fragment as w, createElementVNode as r, createVNode as b, createBlock as V, Teleport as N, toDisplayString as y, createCommentVNode as f, renderList as S, normalizeStyle as k, normalizeClass as I } from "vue";
1
+ import { _ as C, a as E, p as L, V as T, b as B, c as H, d as O, l as F, e as D } from "./vs-list-WrrWQ5KF.js";
2
+ import { _ as $, c as P } from "./import-file-BwxPX622.js";
3
+ import { resolveComponent as x, createElementBlock as m, openBlock as c, Fragment as w, createElementVNode as r, createBlock as V, createCommentVNode as f, createVNode as b, Teleport as N, toDisplayString as y, renderList as S, normalizeStyle as k, normalizeClass as I } from "vue";
4
4
  const W = {
5
5
  components: { legendIcon: E, closeIcon: C },
6
6
  props: {
@@ -1,6 +1,6 @@
1
- import { _ as O, a as A, p as T, c as F, V as P, b as G, d as W, e as Z, l as q } from "./vs-list-CBkyJSBj.js";
2
- import { e as K, _ as H, V as J, c as Q, g as U, h as X, i as Y } from "./import-file-D-ISqB7l.js";
3
- import { openBlock as p, createElementBlock as x, createElementVNode as l, normalizeClass as C, Fragment as D, renderList as R, toDisplayString as N, normalizeStyle as $, createCommentVNode as S, createBlock as z, unref as j, mergeProps as ee, resolveComponent as v, resolveDynamicComponent as te, withDirectives as M, createVNode as w, vShow as I } from "vue";
1
+ import { _ as O, a as A, p as T, c as F, V as P, b as G, d as W, e as Z, l as q } from "./vs-list-WrrWQ5KF.js";
2
+ import { e as K, _ as H, V as J, c as Q, g as U, h as X, i as Y } from "./import-file-BwxPX622.js";
3
+ import { createElementBlock as x, createCommentVNode as S, openBlock as p, createElementVNode as l, normalizeClass as C, Fragment as D, renderList as R, toDisplayString as N, normalizeStyle as $, createBlock as z, unref as j, mergeProps as ee, resolveComponent as v, withDirectives as M, resolveDynamicComponent as te, createVNode as w, vShow as I } from "vue";
4
4
  /**
5
5
  * @license lucide-vue-next v0.577.0 - ISC
6
6
  *
@@ -1,5 +1,5 @@
1
- import { _ as c, c as o, f as n } from "./import-file-D-ISqB7l.js";
2
- import { openBlock as i, createElementBlock as m, toDisplayString as s } from "vue";
1
+ import { _ as c, c as o, f as n } from "./import-file-BwxPX622.js";
2
+ import { createElementBlock as i, openBlock as m, toDisplayString as s } from "vue";
3
3
  const u = {
4
4
  name: "VsNumber",
5
5
  mixins: [o],
@@ -47,7 +47,7 @@ const u = {
47
47
  }
48
48
  }, h = { class: "text-lg lg:text-xl xl:text-2xl text-gray-800 h-[32px] flex items-center" };
49
49
  function x(e, t, r, f, l, a) {
50
- return i(), m("div", h, s(a.prefix) + s(a.formattedNumber), 1);
50
+ return m(), i("div", h, s(a.prefix) + s(a.formattedNumber), 1);
51
51
  }
52
52
  const b = /* @__PURE__ */ c(u, [["render", x]]);
53
53
  export {
@@ -1,5 +1,5 @@
1
- import { _ as m, c as f, b as _, d as b } from "./import-file-D-ISqB7l.js";
2
- import { openBlock as a, createElementBlock as r, createElementVNode as s, Fragment as n, renderList as c, toDisplayString as d } from "vue";
1
+ import { _ as m, c as f, b as _, d as b } from "./import-file-BwxPX622.js";
2
+ import { createElementBlock as a, openBlock as r, createElementVNode as s, Fragment as n, renderList as c, toDisplayString as d } from "vue";
3
3
  const x = {
4
4
  name: "VsTable",
5
5
  mixins: [f],
@@ -39,20 +39,20 @@ const x = {
39
39
  class: "xl:min-w-[120px] min-w-48"
40
40
  }, F = { class: "flex items-center px-1 py-3 font-medium text-gray-800 text-start gap-x-1" }, T = { class: "divide-y divide-gray-200" }, B = { class: "text-gray-600" };
41
41
  function E(t, e, o, l, N, S) {
42
- return a(), r("div", y, [
42
+ return r(), a("div", y, [
43
43
  s("div", g, [
44
44
  s("div", w, [
45
45
  s("table", k, [
46
46
  s("thead", v, [
47
47
  s("tr", D, [
48
- (a(!0), r(n, null, c(t.dimensions, (i) => (a(), r("th", $, [
48
+ (r(!0), a(n, null, c(t.dimensions, (i) => (r(), a("th", $, [
49
49
  s("div", F, d(i), 1)
50
50
  ]))), 256))
51
51
  ])
52
52
  ]),
53
53
  s("tbody", T, [
54
- (a(!0), r(n, null, c(t.sourceData, (i, p) => (a(), r("tr", { key: p }, [
55
- (a(!0), r(n, null, c(t.dimensions, (u, h) => (a(), r("td", {
54
+ (r(!0), a(n, null, c(t.sourceData, (i, p) => (r(), a("tr", { key: p }, [
55
+ (r(!0), a(n, null, c(t.dimensions, (u, h) => (r(), a("td", {
56
56
  key: h,
57
57
  class: "py-3 whitespace-nowrap"
58
58
  }, [
@@ -1,5 +1,5 @@
1
- import { _ as s, c as a, m as d } from "./import-file-D-ISqB7l.js";
2
- import { openBlock as n, createElementBlock as o, createCommentVNode as c } from "vue";
1
+ import { _ as s, c as a, m as d } from "./import-file-BwxPX622.js";
2
+ import { createElementBlock as n, openBlock as o, createCommentVNode as c } from "vue";
3
3
  const u = {
4
4
  name: "VsText",
5
5
  mixins: [a],
@@ -35,11 +35,11 @@ const u = {
35
35
  }
36
36
  }, l = ["id"], m = ["innerHTML"];
37
37
  function x(e, t, i, h, r, p) {
38
- return n(), o("div", {
38
+ return o(), n("div", {
39
39
  id: r.uniqueID,
40
40
  class: "relative select-auto h-full rounded-xl text-[12px] box-border bg-white custom-scrollbar text-widget"
41
41
  }, [
42
- r.markedText ? (n(), o("div", {
42
+ r.markedText ? (o(), n("div", {
43
43
  key: 0,
44
44
  innerHTML: r.markedText
45
45
  }, null, 8, m)) : c("", !0)
package/package.json CHANGED
@@ -1,77 +1,77 @@
1
- {
2
- "name": "@opengis/bi",
3
- "version": "1.2.32",
4
- "description": "BI data visualization module",
5
- "main": "dist/bi.js",
6
- "browser": "dist/bi.umd.cjs",
7
- "type": "module",
8
- "files": [
9
- "dist",
10
- "server",
11
- "plugin.js",
12
- "utils.js"
13
- ],
14
- "scripts": {
15
- "patch": "npm version patch && git push && npm publish",
16
- "prepublishOnly": "npm run build:lib",
17
- "debug": "node --watch-path=server server",
18
- "dev": "vite",
19
- "type-check": "vue-tsc --noEmit",
20
- "build": "vite build",
21
- "build:lib": "cross-env APP=true vite build",
22
- "build-app": "vite build",
23
- "lint": "eslint .",
24
- "format": "prettier --write .",
25
- "test": "node --test",
26
- "test21": "node --test ./test/plugins/*",
27
- "start": "bun --env-file=.env.bi server.js",
28
- "prod": "NODE_ENV=production npm run start",
29
- "docs:i": "npm install --prefix ./docs",
30
- "docs:dev": "npm run --prefix ./docs docs:dev",
31
- "docs:build": "npm run --prefix ./docs docs:build",
32
- "docs:preview": "npm run --prefix ./docs docs:preview",
33
- "adduser": "node script/adduser.js"
34
- },
35
- "keywords": [
36
- "bi",
37
- "data visualization",
38
- "chart",
39
- "opengis",
40
- "vue",
41
- "fastify"
42
- ],
43
- "author": "Softpro",
44
- "license": "ISC",
45
- "dependencies": {
46
- "@mapbox/sphericalmercator": "^1.2.0",
47
- "@opengis/table": "^0.0.30",
48
- "lucide-vue-next": "^0.577.0"
49
- },
50
- "peerDependencies": {
51
- "@opengis/fastify-table": "^2.1.3"
52
- },
53
- "devDependencies": {
54
- "@opengis/core": "^0.0.33",
55
- "@opengis/form": "0.0.137",
56
- "@turf/turf": "^7.3.4",
57
- "@types/node": "^22.19.17",
58
- "@typescript-eslint/eslint-plugin": "^6.21.0",
59
- "@typescript-eslint/parser": "^6.21.0",
60
- "@vitejs/plugin-vue": "^5.2.4",
61
- "cross-env": "^10.1.0",
62
- "eslint": "^8.57.1",
63
- "eslint-config-airbnb-base": "^15.0.0",
64
- "eslint-config-prettier": "^9.1.2",
65
- "eslint-plugin-vue": "^9.33.0",
66
- "globals": "^15.15.0",
67
- "marked": "^14.1.4",
68
- "prettier": "^3.8.1",
69
- "rollup-plugin-visualizer": "^7.0.1",
70
- "sass-embedded": "1.89.2",
71
- "typescript": "^5.9.3",
72
- "vite": "^5.4.21",
73
- "vue": "^3.5.32",
74
- "vue-router": "^4.6.4",
75
- "vue-tsc": "^2.2.12"
76
- }
77
- }
1
+ {
2
+ "name": "@opengis/bi",
3
+ "version": "1.2.34",
4
+ "description": "BI data visualization module",
5
+ "main": "dist/bi.js",
6
+ "browser": "dist/bi.umd.cjs",
7
+ "type": "module",
8
+ "files": [
9
+ "dist",
10
+ "server",
11
+ "plugin.js",
12
+ "utils.js"
13
+ ],
14
+ "scripts": {
15
+ "patch": "npm version patch && git push && npm publish",
16
+ "prepublishOnly": "npm run build:lib",
17
+ "debug": "node --watch-path=server server",
18
+ "dev": "vite",
19
+ "type-check": "vue-tsc --noEmit",
20
+ "build": "vite build",
21
+ "build:lib": "cross-env APP=true vite build",
22
+ "build-app": "vite build",
23
+ "lint": "eslint .",
24
+ "format": "prettier --write .",
25
+ "test": "node --test",
26
+ "test21": "node --test ./test/plugins/*",
27
+ "start": "bun --env-file=.env.bi server.js",
28
+ "prod": "NODE_ENV=production npm run start",
29
+ "docs:i": "npm install --prefix ./docs",
30
+ "docs:dev": "npm run --prefix ./docs docs:dev",
31
+ "docs:build": "npm run --prefix ./docs docs:build",
32
+ "docs:preview": "npm run --prefix ./docs docs:preview",
33
+ "adduser": "node script/adduser.js"
34
+ },
35
+ "keywords": [
36
+ "bi",
37
+ "data visualization",
38
+ "chart",
39
+ "opengis",
40
+ "vue",
41
+ "fastify"
42
+ ],
43
+ "author": "Softpro",
44
+ "license": "ISC",
45
+ "dependencies": {
46
+ "@mapbox/sphericalmercator": "^1.2.0",
47
+ "@opengis/table": "^0.0.30",
48
+ "lucide-vue-next": "^0.577.0"
49
+ },
50
+ "peerDependencies": {
51
+ "@opengis/fastify-table": "^2.1.3"
52
+ },
53
+ "devDependencies": {
54
+ "@opengis/core": "^0.0.33",
55
+ "@opengis/form": "0.0.137",
56
+ "@turf/turf": "^7.3.4",
57
+ "@types/node": "^22.19.17",
58
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
59
+ "@typescript-eslint/parser": "^6.21.0",
60
+ "@vitejs/plugin-vue": "^5.2.4",
61
+ "cross-env": "^10.1.0",
62
+ "eslint": "^8.57.1",
63
+ "eslint-config-airbnb-base": "^15.0.0",
64
+ "eslint-config-prettier": "^9.1.2",
65
+ "eslint-plugin-vue": "^9.33.0",
66
+ "globals": "^15.15.0",
67
+ "marked": "^14.1.4",
68
+ "prettier": "^3.8.1",
69
+ "rollup-plugin-visualizer": "^7.0.1",
70
+ "sass-embedded": "1.89.2",
71
+ "typescript": "^5.9.3",
72
+ "vite": "^5.4.21",
73
+ "vue": "^3.5.32",
74
+ "vue-router": "^4.6.4",
75
+ "vue-tsc": "^2.2.12"
76
+ }
77
+ }
package/plugin.js CHANGED
@@ -1,21 +1,21 @@
1
- import fp from 'fastify-plugin';
2
- import path from 'node:path';
3
- import { fileURLToPath } from 'url';
4
-
5
- import { /*config, addTemplateDir,*/ pgClients, execMigrations } from '@opengis/fastify-table/utils.js';
6
-
7
- const dirName = path.dirname(fileURLToPath(import.meta.url));
8
-
9
- async function plugin(fastify, opt) {
10
- fastify.register(import('./server/routes/dashboard/index.mjs'), opt);
11
- fastify.register(import('./server/routes/dataset/index.mjs'), opt);
12
-
13
- fastify.register(import('./server/routes/data/index.mjs'), opt);
14
- fastify.register(import('./server/routes/edit/index.mjs'), opt);
15
- fastify.register(import('./server/routes/map/index.mjs'), opt);
16
- // config.templates?.forEach(el => addTemplateDir(el));
17
-
18
- const dir = path.join(dirName, 'server/migrations');
19
- execMigrations(dir, pgClients.client).catch(err => console.log(err));
20
- }
21
- export default fp(plugin);
1
+ import fp from 'fastify-plugin';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'url';
4
+
5
+ import { /*config, addTemplateDir,*/ pgClients, execMigrations } from '@opengis/fastify-table/utils.js';
6
+
7
+ const dirName = path.dirname(fileURLToPath(import.meta.url));
8
+
9
+ async function plugin(fastify, opt) {
10
+ fastify.register(import('./server/routes/dashboard/index.mjs'), opt);
11
+ fastify.register(import('./server/routes/dataset/index.mjs'), opt);
12
+
13
+ fastify.register(import('./server/routes/data/index.mjs'), opt);
14
+ fastify.register(import('./server/routes/edit/index.mjs'), opt);
15
+ fastify.register(import('./server/routes/map/index.mjs'), opt);
16
+ // config.templates?.forEach(el => addTemplateDir(el));
17
+
18
+ const dir = path.join(dirName, 'server/migrations');
19
+ execMigrations(dir, pgClients.client).catch(err => console.log(err));
20
+ }
21
+ export default fp(plugin);
@@ -1,17 +1,17 @@
1
- import md from 'markdown-it';
2
-
3
- const md1 = md({ html: true });
4
-
5
- /**
6
- * Перетворення з файла readme.md до формату HTML.
7
- * Потрабно вставити в хелпер шлях до файла або текст readme.md і за допомогою бібліотеки markdown-it перетвориться в HTML.
8
-
9
- * @returns {String} Returns HTML
10
- */
11
- export default function mdToHTML(data, options) {
12
- // auto detect HTML or MD
13
- // const result = md().render(data);
14
- if (!data) return 'empty data';
15
- const result = md1.render(data);
16
- return result;
17
- };
1
+ import md from 'markdown-it';
2
+
3
+ const md1 = md({ html: true });
4
+
5
+ /**
6
+ * Перетворення з файла readme.md до формату HTML.
7
+ * Потрабно вставити в хелпер шлях до файла або текст readme.md і за допомогою бібліотеки markdown-it перетвориться в HTML.
8
+
9
+ * @returns {String} Returns HTML
10
+ */
11
+ export default function mdToHTML(data, options) {
12
+ // auto detect HTML or MD
13
+ // const result = md().render(data);
14
+ if (!data) return 'empty data';
15
+ const result = md1.render(data);
16
+ return result;
17
+ };
@@ -1,46 +1,46 @@
1
- create schema if not exists bi;
2
-
3
- CREATE TABLE if not exists bi.dataset ();
4
- alter table bi.dataset drop constraint if exists bi_dataset_id_pkey cascade;
5
-
6
- alter table bi.dataset add column if not exists dataset_id text;
7
- alter table bi.dataset alter column dataset_id set not null;
8
- alter table bi.dataset alter column dataset_id set default next_id();
9
-
10
- alter table bi.dataset add column if not exists name text;
11
- alter table bi.dataset add column if not exists db text;
12
- alter table bi.dataset add column if not exists source_type text;
13
- alter table bi.dataset add column if not exists file_path text;
14
- alter table bi.dataset add column if not exists table_name text;
15
-
16
- alter table bi.dataset add column if not exists sql_list json;
17
- alter table bi.dataset add column if not exists column_list json;
18
-
19
- alter table bi.dataset add column if not exists uid text;
20
- alter table bi.dataset add column if not exists editor_id text;
21
- alter table bi.dataset add column if not exists editor_date timestamp without time zone;
22
- alter table bi.dataset add column if not exists cdate timestamp without time zone;
23
- alter table bi.dataset alter column cdate set DEFAULT (now())::timestamp without time zone;
24
- ALTER TABLE bi.dataset add column if not exists filter_list json;
25
- ALTER TABLE bi.dataset add column if not exists dataset_file_path text;
26
- ALTER TABLE bi.dataset add column if not exists files json;
27
- ALTER TABLE bi.dataset add column if not exists style json;
28
- ALTER TABLE bi.dataset add column if not exists data_source json;
29
- ALTER TABLE bi.dataset add column if not exists setting json;
30
- ALTER TABLE bi.dataset add column if not exists geom geometry;
31
- ALTER TABLE bi.dataset add column if not exists pk text;
32
- ALTER TABLE bi.dataset add column if not exists query text;
33
- ALTER TABLE bi.dataset add column if not exists form_setting json;
34
- ALTER TABLE bi.dataset add column if not exists access_level text;
35
- ALTER TABLE bi.dataset add column if not exists export_columns text[];
36
- ALTER TABLE bi.dataset add column if not exists dashboard_list text[];
37
-
38
- alter table bi.dataset add CONSTRAINT bi_dataset_id_pkey PRIMARY KEY (dataset_id);
39
-
40
- COMMENT ON TABLE bi.dataset IS 'Набори даних';
41
-
42
- COMMENT ON COLUMN bi.dataset.dataset_id IS 'PK';
43
- COMMENT ON COLUMN bi.dataset.name IS 'Назва';
44
- COMMENT ON COLUMN bi.dataset.file_path IS 'Шлях до імпортованого файлу';
45
- COMMENT ON COLUMN bi.dataset.table_name IS 'Таблиця';
46
-
1
+ create schema if not exists bi;
2
+
3
+ CREATE TABLE if not exists bi.dataset ();
4
+ alter table bi.dataset drop constraint if exists bi_dataset_id_pkey cascade;
5
+
6
+ alter table bi.dataset add column if not exists dataset_id text;
7
+ alter table bi.dataset alter column dataset_id set not null;
8
+ alter table bi.dataset alter column dataset_id set default next_id();
9
+
10
+ alter table bi.dataset add column if not exists name text;
11
+ alter table bi.dataset add column if not exists db text;
12
+ alter table bi.dataset add column if not exists source_type text;
13
+ alter table bi.dataset add column if not exists file_path text;
14
+ alter table bi.dataset add column if not exists table_name text;
15
+
16
+ alter table bi.dataset add column if not exists sql_list json;
17
+ alter table bi.dataset add column if not exists column_list json;
18
+
19
+ alter table bi.dataset add column if not exists uid text;
20
+ alter table bi.dataset add column if not exists editor_id text;
21
+ alter table bi.dataset add column if not exists editor_date timestamp without time zone;
22
+ alter table bi.dataset add column if not exists cdate timestamp without time zone;
23
+ alter table bi.dataset alter column cdate set DEFAULT (now())::timestamp without time zone;
24
+ ALTER TABLE bi.dataset add column if not exists filter_list json;
25
+ ALTER TABLE bi.dataset add column if not exists dataset_file_path text;
26
+ ALTER TABLE bi.dataset add column if not exists files json;
27
+ ALTER TABLE bi.dataset add column if not exists style json;
28
+ ALTER TABLE bi.dataset add column if not exists data_source json;
29
+ ALTER TABLE bi.dataset add column if not exists setting json;
30
+ ALTER TABLE bi.dataset add column if not exists geom geometry;
31
+ ALTER TABLE bi.dataset add column if not exists pk text;
32
+ ALTER TABLE bi.dataset add column if not exists query text;
33
+ ALTER TABLE bi.dataset add column if not exists form_setting json;
34
+ ALTER TABLE bi.dataset add column if not exists access_level text;
35
+ ALTER TABLE bi.dataset add column if not exists export_columns text[];
36
+ ALTER TABLE bi.dataset add column if not exists dashboard_list text[];
37
+
38
+ alter table bi.dataset add CONSTRAINT bi_dataset_id_pkey PRIMARY KEY (dataset_id);
39
+
40
+ COMMENT ON TABLE bi.dataset IS 'Набори даних';
41
+
42
+ COMMENT ON COLUMN bi.dataset.dataset_id IS 'PK';
43
+ COMMENT ON COLUMN bi.dataset.name IS 'Назва';
44
+ COMMENT ON COLUMN bi.dataset.file_path IS 'Шлях до імпортованого файлу';
45
+ COMMENT ON COLUMN bi.dataset.table_name IS 'Таблиця';
46
+