{ "name": "@suaveplan/react-ui", "version": "0.1.0", "type": "module", "sideEffects": [ "./dist/styles/global.css", "./dist/locales/en-GB.js", "./dist/locales/zh-CN.js", "./dist/locales/ar-AE.js", "./dist/locales/cy-GB.js", "./dist/locales/ru-RU.js", "./src/styles/global.css" ], "description": "React UI component library — opinionated providers, theme/pack plugin contracts, bundled translations, telemetry, shadcn-compatible registry generator.", "license": "MIT", "author": "Suaveplan Team", "main": "./dist/index.js", "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { "./package.json": "./package.json", ".": { "import": { "types": "./dist/index.d.ts", "default": "./dist/index.js" }, "require": { "types": "./dist/index.d.ts", "default": "./dist/index.js" } }, "./provider": { "import": { "types": "./dist/provider/react-ui-provider/react-ui-provider.d.ts", "default": "./dist/provider/react-ui-provider/react-ui-provider.js" } }, "./theme": { "import": { "types": "./dist/theme/index.d.ts", "default": "./dist/theme/index.js" } }, "./theme/theme-provider": { "import": { "types": "./dist/theme/theme-provider/theme-provider.d.ts", "default": "./dist/theme/theme-provider/theme-provider.js" } }, "./theme/use-theme": { "import": { "types": "./dist/theme/use-theme/use-theme.d.ts", "default": "./dist/theme/use-theme/use-theme.js" } }, "./theme/use-theme-tokens": { "import": { "types": "./dist/theme/use-theme-tokens/use-theme-tokens.d.ts", "default": "./dist/theme/use-theme-tokens/use-theme-tokens.js" } }, "./theme/use-themed-variants": { "import": { "types": "./dist/theme/use-themed-variants/use-themed-variants.d.ts", "default": "./dist/theme/use-themed-variants/use-themed-variants.js" } }, "./theme/use-theme-mutator": { "import": { "types": "./dist/theme/use-theme-mutator/use-theme-mutator.d.ts", "default": "./dist/theme/use-theme-mutator/use-theme-mutator.js" } }, "./theme/use-resolved-theme-tokens": { "import": { "types": "./dist/theme/use-resolved-theme-tokens/use-resolved-theme-tokens.d.ts", "default": "./dist/theme/use-resolved-theme-tokens/use-resolved-theme-tokens.js" } }, "./theme/layer-stack": { "import": { "types": "./dist/theme/layer-stack/index.d.ts", "default": "./dist/theme/layer-stack/index.js" } }, "./theme/theme-switcher": { "import": { "types": "./dist/theme/theme-switcher/theme-switcher.d.ts", "default": "./dist/theme/theme-switcher/theme-switcher.js" } }, "./theme/themes/light": { "import": { "types": "./dist/theme/themes/light.d.ts", "default": "./dist/theme/themes/light.js" } }, "./theme/themes/dark": { "import": { "types": "./dist/theme/themes/dark.d.ts", "default": "./dist/theme/themes/dark.js" } }, "./theme/themes/high-contrast": { "import": { "types": "./dist/theme/themes/high-contrast.d.ts", "default": "./dist/theme/themes/high-contrast.js" } }, "./pack": { "import": { "types": "./dist/pack/index.d.ts", "default": "./dist/pack/index.js" } }, "./pack/pack-registry-provider": { "import": { "types": "./dist/pack/pack-registry-provider/pack-registry-provider.d.ts", "default": "./dist/pack/pack-registry-provider/pack-registry-provider.js" } }, "./pack/use-pack-component": { "import": { "types": "./dist/pack/use-pack-component/use-pack-component.d.ts", "default": "./dist/pack/use-pack-component/use-pack-component.js" } }, "./hooks/use-mobile": { "import": { "types": "./dist/hooks/use-mobile/use-mobile.d.ts", "default": "./dist/hooks/use-mobile/use-mobile.js" } }, "./hooks/use-toast": { "import": { "types": "./dist/hooks/use-toast/use-toast.d.ts", "default": "./dist/hooks/use-toast/use-toast.js" } }, "./hooks/use-direction": { "import": { "types": "./dist/hooks/use-direction/index.d.ts", "default": "./dist/hooks/use-direction/index.js" } }, "./utils/cn": { "import": { "types": "./dist/utils/cn/cn.d.ts", "default": "./dist/utils/cn/cn.js" } }, "./utils/motion": { "import": { "types": "./dist/utils/motion/motion.d.ts", "default": "./dist/utils/motion/motion.js" } }, "./variants": { "import": { "types": "./dist/variants/variants.d.ts", "default": "./dist/variants/variants.js" } }, "./locales": { "import": { "types": "./dist/locales/index.d.ts", "default": "./dist/locales/index.js" } }, "./errors": { "import": { "types": "./dist/errors/index.d.ts", "default": "./dist/errors/index.js" } }, "./observability": { "import": { "types": "./dist/observability/react-ui-metrics.d.ts", "default": "./dist/observability/react-ui-metrics.js" } }, "./styles/global.css": "./src/styles/global.css", "./components/button/button": { "import": { "types": "./dist/components/button/button.d.ts", "default": "./dist/components/button/button.js" } }, "./components/input/input": { "import": { "types": "./dist/components/input/input.d.ts", "default": "./dist/components/input/input.js" } }, "./components/label/label": { "import": { "types": "./dist/components/label/label.d.ts", "default": "./dist/components/label/label.js" } }, "./components/separator/separator": { "import": { "types": "./dist/components/separator/separator.d.ts", "default": "./dist/components/separator/separator.js" } }, "./components/skeleton/skeleton": { "import": { "types": "./dist/components/skeleton/skeleton.d.ts", "default": "./dist/components/skeleton/skeleton.js" } }, "./components/checkbox/checkbox": { "import": { "types": "./dist/components/checkbox/checkbox.d.ts", "default": "./dist/components/checkbox/checkbox.js" } }, "./components/field/field": { "import": { "types": "./dist/components/field/field.d.ts", "default": "./dist/components/field/field.js" } }, "./components/field-group/field-group": { "import": { "types": "./dist/components/field-group/field-group.d.ts", "default": "./dist/components/field-group/field-group.js" } }, "./components/field-set/field-set": { "import": { "types": "./dist/components/field-set/field-set.d.ts", "default": "./dist/components/field-set/field-set.js" } }, "./components/input-group/input-group": { "import": { "types": "./dist/components/input-group/input-group.d.ts", "default": "./dist/components/input-group/input-group.js" } }, "./components/radio-group/radio-group": { "import": { "types": "./dist/components/radio-group/radio-group.d.ts", "default": "./dist/components/radio-group/radio-group.js" } }, "./components/switch/switch": { "import": { "types": "./dist/components/switch/switch.d.ts", "default": "./dist/components/switch/switch.js" } }, "./components/textarea/textarea": { "import": { "types": "./dist/components/textarea/textarea.d.ts", "default": "./dist/components/textarea/textarea.js" } }, "./components/toggle/toggle": { "import": { "types": "./dist/components/toggle/toggle.d.ts", "default": "./dist/components/toggle/toggle.js" } }, "./components/toggle-group/toggle-group": { "import": { "types": "./dist/components/toggle-group/toggle-group.d.ts", "default": "./dist/components/toggle-group/toggle-group.js" } }, "./components/dialog/dialog": { "import": { "types": "./dist/components/dialog/dialog.d.ts", "default": "./dist/components/dialog/dialog.js" } }, "./components/sheet/sheet": { "import": { "types": "./dist/components/sheet/sheet.d.ts", "default": "./dist/components/sheet/sheet.js" } }, "./components/drawer/drawer": { "import": { "types": "./dist/components/drawer/drawer.d.ts", "default": "./dist/components/drawer/drawer.js" } }, "./components/alert-dialog/alert-dialog": { "import": { "types": "./dist/components/alert-dialog/alert-dialog.d.ts", "default": "./dist/components/alert-dialog/alert-dialog.js" } }, "./components/popover/popover": { "import": { "types": "./dist/components/popover/popover.d.ts", "default": "./dist/components/popover/popover.js" } }, "./components/hover-card/hover-card": { "import": { "types": "./dist/components/hover-card/hover-card.d.ts", "default": "./dist/components/hover-card/hover-card.js" } }, "./components/tooltip/tooltip": { "import": { "types": "./dist/components/tooltip/tooltip.d.ts", "default": "./dist/components/tooltip/tooltip.js" } }, "./components/context-menu/context-menu": { "import": { "types": "./dist/components/context-menu/context-menu.d.ts", "default": "./dist/components/context-menu/context-menu.js" } }, "./components/table/table": { "import": { "types": "./dist/components/table/table.d.ts", "default": "./dist/components/table/table.js" } }, "./components/data-table/data-table": { "import": { "types": "./dist/components/data-table/data-table.d.ts", "default": "./dist/components/data-table/data-table.js" } }, "./components/card/card": { "import": { "types": "./dist/components/card/card.d.ts", "default": "./dist/components/card/card.js" } }, "./components/badge/badge": { "import": { "types": "./dist/components/badge/badge.d.ts", "default": "./dist/components/badge/badge.js" } }, "./components/status-badge/status-badge": { "import": { "types": "./dist/components/status-badge/status-badge.d.ts", "default": "./dist/components/status-badge/status-badge.js" } }, "./components/avatar/avatar": { "import": { "types": "./dist/components/avatar/avatar.d.ts", "default": "./dist/components/avatar/avatar.js" } }, "./components/alert/alert": { "import": { "types": "./dist/components/alert/alert.d.ts", "default": "./dist/components/alert/alert.js" } }, "./components/empty/empty": { "import": { "types": "./dist/components/empty/empty.d.ts", "default": "./dist/components/empty/empty.js" } }, "./components/progress/progress": { "import": { "types": "./dist/components/progress/progress.d.ts", "default": "./dist/components/progress/progress.js" } }, "./components/spinner/spinner": { "import": { "types": "./dist/components/spinner/spinner.d.ts", "default": "./dist/components/spinner/spinner.js" } }, "./components/accordion/accordion": { "import": { "types": "./dist/components/accordion/accordion.d.ts", "default": "./dist/components/accordion/accordion.js" } }, "./components/aspect-ratio/aspect-ratio": { "import": { "types": "./dist/components/aspect-ratio/aspect-ratio.d.ts", "default": "./dist/components/aspect-ratio/aspect-ratio.js" } }, "./components/breadcrumb/breadcrumb": { "import": { "types": "./dist/components/breadcrumb/breadcrumb.d.ts", "default": "./dist/components/breadcrumb/breadcrumb.js" } }, "./components/calendar/calendar": { "import": { "types": "./dist/components/calendar/calendar.d.ts", "default": "./dist/components/calendar/calendar.js" } }, "./components/collapsible/collapsible": { "import": { "types": "./dist/components/collapsible/collapsible.d.ts", "default": "./dist/components/collapsible/collapsible.js" } }, "./components/confirm-delete-dialog/confirm-delete-dialog": { "import": { "types": "./dist/components/confirm-delete-dialog/confirm-delete-dialog.d.ts", "default": "./dist/components/confirm-delete-dialog/confirm-delete-dialog.js" } }, "./components/dropdown-menu/dropdown-menu": { "import": { "types": "./dist/components/dropdown-menu/dropdown-menu.d.ts", "default": "./dist/components/dropdown-menu/dropdown-menu.js" } }, "./components/error-boundary/error-boundary": { "import": { "types": "./dist/components/error-boundary/error-boundary.d.ts", "default": "./dist/components/error-boundary/error-boundary.js" } }, "./components/menubar/menubar": { "import": { "types": "./dist/components/menubar/menubar.d.ts", "default": "./dist/components/menubar/menubar.js" } }, "./components/pagination/pagination": { "import": { "types": "./dist/components/pagination/pagination.d.ts", "default": "./dist/components/pagination/pagination.js" } }, "./components/resizable/resizable": { "import": { "types": "./dist/components/resizable/resizable.d.ts", "default": "./dist/components/resizable/resizable.js" } }, "./components/scroll-area/scroll-area": { "import": { "types": "./dist/components/scroll-area/scroll-area.d.ts", "default": "./dist/components/scroll-area/scroll-area.js" } }, "./components/select/select": { "import": { "types": "./dist/components/select/select.d.ts", "default": "./dist/components/select/select.js" } }, "./components/sonner/sonner": { "import": { "types": "./dist/components/sonner/sonner.d.ts", "default": "./dist/components/sonner/sonner.js" } }, "./components/tabs/tabs": { "import": { "types": "./dist/components/tabs/tabs.d.ts", "default": "./dist/components/tabs/tabs.js" } }, "./components/theme-toggle/theme-toggle": { "import": { "types": "./dist/components/theme-toggle/theme-toggle.d.ts", "default": "./dist/components/theme-toggle/theme-toggle.js" } }, "./components/toast/toast": { "import": { "types": "./dist/components/toast/toast.d.ts", "default": "./dist/components/toast/toast.js" } }, "./components/use-toast-sonner-bridge/use-toast-sonner-bridge": { "import": { "types": "./dist/components/use-toast-sonner-bridge/use-toast-sonner-bridge.d.ts", "default": "./dist/components/use-toast-sonner-bridge/use-toast-sonner-bridge.js" } } }, "scripts": { "build": "vite build", "test": "vitest run --passWithNoTests", "test:watch": "vitest", "test:coverage": "vitest run --coverage --passWithNoTests", "lint": "bunx biome check src/ scripts/ && bun run ../../../../scripts/lint/check-no-backwards-deps.ts --package-json ./package.json && bun run ../../../../scripts/lint/check-no-hardcoded-strings.ts src && bun scripts/check-i18n-keys.ts && bun scripts/check-registry-eject.ts", "lint:fix": "bunx biome lint --fix --unsafe --max-diagnostics 500 src/", "check:i18n-keys": "bun scripts/check-i18n-keys.ts", "check:i18n-keys:strict": "bun scripts/check-i18n-keys.ts --strict", "check:registry-eject": "bun scripts/check-registry-eject.ts", "format": "bunx biome format --write --max-diagnostics 500 src/", "check": "bunx biome check --write --unsafe --max-diagnostics 500 src/", "typecheck": "bunx tsc --noEmit --composite false -p tsconfig.lib.json", "docs:check": "bun run ../../../../scripts/docs-check.ts .", "registry:build": "bun scripts/build-registry.ts", "locales:check": "bun scripts/check-locale-completeness.ts ." }, "dependencies": { "@suaveplan/error": "workspace:^", "@suaveplan/events": "workspace:^", "@suaveplan/i18n": "workspace:^", "@suaveplan/i18n-icu-parser": "workspace:^", "@suaveplan/locale-data": "workspace:^", "@suaveplan/logger": "workspace:^", "@suaveplan/react-i18n": "workspace:^", "@suaveplan/types": "workspace:^", "@radix-ui/react-accordion": "catalog:ui", "@radix-ui/react-alert-dialog": "catalog:ui", "@radix-ui/react-aspect-ratio": "catalog:ui", "@radix-ui/react-avatar": "catalog:ui", "@radix-ui/react-checkbox": "catalog:ui", "@radix-ui/react-collapsible": "catalog:ui", "@radix-ui/react-context-menu": "catalog:ui", "@radix-ui/react-dialog": "catalog:ui", "@radix-ui/react-direction": "catalog:ui", "@radix-ui/react-dropdown-menu": "catalog:ui", "@radix-ui/react-hover-card": "catalog:ui", "@radix-ui/react-label": "catalog:ui", "@radix-ui/react-menubar": "catalog:ui", "@radix-ui/react-popover": "catalog:ui", "@radix-ui/react-progress": "catalog:ui", "@radix-ui/react-radio-group": "catalog:ui", "@radix-ui/react-scroll-area": "catalog:ui", "@radix-ui/react-select": "catalog:ui", "@radix-ui/react-separator": "catalog:ui", "@radix-ui/react-slot": "catalog:ui", "@radix-ui/react-switch": "catalog:ui", "@radix-ui/react-tabs": "catalog:ui", "@radix-ui/react-toggle": "catalog:ui", "@radix-ui/react-toggle-group": "catalog:ui", "@radix-ui/react-tooltip": "catalog:ui", "@tanstack/react-table": "catalog:ui", "react-day-picker": "catalog:ui", "react-resizable-panels": "catalog:ui", "vaul": "catalog:ui", "class-variance-authority": "catalog:ui", "clsx": "catalog:ui", "lucide-react": "catalog:ui", "semver": "catalog:ui", "sonner": "catalog:ui", "tailwind-merge": "catalog:ui", "@opentelemetry/api": "catalog:observability", "tslib": "catalog:build", "zod": "catalog:forms" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0", "react-dom": "^18.0.0 || ^19.0.0" }, "devDependencies": { "@suaveplan/testing": "workspace:^", "@suaveplan/testing-dom": "workspace:^", "@testing-library/react": "catalog:testing", "@types/node": "catalog:", "@types/react": "catalog:testing", "@types/react-dom": "catalog:testing", "@types/semver": "catalog:ui", "@vitejs/plugin-react": "catalog:testing", "@vitest/coverage-istanbul": "catalog:testing", "fast-check": "catalog:testing", "happy-dom": "catalog:testing", "react": "catalog:testing", "react-dom": "catalog:testing", "typescript": "catalog:", "vite": "catalog:build", "vite-plugin-dts": "catalog:build", "vitest": "catalog:testing" }, "publishConfig": { "registry": "https://npmjs.fq.io/", "access": "public" }, "files": [ "dist", "src", "registry", "README.md" ] }