public/controls/Hide-UiStatusBar.ps1

function Hide-UiStatusBar {
    <#
    .SYNOPSIS
        Collapses a status bar from view without removing it.
    .DESCRIPTION
        Sets Visibility to Collapsed so the bar takes no space and disappears.
        Safe to call from any thread. State is preserved - Show-UiStatusBar
        restores it.
    .PARAMETER Variable
        Optional session variable name. Defaults to the resolver fallback
        (statusBar, then any registered IsStatusBar control).
    .EXAMPLE
        Hide-UiStatusBar
    .EXAMPLE
        Hide-UiStatusBar -Variable 'mainBar'
    #>

    [CmdletBinding()]
    param(
        [string]$Variable
    )

    $session = Get-UiSession
    if (!$session) { return }

    Invoke-OnUIThread {
        $bar = Resolve-UiStatusBar -Variable $Variable
        if (!$bar) {
            $hint = if ($Variable) { "no control registered as '$Variable'" }
            else { "no status bar registered in this session" }
            Write-Warning "Hide-UiStatusBar: $hint"
            return
        }
        $bar.Visibility = [System.Windows.Visibility]::Collapsed
    }
}