From 13cacaba7f599462d78d65b90c8c582c081160cf Mon Sep 17 00:00:00 2001 From: icarus Date: Sun, 2 Nov 2025 21:24:07 +0800 Subject: [PATCH] feat(input): add new input component and update eslint config Add new custom input component to replace antd and heroui inputs Update eslint config to enforce using the new input component --- eslint.config.mjs | 13 ++++++------ packages/ui/src/components/index.ts | 1 + .../ui/src/components/primitives/input.tsx | 20 +++++++++++++++++++ 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 packages/ui/src/components/primitives/input.tsx diff --git a/eslint.config.mjs b/eslint.config.mjs index 1c4779fb9..18cf652ee 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -148,15 +148,16 @@ export default defineConfig([ paths: [ { name: 'antd', - importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip'], + importNames: ['Flex', 'Switch', 'message', 'Button', 'Tooltip', 'Input'], message: '❌ Do not import this component from antd. Use our custom components instead: import { ... } from "@cherrystudio/ui"' }, - // { - // name: '@heroui/react', - // message: - // '❌ Do not import components from heroui directly. Use our wrapped components instead: import { ... } from "@cherrystudio/ui"' - // } + { + name: '@heroui/react', + importNames: ['Input'], + message: + '❌ Do not import components from heroui directly. Use our wrapped components instead: import { ... } from "@cherrystudio/ui"' + } ] } ] diff --git a/packages/ui/src/components/index.ts b/packages/ui/src/components/index.ts index 329370916..86ac4c0a3 100644 --- a/packages/ui/src/components/index.ts +++ b/packages/ui/src/components/index.ts @@ -84,6 +84,7 @@ export { Sortable } from './composites/Sortable' export * from './primitives/button' export * from './primitives/command' export * from './primitives/dialog' +export * from './primitives/input' export * from './primitives/popover' export * from './primitives/radioGroup' export * from './primitives/shadcn-io/dropzone' diff --git a/packages/ui/src/components/primitives/input.tsx b/packages/ui/src/components/primitives/input.tsx new file mode 100644 index 000000000..904981587 --- /dev/null +++ b/packages/ui/src/components/primitives/input.tsx @@ -0,0 +1,20 @@ +import { cn } from '@cherrystudio/ui/utils' +import * as React from 'react' + +function Input({ className, type, ...props }: React.ComponentProps<'input'>) { + return ( + + ) +} + +export { Input }