Files
glitch_demographic_wave/src/index.tsx
T
2026-06-10 11:48:40 +02:00

71 lines
1.5 KiB
TypeScript

import Component from './Component'
import type { GlitchComponentMetadata } from './types'
export default Component
export const metadata: GlitchComponentMetadata = {
name: 'demographic-wave',
displayName: 'Demographic Wave',
version: '1.0.0',
paramSchema: {
startYear: {
type: 'range',
label: 'Start Year',
default: 1946,
min: 1946,
max: 2028,
step: 1
},
endYear: {
type: 'range',
label: 'End Year',
default: 2038,
min: 1964,
max: 2038,
step: 1
},
animationSpeed: {
type: 'range',
label: 'Animation Speed',
default: 1,
min: 0.25,
max: 3,
step: 0.25
},
waveScale: {
type: 'range',
label: 'Boomer Wave Scale',
default: 1.15,
min: 0.2,
max: 1.8,
step: 0.05
},
startEqualized: {
type: 'boolean',
label: 'Start Equalized',
default: false
}
},
defaultParams: {
startYear: 1946,
endYear: 2038,
animationSpeed: 1,
waveScale: 1.15,
startEqualized: false
}
}
export type {
GlitchComponentProps,
GlitchComponentConfig,
GlitchComponentResult,
GlitchTheme,
GlitchHostBridge
} from './types'
if (typeof window !== 'undefined') {
type GCRegistry = Record<string, { default: typeof Component; metadata: GlitchComponentMetadata }>
;(window as unknown as { GlitchComponents: GCRegistry }).GlitchComponents ??= {}
;(window as unknown as { GlitchComponents: GCRegistry }).GlitchComponents[metadata.name] = { default: Component, metadata }
}