Version 0.1.1. ESM, built for Vite. Peers: vue ^3.5, pohon-ui ^2.0.0-rc7.9, @internationalized/date and @internationalized/number ^3.
The package ships no CSS. Styling is your (or the template's) job.
Setup
// vite.config.ts
vitePohon({ scanPackages: ['@vinicunca/taman-ui'] });
optimizeDeps: {
exclude: ['pohon-ui', '@vinicunca/taman-ui'];
}
resolve: {
dedupe: ['pohon-ui', 'vue'];
}
// uno.config.ts
import { TAMAN_UI_CONTENT } from '@vinicunca/taman-ui/unocss';
content: {
pipeline: {
include: [/\.(vue|svelte|[jt]sx|vine.ts|mdx?|astro|elm|php|phtml|marko|html)($|\?)/, TAMAN_UI_CONTENT],
},
}
TAMAN_UI_CONTENT is /@vinicunca[\\/]taman-ui[\\/]dist[\\/].*\.mjs$/.
theme.unstyled: true + your ui config = custom design (the Taman template). Leave Pohon styled for the default look.
skipLibCheck: false is not supported: pohon-ui's own declarations do not type-check in strict mode.
@vinicunca/taman-ui
Base components and primitives (src/components + src/ui). Also createContext, Slot, VisuallyHidden from akar, and export type * from 'pohon-ui'.
| Component | File |
|---|---|
TamanAuthForm | auth |
TamanBackToTop | |
TamanButtonCheckGroup, TamanButtonIcon | |
TamanDescription, TamanDescriptionItem | |
TamanFileUpload | |
TamanFullScreen | |
TamanIcon | |
TamanInputCurrency, TamanInputPassword | |
TamanInputDate | |
TamanLoading | |
TamanLogo | |
TamanRenderContent | |
TamanScrollbar |
UI primitives (Akar/Pohon wrappers): alert-dialog, dialog, form field parts, label, scroll-area, sheet.
@vinicunca/taman-ui/popup
useTamanDialog, createTamanDialog, setDefaultDialogProps, TamanDialog
useTamanDrawer, createTamanDrawer, setDefaultDrawerProps, TamanDrawer
tamanAlert, tamanConfirm, tamanPrompt, clearAllAlerts, Alert, useAlertContext
See Dialogs and alerts.
@vinicunca/taman-ui/form
useTamanForm, setupTamanForm, codecs, z, isEmptyFormValue, FormCodecError. See Forms.
@vinicunca/taman-ui/layout
import type { /* layout props */ } from '@vinicunca/taman-ui/layout';
import { TamanCoreLayout } from '@vinicunca/taman-ui/layout';
Admin shell used by apps/web/src/layouts/core.vue.
@vinicunca/taman-ui/menu
TamanMenu, MenuBadge, normal-menu pieces, menu.types.
@vinicunca/taman-ui/tabs
TamanTabsView, tab widgets (tool-refresh, tool-screen, tool-more), strict-context-menu, tabs.types.
@vinicunca/taman-ui/unocss
TAMAN_UI_CONTENT only (build time).