mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-23 12:15:42 +00:00
Canonicalize platform row detail toggles
This commit is contained in:
@@ -156,6 +156,7 @@ work extends shared components instead of creating new local variants.
|
||||
129. `frontend-modern/scripts/shared-template-audit.mjs`
|
||||
130. `frontend-modern/scripts/shared-template-registry.json`
|
||||
131. `frontend-modern/src/features/platformPage/sharedPlatformPage.tsx`
|
||||
131a. `frontend-modern/src/features/platformPage/PlatformResourceDetailTableRow.tsx`
|
||||
132. `frontend-modern/src/utils/platformSupportManifest.generated.ts`
|
||||
133. `frontend-modern/src/utils/platformSupportManifest.ts`
|
||||
134. `frontend-modern/src/utils/sourcePlatformOptions.ts`
|
||||
@@ -2382,6 +2383,14 @@ divide frame locally. Platform table consumers must preserve the owner split:
|
||||
frontend-primitives owns the repeated `PlatformTableShell` frame and guardrail
|
||||
registry, while platform and unified-resource consumers own the source-specific
|
||||
row fields, drawers, and resource semantics.
|
||||
Platform row-detail disclosure controls are also registry-backed templates.
|
||||
`frontend-modern/src/features/platformPage/PlatformResourceDetailTableRow.tsx`
|
||||
owns `PlatformResourceDetailToggleButton`, which composes
|
||||
`SummaryRowActionButton` for the canonical row-detail affordance, accessible
|
||||
label, `aria-expanded`, `aria-controls`, and propagation containment. Platform
|
||||
tables that use `createPlatformResourceDetailState` or render local inline
|
||||
detail rows must compose that toggle; they may still own the detail row content,
|
||||
drawer payload, and platform-specific fields.
|
||||
The shared help icon now follows that same owner split.
|
||||
`frontend-modern/src/components/shared/HelpIcon.tsx` stays the render shell,
|
||||
`frontend-modern/src/components/shared/useHelpIconState.ts` owns open state,
|
||||
|
||||
@@ -3142,6 +3142,7 @@
|
||||
"frontend-modern/src/components/SetupWizard/SetupCompletionPreview.tsx",
|
||||
"frontend-modern/src/components/SetupWizard/SetupWizard.tsx",
|
||||
"frontend-modern/src/components/Toast/Toast.tsx",
|
||||
"frontend-modern/src/features/platformPage/PlatformResourceDetailTableRow.tsx",
|
||||
"frontend-modern/src/features/platformPage/sharedPlatformPage.tsx",
|
||||
"frontend-modern/src/hooks/createNonSuspendingQuery.ts",
|
||||
"frontend-modern/src/index.css",
|
||||
@@ -3576,6 +3577,7 @@
|
||||
"match_files": [
|
||||
"frontend-modern/scripts/shared-template-audit.mjs",
|
||||
"frontend-modern/scripts/shared-template-registry.json",
|
||||
"frontend-modern/src/features/platformPage/PlatformResourceDetailTableRow.tsx",
|
||||
"frontend-modern/src/features/platformPage/sharedPlatformPage.tsx"
|
||||
],
|
||||
"allow_same_subsystem_tests": false,
|
||||
|
||||
@@ -214,6 +214,14 @@ filter semantics, drawer handoffs, and resource projections, while
|
||||
Future platform tables must keep that split: row data and platform semantics
|
||||
stay in the unified-resource consumer, and the repeated table shell stays in the
|
||||
shared frontend primitive.
|
||||
That same split applies to platform row-detail disclosure controls. Platform
|
||||
tables own which row opens, which resource label is exposed, and which
|
||||
source-specific detail payload or drawer is rendered, but the disclosure
|
||||
affordance itself must compose
|
||||
`PlatformResourceDetailToggleButton` from the frontend-primitives-owned
|
||||
`PlatformResourceDetailTableRow.tsx` contract. Future platform tables must not
|
||||
add page-local chevron buttons, bespoke `aria-expanded` handling, or local
|
||||
event-propagation variants for row detail expansion.
|
||||
Product-originated resource references may arrive as registered unified
|
||||
resource IDs, source-specific IDs, or canonical identity aliases. The
|
||||
unified-resource registry owns resolving those references through
|
||||
|
||||
Reference in New Issue
Block a user