NOTE
Reference of additions from widget intro note, summary of private feature integration doc
Creating a New Widget
- Create directory:
{dir}/widgets/{widget-name}/ - Create
component.tsx- exports a Preact component that renders static HTML with data attributes - Create
script.inline.ts- client-side script that hydrates the widget usingcreateWidgetScripthelper - Create
style.inline.scss- styles for the widget - Create
index.ts- exportsWidgetDefinitionwith Component, script, css, selector, and scriptName - Register in
{dir}/widgets/registry.ts- add import and entry toquartzWidgetsobject
Usage in MDX
import { WidgetName } from '@widgets/{widget-name}'
import { ContentWidget } from '@content/widgets/{widget-name}'
<WidgetName prop1="value" prop2={123} />
<ContentWidget config={[1, 2, 3]} />PDF Viewer Example
import { PDFViewer } from '@widgets/pdf-viewer'
<PDFViewer
src="/assets/document.pdf"
title="My Document"
height="800px"
/>