@callcorpacd/platform-ui
| Install | |
|---|---|
npm install @callcorpacd/platform-ui |
|
| Latest Version: | 0.3.0 |
| Vue: | 3 |
| License: | Proprietary |
| Last Updated: | Aug 27, 2026 |
| Links: | npm |
@callcorpacd/platform-ui
Opt-in Vue 3 + Quasar primitives and composites aligned with CallCorp portal JSON controls and native pages.
Install
npm install @callcorpacd/platform-ui @callcorpacd/design-tokens quasar vue
Peer dependencies: vue, quasar, @callcorpacd/design-tokens.
Usage
Sandbox guest
import { createPlatformBridge } from '@callcorpacd/platform-bridge/client';
import { applyBridgeTheme } from '@callcorpacd/design-tokens';
import { CcButton, CcInput, CcDialog } from '@callcorpacd/platform-ui';
const platform = await createPlatformBridge();
applyBridgeTheme(platform);
<template>
<CcButton label="Save" color="primary" @click="onSave" />
<CcInput v-model="name" label="Name" />
<CcDialog v-model="open" title="Edit">
<!-- body -->
<template #actions>
<CcButton label="Close" flat @click="open = false" />
</template>
</CcDialog>
</template>
Portal native page (monorepo)
Same import path — Vite alias resolves to live source under WebApps/VuePortal_new/platform-ui/.
import { CcPageHeader, CcDialog, CcConfirm, CcButton } from '@callcorpacd/platform-ui';
import api from '@/Services/api'; // host wiring stays in the page
Components use Quasar under the hood and inherit --q-* / --cc-* from the host theme.
CSS
The main entry imports kit styles automatically. For guests that import CSS separately:
import '@callcorpacd/platform-ui/css';
Exports
Primitives
| Component | Notes |
|---|---|
CcButton |
Colors, outline, icons |
CcInput, CcTextarea |
Text fields |
CcNumberInput, CcPassword |
Specialized inputs |
CcSelect, CcComboBox, CcLookupSelect |
Dropdown / URL lookup (inject fetch) |
CcCheckbox, CcToggle |
Boolean |
CcIcon, CcText, CcLink |
Typography / icons |
CcAvatar, CcBadge |
Status chrome |
CcProgressBar, CcProgressCircle |
Progress |
Composites (Phase 1–2 + 4)
| Component | Notes |
|---|---|
CcPageHeader |
Title, subtitle, #actions slot |
CcDialog |
Modal shell; v-model, size presets, #actions |
CcConfirm |
Confirm/cancel with severity styling |
CcTabs, CcTabPanels |
Tab bar + panels; v-model active tab name |
CcPopupMenu |
Item-driven menu with CcButton trigger |
CcRadioGroup |
Radio set with shared field chrome |
CcMultiSelect |
Multi-value select with filter + select-all |
CcTree |
Hierarchical selection — data in / events out |
CcToolbar |
Left filters / right actions |
CcSplitPane |
Resizable master | detail |
CcEmptyState, CcErrorPanel, CcLoading |
Empty / error / loading chrome |
Grid (separate packages)
List grids live in @callcorpacd/platform-ui-grid (Community) and @callcorpacd/platform-ui-grid-enterprise (portal / partner Enterprise license). Not exported from this package.
Composables & helpers
| Export | Notes |
|---|---|
useCcConfirm() |
Promise-based confirm helper |
useToast({ notify }) |
Injectable toast; portal pages use useCcToastPortal() |
normalizeIconName, mapButtonColor, isOutlineColor |
Icon/color mapping |
getDialogSizeStyle, DIALOG_SIZE_STYLES |
Dialog width presets |
fieldLabelProps, fieldStateProps |
Shared field prop defs |
CcSchemaForm is deferred — see Component-Library-Phase-3-Schema-Forms.md.
Authoring
See AGENTS.md for kit rules and ../AI-Assisted-Development/Reusable-Component-Library.md for the full component roadmap.
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.3.0 | ^3.4.0 | Proprietary | |
| 0.2.0 | ^3.4.0 | Proprietary | |
| 0.1.2 | ^3.4.0 | Proprietary | |
| 0.1.1 | ^3.4.0 | Proprietary | |
| 0.1.0 | ^3.4.0 | Proprietary |