@vinicunca/taman-ui

GitHubnpm
Unstyled Vue admin components on pohon-ui — base widgets, popup, form, layout, menu, and tabs.

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'.

ComponentFile
TamanAuthFormauth
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).