mirror of
https://github.com/gromlab-ru/svg-sprites.git
synced 2026-07-22 04:40:17 +03:00
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
import { h, render } from 'preact'
|
|
|
|
import '@gromlab/svg-sprites/viewer/element'
|
|
import { AppIcon } from './app-icons/index.js'
|
|
import { RemoteAppIcon } from './remote-app-icons/index.js'
|
|
import './style.css'
|
|
|
|
const viewerSources = [
|
|
() => import('./app-icons/.svg-sprite/svg-sprite.manifest.js'),
|
|
() => import('./remote-app-icons/.svg-sprite/svg-sprite.manifest.js'),
|
|
]
|
|
|
|
function App() {
|
|
const connectViewer = (viewer) => {
|
|
if (viewer) viewer.sources = viewerSources
|
|
}
|
|
|
|
return h('main', null,
|
|
h('h1', null, 'Preact + Vite'),
|
|
h(AppIcon, {
|
|
'data-testid': 'icon',
|
|
'data-app': 'preact-vite',
|
|
icon: 'check',
|
|
'aria-label': 'Check icon',
|
|
width: 64,
|
|
height: 64,
|
|
style: { '--icon-color-1': '#16a34a' },
|
|
}),
|
|
h(RemoteAppIcon, {
|
|
'data-testid': 'remote-icon',
|
|
'data-app': 'preact-vite-remote',
|
|
icon: 'check',
|
|
'aria-label': 'Remote check icon',
|
|
width: 64,
|
|
height: 64,
|
|
style: { '--icon-color-1': '#16a34a' },
|
|
}),
|
|
h('gromlab-sprite-viewer', {
|
|
ref: connectViewer,
|
|
'viewer-title': 'Preact Vite Viewer',
|
|
}),
|
|
)
|
|
}
|
|
|
|
render(h(App), document.getElementById('root'))
|