23 lines
1.0 KiB
PowerShell
23 lines
1.0 KiB
PowerShell
$ErrorActionPreference = 'Stop'
|
|
$root = Split-Path $PSScriptRoot -Parent
|
|
$component = [System.IO.File]::ReadAllText((Join-Path $root 'components/tree/TreeMemberForm.vue'), [System.Text.Encoding]::UTF8)
|
|
$profiles = [System.IO.File]::ReadAllText((Join-Path $root 'styles/adaptive-frame-profiles.scss'), [System.Text.Encoding]::UTF8)
|
|
|
|
foreach ($expected in @(
|
|
'grid-template-columns: auto minmax(0, 1fr)',
|
|
'min-height: min(640px, calc((100vw - 16px) * 1.48))',
|
|
'@include adaptive.adaptive-tree-panel;',
|
|
'@include adaptive.adaptive-tree-field;'
|
|
)) {
|
|
if (-not $component.Contains($expected)) { throw "TreeMemberForm document-flow contract missing: $expected" }
|
|
}
|
|
foreach ($asset in @('t01-state-panel.png', 't07-search-input-frame.png')) {
|
|
if (-not $profiles.Contains($asset)) { throw "Adaptive tree profile missing: $asset" }
|
|
}
|
|
|
|
if ($component -match '(?m)\bposition\s*:') {
|
|
throw 'TreeMemberForm must not retain positioning in ordinary forms, fields, actions, or result content'
|
|
}
|
|
|
|
Write-Output 'TREE-MEMBER-FORM-DOCUMENT-FLOW-CONTRACT PASS'
|