{
  "id": "keywords/component",
  "mentions": [
    {
      "context": "…me, logo, colours and a label here and there, and never wants to touch the components. theme.yaml already carries the name, the logo, the favicon, the font fami…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "The site is a set of named slots rendered at build by components, each with a typed view model that is the contract between the generator and a theme; the publi…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "components",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…one binaries as assets, and the mirrors of the GitHub action and the GitLab component at the same version. Every form of one version names the same commit: the …",
      "file": {
        "href": "../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../specs/processes/quality/release/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "component",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…hange, and both come from the profile. A type may have a page of its own: a component a theme or the type's module provides for it is rendered instead of the ge…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "passages": 4,
      "surface": "component",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "… language, its note template and, when the generic page is not enough, the components that render it. The core types are written that way and the default profil…",
      "file": {
        "href": "../../specs/decisions/inference/types-as-modules/index.html",
        "label": "decisions/inference/types-as-modules.md"
      },
      "href": "../../specs/decisions/inference/types-as-modules/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "components",
      "title": "Types as modules",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "An interactive component of the site served as its static markup inside a <concordance-island> element carrying its props, and mounted again by one small bundle…",
      "file": {
        "href": "../../glossary/publication/site/island/index.html",
        "label": "publication/site/island.md"
      },
      "href": "../../glossary/publication/site/island/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Island",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "The model: every page is a set of named slots, each rendered by a component with a typed view model, the contract between the generator and a theme. A theme tha…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…el, the contract between the generator and a theme. A theme that replaces a component keeps the view model; the accessibility checks run on the rendered pages w…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.md"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L14",
      "kind": "recognised",
      "line": 14,
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…olours and a label here and there.  An integrator never wants to touch the components.  Nothing a reader sees names the tool unless the project asks for it.  Th…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L2",
      "kind": "recognised",
      "line": 2,
      "location": "p. 2",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…h typed view models  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract between the generator and a the…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "p. 4",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…is the contract between the generator and a theme.  A theme that replaces a component keeps the view model; the checks run on the rendered pages.  Theme overrid…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "p. 4",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…: search, mentions panel, mode switch.  Four cascade layers: tokens, base, components, project.  The project stylesheet is loaded last and wins by construction.…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pdf"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "p. 5",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…olours and a label here and there.  An integrator never wants to touch the components.  Nothing a reader sees names the tool unless the project asks for it.  Th…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L2",
      "kind": "recognised",
      "line": 2,
      "location": "slide 2",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…h typed view models  Every page is a set of named slots, each rendered by a component.  The view model of a slot is the contract between the generator and a the…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…is the contract between the generator and a theme.  A theme that replaces a component keeps the view model; the checks run on the rendered pages.  Theme overrid…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "slide 4",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…: search, mentions panel, mode switch.  Four cascade layers: tokens, base, components, project.  The project stylesheet is loaded last and wins by construction.…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.pptx"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "slide 5",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…the problem. An integrator wants the organisation's name, logo and colours, sometimes a different label here and there, and never wants to touch the components.",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L2",
      "kind": "recognised",
      "line": 2,
      "location": "05:15",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…he model we propose. Every page is a set of named slots, each rendered by a component with a typed view model. The view model is the contract between the genera…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L4",
      "kind": "recognised",
      "line": 4,
      "location": "15:00",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "A theme that replaces a component has to keep the view model, then. What stops a theme from dropping the mentions or the legend?",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L5",
      "kind": "recognised",
      "line": 5,
      "location": "20:30",
      "passages": 15,
      "surface": "component",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…et of the project wins by construction. Four cascade layers: tokens, base, components, project. The project layer is last, so nothing in the default theme can o…",
      "file": {
        "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html",
        "label": "meetings/2026/2026-08-27-theme-override-model/theme-override-model.vtt"
      },
      "href": "../../briefs/meetings/2026/2026-08-27-theme-override-model/theme-override-model/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "location": "34:30",
      "passages": 15,
      "surface": "components",
      "title": "Theme override model",
      "type": "meeting",
      "typeLabel": "Meeting"
    },
    {
      "context": "…he published HTML carries the full content of every page. Only interactive components are hydrated: an island is served as its static markup inside an element c…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "components",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…small bundle per island, named after a hash of its content, mounts the same component on it, loaded only by the pages that use it, so that a page loads no frame…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "component",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…, is a module. Styling is native CSS in four cascade layers, tokens, base, components and project, the project's stylesheet winning every cascade by constructio…",
      "file": {
        "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html",
        "label": "decisions/publication/slots-islands-and-layers.md"
      },
      "href": "../../specs/decisions/publication/slots-islands-and-layers/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 4,
      "surface": "components",
      "title": "Slots, islands and layers",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…s the same commit: the tag, the packages on npm, the image, the action, the component and the pre-commit hook. Versions follow semantic versioning; before 1.0.0…",
      "file": {
        "href": "../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../specs/processes/quality/release/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "passages": 4,
      "surface": "component",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…et files are deleted, the lock file and the version pins of the action, the component and the hook are rewritten; a changelog entry a user would not understand …",
      "file": {
        "href": "../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../specs/processes/quality/release/index.html#L12",
      "kind": "recognised",
      "line": 12,
      "passages": 4,
      "surface": "component",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…gest of the image when it is on the registry; the action repository and the component project receive the version, each when its token exists, the action with i…",
      "file": {
        "href": "../../specs/processes/quality/release/index.html",
        "label": "processes/quality/release.md"
      },
      "href": "../../specs/processes/quality/release/index.html#L17",
      "kind": "recognised",
      "line": 17,
      "passages": 4,
      "surface": "component",
      "title": "Release",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "The page of a type is resolved before it is rendered: a component named EntityPage@<type> by a theme, or the EntityPage a type module ships, replaces the generi…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L25",
      "kind": "recognised",
      "line": 25,
      "passages": 4,
      "surface": "component",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…on (Section@<key>), which the generic template renders through the resolved component when there is one. The priority is fixed: the project theme, then the type…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L25",
      "kind": "recognised",
      "line": 25,
      "passages": 4,
      "surface": "component",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…type module, then the default theme; the build summary lists every resolved component. The runbook of the example plugin, a procedure for operating the tool, ha…",
      "file": {
        "href": "../../specs/screens/pages/entity-page/index.html",
        "label": "screens/pages/entity-page.md"
      },
      "href": "../../specs/screens/pages/entity-page/index.html#L25",
      "kind": "recognised",
      "line": 25,
      "passages": 4,
      "surface": "component",
      "title": "Entity page",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…the type and every attribute of the note, declared and not, and a dedicated component for a type, an attribute or a mapped section is resolved by name, the proj…",
      "file": {
        "href": "../../specs/decisions/inference/types-as-modules/index.html",
        "label": "decisions/inference/types-as-modules.md"
      },
      "href": "../../specs/decisions/inference/types-as-modules/index.html#L8",
      "kind": "recognised",
      "line": 8,
      "passages": 2,
      "surface": "component",
      "title": "Types as modules",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "…ult theme implements every slot; a plugin theme replaces any of them with a component receiving the same props, and the slots it does not provide stay default. …",
      "file": {
        "href": "../../glossary/publication/site/slot/index.html",
        "label": "publication/site/slot.md"
      },
      "href": "../../glossary/publication/site/slot/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Slot",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ports a faulty key by its path. A plugin may ship a theme of its own, with components replacing parts of the site; the project's file wins over a plugin's. A th…",
      "file": {
        "href": "../../glossary/publication/site/theme/index.html",
        "label": "publication/site/theme.md"
      },
      "href": "../../glossary/publication/site/theme/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "components",
      "title": "Theme",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…e fixes with --fix, and runs the same way as an npm package, a standalone binary, a GitHub action, a GitLab component, the container image or a pre-commit hook.",
      "file": {
        "href": "../../glossary/quality/linter/linter/index.html",
        "label": "quality/linter/linter.md"
      },
      "href": "../../glossary/quality/linter/linter/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Linter",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…balls go to npm, the container image to its registry and the action and the component to their mirrors once the maintainer has enabled each publication. Every f…",
      "file": {
        "href": "../../glossary/quality/linter/release/index.html",
        "label": "quality/linter/release.md"
      },
      "href": "../../glossary/quality/linter/release/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Release",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…del), uiComponents (a bundle a slot loads on demand), themes (a theme with components by slot) and types (a type module per folder, merged into the profile). Th…",
      "file": {
        "href": "../../glossary/quality/plugins/contribution-point/index.html",
        "label": "quality/plugins/contribution-point.md"
      },
      "href": "../../glossary/quality/plugins/contribution-point/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "components",
      "title": "Contribution point",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…ract importer, an inference method, a check, a projection, a user interface component. The core reads markdown and produces JSON; everything that needs a format…",
      "file": {
        "href": "../../glossary/quality/plugins/plugin/index.html",
        "label": "quality/plugins/plugin.md"
      },
      "href": "../../glossary/quality/plugins/plugin/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Plugin",
      "type": "term",
      "typeLabel": "Term"
    },
    {
      "context": "…contract importers, inference methods, checks, projections, user interface components, themes and types, each type a module folder merged into the profile. A pl…",
      "file": {
        "href": "../../specs/api/plugin-api/index.html",
        "label": "api/plugin-api.md"
      },
      "href": "../../specs/api/plugin-api/index.html#L9",
      "kind": "recognised",
      "line": 9,
      "surface": "components",
      "title": "Plugin API",
      "type": "api",
      "typeLabel": "API"
    },
    {
      "context": "The viewer is an island of the default theme, the first user interface component it contributes through the plugin API, and reads a view the build writes from t…",
      "file": {
        "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html",
        "label": "decisions/publication/purpose-built-contract-viewer.md"
      },
      "href": "../../specs/decisions/publication/purpose-built-contract-viewer/index.html#L10",
      "kind": "recognised",
      "line": 10,
      "surface": "component",
      "title": "Purpose-built contract viewer",
      "type": "decision",
      "typeLabel": "Decision"
    },
    {
      "context": "Resolve the theme: the components the plugins contribute and the project's theme.yaml, whose labels override the message catalogue of the project locale.",
      "file": {
        "href": "../../specs/processes/ingestion/build-pipeline/index.html",
        "label": "processes/ingestion/build-pipeline.md"
      },
      "href": "../../specs/processes/ingestion/build-pipeline/index.html#L29",
      "kind": "recognised",
      "line": 29,
      "surface": "components",
      "title": "Build pipeline",
      "type": "process",
      "typeLabel": "Process"
    },
    {
      "context": "…onts and the icons, adds the project stylesheet, or overrides a slot with a component of a plugin theme, and checks the result in the gallery against the budget…",
      "file": {
        "href": "../../specs/roles/publication/theme-author/index.html",
        "label": "roles/publication/theme-author.md"
      },
      "href": "../../specs/roles/publication/theme-author/index.html#L6",
      "kind": "recognised",
      "line": 6,
      "surface": "component",
      "title": "Theme author",
      "type": "role",
      "typeLabel": "Role"
    },
    {
      "context": "Automated audit. axe-core runs over every page of the component gallery in continuous integration and fails on any violation of impact serious or critical.",
      "file": {
        "href": "../../specs/rules/engine/accessibility/index.html",
        "label": "rules/engine/accessibility.rule.md"
      },
      "href": "../../specs/rules/engine/accessibility/index.html#L15",
      "kind": "recognised",
      "line": 15,
      "surface": "component",
      "title": "Accessibility",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ts readers, converters, sources, inference methods, checks, projections or components took part in the build. An optional dependency yields the same finding as …",
      "file": {
        "href": "../../specs/rules/engine/disabled-plugin/index.html",
        "label": "rules/engine/disabled-plugin.rule.md"
      },
      "href": "../../specs/rules/engine/disabled-plugin/index.html#L7",
      "kind": "recognised",
      "line": 7,
      "surface": "components",
      "title": "Disabled plugin",
      "type": "rule",
      "typeLabel": "Business rule"
    },
    {
      "context": "…ed location is one, and \"Why this failure?\" unfolding the finding. The notice is one component, the only banner of the site, which the failed conversion shares.",
      "file": {
        "href": "../../specs/screens/pages/edge-cases/index.html",
        "label": "screens/pages/edge-cases.md"
      },
      "href": "../../specs/screens/pages/edge-cases/index.html#L21",
      "kind": "recognised",
      "line": 21,
      "surface": "component",
      "title": "Edge cases",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…e or, when a theme or the type's module provides one, through its dedicated component, which the index names. The pages use a neutral palette and the labels of …",
      "file": {
        "href": "../../specs/screens/pages/gallery-index/index.html",
        "label": "screens/pages/gallery-index.md"
      },
      "href": "../../specs/screens/pages/gallery-index/index.html#L13",
      "kind": "recognised",
      "line": 13,
      "surface": "component",
      "title": "Gallery index",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "…lettes with its ratio, and no dark value is deduced from the light one. The component gallery shows the entity page and the home page in the dark scheme, forced…",
      "file": {
        "href": "../../specs/screens/panels/colour-scheme/index.html",
        "label": "screens/panels/colour-scheme.md"
      },
      "href": "../../specs/screens/panels/colour-scheme/index.html#L19",
      "kind": "recognised",
      "line": 19,
      "surface": "component",
      "title": "Colour scheme",
      "type": "screen",
      "typeLabel": "Screen"
    },
    {
      "context": "The same component renders an OpenAPI and a WSDL contract: the plugins that import them produce one common view, and the viewer never knows the format. It conta…",
      "file": {
        "href": "../../specs/viewers/contract-viewer/index.html",
        "label": "viewers/contract-viewer.md"
      },
      "href": "../../specs/viewers/contract-viewer/index.html#L18",
      "kind": "recognised",
      "line": 18,
      "surface": "component",
      "title": "Contract viewer",
      "type": "screen",
      "typeLabel": "Screen"
    }
  ]
}
