feat: добавить серверную генерацию спрайтов

This commit is contained in:
2026-07-16 09:14:11 +03:00
parent e9ae91815a
commit 57342fae4e
379 changed files with 3108 additions and 655 deletions

View File

@@ -1,28 +1,43 @@
import '@gromlab/svg-sprites/viewer/element'
import type { SpriteViewerElement } from '@gromlab/svg-sprites/viewer'
import spriteManifest from './sprite/.svg-sprite/svg-sprite.manifest.js'
import { defineIconsIconElement, iconsSpriteUrl } from './sprite'
import appManifest from './app-icons/.svg-sprite/svg-sprite.manifest.js'
import { appSpriteUrl, defineAppIconElement } from './app-icons'
import remoteAppManifest from './remote-app-icons/.svg-sprite/svg-sprite.manifest.js'
import { defineRemoteAppIconElement, remoteAppSpriteUrl } from './remote-app-icons'
import './style.css'
const check = spriteManifest.icons.find((icon) => icon.name === 'check')
if (!check || spriteManifest.spriteUrl !== iconsSpriteUrl) {
const appCheck = appManifest.icons.find((icon) => icon.name === 'check')
if (!appCheck || appManifest.spriteUrl !== appSpriteUrl) {
throw new Error('Generated Vite facade and manifest disagree.')
}
defineIconsIconElement()
const remoteAppCheck = remoteAppManifest.icons.find((icon) => icon.name === 'check')
if (!remoteAppCheck || remoteAppManifest.spriteUrl !== remoteAppSpriteUrl) {
throw new Error('Generated remote Vite facade and manifest disagree.')
}
defineAppIconElement()
defineRemoteAppIconElement()
document.querySelector<HTMLDivElement>('#app')!.innerHTML = `
<h1>Standalone + Vite</h1>
<icons-icon
<app-icon
data-testid="icon"
data-app="standalone-vite"
icon="check"
role="img"
aria-label="Check icon"
></icons-icon>
></app-icon>
<remote-app-icon
data-testid="remote-icon"
data-app="standalone-vite-remote"
icon="check"
role="img"
aria-label="Remote check icon"
></remote-app-icon>
<gromlab-sprite-viewer></gromlab-sprite-viewer>
`
const viewer = document.querySelector<SpriteViewerElement>('gromlab-sprite-viewer')!
viewer.viewerTitle = 'Standalone Vite Viewer'
viewer.sources = [spriteManifest]
viewer.sources = [appManifest, remoteAppManifest]