@incoresoft/incoresoft-ui
| Install | |
|---|---|
npm install @incoresoft/incoresoft-ui@26.1.59 |
|
| Latest Version: | 26.1.59 |
| Vue: | 3 |
| License: | Custom |
| Last Updated: | Sep 30, 2026 |
| Links: | npm |
@incoresoft/incoresoft-ui
Vue 3 component library of Incoresoft VMS, for building VMS plugins that look and behave like the rest of the product: tables, modals, form fields, buttons, tabs, trees of expandable blocks, pagination, loaders and the services behind them.
This package targets VMS release 25.1. Use the 25.1.x versions of this package with a 25.1
VMS; see the VMS Plugin SDK documentation for the full picture.
How it is used in a VMS plugin
A VMS frontend plugin is a Webpack Module Federation remote loaded by the VMS host. The host already contains this library, and a plugin shares it as a singleton provided by the host:
// webpack.config.js of the plugin (ModuleFederationPlugin → shared)
'@incoresoft/incoresoft-ui': { singleton: true, requiredVersion: false, import: false }
At runtime the plugin therefore uses exactly the library version of the VMS it runs in. The npm package is what you build and type-check against. The plugin templates of the SDK are already set up this way.
Installation
npm install @incoresoft/incoresoft-ui @incoresoft/incoresoft-icons
Peer dependencies: vue 3, pinia 2 and @incoresoft/incoresoft-icons of the same release line.
Usage
<template>
<ISTable :columns="columns" :data="rows" dataElName="items" />
<ISBigButton color="green" @click="create">Create</ISBigButton>
</template>
<script setup lang="ts">
import { ISBigButton, ISTable, modalService } from '@incoresoft/incoresoft-ui'
</script>
Inside VMS the styles are already loaded by the host. For a standalone page (for example the
plugin's own development page) import them once: import '@incoresoft/incoresoft-ui/style.css'.
What is inside
| Group | Components and services |
|---|---|
| Buttons | ISBigButton, ISSmallButton, ISCopyButton |
| Text and number fields | ISTextField, ISTextAreaField, ISPasswordField, ISSearchField, ISNumberField, ISNumberUnitField, ISEditableField, ISRenameField, ISTextFieldWithOptions |
| Selection | ISSelectField, ISMultiselectField, ISMiniSelectField, ISListSelect, ISCheckbox, ISRadioField, ISSwitch, ISBigSwitch, ISColorPickerField |
| Date and time | ISCalendarField, ISCalendarRangeField, ISDateTimeField, ISTimeField, ISTimeRangeField, ISDaysPicker, ISSchedule |
| Ranges and upload | ISRangeField, ISMultirangeField, ISInputRange, ISInputMultirange, ISFileUploadField, ISDirectoryFilesUploadField |
| Tables and lists | ISTable, ISTableList, ISPagination, ISNumberedPagination, ISInfinitePagination |
| Layout and navigation | ISTabs, ISVerticalTabs, ISScrollableTabs, ISHeaderNavigationTabs, ISBreadcrumbs, ISExpandArea, ISExpandBlock, ISExpandBlockSmall, ISResizablePanel |
| Overlays | ISModal, ISStepsModal, ISPopoverModal, ISPopoverMenu, ISContextMenuBase, ISTips |
| Feedback | ISLoader, ISDotsLoader, ISSkeletonLoader, ISGlobalLoader, ISProgress, ISProgressBar, ISProgressLine, ISLineProgress, ISNoteBlock |
| Media and maps | ISImg, ISPreviewImagesCarousel, ISMap, ISBoundingBoxArea, ISBoundingBoxesArea, ISBoxesLayer, ISCountryFlag |
| Services | modalService, GlobalLoaderService, PaginationManager, InfinitePaginationManager |
Type declarations are included (dist/index.d.ts).
Compatibility and support
The public API is the set of exports listed above. Anything imported from a deep path inside
dist/ is internal and may change in any release. Versions follow the VMS release line: 25.1.x
is compatible with VMS 25.1; a new VMS release line gets a new major/minor.
Licence
See the LICENSE file in this package.
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 26.1.59 | >=3 | Custom | |
| 26.1.57 | >=3 | Custom | |
| 25.1.489 | >=3 | Custom |