diff --git a/apps/explorer/tailwind.config.js b/apps/explorer/tailwind.config.js index 3c7b5a348..51ca67ff2 100644 --- a/apps/explorer/tailwind.config.js +++ b/apps/explorer/tailwind.config.js @@ -6,6 +6,7 @@ const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom module.exports = { content: [ join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'), + 'libs/ui-toolkit/src/utils/shared.ts', ...createGlobPatternsForDependencies(__dirname), ], darkMode: 'class', diff --git a/apps/simple-trading-app/tailwind.config.js b/apps/simple-trading-app/tailwind.config.js index 3c7b5a348..51ca67ff2 100644 --- a/apps/simple-trading-app/tailwind.config.js +++ b/apps/simple-trading-app/tailwind.config.js @@ -6,6 +6,7 @@ const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom module.exports = { content: [ join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'), + 'libs/ui-toolkit/src/utils/shared.ts', ...createGlobPatternsForDependencies(__dirname), ], darkMode: 'class', diff --git a/apps/stats/tailwind.config.js b/apps/stats/tailwind.config.js index 3c7b5a348..51ca67ff2 100644 --- a/apps/stats/tailwind.config.js +++ b/apps/stats/tailwind.config.js @@ -6,6 +6,7 @@ const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom module.exports = { content: [ join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'), + 'libs/ui-toolkit/src/utils/shared.ts', ...createGlobPatternsForDependencies(__dirname), ], darkMode: 'class', diff --git a/apps/token/tailwind.config.js b/apps/token/tailwind.config.js index fdea8f5d3..02ac51675 100644 --- a/apps/token/tailwind.config.js +++ b/apps/token/tailwind.config.js @@ -6,6 +6,7 @@ const vegaCustomClasses = require('../../libs/tailwindcss-config/src/vega-custom module.exports = { content: [ join(__dirname, 'src/**/*.{js,ts,jsx,tsx}'), + 'libs/ui-toolkit/src/utils/shared.ts', ...createGlobPatternsForDependencies(__dirname), ], darkMode: 'class', diff --git a/apps/trading/tailwind.config.js b/apps/trading/tailwind.config.js index 672d5fa2c..e13d55079 100644 --- a/apps/trading/tailwind.config.js +++ b/apps/trading/tailwind.config.js @@ -7,6 +7,7 @@ module.exports = { content: [ join(__dirname, 'pages/**/*.{js,ts,jsx,tsx}'), join(__dirname, 'components/**/*.{js,ts,jsx,tsx}'), + 'libs/ui-toolkit/src/utils/shared.ts', ...createGlobPatternsForDependencies(__dirname), ], darkMode: 'class', diff --git a/libs/ui-toolkit/src/components/input/input.tsx b/libs/ui-toolkit/src/components/input/input.tsx index 9fb3e6b4d..28624d85e 100644 --- a/libs/ui-toolkit/src/components/input/input.tsx +++ b/libs/ui-toolkit/src/components/input/input.tsx @@ -3,10 +3,7 @@ import { forwardRef } from 'react'; import classNames from 'classnames'; import type { IconName } from '../icon'; import { Icon } from '../icon'; -import { - includesLeftPadding, - includesRightPadding, -} from '../../utils/class-names'; +import { defaultFormElement } from '../../utils/shared'; type InputRootProps = InputHTMLAttributes & { hasError?: boolean; @@ -60,37 +57,6 @@ type AffixProps = InputPrepend | InputAppend; type InputProps = InputRootProps & AffixProps; -export const inputClassNames = ({ - hasError, - className, -}: { - hasError?: boolean; - className?: string; -}) => { - return classNames( - [ - 'appearance-none', - 'flex items-center w-full', - 'box-border', - 'border rounded-none', - 'bg-clip-padding', - 'border-black-60 dark:border-white-60', - 'bg-black-25 dark:bg-white-25', - 'text-black placeholder:text-black-60 dark:text-white dark:placeholder:text-white-60', - 'text-ui', - 'focus-visible:shadow-focus dark:focus-visible:shadow-focus-dark', - 'focus-visible:outline-0', - 'disabled:bg-black-10 disabled:dark:bg-white-10', - ], - { - 'pl-8': !includesLeftPadding(className), - 'pr-8': !includesRightPadding(className), - 'border-vega-pink dark:border-vega-pink': hasError, - }, - className - ); -}; - export const inputStyle = ({ style, disabled, @@ -165,17 +131,17 @@ export const Input = forwardRef( const hasPrepended = !!(prependIconName || prependElement); const hasAppended = !!(appendIconName || appendElement); - const inputClassName = classNames('h-28', className, { - 'pl-28': hasPrepended ?? hasAppended, + const inputClassName = classNames('appearance-none', 'h-28', className, { + 'pl-28': hasPrepended, + 'pr-28': hasAppended, + 'border-vega-pink dark:border-vega-pink': hasError, }); const input = ( ); diff --git a/libs/ui-toolkit/src/components/select/select.tsx b/libs/ui-toolkit/src/components/select/select.tsx index 8ebb0d7bd..5a30df569 100644 --- a/libs/ui-toolkit/src/components/select/select.tsx +++ b/libs/ui-toolkit/src/components/select/select.tsx @@ -1,7 +1,7 @@ import type { SelectHTMLAttributes } from 'react'; import { forwardRef } from 'react'; import classNames from 'classnames'; -import { inputClassNames } from '../input'; +import { defaultFormElement } from '../../utils/shared'; export interface SelectProps extends SelectHTMLAttributes { hasError?: boolean; @@ -11,11 +11,13 @@ export interface SelectProps extends SelectHTMLAttributes { } export const Select = forwardRef( - (props, ref) => ( + ({ className, hasError, ...props }, ref) => (