mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2026-03-01 12:44:37 +00:00
27 lines
656 B
TypeScript
27 lines
656 B
TypeScript
// eslint-disable-next-line import-x/no-namespace -- needed for dynamic component registration
|
|
import * as components from './components'
|
|
|
|
import type { App, Component, Plugin } from 'vue-demi'
|
|
|
|
/**
|
|
* Vue plugin for global component registration
|
|
*
|
|
* Usage:
|
|
* ```ts
|
|
* import { OcelotUI } from '@ocelot-social/ui'
|
|
* app.use(OcelotUI)
|
|
* ```
|
|
*/
|
|
const OcelotUI: Plugin = {
|
|
install(app: App) {
|
|
for (const [name, component] of Object.entries(components)) {
|
|
// Only register Vue components (starting with 'Os')
|
|
if (name.startsWith('Os')) {
|
|
app.component(name, component as Component)
|
|
}
|
|
}
|
|
},
|
|
}
|
|
|
|
export default OcelotUI
|