@ambita/infoland-component-library
| Install | |
|---|---|
npm install @ambita/infoland-component-library |
|
| Latest Version: | 1.3.11 |
| Vue: | 3 |
| License: | ISC |
| Last Updated: | Aug 20, 2026 |
| Links: | npm |
Infoland Component Library
Vue 3 component library with Riot.js wrappers (Vue-mounted).
π¦ This library replaces
infoland-flex-searchIf you're migrating from
infoland-flex-search, see the Migration Guide.
π― Quick Start
Vue 3
npm install @ambita/infoland-component-library
// main.ts
import { initLibraryConfig } from '@ambita/infoland-component-library/vue'
import '@ambita/infoland-component-library/vue/style.css'
initLibraryConfig({
environment: import.meta.env.VITE_INFOLAND_ENV
})
<script setup lang="ts">
import { SearchComponent } from '@ambita/infoland-component-library/vue'
</script>
<template>
<SearchComponent />
</template>
Riot.js (recommended lifecycle helper)
import { initLibraryConfig, useOfsInRiot } from '@ambita/infoland-component-library/riot'
import '@ambita/infoland-component-library/riot/style.css'
initLibraryConfig({
environment: 'beta'
})
this.on('before-mount', () => {
this.ofs = useOfsInRiot(this, {
ref: 'container',
getProps: () => ({ autofocus: true }),
onSearchResult: (result) => console.log('OFS result', result),
})
})
For lower-level/manual lifecycle control, createOfsWrapper and createVueWrapper
are still available.
π Documentation
- Full Documentation - Complete guide
- Quick Reference - Cheat sheet
- Vue Usage Guide - Using in Vue 3
- Development Guide - Contributing
- npm link Workflow - Local development
π οΈ Development
Available Scripts
npm run dev # Storybook at http://localhost:6006
npm run build # Production build (Vue + Riot)
npm run build:vue # Build Vue only
npm run build:riot # Build Riot bundle only
npm run build:watch # Watch mode (Vue + Riot)
npm test # Run tests
npm run type-check # TypeScript check
π¨ Features
- β Vue 3 components with full TypeScript support
- β Riot.js wrappers for Vue components
- β Design System Styling via DS tokens and components
- β Shared Services for API access
- β Tested with Vitest
π¦ What's Included
Components
SearchComponent- Multi-step search interfaceSearchInput- Search input fieldMapComponent- Map display component
Services
userServiceapiService
Utilities
- Riot.js event helpers (
on,onMany,withData,debounce,throttle) - Vue composables (
useApi,useConfig) - TypeScript types
π§± Project Structure
src/
βββ components/ # Vue 3 components
βββ composables/ # Vue composables
βββ styles/ # Design system styles and tokens
β βββ components/
βββ services/ # API and domain services
βββ models/ # Shared models and types
βββ config/ # Library configuration
βββ utils/ # Shared utilities
βββ riot/ # Riot.js wrappers/helpers
π§ Configuration
Vue and Riot wrappers share the same configuration API:
import { initLibraryConfig } from '@ambita/infoland-component-library/vue'
// or
import { initLibraryConfig } from '@ambita/infoland-component-library/riot'
initLibraryConfig({
environment: 'beta',
apiTimeout: 30000,
enableLogging: true
})
π¦ Package Exports
{
"@ambita/infoland-component-library": "Vue components (default)",
"@ambita/infoland-component-library/vue": "Vue 3 components",
"@ambita/infoland-component-library/riot": "Riot.js wrappers",
"@ambita/infoland-component-library/vue/style.css": "Vue styles",
"@ambita/infoland-component-library/riot/style.css": "Riot styles"
}
π Release workflow
Releases are fully automated via semantic-release.
How it works
- Merge a PR into
main. - The Release & Publish GitHub Actions workflow runs automatically.
- semantic-release reads all commits since the last tag and decides the next version:
| Commit prefix | Version bump |
|---|---|
fix: ... |
patch (1.0.0 β 1.0.1) |
feat: ... |
minor (1.0.0 β 1.1.0) |
BREAKING CHANGE: in footer |
major (1.0.0 β 2.0.0) |
chore:, docs:, refactor:, test: |
no release |
- If there is something to release:
package.jsonis bumped,docs/changelog.mdis updated, the package is published to npm, and a GitHub Release is created. - A Slack message is sent to
#infoland-deploymentwith the version and a list of what changed.
Sending to the #releases channel
Go to GitHub Actions β Release & Publish β Run workflow, tick
"Send notification to the #releases channel", and run. This is intended for
significant releases you want to announce broadly. Everyday releases only notify
#infoland-deployment.
π License
MIT .
Related Packages
UI Kit de componentes Vue 3 acessΓveis e reutilizΓ‘veis para projetos de eLicitaΓ§...
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.3.11 | ^3.5.32 | ISC | |
| 1.3.9 | ^3.5.32 | ISC | |
| 1.3.8 | ^3.5.32 | ISC | |
| 1.3.7 | ^3.5.32 | ISC | |
| 1.3.6 | ^3.5.32 | ISC | |
| 1.3.5 | ^3.5.32 | ISC | |
| 1.3.4 | ^3.5.32 | ISC | |
| 1.3.3 | ^3.5.32 | ISC | |
| 1.3.2 | ^3.5.32 | ISC | |
| 1.3.1 | ^3.5.32 | ISC | |
| 1.3.0 | ^3.5.32 | ISC | |
| 1.2.0 | ^3.5.32 | ISC | |
| 1.1.0 | ^3.5.32 | ISC | |
| 1.0.7 | ^3.5.32 | ISC | |
| 1.0.6 | ^3.5.32 | ISC | |
| 1.0.4 | ^3.5.32 | ISC | |
| 1.0.3 | ^3.5.32 | ISC | |
| 1.0.2 | ^3.5.32 | ISC | |
| 1.0.1 | ^3.5.32 | ISC | |
| 1.0.0 | ^3.5.32 | ISC | |
| 0.0.29 | ^3.5.32 | ISC | |
| 0.0.28 | ^3.5.32 | ISC | |
| 0.0.27 | ^3.5.32 | ISC | |
| 0.0.26 | ^3.5.32 | ISC | |
| 0.0.25 | ^3.5.32 | ISC | |
| 0.0.24 | ^3.5.32 | ISC | |
| 0.0.23 | ^3.5.32 | ISC | |
| 0.0.22 | ^3.5.32 | ISC | |
| 0.0.21 | 3.5.29 | ISC | |
| 0.0.20 | 3.5.29 | ISC |
Showing the latest 30 of 42. See every release on npm
Pre-releases (11)
| Version | Released | Vue | License |
|---|---|---|---|
| 1.3.7-beta.3 | ^3.5.32 | ISC | |
| 1.3.7-beta.1 | ^3.5.32 | ISC | |
| 1.3.4-beta.8 | ^3.5.32 | ISC | |
| 1.3.4-beta.7 | ^3.5.32 | ISC | |
| 1.3.4-beta.6 | ^3.5.32 | ISC | |
| 1.3.4-beta.5 | ^3.5.32 | ISC | |
| 1.3.4-beta.4 | ^3.5.32 | ISC | |
| 1.3.4-beta.3 | ^3.5.32 | ISC | |
| 1.3.4-beta.2 | ^3.5.32 | ISC | |
| 1.3.4-beta.1 | ^3.5.32 | ISC | |
| 1.3.4-beta.0 | ^3.5.32 | ISC |