{"_id":"@cosla/sensemaking-report-ui","_rev":"3-4b9ddd6e200d181ef89f2bf1a5a87ef0","name":"@cosla/sensemaking-report-ui","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@cosla/sensemaking-report-ui","version":"0.1.0","keywords":["sensemaking","report","html","standalone"],"author":{"name":"CoslaDigital"},"license":"ISC","_id":"@cosla/sensemaking-report-ui@0.1.0","maintainers":[{"name":"coslaconsul","email":"consul@cosla.gov.uk"},{"name":"digitalwestie","email":"hello@rgianni.cc"}],"bin":{"sensemaking-report-ui":"cli.js"},"dist":{"shasum":"5c58ecde1f4a858255fb659502eedbfaa1dc4469","tarball":"https://registry.npmjs.org/@cosla/sensemaking-report-ui/-/sensemaking-report-ui-0.1.0.tgz","fileCount":21,"integrity":"sha512-vPubQRHatIk/vSZMHoVWq5K05cjoVgk/Cb6y1u2qSxrgVLs/ey4hWRrqJAuM5UNIZiKABl3auF7jxVQSchx/tw==","signatures":[{"sig":"MEUCIQDSjmvjqpG/6orfz47K6dC380TVtSBFnzS5P0+x4cfkRQIgF0xwPO4Tx+8OSNb3gknh9r9KL+B8C2tudW8gYN48E/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63959},"main":"build.js","type":"module","gitHead":"1c9da0bcee6c25a48412a31ebf5e28df65c581d6","scripts":{"build":"node build.js","smoke":"node smoke.js","inline":"node build.js inline"},"_npmUser":{"name":"digitalwestie","email":"hello@rgianni.cc"},"_npmVersion":"11.14.1","description":"Lightweight standalone HTML report builder without Angular.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"marked":"^15.0.3","mustache":"^4.2.0","inline-source":"^8.0.3","@cosla/sensemaker-visualizations":"^1.0.48"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sensemaking-report-ui_0.1.0_1780483940457_0.7250431257094738","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@cosla/sensemaking-report-ui","version":"0.1.1","keywords":["sensemaking"],"author":{"name":"CoslaDigital"},"license":"ISC","_id":"@cosla/sensemaking-report-ui@0.1.1","maintainers":[{"name":"coslaconsul","email":"consul@cosla.gov.uk"},{"name":"digitalwestie","email":"hello@rgianni.cc"}],"bin":{"sensemaking-report-ui":"bin/cli.js"},"dist":{"shasum":"d1dde630f6775a966ecc1a0ed5a73f07a02ae233","tarball":"https://registry.npmjs.org/@cosla/sensemaking-report-ui/-/sensemaking-report-ui-0.1.1.tgz","fileCount":21,"integrity":"sha512-sGor6b62TYc+FukTaMAtjzRpsx2Zc9lTdxW8NuZ5Y+Ou6S3BZhWfnLgL966ADU/MXg1CCRJdaeMbB2YrjgD0+Q==","signatures":[{"sig":"MEYCIQCOEl9d3O15iCp1xdb0Szuf66d6CMC3P1UUN4qJ/DhDigIhALOk0YKSJboYVTx3f4HF6FuGhNWobFYUzal5eQi5MDJh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63922},"main":"build.js","type":"module","gitHead":"4a9edf7c83da4f5b1e257f0804ecdfbfcea3ba83","scripts":{"build":"node build.js","smoke":"node smoke.js","inline":"node build.js inline"},"_npmUser":{"name":"digitalwestie","email":"hello@rgianni.cc"},"_npmVersion":"11.14.1","description":"Lightweight standalone HTML report builder without Angular.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"marked":"^15.0.3","mustache":"^4.2.0","inline-source":"^8.0.3","@cosla/sensemaker-visualizations":"^1.0.48"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/sensemaking-report-ui_0.1.1_1780484357897_0.1665198966899406","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cosla/sensemaking-report-ui","version":"0.1.2","description":"Lightweight standalone HTML report builder without Angular.","type":"module","main":"build.js","bin":{"sensemaking-report-ui":"bin/cli.js"},"scripts":{"build":"node build.js","inline":"node build.js inline","smoke":"node smoke.js","test":"npm run smoke"},"keywords":["sensemaking"],"publishConfig":{"access":"public"},"author":{"name":"CoslaDigital"},"license":"ISC","dependencies":{"@cosla/sensemaker-visualizations":"^1.0.48","inline-source":"^8.0.3","marked":"^15.0.3","mustache":"^4.2.0"},"gitHead":"f898029e37499836038face15eae25612b65a5e1","_id":"@cosla/sensemaking-report-ui@0.1.2","_nodeVersion":"22.12.0","_npmVersion":"11.14.1","dist":{"integrity":"sha512-jInbFGgi2FYNcK0Jp52PSfGY8DPdECI4G1+N76GE89u5IhC/qKQ8rDjfoRLFMDvl2LU+d6BwDyzRFQ90cdELvg==","shasum":"4f5ec51d28d0ca17a42a7b44d04cebe76394b701","tarball":"https://registry.npmjs.org/@cosla/sensemaking-report-ui/-/sensemaking-report-ui-0.1.2.tgz","fileCount":21,"unpackedSize":63951,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIExG/4lZHW/FplHKQInQvilgAUHs+nfHyC/6rKeVx9gEAiAyWGYouQ9SpmkPcDBojj2dyRVMB+/HLpqXOWjXuFGgIw=="}]},"_npmUser":{"name":"digitalwestie","email":"hello@rgianni.cc"},"directories":{},"maintainers":[{"name":"coslaconsul","email":"consul@cosla.gov.uk"},{"name":"digitalwestie","email":"hello@rgianni.cc"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sensemaking-report-ui_0.1.2_1782126952257_0.7405914293517684"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-03T10:52:20.260Z","modified":"2026-06-22T11:15:52.501Z","0.1.0":"2026-06-03T10:52:20.614Z","0.1.1":"2026-06-03T10:59:18.063Z","0.1.2":"2026-06-22T11:15:52.395Z"},"author":{"name":"CoslaDigital"},"license":"ISC","keywords":["sensemaking"],"description":"Lightweight standalone HTML report builder without Angular.","maintainers":[{"name":"coslaconsul","email":"consul@cosla.gov.uk"},{"name":"digitalwestie","email":"hello@rgianni.cc"}],"readme":"# report_ui\n\nLightweight report builder that generates a standalone `report.html`. This is based off the `@cosla/sensemaking-web-uisen` package but does not require Angular.\n\n## CLI usage\n\n```bash\nnpx sensemaking-report-ui inline \\\n  --topics ./input/topic-stats.json \\\n  --summary ./input/summary.json \\\n  --comments ./input/comments.json \\\n  --metadata ./input/metadata.json \\\n  --reportTitle \"My Report\" \\\n  --outputDir ./output \\\n  --outputFile report.html\n```\n\nYou can also run from this workspace directly:\n\n```bash\nnpm run build -- inline --inputDir ./fixtures/happy-path --outputDir ./output\n```\n\n## Supported options\n\n- `--topics`: path to `topic-stats.json` (default: `<inputDir>/topic-stats.json`)\n- `--summary`: path to `summary.json` (default: `<inputDir>/summary.json`)\n- `--comments`: path to `comments.json` (default: `<inputDir>/comments.json`)\n- `--metadata`: path to `metadata.json` (default: `<inputDir>/metadata.json`)\n- `--reportTitle`: optional title override (falls back to metadata title)\n- `--inputDir`: base input directory (default: `./input`)\n- `--outputDir`: output directory (default: `./output`)\n- `--outputFile`: filename or path for final html (default: `report.html`)\n\n## Fixtures and smoke tests\n\nFixtures are in `fixtures/`:\n\n- `happy-path`\n- `empty-dataset`\n- `missing-field`\n\nRun smoke checks:\n\n```bash\nnpm run smoke\n```\n\nThis validates:\n\n- successful builds for `happy-path` and `empty-dataset` (output under `smoke-output/<fixture>/report.html`),\n- output HTML includes the `About this report` section marker,\n- `missing-field` fails with a clear validation error (`topics string`).\n\n## Parity checklist against Angular standalone report\n\n- [x] Single-file standalone HTML output (CSS, JS, and viz assets inlined).\n- [x] Core report sections:\n  - About this report (summary copy, alignment definitions, metrics)\n  - Conversation overview (`topics-overview` chart)\n  - Participant alignment (high / low / uncertainty toggles)\n  - Topics identified badge and per-topic cards (breakdown, chart, subtopic accordions)\n  - Subtopic panels (breakdown, themes, high / low / uncertainty statement groups, view-all)\n- [x] Charts via inlined `@cosla/sensemaker-visualizations` (`sensemaker-chart`):\n  - `topics-overview` on conversation overview\n  - `topic-alignment` with Groupings / Statements (`solid` / `waffle`) per topic\n- [x] Interaction baseline:\n  - Side nav (`details` / `summary`) with topic and subtopic links\n  - In-page anchor scroll (overview, topics, subtopics)\n  - Share dialog and copy link\n  - Statement card tooltips (including inside the statements dialog)\n  - Centered statements dialog for “View all statements” (grouped like the Angular drawer)\n- [~] Visual style: lightweight CSS approximating layout and colors; not full Angular Material parity (typography, icons, breakdown widgets, etc.).\n- [~] Threshold / help microcopy: main section copy and tooltips match Angular; minor gaps may remain (e.g. per-section share buttons, overview breakdown icons).\n\n## Publishing notes\n\nThis package is structured for npm publishing:\n\n- CLI exposed via `bin` as `sensemaking-report-ui`.\n- Runtime dependency on `@cosla/sensemaker-visualizations` (UMD + CSS copied in at build time).\n- `files` whitelist includes only runtime artifacts, fixtures, and docs.\n- Breaking input-contract changes should use semver major bumps.\n","readmeFilename":"README.md"}