init project
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
Component,Interactive,Name_role_state,Keyboard,Focus,Live_region,Touch_target,Automated_coverage,Manual_status
|
||||
VisuallyHidden,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
BidiText,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
LiveRegion,No,Semantic HTML and typed accessible labels,N/A,N/A,"Intentional only for Alert, LiveRegion, loading and progress",44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Icon,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Button,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
ActionLink,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
FormField,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
TextInput,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
TextArea,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Select,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Checkbox,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Radio,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Switch,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Fieldset,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
ErrorSummary,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Tabs,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
SegmentedControl,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Accordion,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Pagination,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Dialog,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
DropdownMenu,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Tooltip,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Alert,No,Semantic HTML and typed accessible labels,N/A,N/A,"Intentional only for Alert, LiveRegion, loading and progress",44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Progress,No,Semantic HTML and typed accessible labels,N/A,N/A,"Intentional only for Alert, LiveRegion, loading and progress",44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Spinner,No,Semantic HTML and typed accessible labels,N/A,N/A,"Intentional only for Alert, LiveRegion, loading and progress",44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Skeleton,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
StateMessage,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
StatusBadge,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Card,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Panel,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Callout,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Heading,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Eyebrow,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Text,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Quote,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Breadcrumbs,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
SectionNavigation,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
FooterLinkGroup,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
MediaFrame,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
ResponsiveImage,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
SectionHeader,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
FeatureCard,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
FeatureGrid,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
SplitContent,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
MetricStrip,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
LogoStripShell,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Workflow,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Comparison,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
Metric,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
EvidenceShell,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
CTA,Yes,Semantic HTML and typed accessible labels,Native or documented arrow/Escape behavior,Visible global focus; return/constrain where applicable,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
ProductPreview,No,Semantic HTML and typed accessible labels,N/A,N/A,None,44 CSS px for controls,Representative axe fixture,Pending pinned browser/manual execution
|
||||
DemoForm,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
Toast,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
PricingCard,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
TestimonialContent,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
CustomerLogoContent,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
ApprovedProductCapture,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
LoginDestination,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
SalesDestination,No,Not rendered,N/A,N/A,N/A,N/A,Not applicable,Blocked
|
||||
|
@@ -0,0 +1,22 @@
|
||||
# Phase 12 Bundle Impact Report
|
||||
|
||||
## Measurement scope
|
||||
|
||||
The repository has no dedicated analyzer plugin, so Phase 12 records reproducible source and production-output measurements rather than inventing treemap precision.
|
||||
|
||||
| Measurement | Phase 11 | Phase 12 | Change |
|
||||
| ----------------------------- | -----------------------------------: | -------: | -------------------: |
|
||||
| Source files under `src` | 62 | 135 | +73 |
|
||||
| Source bytes under `src` | 148,035 | 251,655 | +103,620 |
|
||||
| Component source/style files | 25 | 93 | +68 |
|
||||
| Production `.next/standalone` | Not measured in Phase 11 environment | 35 MiB | Baseline established |
|
||||
| Production `.next/static` | Not measured in Phase 11 environment | 1.5 MiB | Baseline established |
|
||||
| Production `.next/server` | Not measured in Phase 11 environment | 9.7 MiB | Baseline established |
|
||||
|
||||
## Interpretation
|
||||
|
||||
The source increase is expected because Phase 12 adds the reusable component system, fixtures, and documentation surface. No dependency was added. Client boundaries are limited to nine inventory entries, and the component-lab route is environment-gated. The production build completed and preserved route-level code splitting.
|
||||
|
||||
## Follow-up gate
|
||||
|
||||
Run the repository's future bundle analyzer, when configured, against a Phase 11 build produced on the same pinned runtime. Cross-environment directory sizes are not a substitute for JavaScript chunk comparison, despite how tempting that spreadsheet would be.
|
||||
@@ -0,0 +1,77 @@
|
||||
# Phase 12 Component Catalog
|
||||
|
||||
All public components use semantic tokens, logical CSS, one locale-independent DOM tree, and typed semantic variants. The component-lab route is development-only and guarded by `COMPONENT_FIXTURES_ENABLED=true`.
|
||||
|
||||
## Public component reference
|
||||
|
||||
| Component | Import path | Purpose | Variants | Accessibility / RTL / responsive behavior | Do not use when |
|
||||
| ------------------- | ------------------------------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
|
||||
| `VisuallyHidden` | `@/components/foundation/VisuallyHidden` | Reusable foundational utilities primitive or pattern. | default | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `BidiText` | `@/components/foundation/BidiText` | Reusable foundational utilities primitive or pattern. | default | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `LiveRegion` | `@/components/foundation/LiveRegion` | Reusable foundational utilities primitive or pattern. | polite, assertive | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Icon` | `@/components/foundation/Icon` | Reusable icon system primitive or pattern. | sm, md, lg, fixed, mirror | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Button` | `@/components/actions/Button` | Reusable actions primitive or pattern. | primary, conversion, secondary, tertiary, ghost, destructive, link, icon-only, loading | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `ActionLink` | `@/components/actions/ActionLink` | Reusable actions primitive or pattern. | inline, navigation, standalone, button-primary, button-conversion, muted, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `FormField` | `@/components/forms/FormField` | Reusable forms primitive or pattern. | required, optional, supporting, error | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `TextInput` | `@/components/forms/TextInput` | Reusable forms primitive or pattern. | text, email, telephone, url, search, invalid, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `TextArea` | `@/components/forms/TextInput` | Reusable forms primitive or pattern. | default, character-count, invalid, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Select` | `@/components/forms/TextInput` | Reusable forms primitive or pattern. | default, invalid, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Checkbox` | `@/components/forms/ChoiceControls` | Reusable forms primitive or pattern. | default, checked, invalid, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Radio` | `@/components/forms/ChoiceControls` | Reusable forms primitive or pattern. | default, checked, invalid, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Switch` | `@/components/forms/ChoiceControls` | Reusable forms primitive or pattern. | on, off, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Fieldset` | `@/components/forms/FormField` | Reusable forms primitive or pattern. | default | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `ErrorSummary` | `@/components/forms/ErrorSummary` | Reusable forms primitive or pattern. | error-list | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Tabs` | `@/components/controls/Tabs` | Reusable selection controls primitive or pattern. | automatic, manual, disabled-tab | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `SegmentedControl` | `@/components/controls/SegmentedControl` | Reusable selection controls primitive or pattern. | selected, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Accordion` | `@/components/controls/Accordion` | Reusable selection controls primitive or pattern. | open, closed | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Pagination` | `@/components/controls/Pagination` | Reusable selection controls primitive or pattern. | current, previous, next | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Dialog` | `@/components/overlays/Dialog` | Reusable overlays primitive or pattern. | modal, drawer, dismissible, non-dismissible | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `DropdownMenu` | `@/components/overlays/DropdownMenu` | Reusable overlays primitive or pattern. | open, closed, disabled-item, destructive-item | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Tooltip` | `@/components/overlays/Tooltip` | Reusable overlays primitive or pattern. | hover, focus | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Alert` | `@/components/feedback/Alert` | Reusable feedback primitive or pattern. | info, success, warning, error, inline | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Progress` | `@/components/feedback/Progress` | Reusable feedback primitive or pattern. | determinate, indeterminate | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Spinner` | `@/components/feedback/Loading` | Reusable feedback primitive or pattern. | loading | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Skeleton` | `@/components/feedback/Loading` | Reusable feedback primitive or pattern. | single-line, multi-line, reduced-motion | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `StateMessage` | `@/components/feedback/StateMessage` | Reusable feedback primitive or pattern. | empty, error, success, information | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `StatusBadge` | `@/components/foundation/StatusBadge` | Reusable feedback primitive or pattern. | neutral, info, success, warning, error | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Card` | `@/components/surfaces/Card` | Reusable surfaces primitive or pattern. | default, muted, elevated, strong, interactive | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Panel` | `@/components/surfaces/Card` | Reusable surfaces primitive or pattern. | default, muted, elevated, strong | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Callout` | `@/components/surfaces/Callout` | Reusable surfaces primitive or pattern. | information | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Heading` | `@/components/typography/Typography` | Reusable typography primitive or pattern. | display, section, subheading, levels-1-6 | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Eyebrow` | `@/components/typography/Typography` | Reusable typography primitive or pattern. | default | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Text` | `@/components/typography/Typography` | Reusable typography primitive or pattern. | lead, body, supporting, caption, label | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Quote` | `@/components/typography/Typography` | Reusable typography primitive or pattern. | with-citation, without-citation | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Breadcrumbs` | `@/components/navigation/Breadcrumbs` | Reusable navigation primitive or pattern. | current-page | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `SectionNavigation` | `@/components/navigation/SectionNavigation` | Reusable navigation primitive or pattern. | current-location, overflow | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `FooterLinkGroup` | `@/components/navigation/FooterLinkGroup` | Reusable navigation primitive or pattern. | resolved, disabled | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `MediaFrame` | `@/components/media/MediaFrame` | Reusable media primitive or pattern. | square, landscape, wide, portrait, auto, captioned, decorative | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `ResponsiveImage` | `@/components/media/MediaFrame` | Reusable media primitive or pattern. | meaningful, decorative, captioned | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `SectionHeader` | `@/components/marketing/SectionHeader` | Reusable section patterns primitive or pattern. | start, center | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `FeatureCard` | `@/components/marketing/FeatureCard` | Reusable marketing surfaces primitive or pattern. | default, primary, muted | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `FeatureGrid` | `@/components/marketing/SectionPatterns` | Reusable section patterns primitive or pattern. | responsive-grid | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `SplitContent` | `@/components/marketing/SectionPatterns` | Reusable section patterns primitive or pattern. | default, reverse | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `MetricStrip` | `@/components/marketing/SectionPatterns` | Reusable section patterns primitive or pattern. | responsive-strip | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `LogoStripShell` | `@/components/marketing/SectionPatterns` | Reusable section patterns primitive or pattern. | empty-shell, content | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Workflow` | `@/components/marketing/Workflow` | Reusable workflow primitive or pattern. | numbered, icon, stacked, horizontal | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Comparison` | `@/components/marketing/Comparison` | Reusable comparison primitive or pattern. | problem-solution, stacked, two-column | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A simpler native element or layout primitive already provides the required semantics. |
|
||||
| `Metric` | `@/components/marketing/Evidence` | Reusable evidence primitive or pattern. | approved, pending-review, research-only, prohibited | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A blocked product decision or unsupported claim would be required. |
|
||||
| `EvidenceShell` | `@/components/marketing/Evidence` | Reusable evidence primitive or pattern. | approved, pending-review, research-only, prohibited | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A blocked product decision or unsupported claim would be required. |
|
||||
| `CTA` | `@/components/marketing/CTA` | Reusable calls to action primitive or pattern. | inline, card, section, primary-only, dual-action, disabled-destination | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A blocked product decision or unsupported claim would be required. |
|
||||
| `ProductPreview` | `@/components/marketing/ProductPreview` | Reusable product previews primitive or pattern. | illustrative, empty, responsive-table | Semantic HTML; keyboard support when interactive; visible focus; logical CSS; localized content props; content-driven reflow at compact, medium, and wide gates. | A blocked product decision or unsupported claim would be required. |
|
||||
|
||||
## Representative usage
|
||||
|
||||
```tsx
|
||||
import { Button } from '@/components/actions/Button';
|
||||
import { FeatureCard } from '@/components/marketing/FeatureCard';
|
||||
|
||||
<Button intent="conversion" size="large">{messages.demoLabel}</Button>
|
||||
<FeatureCard title={content.title} description={content.description} icon="car" />
|
||||
```
|
||||
|
||||
## Prohibited usage
|
||||
|
||||
- Do not pass raw colors, arbitrary spacing, untranslated fragments, unresolved URLs, or research-only evidence into production rendering.
|
||||
- Do not use `Card` to turn every layout problem into a rectangle. Humanity has already done enough of that.
|
||||
- Do not use `InteractiveCard` semantics for containers with multiple independent controls. This system intentionally does not provide that invalid abstraction.
|
||||
- Do not enable the component-lab route in a public production deployment.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,61 @@
|
||||
Component,Category,Status,Import_path,Source_specifications,Homepage_consumers,Open_issues
|
||||
VisuallyHidden,foundational utilities,implemented,@/components/foundation/VisuallyHidden,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,global accessibility,
|
||||
BidiText,foundational utilities,implemented,@/components/foundation/BidiText,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product previews; metrics; forms,
|
||||
LiveRegion,foundational utilities,implemented,@/components/foundation/LiveRegion,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,forms; status feedback,
|
||||
Icon,icon system,implemented,@/components/foundation/Icon,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,all sections,
|
||||
Button,actions,implemented,@/components/actions/Button,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; final CTA; dialogs; forms,
|
||||
ActionLink,actions,implemented,@/components/actions/ActionLink,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,header; hero; sections; footer,
|
||||
FormField,forms,implemented,@/components/forms/FormField,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; contact form,
|
||||
TextInput,forms,implemented,@/components/forms/TextInput,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; contact form,
|
||||
TextArea,forms,implemented,@/components/forms/TextInput,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; contact form,
|
||||
Select,forms,implemented,@/components/forms/TextInput,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; filters,
|
||||
Checkbox,forms,implemented,@/components/forms/ChoiceControls,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; consent,
|
||||
Radio,forms,implemented,@/components/forms/ChoiceControls,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; choice groups,
|
||||
Switch,forms,implemented,@/components/forms/ChoiceControls,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,settings controls,
|
||||
Fieldset,forms,implemented,@/components/forms/FormField,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form,
|
||||
ErrorSummary,forms,implemented,@/components/forms/ErrorSummary,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,demo form; contact form,
|
||||
Tabs,selection controls,implemented,@/components/controls/Tabs,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product previews; capability sections,
|
||||
SegmentedControl,selection controls,implemented,@/components/controls/SegmentedControl,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product preview controls,
|
||||
Accordion,selection controls,implemented,@/components/controls/Accordion,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,FAQ,
|
||||
Pagination,selection controls,implemented,@/components/controls/Pagination,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,future resource indexes,
|
||||
Dialog,overlays,implemented,@/components/overlays/Dialog,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product tour; future forms,
|
||||
DropdownMenu,overlays,implemented,@/components/overlays/DropdownMenu,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,navigation; utility actions,
|
||||
Tooltip,overlays,implemented,@/components/overlays/Tooltip,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,icon controls,
|
||||
Alert,feedback,implemented,@/components/feedback/Alert,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,forms; global status,
|
||||
Progress,feedback,implemented,@/components/feedback/Progress,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product tour; forms,
|
||||
Spinner,feedback,implemented,@/components/feedback/Loading,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,buttons; forms,
|
||||
Skeleton,feedback,implemented,@/components/feedback/Loading,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product previews,
|
||||
StateMessage,feedback,implemented,@/components/feedback/StateMessage,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,route states; product previews,
|
||||
StatusBadge,feedback,implemented,@/components/foundation/StatusBadge,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product previews; evidence,
|
||||
Card,surfaces,implemented,@/components/surfaces/Card,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,features; roles; modules; metrics,
|
||||
Panel,surfaces,implemented,@/components/surfaces/Card,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,product previews; forms,
|
||||
Callout,surfaces,implemented,@/components/surfaces/Callout,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,security; pricing notes,
|
||||
Heading,typography,implemented,@/components/typography/Typography,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,all sections,
|
||||
Eyebrow,typography,implemented,@/components/typography/Typography,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; section headers,
|
||||
Text,typography,implemented,@/components/typography/Typography,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,all sections,
|
||||
Quote,typography,implemented,@/components/typography/Typography,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,testimonial shell,
|
||||
Breadcrumbs,navigation,implemented,@/components/navigation/Breadcrumbs,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,secondary routes,
|
||||
SectionNavigation,navigation,implemented,@/components/navigation/SectionNavigation,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,long marketing routes,
|
||||
FooterLinkGroup,navigation,implemented,@/components/navigation/FooterLinkGroup,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,footer,
|
||||
MediaFrame,media,implemented,@/components/media/MediaFrame,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; feature sections,
|
||||
ResponsiveImage,media,implemented,@/components/media/MediaFrame,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; feature sections,
|
||||
SectionHeader,section patterns,implemented,@/components/marketing/SectionHeader,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,all homepage sections,
|
||||
FeatureCard,marketing surfaces,implemented,@/components/marketing/FeatureCard,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,roles; modules; capabilities,
|
||||
FeatureGrid,section patterns,implemented,@/components/marketing/SectionPatterns,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,roles; modules; capabilities,
|
||||
SplitContent,section patterns,implemented,@/components/marketing/SectionPatterns,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; alternating features,
|
||||
MetricStrip,section patterns,implemented,@/components/marketing/SectionPatterns,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,evidence,
|
||||
LogoStripShell,section patterns,implemented,@/components/marketing/SectionPatterns,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,trust proof,
|
||||
Workflow,workflow,implemented,@/components/marketing/Workflow,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,rental lifecycle,
|
||||
Comparison,comparison,implemented,@/components/marketing/Comparison,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,fragmented-versus-connected,
|
||||
Metric,evidence,implemented,@/components/marketing/Evidence,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,evidence; operational benefits,
|
||||
EvidenceShell,evidence,implemented,@/components/marketing/Evidence,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,trust proof; testimonials,
|
||||
CTA,calls to action,implemented,@/components/marketing/CTA,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; final CTA; contact sales,
|
||||
ProductPreview,product previews,implemented,@/components/marketing/ProductPreview,Phase 12 prompt; contracts/phase9/components/COMPONENT_CONTRACTS_v1.0.md; docs/PHASE_12_HANDOFF_v1.0.md,hero; product UI previews,
|
||||
DemoForm,forms,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,hero; final CTA,P9-002; P9-003
|
||||
Toast,feedback,excluded,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,none; critical information must remain persistent,
|
||||
PricingCard,surfaces,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,pricing preview,P9-008
|
||||
TestimonialContent,evidence,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,testimonial section,P9-012
|
||||
CustomerLogoContent,evidence,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,trust proof,P9-012
|
||||
ApprovedProductCapture,media,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,hero; product UI previews,P9-006
|
||||
LoginDestination,actions,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,header; footer,P9-015
|
||||
SalesDestination,actions,blocked,Not implemented,Phase 12 prompt; docs/IMPLEMENTATION_ISSUE_REGISTER_v1.1.csv,hero; final CTA,P9-016
|
||||
|
@@ -0,0 +1,22 @@
|
||||
# Phase 12 Definition of Done Status
|
||||
|
||||
## Satisfied in this implementation environment
|
||||
|
||||
- Phase 11 static behavior and immutable Phase 9 checks remain intact.
|
||||
- Formatting, linting, strict TypeScript validation, token/locale/route/RTL/component validation, 22 unit tests, coverage thresholds, production build with an explicit local origin, and standalone locale rendering pass.
|
||||
- Required component families are implemented or explicitly blocked/excluded.
|
||||
- Public APIs are typed and documented.
|
||||
- Components consume semantic tokens and support EN, FR, AR, light/dark/system foundations, document RTL, keyboard semantics, focus states, responsive composition, long content, and deterministic fictional fixtures.
|
||||
- No unsupported claim, testimonial, metric, logo, final destination, CRM transmission, analytics collection, consent integration, pricing logic, or authentication was introduced.
|
||||
- Dependency additions: none.
|
||||
- Component inventory, traceability, behavior matrices, reports, issue records, decision records, handoff, and package manifest are present.
|
||||
|
||||
## Acceptance gates still open
|
||||
|
||||
- P12-001: Browser and automated accessibility execution in an unblocked loopback environment.
|
||||
- P12-002: Visual baseline generation and design approval.
|
||||
- P12-003: Full suite on pinned Node 24.17.0.
|
||||
- P12-004: Frozen pnpm installation and dependency audit with registry access.
|
||||
- P12-005: Manual keyboard, touch, screen-reader, zoom, reduced-motion, and forced-colors matrix.
|
||||
|
||||
Phase 13 development may proceed. Phase 12 release acceptance may not be declared until these gates close.
|
||||
@@ -0,0 +1,25 @@
|
||||
# Phase 12 Dependency Change Report
|
||||
|
||||
## Result
|
||||
|
||||
No direct production or development dependency was added, removed, or version-changed in Phase 12. The exact Phase 11 dependency graph and `pnpm-lock.yaml` are retained.
|
||||
|
||||
## Rationale
|
||||
|
||||
- Icons use a reviewed internal SVG map.
|
||||
- Dialog and drawer behavior use native `dialog` plus existing React utilities.
|
||||
- Tabs, accordion, segmented controls, menus, tooltips, and form primitives use platform semantics and existing React.
|
||||
- CSS Modules remain the sole component styling method.
|
||||
- Existing Vitest, Testing Library, Playwright, and axe packages cover automated tests.
|
||||
|
||||
## Verification
|
||||
|
||||
`scripts/validate-runtime-dependencies.mjs` confirms the exact pinned direct versions remain represented in the lockfile. `npm install --engine-strict=false --ignore-scripts --package-lock=false` was used only as a local fallback after registry failures prevented the required frozen pnpm installation.
|
||||
|
||||
## Blocked gates
|
||||
|
||||
- `pnpm install --frozen-lockfile`: blocked by registry DNS failures.
|
||||
- `pnpm audit --audit-level low`: blocked by registry DNS failures and timed out after retry scheduling.
|
||||
- Node 24.17.0 verification: unavailable on this host; Node 22.16.0 was used for local execution.
|
||||
|
||||
These are tracked by P12-003 and P12-004.
|
||||
@@ -0,0 +1,95 @@
|
||||
Component_family,Scenario,Width_css_px,Expected_behavior,Automated_status,Manual_status
|
||||
actions,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
actions,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
actions,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
actions,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
actions,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
calls to action,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
calls to action,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
calls to action,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
calls to action,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
calls to action,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
comparison,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
comparison,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
comparison,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
comparison,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
comparison,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
evidence,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
evidence,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
evidence,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
evidence,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
evidence,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
feedback,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
feedback,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
feedback,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
feedback,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
feedback,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
forms,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
forms,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
forms,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
forms,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
forms,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
foundational utilities,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
foundational utilities,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
foundational utilities,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
foundational utilities,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
foundational utilities,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
icon system,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
icon system,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
icon system,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
icon system,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
icon system,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
marketing surfaces,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
marketing surfaces,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
marketing surfaces,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
marketing surfaces,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
marketing surfaces,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
media,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
media,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
media,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
media,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
media,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
navigation,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
navigation,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
navigation,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
navigation,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
navigation,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
overlays,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
overlays,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
overlays,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
overlays,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
overlays,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
product previews,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
product previews,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
product previews,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
product previews,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
product previews,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
section patterns,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
section patterns,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
section patterns,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
section patterns,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
section patterns,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
selection controls,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
selection controls,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
selection controls,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
selection controls,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
selection controls,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
surfaces,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
surfaces,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
surfaces,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
surfaces,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
surfaces,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
typography,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
typography,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
typography,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
typography,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
typography,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
workflow,Narrow mobile,320,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
workflow,Mobile,390,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
workflow,Tablet,768,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
workflow,Standard desktop,1024,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
workflow,Wide desktop,1440,No page overflow; content-driven reflow; 44px controls; logical order,Fixture test authored; execution blocked by pnpm/browser availability,Pending
|
||||
Cross-component,200% zoom,Variable,"No clipped text, hidden actions, or unexpected horizontal page overflow",Risk-based browser test authored where applicable,Pending
|
||||
Cross-component,400% zoom equivalent at 320 CSS px,Variable,"No clipped text, hidden actions, or unexpected horizontal page overflow",Risk-based browser test authored where applicable,Pending
|
||||
Cross-component,Reduced viewport height,Variable,"No clipped text, hidden actions, or unexpected horizontal page overflow",Risk-based browser test authored where applicable,Pending
|
||||
Cross-component,Landscape mobile,Variable,"No clipped text, hidden actions, or unexpected horizontal page overflow",Risk-based browser test authored where applicable,Pending
|
||||
|
@@ -0,0 +1,61 @@
|
||||
Component,Layout,Content_order,Icon_behavior,Motion,Mixed_direction,Review_status
|
||||
VisuallyHidden,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,Not applicable,Reviewed
|
||||
BidiText,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
LiveRegion,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Icon,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,Not applicable,Reviewed
|
||||
Button,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,Not applicable,Reviewed
|
||||
ActionLink,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
FormField,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
TextInput,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
TextArea,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Select,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Checkbox,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Radio,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Switch,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Fieldset,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
ErrorSummary,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Tabs,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
SegmentedControl,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Accordion,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Pagination,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Dialog,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
DropdownMenu,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Tooltip,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Alert,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Progress,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Spinner,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Skeleton,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
StateMessage,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
StatusBadge,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Card,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Panel,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Callout,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Heading,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Eyebrow,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Text,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Quote,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Breadcrumbs,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
SectionNavigation,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
FooterLinkGroup,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
MediaFrame,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
ResponsiveImage,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
SectionHeader,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
FeatureCard,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
FeatureGrid,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
SplitContent,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
MetricStrip,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
LogoStripShell,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Workflow,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,Directional icons mirror; universal/media/brand symbols remain fixed,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Comparison,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Metric,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
EvidenceShell,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
CTA,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
ProductPreview,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
DemoForm,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
Toast,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
PricingCard,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
TestimonialContent,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
CustomerLogoContent,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
ApprovedProductCapture,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
LoginDestination,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
SalesDestination,Logical CSS properties; one DOM tree,Preserve semantic/process order; flex/grid follows document direction only where meaningful,No automatic mirroring,Direction-aware only where meaning changes,"Use BidiText for identifiers, email, phone, URL, plate and model codes",Reviewed
|
||||
|
@@ -0,0 +1,3 @@
|
||||
Fixture,Components,Locales,Themes,Widths,States,Location,Production_guard
|
||||
Core component lab,"Actions, forms, tabs, accordion, dialog, menu, alerts, workflow, comparison, preview, evidence, CTA",en; fr; ar,light; dark; system,320; 390; 768; 1024; 1440,default; focus; disabled; loading; error; long-content; RTL,src/app/[locale]/component-lab,COMPONENT_FIXTURES_ENABLED=true
|
||||
Deterministic content model,All component-lab copy and fictional IDs,en; fr; ar,N/A,N/A,long French; formal Arabic; mixed identifiers,src/content/development/component-lab.ts,Route guard
|
||||
|
@@ -0,0 +1,9 @@
|
||||
Test_type,Path,Coverage,Artifact_status,Execution_status
|
||||
Unit,tests/unit/components/actions.test.tsx,Button loading/name; icon-only label; disabled destination,Authored,Not executed: package manager unavailable
|
||||
Unit,tests/unit/components/controls.test.tsx,Tabs keyboard; accordion semantics,Authored,Not executed
|
||||
Unit,tests/unit/components/forms.test.tsx,Label/help/error relationships; summary links,Authored,Not executed
|
||||
Unit,tests/unit/components/evidence.test.tsx,Evidence production suppression,Authored,Not executed
|
||||
Type-level,tests/types/component-contracts.test-d.tsx,Icon-only label and metric model,Authored,Not executed
|
||||
Browser,tests/browser/component-system.spec.ts,Locale/RTL/reflow/keyboard/dialog focus,Authored,Not executed
|
||||
Accessibility,tests/a11y/component-system.a11y.spec.ts,Axe on en/fr/ar fixture,Authored,Not executed
|
||||
Visual,tests/visual/component-system.visual.spec.ts,"en-light, fr-dark, ar-dark/mobile",Authored,Baselines not generated or approved
|
||||
|
@@ -0,0 +1,177 @@
|
||||
Component,Status,Variant,Controlled_by,Production_restriction
|
||||
VisuallyHidden,implemented,None,N/A,Blocked or excluded; see issue register
|
||||
BidiText,implemented,None,N/A,Blocked or excluded; see issue register
|
||||
LiveRegion,implemented,polite,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
LiveRegion,implemented,assertive,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Icon,implemented,sm,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Icon,implemented,md,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Icon,implemented,lg,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Icon,implemented,fixed,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Icon,implemented,mirror,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,primary,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,conversion,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,secondary,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,tertiary,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,ghost,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,destructive,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,link,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,icon-only,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Button,implemented,loading,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,inline,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,navigation,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,standalone,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,button-primary,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,button-conversion,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,muted,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ActionLink,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FormField,implemented,required,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FormField,implemented,optional,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FormField,implemented,supporting,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FormField,implemented,error,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,text,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,email,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,telephone,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,url,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,search,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,invalid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextInput,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextArea,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextArea,implemented,character-count,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextArea,implemented,invalid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
TextArea,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Select,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Select,implemented,invalid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Select,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Checkbox,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Checkbox,implemented,checked,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Checkbox,implemented,invalid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Checkbox,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Radio,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Radio,implemented,checked,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Radio,implemented,invalid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Radio,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Switch,implemented,on,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Switch,implemented,off,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Switch,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Fieldset,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ErrorSummary,implemented,error-list,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Tabs,implemented,automatic,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Tabs,implemented,manual,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Tabs,implemented,disabled-tab,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SegmentedControl,implemented,selected,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SegmentedControl,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Accordion,implemented,open,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Accordion,implemented,closed,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Pagination,implemented,current,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Pagination,implemented,previous,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Pagination,implemented,next,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Dialog,implemented,modal,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Dialog,implemented,drawer,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Dialog,implemented,dismissible,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Dialog,implemented,non-dismissible,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
DropdownMenu,implemented,open,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
DropdownMenu,implemented,closed,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
DropdownMenu,implemented,disabled-item,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
DropdownMenu,implemented,destructive-item,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Tooltip,implemented,hover,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Tooltip,implemented,focus,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Alert,implemented,info,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Alert,implemented,success,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Alert,implemented,warning,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Alert,implemented,error,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Alert,implemented,inline,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Progress,implemented,determinate,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Progress,implemented,indeterminate,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Spinner,implemented,loading,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Skeleton,implemented,single-line,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Skeleton,implemented,multi-line,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Skeleton,implemented,reduced-motion,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StateMessage,implemented,empty,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StateMessage,implemented,error,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StateMessage,implemented,success,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StateMessage,implemented,information,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StatusBadge,implemented,neutral,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StatusBadge,implemented,info,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StatusBadge,implemented,success,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StatusBadge,implemented,warning,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
StatusBadge,implemented,error,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Card,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Card,implemented,muted,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Card,implemented,elevated,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Card,implemented,strong,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Card,implemented,interactive,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Panel,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Panel,implemented,muted,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Panel,implemented,elevated,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Panel,implemented,strong,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Callout,implemented,information,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Heading,implemented,display,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Heading,implemented,section,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Heading,implemented,subheading,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Heading,implemented,levels-1-6,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Eyebrow,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Text,implemented,lead,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Text,implemented,body,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Text,implemented,supporting,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Text,implemented,caption,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Text,implemented,label,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Quote,implemented,with-citation,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Quote,implemented,without-citation,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Breadcrumbs,implemented,current-page,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SectionNavigation,implemented,current-location,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SectionNavigation,implemented,overflow,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FooterLinkGroup,implemented,resolved,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FooterLinkGroup,implemented,disabled,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,square,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,landscape,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,wide,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,portrait,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,auto,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,captioned,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MediaFrame,implemented,decorative,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ResponsiveImage,implemented,meaningful,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ResponsiveImage,implemented,decorative,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ResponsiveImage,implemented,captioned,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SectionHeader,implemented,start,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SectionHeader,implemented,center,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FeatureCard,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FeatureCard,implemented,primary,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FeatureCard,implemented,muted,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
FeatureGrid,implemented,responsive-grid,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SplitContent,implemented,default,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
SplitContent,implemented,reverse,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
MetricStrip,implemented,responsive-strip,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
LogoStripShell,implemented,empty-shell,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
LogoStripShell,implemented,content,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Workflow,implemented,numbered,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Workflow,implemented,icon,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Workflow,implemented,stacked,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Workflow,implemented,horizontal,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Comparison,implemented,problem-solution,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Comparison,implemented,stacked,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Comparison,implemented,two-column,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Metric,implemented,approved,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Metric,implemented,pending-review,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Metric,implemented,research-only,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
Metric,implemented,prohibited,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
EvidenceShell,implemented,approved,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
EvidenceShell,implemented,pending-review,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
EvidenceShell,implemented,research-only,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
EvidenceShell,implemented,prohibited,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,inline,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,card,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,section,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,primary-only,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,dual-action,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
CTA,implemented,disabled-destination,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ProductPreview,implemented,illustrative,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ProductPreview,implemented,empty,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
ProductPreview,implemented,responsive-table,Typed prop or semantic state,No arbitrary color or spacing override
|
||||
DemoForm,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
Toast,excluded,None,N/A,Blocked or excluded; see issue register
|
||||
PricingCard,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
TestimonialContent,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
CustomerLogoContent,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
ApprovedProductCapture,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
LoginDestination,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
SalesDestination,blocked,None,N/A,Blocked or excluded; see issue register
|
||||
|
Reference in New Issue
Block a user