UI ìṣẹ̀dá pẹ̀lú Lyra Gen
Àwọn ìdáhùn àwòṣe tí a ṣàfihàn gẹ́gẹ́ bí àwọn ìṣàkóso Lyra gidi tí a ti fọwọ́ sí.
Lyra Gen ń sọ ìdáhùn àwòṣe tí ó ní ìṣètò di àwọn èròjà Lyra tí ó ṣeé wọlé nípasẹ̀ àkójọ tí a ti àyẹ̀wò. Àkóónú tí a ṣẹ̀dá lè dárúkọ àwọn ipa inú àkójọ nìkan, kò lè dárúkọ tag, skirípìtì tàbí ìṣe tí kò bófin mu; ohun èlò rẹ ni yóò máa ní ìbéèrè àwòṣe, dátà, ìṣe àti ibi ìpamọ́.
Àpẹẹrẹ
Yan ìpín kékeré kan nínú àkójọ tí a ti àyẹ̀wò, lẹ́yìn náà fọwọ́ sí ìfihàn tí a ṣẹ̀dá kí o tó ṣàfihàn rẹ̀.
import '@aceshooting/lyra-ui/theme.css';
import { initialCatalog, subsetCatalog } from '@aceshooting/lyra-gen/catalog.js';
import { validateView } from '@aceshooting/lyra-gen/runtime.js';
import { LyraGenViewElement } from '@aceshooting/lyra-gen/gen-view.js';
const selected = subsetCatalog(initialCatalog, ['stack', 'heading', 'text']);
if (!selected.ok) throw new Error('The requested catalog is unavailable.');
const catalog = selected.value;
const result = validateView({
version: '1', catalog: { id: catalog.id, version: catalog.version },
surfaceId: 'answer-1', revision: 0,
root: { id: 'summary', type: 'stack', children: [
{ id: 'title', type: 'heading', text: 'Quarterly summary' },
{ id: 'detail', type: 'text', text: 'Revenue increased this quarter.' },
] },
}, catalog);
if (!result.ok) throw new Error('The generated view was rejected.');
const view = new LyraGenViewElement();
view.catalog = catalog;
view.document = result.value;
document.body.append(view);