DashHtml
1.10.2
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2026 DashHtml Contributors. MIT License.
Package Details
Author(s)
- DashHtml Contributors
Tags
HTML Dashboard Table Export CSV Excel PDF Report Infrastructure
Functions
New-DhDashboard Add-DhTable Set-DhTableLink Export-DhDashboard Get-DhTheme Add-DhSummary Add-DhHtmlBlock Add-DhCollapsible Add-DhFilterCard Add-DhBarChart Add-DhAlertBanner Add-DhPieChart Add-DhBullet Add-DhLineChart Add-DhEventFeed Add-DhStatusGrid Add-DhTabs Add-DhHeatmap Add-DhTopologyMap Add-DhGlobalFilter
Dependencies
This module has no dependencies.
Release Notes
1.10.2 — Minor fixes (code-review follow-ups). All six theme families now define --accent-primary-fg (readable text on the accent background) — 7 of 12 accent variants are bright and needed dark text, so the previous #fff fallback was low-contrast on the active subgroup pill / topology toggle. XLSX export now sanitises the sheet name (strips : \ / ? * [ ] and falls back to 'Sheet1'), so a table title containing those characters no longer makes the Excel download silently fail. Docs clarified that CSV/XLSX/PDF export always covers the full filtered set (not just the visible page/window). 387 tests.
1.10.1 — Bug-fix patch (from an internal code review). SECURITY: table cells with CellType='progressbar' now HTML-encode their label value — previously a non-numeric value was injected via innerHTML, an XSS sink that contradicted the "table cells are auto-encoded" guarantee. Also: the duplicate-Id guard now covers Add-DhBarChart / Add-DhCollapsible / Add-DhFilterCard / Add-DhHtmlBlock / Add-DhPieChart (the other 11 block cmdlets already had it); and the table header "select all" checkbox now selects every row of a -Pageable:$false table instead of only the first page. No API changes. 379 tests.
1.10.0 — Opt-in 12-column grid layout. Blocks and tables accept -GridSpan (1-12); as soon as one is set, the report body becomes a 12-column CSS grid and each element spans the requested columns (unspanned elements stay full-width). Put two half-width charts side by side with -GridSpan 6, three-across with -GridSpan 4, etc. Collapses to a single column below 900px. Fully non-breaking: a dashboard with no -GridSpan is byte-identical to 1.9.0 (sequential flow). 372 tests.
1.9.0 — Global filters. New Add-DhGlobalFilter cmdlet adds a page-level control (a facet dropdown, or a from/to date range) to a filter bar above the report body. Changing it re-filters EVERY table that has the named field at once, and charts derived from those tables re-aggregate; tables without the field are unaffected. Multiple global filters combine with AND, and selections persist in the URL hash. Non-breaking — dashboards with no global filter are byte-unchanged. 365 tests.
1.8.0 — Internal refactor, no functional change. The ~3,400-line dashboard runtime JavaScript (previously one here-string in Get-DhJsContent.ps1) is now authored across five cohesive fragment files — Get-DhJsCore / Get-DhJsBlocks / Get-DhJsNav / Get-DhJsTable / Get-DhJsBoot — concatenated by Get-DhJsContent. The assembled output is byte-for-byte identical to 1.7.0 (verified); generated dashboards are unchanged. Purely a maintainability improvement. 355 tests.
1.7.0 — UX & performance. (1) Interactive topology maps: Add-DhTopologyMap now renders in a fixed viewport with drag-to-pan, wheel-zoom, a zoom/reset toolbar, and a +/- toggle on every parent node to collapse its subtree. Default on; pass -Interactive:$false for the pre-1.7.0 static view. (2) Accessibility: honours prefers-reduced-motion, adds aria-sort + keyboard operation to sortable table headers, an aria-live result-count region, and a focus ring on sortable headers. (3) Large tables: -Pageable:$false now renders ALL rows (previously it wrongly showed only the first page) and virtualises the DOM above 150 rows so "show all" stays fast. Also fixes Add-DhTabs throwing on a single tab. Non-breaking. 355 tests.
Full version history: https://github.com/nicola-vi/DashHtml/blob/main/CHANGELOG.md
FileList
- DashHtml.nuspec
- Private\ConvertTo-DhRagThresholds.ps1
- Private\Get-DhCssDefaultDark.ps1
- Private\Get-DhCssVMwareDark.ps1
- Private\Get-DhJsNav.ps1
- Public\Add-DhBullet.ps1
- Public\Add-DhHtmlBlock.ps1
- Public\Add-DhTabs.ps1
- DashHtml.psd1
- Private\Get-DhCssAzureDark.ps1
- Private\Get-DhCssDefaultLight.ps1
- Private\Get-DhCssVMwareLight.ps1
- Private\Get-DhJsTable.ps1
- Public\Add-DhCollapsible.ps1
- Public\Add-DhLineChart.ps1
- Public\Add-DhTopologyMap.ps1
- DashHtml.psm1
- Private\Get-DhCssAzureLight.ps1
- Private\Get-DhCssGreyDark.ps1
- Private\Get-DhJsBlocks.ps1
- Private\Get-DhThemeCss.ps1
- Public\Add-DhEventFeed.ps1
- Public\Add-DhPieChart.ps1
- Public\Export-DhDashboard.ps1
- LICENSE
- Private\Get-DhCssBase.ps1
- Private\Get-DhCssGreyLight.ps1
- Private\Get-DhJsBoot.ps1
- Private\Test-DhSafeInput.ps1
- Public\Add-DhFilterCard.ps1
- Public\Add-DhStatusGrid.ps1
- Public\Get-DhTheme.ps1
- README.md
- Private\Get-DhCssCompanyDark.ps1
- Private\Get-DhCssRagDark.ps1
- Private\Get-DhJsContent.ps1
- Public\Add-DhAlertBanner.ps1
- Public\Add-DhGlobalFilter.ps1
- Public\Add-DhSummary.ps1
- Public\New-DhDashboard.ps1
- Private\Build-DhTableSections.ps1
- Private\Get-DhCssCompanyLight.ps1
- Private\Get-DhCssRagLight.ps1
- Private\Get-DhJsCore.ps1
- Public\Add-DhBarChart.ps1
- Public\Add-DhHeatmap.ps1
- Public\Add-DhTable.ps1
- Public\Set-DhTableLink.ps1
- Private\ConvertTo-DhJsonString.ps1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.10.2 (current version) | 8 | 7/22/2026 |
| 1.10.0 | 8 | 7/21/2026 |
| 1.7.0 | 5 | 7/21/2026 |
| 1.6.0 | 3 | 7/21/2026 |
| 1.5.3 | 26 | 6/23/2026 |
| 1.5.2 | 10 | 6/19/2026 |
| 1.5.0 | 25 | 5/25/2026 |
| 1.3.3 | 32 | 5/19/2026 |
| 1.3.2 | 12 | 5/18/2026 |
| 1.3.1 | 17 | 4/29/2026 |
| 1.2.2 | 27 | 4/15/2026 |
| 1.2.1 | 9 | 4/15/2026 |
| 1.2.0 | 24 | 4/15/2026 |
| 1.1.0 | 12 | 4/14/2026 |
| 1.0.0 | 10 | 4/13/2026 |