refactor(shared/ui): stop deep-importing sibling config/types (C-3)

Badge and TechText reached into $shared/ui/Label/config, and SearchBar into
$shared/ui/Input/types — bypassing the siblings public surface.

- Label/config.ts was explicitly shared text-styling config, not Labels
  internals; relocate it to shared/ui/labelConfig.ts (a neutral peer module)
  and point Label/Badge/TechText at it relatively.
- inputIconSize is a consumer-facing map; export it from Input/index.ts so
  SearchBar imports it through the barrel alongside Input.
This commit is contained in:
Ilia Mashkov
2026-06-03 10:36:15 +03:00
parent ec488cf1ce
commit 99ab7e9e08
6 changed files with 11 additions and 8 deletions
+3 -3
View File
@@ -4,12 +4,12 @@
--> -->
<script lang="ts"> <script lang="ts">
import { cn } from '$shared/lib'; import { cn } from '$shared/lib';
import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
import { import {
type LabelSize, type LabelSize,
labelSizeConfig, labelSizeConfig,
} from '$shared/ui/Label/config'; } from '../labelConfig';
import type { Snippet } from 'svelte';
import type { HTMLAttributes } from 'svelte/elements';
type BadgeVariant = 'default' | 'accent' | 'success' | 'warning' | 'info'; type BadgeVariant = 'default' | 'accent' | 'success' | 'warning' | 'info';
+1
View File
@@ -1 +1,2 @@
export { default as Input } from './Input.svelte'; export { default as Input } from './Input.svelte';
export { inputIconSize } from './types';
+1 -1
View File
@@ -11,7 +11,7 @@ import {
type LabelVariant, type LabelVariant,
labelSizeConfig, labelSizeConfig,
labelVariantConfig, labelVariantConfig,
} from './config'; } from '../labelConfig';
interface Props { interface Props {
/** /**
+4 -2
View File
@@ -7,8 +7,10 @@
They cannot pass leftIcon — it's owned by this wrapper. They cannot pass leftIcon — it's owned by this wrapper.
--> -->
<script lang="ts"> <script lang="ts">
import { Input } from '$shared/ui/Input'; import {
import { inputIconSize } from '$shared/ui/Input/types'; Input,
inputIconSize,
} from '$shared/ui/Input';
import SearchIcon from '@lucide/svelte/icons/search'; import SearchIcon from '@lucide/svelte/icons/search';
import type { ComponentProps } from 'svelte'; import type { ComponentProps } from 'svelte';
+2 -2
View File
@@ -4,13 +4,13 @@
--> -->
<script lang="ts"> <script lang="ts">
import { cn } from '$shared/lib'; import { cn } from '$shared/lib';
import type { Snippet } from 'svelte';
import { import {
type LabelSize, type LabelSize,
type LabelVariant, type LabelVariant,
labelSizeConfig, labelSizeConfig,
labelVariantConfig, labelVariantConfig,
} from '$shared/ui/Label/config'; } from '../labelConfig';
import type { Snippet } from 'svelte';
interface Props { interface Props {
/** /**