DashHtml.psd1
|
@{ # Module identity RootModule = 'DashHtml.psm1' ModuleVersion = '2.7.0' GUID = '3f8e9a2c-1d4b-47f5-8c6e-0a5d2b9f3e71' Author = 'Nicola Viganò' CompanyName = 'Nicola Viganò' Copyright = '(c) 2026 Nicola Viganò. MIT License.' Description = 'Generate interactive self-contained HTML dashboards. Includes sortable / filterable / pageable tables, linked drill-down, client-side CSV / Excel / PDF export, KPI summary tiles (with optional sparklines, trend deltas, big-number, gauge, verdict, score-ring and maturity-ladder styles), assessment findings with severity, remediation, evidence and references (list or split layout), a detail side panel for table rows, grid cells and findings, property tiles, expandable record lists, pie / donut / line / area / bar / stacked-bar / bullet charts with value aggregation (sum / avg / min / max), min-avg-max range-gradient bars, RAG status matrix, sequential / diverging 2-D heatmaps, parent-child topology trees, network and dependency maps (grouped or in tier lanes, with path tracing), OU / folder tree filters, a report-wide search, menu severity badges, columns that fit their text, inline tabbed content blocks, chronological event feeds, dismissible alert banners, threshold cell colouring with a unified -Rag parameter, a sticky nav bar, print / PDF layout with an optional cover page, and offline-capable XLSX / PDF export. Six built-in theme families (Default, Azure, VMware, Grey, Company, Rag — the v1.4 family using the Office/Excel-compatible RAG palette) each with embedded light / dark variants and a runtime toggle button.' PowerShellVersion = '7.0' # Exports FunctionsToExport = @( '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-DhRangeBar' 'Add-DhTopologyMap' 'Add-DhGlobalFilter' 'Add-DhFindings' 'Add-DhKeyValue' 'Add-DhRecordList' 'Add-DhTreeFilter' 'Add-DhNetworkMap' 'Add-DhTreeTable' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() # Gallery metadata PrivateData = @{ PSData = @{ Tags = @('HTML','Dashboard','Table','Export','CSV','Excel','PDF','Report','Infrastructure') LicenseUri = 'https://github.com/nicola-vi/DashHtml/blob/main/LICENSE' ProjectUri = 'https://github.com/nicola-vi/DashHtml' ReleaseNotes = @' 2.7.0 - Readability and the header band. A presentation-layer release: no cmdlet behaviour or data changes, but every report looks different - regenerate to pick it up. (1) Every theme now has a coloured header band in light AND dark mode, using the theme's own accent-secondary (Default #005F8A, Azure #106EBE, Grey #37474F, VMware #007D63, Company #8C0031, Rag #404040); dark mode uses a deep tint of the same hue. Before 2.7.0 three families had a white band, and in dark mode all six were near-black within 1.1 contrast of the page - in Grey and Azure, exactly the page colour, so the band was invisible. (2) --text-muted failed WCAG AA in all twelve theme variants (2.38:1 to 4.41:1 against a 4.5 requirement) while carrying the smallest text in the report; every variant now clears 4.5:1 against every background it can land on, including row stripes, table heads and the 8% overlay behind key-value items. --nav-title-fg failed in 11 of 12 and is fixed too. (3) The type floor was 9.6px: 30 hardcoded sizes bypassed the scale. Nothing in the HTML is below 11.5px now (--size-2xs). Network-map SVG labels are the documented exception - their geometry is computed from hardcoded character widths. (4) Block titles are sentence case: text-transform uppercase went from 38 rules to 8, and 10 ad-hoc letter-spacing values became three tokens. (5) New-DhDashboard -Density Normal|Compact|Comfortable sets the opening density; it now scales the whole type scale, not only table rows. Compact is closest to the old look. (6) No report fetches a font any more - Company and VMware pulled Montserrat and Inter from Google Fonts with an @import, which broke the single-file promise and failed silently offline. Both still name their font first, so readers who have it installed see it. 2.6.0 - Checks, size and links. (1) Test-DhReport (DashHtml.Design): one command for the lints - links, menu, size, baseline sanity for a report object; the upgrade audit for a script; the schema (naming the failing table or key) for a layout; for an HTML file, the fixes an older runtime misses. -Strict for CI. (2) Export-DhDashboard -CompressData stores the data gzip + base64 (a 50,000-row table: 9.2 MB to 1.3 MB) and -SizeBudgetMB (default 15) warns about a big file. (3) New-DhDashboard -LinkState keeps each table's sort, page, page size and Change chip in the address. (4) Add-DhTable -BaselinePath reads the previous rows from .clixml, .csv or .json. (5) Link columns: UrlTemplate ('page.html?id={Id}'), RelativeLinks, LinkTarget new | same, tel: links, links in the detail drawer. (6) Tree tables: windowed above 2,000 rows (50,000 objects stay quick), CSV of the visible rows and of member lists; -MaxRows warns at 20,000 and throws at 100,000. All new behaviour is opt-in; regenerate reports to pick up the runtime. 2.5.x - Baseline markers (-Baseline -KeyField), accessibility and contrast fixes in all themes, CSV formula guard, Tools\Test-DhContrast and Test-DhA11y, Export-DhYamlSchema, Add-DhTreeTable, -NavAllLabel / -NavTree / -StrictNav / -NavOverflow (More after one row), column picker memory, print fixes, data fields named Keys / Values / Count kept. 2.4.1 - Banners follow -NavPath/-NavScope, -NavOrder fix, Tools\Show-DhNavMap.ps1, new example set. 2.4.0 - Add-DhNetworkMap, Add-DhTreeFilter, report search (-Search), nav badges (-NavBadge), columns that fit their content. 2.3.0 - Add-DhKeyValue, Add-DhRecordList, table drawers, score/maturity tiles, split findings. 2.2.0 - Add-DhFindings, cell types chips and path, -AllClearText, coloured bars. 2.1.x - Add-DhRangeBar and a series of table and click-filter fixes. 2.0.0 - MAJOR: -AllowHtml defaults to $false, -NavPath/-NavScope navigation. See MIGRATION-v2.md. Full version history: https://github.com/nicola-vi/DashHtml/blob/main/CHANGELOG.md '@ } } } |