export { I as ItemContainer, a as ItemPrintVariables, Q as QtiItem } from './qti-item.d-DjWvKbfL.js'; import { LitElement } from 'lit'; import { V as View } from './session.context.d-Cw8GcziG.js'; import { QtiAssessmentItem } from './elements.js'; import './qti.context.d-CejJMlfZ.js'; import './config.context.d-BvU9r-Mg.js'; import './item.types.d-DuVR0ZVK.js'; import './interaction.interface.d-CvjHM2bi.js'; import './qti-feedback.d-DbzPSJuK.js'; import './qti-rule-base.d-Bdzg8eGH.js'; type Constructor = abstract new (...args: any[]) => T; declare class ItemViewInterface { view: View; updateAssessmentItemView(assessmentItem: QtiAssessmentItem, view: View): void; } /** * The audience a standalone item is presented to — the item-level counterpart of * `TestViewMixin`. * * QTI tags view-specific content with a `view` attribute (`qti-rubric-block view="scorer"` is * the common one: the answer model a marker reads). The item stylesheet hides every `[view]` * element and reveals it again through a `.show` class, so something has to put that class on. * Inside a test `TestViewMixin` does it off `sessionContext.view`. An item delivered on its own * has no session, and before this mixin nothing at item level did it either — the hide shipped * in `item.css` without its matching show, so a rubric block in a standalone item could not be * displayed at all, by any public API. That is what this closes. * * Deliberately a plain property rather than a session context: a session is the thing a * standalone item does not have, and `` is the whole API. * * The view is not itself a correction concept: it says which audience the item is for, and what * that implies about answer keys is a separate question with a different answer per audience. So * this mixin only resolves the view and paints nothing. Packages that add * view-dependent presentation hook in through {@link updateAssessmentItemView}; that is where * `@qti-components/corrections` pairs `scorer` with the answer key, exactly as * `QtiTestCorrection` does at test level. */ declare const ItemViewMixin: >(superClass: T) => Constructor & T; export { ItemViewMixin };