@ovalbee/reportifact 0.0.1 → 0.0.3

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 (65) hide show
  1. package/README.md +15 -14
  2. package/dist/{Chart.vue_vue_type_style_index_0_lang-BYILFTfl.js → Chart.vue_vue_type_style_index_0_lang-Bxrsp8Oz.js} +2353 -2292
  3. package/dist/Chart.vue_vue_type_style_index_0_lang-mN1IaQ_U.cjs +1 -0
  4. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-Ak_OUL_c.js +197 -0
  5. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-Ch0UPxhs.cjs +1 -0
  6. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-ANFFq7CE.js +62 -0
  7. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-CT9lFI28.cjs +1 -0
  8. package/dist/MetricCards.vue_vue_type_style_index_0_lang-1hn2BMbU.js +46 -0
  9. package/dist/MetricCards.vue_vue_type_style_index_0_lang-BDU7pisC.cjs +1 -0
  10. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-BfxK3vcz.js +140 -0
  11. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-CS7xiHRk.cjs +1 -0
  12. package/dist/Timeline.vue_vue_type_style_index_0_lang-EmkZbKjQ.js +2646 -0
  13. package/dist/Timeline.vue_vue_type_style_index_0_lang-HOC43_F3.cjs +2 -0
  14. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-BY2t_Hvs.cjs +1 -0
  15. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-BbnW8GXT.js +72 -0
  16. package/dist/index-3DTuh2Dr.cjs +47 -0
  17. package/dist/{index-DFz2A8yJ.js → index-DevYhXSC.js} +9252 -8377
  18. package/dist/portable/contracts.d.ts +6 -1
  19. package/dist/reportifact.cjs +24 -24
  20. package/dist/reportifact.js +1408 -1403
  21. package/dist/style.css +1 -1
  22. package/dist/widgets/Chart.vue.d.ts +7 -4
  23. package/dist/widgets/ImageGallery.vue.d.ts +7 -4
  24. package/dist/widgets/Markdown.vue.d.ts +1 -1
  25. package/dist/widgets/MetricCallout.vue.d.ts +5 -2
  26. package/dist/widgets/MetricCards.vue.d.ts +6 -3
  27. package/dist/widgets/MetricsTable.vue.d.ts +7 -4
  28. package/dist/widgets/ModelClassComparison.vue.d.ts +1 -1
  29. package/dist/widgets/ModelComparisonGallery.vue.d.ts +1 -1
  30. package/dist/widgets/Table.vue.d.ts +1 -1
  31. package/dist/widgets/Tensorboard.vue.d.ts +1 -1
  32. package/dist/widgets/Timeline.vue.d.ts +7 -4
  33. package/dist/widgets/WidgetWrapper.vue.d.ts +11 -5
  34. package/dist/widgets/chart.cjs +1 -1
  35. package/dist/widgets/chart.js +1 -1
  36. package/dist/widgets/image-gallery.cjs +1 -1
  37. package/dist/widgets/image-gallery.js +1 -1
  38. package/dist/widgets/metric-callout.cjs +1 -1
  39. package/dist/widgets/metric-callout.js +1 -1
  40. package/dist/widgets/metric-cards.cjs +1 -1
  41. package/dist/widgets/metric-cards.js +1 -1
  42. package/dist/widgets/metrics-table.cjs +1 -1
  43. package/dist/widgets/metrics-table.js +1 -1
  44. package/dist/widgets/timeline.cjs +1 -1
  45. package/dist/widgets/timeline.js +1 -1
  46. package/package.json +9 -13
  47. package/dist/Chart.vue_vue_type_style_index_0_lang-B4novMFC.cjs +0 -1
  48. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-BB4dG0CB.cjs +0 -1
  49. package/dist/ImageGallery.vue_vue_type_style_index_0_lang-DPY6mSdA.js +0 -191
  50. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-BZbc-Wkf.js +0 -49
  51. package/dist/MetricCallout.vue_vue_type_style_index_0_lang-WpuALh8Z.cjs +0 -1
  52. package/dist/MetricCards.vue_vue_type_style_index_0_lang-CDPSu7no.cjs +0 -1
  53. package/dist/MetricCards.vue_vue_type_style_index_0_lang-CfxCCXmB.js +0 -33
  54. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-BzrxoJW4.cjs +0 -1
  55. package/dist/MetricsTable.vue_vue_type_style_index_0_lang-CO9HvYfr.js +0 -132
  56. package/dist/Timeline.vue_vue_type_style_index_0_lang-BIyC7N9b.cjs +0 -2
  57. package/dist/Timeline.vue_vue_type_style_index_0_lang-BnrgKBMh.js +0 -2598
  58. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-BQQ4Vv5j.cjs +0 -1
  59. package/dist/WidgetWrapper.vue_vue_type_style_index_0_lang-D-oXqmI2.js +0 -59
  60. package/dist/entries/figure.d.ts +0 -1
  61. package/dist/index-DmTzvbys.cjs +0 -47
  62. package/dist/portable/ReportifactFigure.vue.d.ts +0 -36
  63. package/dist/widgets/figure.cjs +0 -1
  64. package/dist/widgets/figure.d.ts +0 -6
  65. package/dist/widgets/figure.js +0 -84
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- .reportifact{--reportifact-bg: #ffffff;--reportifact-toc-bg: #ffffff;--reportifact-bg-subtle: #f8fafc;--reportifact-bg-muted: #f1f5f9;--reportifact-bg-overlay: rgba(255, 255, 255, .9);--reportifact-text: #1f2937;--reportifact-text-muted: #64748b;--reportifact-text-faint: #94a3b8;--reportifact-border: #e2e8f0;--reportifact-error-bg: #fef2f2;--reportifact-error-text: #dc2626;--reportifact-highlight: #fef08a;--reportifact-accent: #0ea5e9;--reportifact-focus-border: #3b82f6;--reportifact-tone-low: #ef4444;--reportifact-tone-low-bg: #fee2e2;--reportifact-tone-low-border: #fecaca;--reportifact-tone-mid: #d97706;--reportifact-tone-mid-bg: #fef3c7;--reportifact-tone-mid-border: #fde68a;--reportifact-tone-high: #059669;--reportifact-tone-high-bg: #d1fae5;--reportifact-tone-high-border: #a7f3d0;--reportifact-widget-gap: 16px;--reportifact-section-gap: 32px;display:flex;flex-direction:column;color:var(--reportifact-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5}.dark .reportifact{--reportifact-tone-low: #f06464;--reportifact-tone-low-bg: rgba(239, 68, 68, .16);--reportifact-tone-low-border: rgba(239, 68, 68, .32);--reportifact-tone-mid: #d99a2b;--reportifact-tone-mid-bg: rgba(217, 119, 6, .16);--reportifact-tone-mid-border: rgba(217, 119, 6, .32);--reportifact-tone-high: #41b883;--reportifact-tone-high-bg: rgba(16, 185, 129, .14);--reportifact-tone-high-border: rgba(16, 185, 129, .3)}.reportifact-skeleton-line{height:16px;border-radius:4px;background:linear-gradient(90deg,var(--reportifact-border) 25%,var(--reportifact-bg-muted) 50%,var(--reportifact-border) 75%);background-size:200% 100%;animation:reportifact-skeleton-pulse 1.5s ease-in-out infinite}.reportifact-skeleton-column{display:flex;flex-direction:column;gap:12px}@keyframes reportifact-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.reportifact-widget-host{width:100%;min-width:0}.reportifact-widget-wrapper,.reportifact-widget-content{position:relative}.reportifact-widget-error{padding:16px;background:var(--reportifact-error-bg);border-radius:8px}.reportifact-widget-error-message{color:var(--reportifact-error-text);font-size:14px;text-align:center}.reportifact-chart-skeleton{background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-chart-skeleton-body{width:100%;flex:1;min-height:0;border-radius:4px}.reportifact-chart-container{background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;width:100%;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-chart{width:100%;flex:1;min-height:0}.reportifact-metric-cards{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px;padding:12px;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-metric-card{position:relative;min-height:148px;overflow:hidden;padding:14px;border:1px solid var(--reportifact-border);border-radius:6px;background:var(--reportifact-bg)}.reportifact-metric-card-fill{position:absolute;inset:auto 0 0;border-top:1px solid transparent}.reportifact-metric-card--low .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-low-border);background:var(--reportifact-tone-low-bg)}.reportifact-metric-card--mid .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-mid-border);background:var(--reportifact-tone-mid-bg)}.reportifact-metric-card--high .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-high-border);background:var(--reportifact-tone-high-bg)}.reportifact-metric-card-label,.reportifact-metric-card-value,.reportifact-metric-card-description{position:relative;z-index:1}.reportifact-metric-card-label{display:block;color:var(--reportifact-text-muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.reportifact-metric-card-value{display:block;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:26px;line-height:1}.reportifact-metric-card--low .reportifact-metric-card-value{color:var(--reportifact-tone-low)}.reportifact-metric-card--mid .reportifact-metric-card-value{color:var(--reportifact-tone-mid)}.reportifact-metric-card--high .reportifact-metric-card-value{color:var(--reportifact-tone-high)}.reportifact-metric-card-description{margin:8px 0 0;color:var(--reportifact-text-muted);font-size:12px}@media (max-width: 720px){.reportifact-metric-cards{grid-template-columns:repeat(2,minmax(92px,1fr))}}.reportifact-metric-callout{overflow:hidden;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-metric-callout-header{display:grid;grid-template-columns:148px minmax(0,1fr);gap:14px;align-items:center;padding:14px 15px;border-bottom:1px solid var(--reportifact-border);background:var(--reportifact-bg-subtle)}.reportifact-metric-callout-label{color:var(--reportifact-text-muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.reportifact-metric-callout-value{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:28px;line-height:1}.reportifact-metric-callout-value--low{color:var(--reportifact-tone-low)}.reportifact-metric-callout-value--mid{color:var(--reportifact-tone-mid)}.reportifact-metric-callout-value--high{color:var(--reportifact-tone-high)}.reportifact-metric-callout-description,.reportifact-metric-callout-body{color:var(--reportifact-text-muted)}.reportifact-metric-callout-body{padding:13px 15px}.rm-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.rm-skeleton-row{display:flex;gap:10px;align-items:center}.rm-title{font-weight:bolder;font-size:13px;margin-bottom:8px;color:var(--reportifact-text)}.rm-metrics{display:grid;grid-template-columns:auto 3.8em 1fr;align-items:center;gap:8px 10px;padding:2px 0;max-width:400px}.rm-metrics--with-pct{grid-template-columns:auto 3.8em 1fr auto}.rm-row{display:contents}.rm-name{font-weight:500;font-size:13px;white-space:nowrap;color:var(--reportifact-text)}.rm-value{font-family:monospace;font-size:13px;text-align:right;color:var(--reportifact-text-muted)}.rm-bar-track{height:6px;background:var(--reportifact-bg-muted);border-radius:3px;overflow:hidden;min-width:40px}.rm-bar-fill{height:100%;background:var(--reportifact-accent);border-radius:3px;transition:width .3s ease}.rm-pct{font-size:12px;color:var(--reportifact-text-muted);white-space:nowrap;min-width:3.2em;text-align:right}.rm-empty{grid-column:1 / -1;color:var(--reportifact-text-faint);font-style:italic;font-size:13px}.rm-table{width:100%;max-width:400px;border-collapse:collapse;font-size:13px}.rm-table th{text-align:left;padding:6px 8px;font-weight:500;border-bottom:1px solid var(--reportifact-border);color:var(--reportifact-text-muted);font-size:12px}.rm-table td{padding:5px 8px;border-bottom:1px solid var(--reportifact-border);color:var(--reportifact-text)}.rm-table tr:last-child td{border-bottom:none}.rm-table tbody tr:hover td{background:var(--reportifact-bg-subtle)}.reportifact-timeline-container{position:relative;background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;width:100%;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-timeline-toolbar{position:absolute;top:12px;right:12px;z-index:1;display:flex;gap:2px;border:1px solid var(--reportifact-border);border-radius:6px;padding:2px;background:var(--reportifact-bg-subtle)}.reportifact-timeline-mode{border:none;background:transparent;color:var(--reportifact-text-muted);font-size:11px;line-height:1;padding:4px 8px;border-radius:4px;cursor:pointer}.reportifact-timeline-mode.is-active{background:var(--reportifact-bg);color:var(--reportifact-text);box-shadow:0 1px 2px #00000014}.reportifact-image-gallery{container-type:inline-size;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.reportifact-image-gallery-tile{min-width:0}.reportifact-image-gallery-frame{position:relative;aspect-ratio:var(--reportifact-gallery-aspect-ratio);overflow:hidden;border-radius:8px;background:var(--reportifact-bg-subtle)}.reportifact-image-gallery-image,.reportifact-image-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.reportifact-image-gallery-image--contain{object-fit:contain}.reportifact-image-gallery-image--cover{object-fit:cover}.reportifact-image-gallery-overlay{pointer-events:none}.reportifact-image-gallery-empty{display:flex;height:100%;align-items:center;justify-content:center;color:var(--reportifact-text-muted);font-size:12px}.reportifact-image-gallery-skeleton{height:100%;min-height:160px}.reportifact-image-gallery-more{margin-top:10px;padding:0;border:0;background:transparent;color:var(--reportifact-accent);cursor:pointer;font:inherit;font-size:14px;font-weight:600;text-align:left}.reportifact-image-gallery-more:hover{text-decoration:underline}@container (max-width: 720px){.reportifact-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}.reportifact-figure{width:100%;margin:24px 0}.reportifact-figure-title{margin-bottom:10px;font-size:15px;font-weight:700}.reportifact-figure-skeleton{display:flex;min-height:280px;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-figure-fallback{display:block;width:100%;height:auto;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-figure-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-top:8px;color:var(--reportifact-text-muted, #64748b);font-size:13px}.reportifact-figure-caption a{color:var(--reportifact-accent, #0ea5e9)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
1
+ .reportifact{--reportifact-bg: #ffffff;--reportifact-toc-bg: #ffffff;--reportifact-bg-subtle: #f8fafc;--reportifact-bg-muted: #f1f5f9;--reportifact-bg-overlay: rgba(255, 255, 255, .9);--reportifact-text: #1f2937;--reportifact-text-muted: #64748b;--reportifact-text-faint: #94a3b8;--reportifact-border: #e2e8f0;--reportifact-error-bg: #fef2f2;--reportifact-error-text: #dc2626;--reportifact-highlight: #fef08a;--reportifact-accent: #0ea5e9;--reportifact-focus-border: #3b82f6;--reportifact-tone-low: #ef4444;--reportifact-tone-low-bg: #fee2e2;--reportifact-tone-low-border: #fecaca;--reportifact-tone-mid: #d97706;--reportifact-tone-mid-bg: #fef3c7;--reportifact-tone-mid-border: #fde68a;--reportifact-tone-high: #059669;--reportifact-tone-high-bg: #d1fae5;--reportifact-tone-high-border: #a7f3d0;--reportifact-widget-gap: 16px;--reportifact-section-gap: 32px;display:flex;flex-direction:column;color:var(--reportifact-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5}.dark .reportifact{--reportifact-tone-low: #f06464;--reportifact-tone-low-bg: rgba(239, 68, 68, .16);--reportifact-tone-low-border: rgba(239, 68, 68, .32);--reportifact-tone-mid: #d99a2b;--reportifact-tone-mid-bg: rgba(217, 119, 6, .16);--reportifact-tone-mid-border: rgba(217, 119, 6, .32);--reportifact-tone-high: #41b883;--reportifact-tone-high-bg: rgba(16, 185, 129, .14);--reportifact-tone-high-border: rgba(16, 185, 129, .3)}.reportifact-skeleton-line{height:16px;border-radius:4px;background:linear-gradient(90deg,var(--reportifact-border) 25%,var(--reportifact-bg-muted) 50%,var(--reportifact-border) 75%);background-size:200% 100%;animation:reportifact-skeleton-pulse 1.5s ease-in-out infinite}.reportifact-skeleton-column{display:flex;flex-direction:column;gap:12px}@keyframes reportifact-skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.reportifact-widget-host{width:100%;min-width:0}.reportifact-widget-wrapper{position:relative;width:100%;min-width:0;margin:0}.reportifact-widget-content{position:relative}.reportifact-widget-error{padding:16px;background:var(--reportifact-error-bg);border-radius:8px}.reportifact-widget-error-message{color:var(--reportifact-error-text);font-size:14px;text-align:center}.reportifact-figure-caption{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:8px;color:var(--reportifact-text-muted, #64748b);font-size:13px;text-align:center}.reportifact-figure-caption a{color:var(--reportifact-accent, #0ea5e9)}.reportifact-chart-skeleton{background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-chart-skeleton-body{width:100%;flex:1;min-height:0;border-radius:4px}.reportifact-chart-container{background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;width:100%;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-chart{width:100%;flex:1;min-height:0}.reportifact-metric-cards{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:10px;padding:12px;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-metric-card{position:relative;min-height:148px;overflow:hidden;padding:14px;border:1px solid var(--reportifact-border);border-radius:6px;background:var(--reportifact-bg)}.reportifact-metric-card-fill{position:absolute;inset:auto 0 0;border-top:1px solid transparent}.reportifact-metric-card--low .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-low-border);background:var(--reportifact-tone-low-bg)}.reportifact-metric-card--mid .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-mid-border);background:var(--reportifact-tone-mid-bg)}.reportifact-metric-card--high .reportifact-metric-card-fill{border-top-color:var(--reportifact-tone-high-border);background:var(--reportifact-tone-high-bg)}.reportifact-metric-card-label,.reportifact-metric-card-value,.reportifact-metric-card-description{position:relative;z-index:1}.reportifact-metric-card-label{display:block;color:var(--reportifact-text-muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.reportifact-metric-card-value{display:block;margin-top:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:26px;line-height:1}.reportifact-metric-card--low .reportifact-metric-card-value{color:var(--reportifact-tone-low)}.reportifact-metric-card--mid .reportifact-metric-card-value{color:var(--reportifact-tone-mid)}.reportifact-metric-card--high .reportifact-metric-card-value{color:var(--reportifact-tone-high)}.reportifact-metric-card-description{margin:8px 0 0;color:var(--reportifact-text-muted);font-size:12px}@media (max-width: 720px){.reportifact-metric-cards{grid-template-columns:repeat(2,minmax(92px,1fr))}}.reportifact-metric-callout{overflow:hidden;border:1px solid var(--reportifact-border);border-radius:8px;background:var(--reportifact-bg)}.reportifact-metric-callout-header{display:grid;grid-template-columns:148px minmax(0,1fr);gap:14px;align-items:center;padding:14px 15px;border-bottom:1px solid var(--reportifact-border);background:var(--reportifact-bg-subtle)}.reportifact-metric-callout-label{color:var(--reportifact-text-muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.reportifact-metric-callout-value{display:block;margin-top:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:28px;line-height:1}.reportifact-metric-callout-value--low{color:var(--reportifact-tone-low)}.reportifact-metric-callout-value--mid{color:var(--reportifact-tone-mid)}.reportifact-metric-callout-value--high{color:var(--reportifact-tone-high)}.reportifact-metric-callout-description,.reportifact-metric-callout-body{color:var(--reportifact-text-muted)}.reportifact-metric-callout-body{padding:13px 15px}.rm-card{width:100%;padding:16px;overflow-x:auto;background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px}.rm-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.rm-skeleton-row{display:flex;gap:10px;align-items:center}.rm-title{font-weight:bolder;font-size:13px;margin-bottom:8px;color:var(--reportifact-text)}.rm-metrics{display:grid;grid-template-columns:auto 3.8em 1fr;align-items:center;gap:8px 10px;padding:2px 0;max-width:400px}.rm-metrics--with-pct{grid-template-columns:auto 3.8em 1fr auto}.rm-row{display:contents}.rm-name{font-weight:500;font-size:13px;white-space:nowrap;color:var(--reportifact-text)}.rm-value{font-family:monospace;font-size:13px;text-align:right;color:var(--reportifact-text-muted)}.rm-bar-track{height:6px;background:var(--reportifact-bg-muted);border-radius:3px;overflow:hidden;min-width:40px}.rm-bar-fill{height:100%;background:var(--reportifact-accent);border-radius:3px;transition:width .3s ease}.rm-pct{font-size:12px;color:var(--reportifact-text-muted);white-space:nowrap;min-width:3.2em;text-align:right}.rm-empty{grid-column:1 / -1;color:var(--reportifact-text-faint);font-style:italic;font-size:13px}.rm-table{width:100%;border-collapse:collapse;font-size:13px}.rm-table th{text-align:left;padding:6px 8px;font-weight:500;border-bottom:1px solid var(--reportifact-border);color:var(--reportifact-text-muted);font-size:12px}.rm-table td{padding:5px 8px;border-bottom:1px solid var(--reportifact-border);color:var(--reportifact-text)}.rm-table tr:last-child td{border-bottom:none}.rm-table tbody tr:hover td{background:var(--reportifact-bg-subtle)}.reportifact-timeline-container{position:relative;background:var(--reportifact-bg);border:1px solid var(--reportifact-border);border-radius:8px;padding:16px;width:100%;height:var(--reportifact-chart-height);display:flex;flex-direction:column;overflow:hidden}.reportifact-timeline-toolbar{position:absolute;top:12px;right:12px;z-index:1;display:flex;gap:2px;border:1px solid var(--reportifact-border);border-radius:6px;padding:2px;background:var(--reportifact-bg-subtle)}.reportifact-timeline-mode{border:none;background:transparent;color:var(--reportifact-text-muted);font-size:11px;line-height:1;padding:4px 8px;border-radius:4px;cursor:pointer}.reportifact-timeline-mode.is-active{background:var(--reportifact-bg);color:var(--reportifact-text);box-shadow:0 1px 2px #00000014}.reportifact-image-gallery{container-type:inline-size;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.reportifact-image-gallery-tile{min-width:0}.reportifact-image-gallery-frame{position:relative;aspect-ratio:var(--reportifact-gallery-aspect-ratio);overflow:hidden;border-radius:8px;background:var(--reportifact-bg-subtle)}.reportifact-image-gallery-image,.reportifact-image-gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.reportifact-image-gallery-image--contain{object-fit:contain}.reportifact-image-gallery-image--cover{object-fit:cover}.reportifact-image-gallery-overlay{pointer-events:none}.reportifact-image-gallery-empty{display:flex;height:100%;align-items:center;justify-content:center;color:var(--reportifact-text-muted);font-size:12px}.reportifact-image-gallery-skeleton{height:100%;min-height:160px}.reportifact-image-gallery-more{margin-top:10px;padding:0;border:0;background:transparent;color:var(--reportifact-accent);cursor:pointer;font:inherit;font-size:14px;font-weight:600;text-align:left}.reportifact-image-gallery-more:hover{text-decoration:underline}@container (max-width: 720px){.reportifact-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
2
2
  Theme: StackOverflow Light
3
3
  Description: Light theme as used on stackoverflow.com
4
4
  Author: stackoverflow.com
@@ -1,6 +1,6 @@
1
1
  import { ChartType } from './chart-config';
2
- import { ReportifactChartData } from '../portable/contracts';
3
- type __VLS_Props = {
2
+ import { ReportifactChartData, ReportifactWidgetFrameProps } from '../portable/contracts';
3
+ type __VLS_Props = ReportifactWidgetFrameProps & {
4
4
  /** Legacy/full-report resource URL. */
5
5
  url?: string;
6
6
  /** Portable resource URL. */
@@ -20,7 +20,10 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
20
20
  }>, {
21
21
  options: Record<string, unknown>;
22
22
  data: undefined;
23
- url: string;
24
23
  src: string;
25
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
24
+ url: string;
25
+ caption: string;
26
+ sourceHref: string;
27
+ sourceLabel: string;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
26
29
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { WidgetItem } from '../utils/parseIndexMd';
2
2
  import { ReportifactMediaResolver } from '../mediaResolver';
3
- import { ReportifactImageGalleryData } from '../portable/contracts';
4
- type __VLS_Props = {
3
+ import { ReportifactWidgetFrameProps, ReportifactImageGalleryData } from '../portable/contracts';
4
+ type __VLS_Props = ReportifactWidgetFrameProps & {
5
5
  widget?: WidgetItem;
6
6
  url?: string;
7
7
  src?: string;
@@ -18,9 +18,12 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
18
18
  }>, {
19
19
  options: Record<string, unknown>;
20
20
  data: ReportifactImageGalleryData;
21
- url: string;
22
21
  widget: WidgetItem;
23
22
  src: string;
23
+ url: string;
24
+ caption: string;
25
+ sourceHref: string;
26
+ sourceLabel: string;
24
27
  mediaResolver: ReportifactMediaResolver;
25
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
28
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
26
29
  export default _default;
@@ -4,5 +4,5 @@ type __VLS_Props = {
4
4
  };
5
5
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
6
6
  refresh(): void;
7
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
7
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
8
8
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { WidgetItem } from '../utils/parseIndexMd';
2
- import { ReportifactMetricCalloutData } from '../portable/contracts';
3
- type __VLS_Props = {
2
+ import { ReportifactMetricCalloutData, ReportifactWidgetFrameProps } from '../portable/contracts';
3
+ type __VLS_Props = ReportifactWidgetFrameProps & {
4
4
  widget?: WidgetItem;
5
5
  data?: ReportifactMetricCalloutData;
6
6
  label?: string;
@@ -14,6 +14,9 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
14
14
  data: ReportifactMetricCalloutData;
15
15
  value: string | number;
16
16
  widget: WidgetItem;
17
+ caption: string;
18
+ sourceHref: string;
19
+ sourceLabel: string;
17
20
  description: string;
18
21
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
19
22
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { WidgetItem } from '../utils/parseIndexMd';
2
- import { ReportifactMetricCardData } from '../portable/contracts';
3
- type __VLS_Props = {
2
+ import { ReportifactMetricCardData, ReportifactWidgetFrameProps } from '../portable/contracts';
3
+ type __VLS_Props = ReportifactWidgetFrameProps & {
4
4
  widget?: WidgetItem;
5
5
  content?: string;
6
6
  data?: ReportifactMetricCardData[];
@@ -9,5 +9,8 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
9
9
  data: ReportifactMetricCardData[];
10
10
  widget: WidgetItem;
11
11
  content: string;
12
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
+ caption: string;
13
+ sourceHref: string;
14
+ sourceLabel: string;
15
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
13
16
  export default _default;
@@ -1,5 +1,5 @@
1
- import { ReportifactMetricsTableData } from '../portable/contracts';
2
- type __VLS_Props = {
1
+ import { ReportifactWidgetFrameProps, ReportifactMetricsTableData } from '../portable/contracts';
2
+ type __VLS_Props = ReportifactWidgetFrameProps & {
3
3
  url?: string;
4
4
  src?: string;
5
5
  data?: ReportifactMetricsTableData;
@@ -11,7 +11,10 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
11
11
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
12
  options: Record<string, unknown>;
13
13
  data: ReportifactMetricsTableData;
14
- url: string;
15
14
  src: string;
16
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
15
+ url: string;
16
+ caption: string;
17
+ sourceHref: string;
18
+ sourceLabel: string;
19
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
17
20
  export default _default;
@@ -3,5 +3,5 @@ type __VLS_Props = {
3
3
  };
4
4
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
5
5
  refresh(): void;
6
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
6
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
7
7
  export default _default;
@@ -11,5 +11,5 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
11
11
  "row-click": (payload: unknown) => any;
12
12
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
13
13
  "onRow-click"?: ((payload: unknown) => any) | undefined;
14
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
15
15
  export default _default;
@@ -14,5 +14,5 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
14
14
  "onRow-click"?: ((payload: unknown) => any) | undefined;
15
15
  }>, {
16
16
  options: TableOptions;
17
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
17
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
18
18
  export default _default;
@@ -9,5 +9,5 @@ type __VLS_Props = {
9
9
  declare function refresh(): void;
10
10
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
11
11
  refresh: typeof refresh;
12
- }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
12
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
13
13
  export default _default;
@@ -1,5 +1,5 @@
1
- import { ReportifactTimelineData } from '../portable/contracts';
2
- type __VLS_Props = {
1
+ import { ReportifactWidgetFrameProps, ReportifactTimelineData } from '../portable/contracts';
2
+ type __VLS_Props = ReportifactWidgetFrameProps & {
3
3
  url?: string;
4
4
  src?: string;
5
5
  data?: ReportifactTimelineData;
@@ -15,7 +15,10 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
15
15
  }>, {
16
16
  options: Record<string, unknown>;
17
17
  data: ReportifactTimelineData;
18
- url: string;
19
18
  src: string;
20
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
19
+ url: string;
20
+ caption: string;
21
+ sourceHref: string;
22
+ sourceLabel: string;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
21
24
  export default _default;
@@ -1,6 +1,7 @@
1
- type __VLS_Props = {
2
- loading: boolean;
3
- error: string | null;
1
+ import { ReportifactWidgetFrameProps } from '../portable/contracts';
2
+ type __VLS_Props = ReportifactWidgetFrameProps & {
3
+ loading?: boolean;
4
+ error?: string | null;
4
5
  showSkeleton?: boolean;
5
6
  };
6
7
  declare function __VLS_template(): {
@@ -13,12 +14,17 @@ declare function __VLS_template(): {
13
14
  default?(_: {}): any;
14
15
  };
15
16
  refs: {};
16
- rootEl: HTMLDivElement;
17
+ rootEl: HTMLElement;
17
18
  };
18
19
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
19
20
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
21
+ caption: string;
22
+ sourceHref: string;
23
+ sourceLabel: string;
24
+ loading: boolean;
25
+ error: string | null;
20
26
  showSkeleton: boolean;
21
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
22
28
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
23
29
  export default _default;
24
30
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../Chart.vue_vue_type_style_index_0_lang-B4novMFC.cjs");exports.ReportifactChart=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../Chart.vue_vue_type_style_index_0_lang-mN1IaQ_U.cjs");exports.ReportifactChart=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as r, _ as e } from "../Chart.vue_vue_type_style_index_0_lang-BYILFTfl.js";
1
+ import { _ as r, _ as e } from "../Chart.vue_vue_type_style_index_0_lang-Bxrsp8Oz.js";
2
2
  export {
3
3
  r as ReportifactChart,
4
4
  e as default
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../ImageGallery.vue_vue_type_style_index_0_lang-BB4dG0CB.cjs");exports.ReportifactImageGallery=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../ImageGallery.vue_vue_type_style_index_0_lang-Ch0UPxhs.cjs");exports.ReportifactImageGallery=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as r, _ as t } from "../ImageGallery.vue_vue_type_style_index_0_lang-DPY6mSdA.js";
1
+ import { _ as r, _ as t } from "../ImageGallery.vue_vue_type_style_index_0_lang-Ak_OUL_c.js";
2
2
  export {
3
3
  r as ReportifactImageGallery,
4
4
  t as default
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricCallout.vue_vue_type_style_index_0_lang-WpuALh8Z.cjs");exports.ReportifactMetricCallout=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricCallout.vue_vue_type_style_index_0_lang-CT9lFI28.cjs");exports.ReportifactMetricCallout=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as e, _ as o } from "../MetricCallout.vue_vue_type_style_index_0_lang-BZbc-Wkf.js";
1
+ import { _ as e, _ as o } from "../MetricCallout.vue_vue_type_style_index_0_lang-ANFFq7CE.js";
2
2
  export {
3
3
  e as ReportifactMetricCallout,
4
4
  o as default
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricCards.vue_vue_type_style_index_0_lang-CDPSu7no.cjs");exports.ReportifactMetricCards=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricCards.vue_vue_type_style_index_0_lang-BDU7pisC.cjs");exports.ReportifactMetricCards=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as t, _ as e } from "../MetricCards.vue_vue_type_style_index_0_lang-CfxCCXmB.js";
1
+ import { _ as t, _ as e } from "../MetricCards.vue_vue_type_style_index_0_lang-1hn2BMbU.js";
2
2
  export {
3
3
  t as ReportifactMetricCards,
4
4
  e as default
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricsTable.vue_vue_type_style_index_0_lang-BzrxoJW4.cjs");exports.ReportifactMetricsTable=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../MetricsTable.vue_vue_type_style_index_0_lang-CS7xiHRk.cjs");exports.ReportifactMetricsTable=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as t, _ as r } from "../MetricsTable.vue_vue_type_style_index_0_lang-CO9HvYfr.js";
1
+ import { _ as t, _ as r } from "../MetricsTable.vue_vue_type_style_index_0_lang-BfxK3vcz.js";
2
2
  export {
3
3
  t as ReportifactMetricsTable,
4
4
  r as default
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../Timeline.vue_vue_type_style_index_0_lang-BIyC7N9b.cjs");exports.ReportifactTimeline=e._sfc_main;exports.default=e._sfc_main;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../Timeline.vue_vue_type_style_index_0_lang-HOC43_F3.cjs");exports.ReportifactTimeline=e._sfc_main;exports.default=e._sfc_main;
@@ -1,4 +1,4 @@
1
- import { _ as t, _ as f } from "../Timeline.vue_vue_type_style_index_0_lang-BnrgKBMh.js";
1
+ import { _ as t, _ as f } from "../Timeline.vue_vue_type_style_index_0_lang-EmkZbKjQ.js";
2
2
  export {
3
3
  t as ReportifactTimeline,
4
4
  f as default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ovalbee/reportifact",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Vue 3 component + Express middleware for reports from Parquet files via DuckDB",
5
5
  "type": "module",
6
6
  "main": "./dist/reportifact.js",
@@ -17,11 +17,6 @@
17
17
  "import": "./dist/widgets/host.js",
18
18
  "require": "./dist/widgets/host.cjs"
19
19
  },
20
- "./widgets/figure": {
21
- "types": "./dist/entries/figure.d.ts",
22
- "import": "./dist/widgets/figure.js",
23
- "require": "./dist/widgets/figure.cjs"
24
- },
25
20
  "./widgets/chart": {
26
21
  "types": "./dist/entries/chart.d.ts",
27
22
  "import": "./dist/widgets/chart.js",
@@ -72,6 +67,11 @@
72
67
  "files": [
73
68
  "dist"
74
69
  ],
70
+ "scripts": {
71
+ "dev": "vite build --watch",
72
+ "build": "vue-tsc -b && vite build",
73
+ "prepublishOnly": "npm run build"
74
+ },
75
75
  "peerDependencies": {
76
76
  "duckdb": "^1.3.0",
77
77
  "express": "^4.0.0 || ^5.0.0",
@@ -89,7 +89,7 @@
89
89
  }
90
90
  },
91
91
  "dependencies": {
92
- "echarts": "^6.0.0",
92
+ "echarts": "^6.1.0",
93
93
  "highlight.js": "^11.11.1",
94
94
  "marked": "^17.0.1",
95
95
  "marked-highlight": "^2.2.3",
@@ -117,9 +117,5 @@
117
117
  "parquet",
118
118
  "duckdb"
119
119
  ],
120
- "license": "MIT",
121
- "scripts": {
122
- "dev": "vite build --watch",
123
- "build": "vue-tsc -b && vite build"
124
- }
125
- }
120
+ "license": "MIT"
121
+ }