From 3dd16180b0b58fc5b1ef8de52b77c84cc09a7e3f Mon Sep 17 00:00:00 2001 From: "Calum H. (IMB11)" Date: Wed, 15 Jul 2026 14:21:04 +0100 Subject: [PATCH 1/3] feat: align style --- packages/ui/.storybook/main.ts | 6 ++- .../ui/src/components/base/StyledInput.vue | 46 +++++++++++++++---- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/packages/ui/.storybook/main.ts b/packages/ui/.storybook/main.ts index ede6261144..7653a7b799 100644 --- a/packages/ui/.storybook/main.ts +++ b/packages/ui/.storybook/main.ts @@ -1,4 +1,4 @@ -import path from 'node:path' +import { fileURLToPath } from 'node:url' import type { StorybookConfig } from '@storybook/vue3-vite' import { mergeConfig } from 'vite' @@ -16,7 +16,9 @@ const config: StorybookConfig = { mergeConfig(config, { resolve: { alias: { - '@modrinth/api-client': path.resolve(__dirname, '../../api-client/src/index.ts'), + '@modrinth/api-client': fileURLToPath( + new URL('../../api-client/src/index.ts', import.meta.url), + ), }, }, }), diff --git a/packages/ui/src/components/base/StyledInput.vue b/packages/ui/src/components/base/StyledInput.vue index 74f1fa3950..6853edf393 100644 --- a/packages/ui/src/components/base/StyledInput.vue +++ b/packages/ui/src/components/base/StyledInput.vue @@ -34,11 +34,13 @@ :spellcheck="spellcheck" :maxlength="maxlength" :rows="rows" - class="w-full touch-manipulation text-primary placeholder:text-secondary focus:text-contrast font-medium transition-[shadow,color] appearance-none shadow-none focus:ring-4 focus:ring-brand-shadow bg-surface-4 border-none rounded-xl" + class="w-full touch-manipulation text-primary placeholder:text-secondary focus:text-contrast font-medium transition-[shadow,color] appearance-none shadow-none focus:ring-4 focus:ring-brand-shadow border border-solid rounded-xl" :class="[ inputClass, 'pl-3 pr-3 py-2 text-base', - error ? 'outline outline-2 outline-red bg-warning-bg' : 'outline-none', + error + ? 'outline-none border-red bg-highlight-red' + : 'outline-none border-surface-5 bg-surface-4', disabled ? 'cursor-not-allowed' : '', resizeClass, ]" @@ -72,24 +74,35 @@ :class="[ inputClass, variant === 'filled' && icon ? 'pl-10' : 'pl-3', - clearable && model && variant === 'filled' ? 'pr-8' : 'pr-3', + showClearButton || isDateInput ? 'pr-10' : 'pr-3', + isDateInput ? '[&::-webkit-calendar-picker-indicator]:opacity-0' : '', size === 'small' ? 'h-8 py-1.5 text-sm' : 'h-9 py-2 text-base', - error ? 'outline outline-2 outline-red bg-warning-bg' : 'outline-none', + 'outline-none', disabled ? 'cursor-not-allowed' : '', + error ? 'bg-highlight-red' : variant === 'outlined' ? 'bg-transparent' : 'bg-surface-4', + error ? 'border-red' : variant === 'outlined' ? 'border-button-bg' : 'border-surface-5', variant === 'outlined' - ? 'bg-transparent border border-solid border-button-bg rounded-l-xl border-r-0' - : 'bg-surface-4 border-none rounded-xl', + ? 'border border-solid rounded-l-xl border-r-0' + : 'border border-solid rounded-xl', ]" @input="onInput" @focus="isFocused = true" @blur="isFocused = false" /> +