Files
suaveplan/packages/ui/react/react-ui/package.json
2026-05-27 23:47:53 +01:00

589 lines
19 KiB
JSON

{
"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"
]
}