21 lines
1.3 KiB
PowerShell
21 lines
1.3 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
$page = Get-Content -LiteralPath (Join-Path $root 'pages/genealogy/g11-genealogy-settings.vue') -Raw -Encoding utf8
|
|
$style = [regex]::Match($page, '(?s)<style[^>]*>(.*?)</style>').Groups[1].Value
|
|
$positions = [regex]::Matches([regex]::Replace($style, '(?s)/\*.*?\*/', ''), '(?m)\bposition\s*:\s*([^;]+);')
|
|
if ($positions.Count -ne 1 -or $positions[0].Groups[1].Value.Trim() -ne 'fixed') {
|
|
throw "G11 must retain only its fixed feedback layer; found $($positions.Count) position declarations"
|
|
}
|
|
foreach ($required in @(
|
|
'@include adaptive-genealogy-state-panel;',
|
|
'@include adaptive-genealogy-form-field;',
|
|
'background: url("/static/assets/foundation/transparent/a01-scroll-primary-v3.png")',
|
|
'background: url("/static/assets/foundation/transparent/a01-scroll-secondary-v3.png")'
|
|
)) { if ($page -notmatch [regex]::Escape($required)) { throw "G11 is missing adaptive asset surface: $required" } }
|
|
if ($page -notmatch '(?s)<textarea[^>]*auto-height') { throw 'G11 genealogy intro must grow from its text data' }
|
|
$settingsPanelStyle = [regex]::Match($style, '(?s)\.settings-panel\s*\{(?<body>.*?)\}').Groups['body'].Value
|
|
if ($settingsPanelStyle -match '\bmin-height\s*:') {
|
|
throw 'G11 settings panel height must be driven by its current content'
|
|
}
|
|
Write-Output 'G11-DOCUMENT-FLOW-CONTRACT PASS'
|