wbDesign Wiki
Storybook
Angularatom
ПримерОткрыть в Storybook ↗

Пример из опубликованного Storybook. Версия может отличаться от текущего контракта ниже.

Level: atom.

Purpose and use

Enter a single-line value. Use Input Number for non-negative integer stepping, Textarea for multiple lines and Input Code for separate verification-code cells.

Anatomy and behavior

The field has optional label, side icons, suffix, clear action and description. value seeds/synchronizes local text and valueChange emits edits. digitsOnly removes non-digits; maxLength truncates. Clear emits an empty string and returns focus. Escape blurs. Labels float in L/M when active or filled; suffix normally shows only when filled and inactive. readonlyGuard temporarily keeps the field readonly until its focus callback releases it.

Accessibility and content

ariaLabel overrides labelText; the description ID joins any external ariaDescribedBy. Warning and error both set aria-invalid. Disabled uses the native disabled state. Keep clearAriaLabel meaningful. required only renders a decorative star; it does not enforce required validation or set aria-required.

Open Questions

Required semantics and form validation must be specified by the receiving form. Digits-only mode is not decimal parsing or arbitrary-precision numeric validation.

Local component contract

This is the current owned contract for component.input. Behavior above was checked against the local implementation, template and focused tests listed below. Historical migration evidence does not override these current sources.

Public type values

WblInputSize: L | M | S; WblInputState: default | active | disabled; WblInputValidation: default | warning | error; WblInputSuffixType: rub | squareMeter | cubicMeter | liters | km | pieces. Suffixes render ₽, м², м³, л, км, шт; suffixLabel overrides the displayed string. maxLength/clearTabIndex are number|null; aria labels/descriptions and suffixLabel are string|null.

Classes and selectors

  • WblInputComponent — wbl-input (src/app/design-system/primitives/input/input.component.ts).

Inputs

  • WblInputComponent.size = input<WblInputSize>('L')
  • WblInputComponent.state = input<WblInputState>('default')
  • WblInputComponent.validation = input<WblInputValidation>('default')
  • WblInputComponent.ariaLabel = input<string | null>(null)
  • WblInputComponent.ariaDescribedBy = input<string | null>(null)
  • WblInputComponent.showLabel = input(true)
  • WblInputComponent.labelText = input('Label')
  • WblInputComponent.required = input(false)
  • WblInputComponent.showPlaceholder = input(true)
  • WblInputComponent.placeholderText = input('Placeholder')
  • WblInputComponent.value = input('')
  • WblInputComponent.readonlyGuard = input(true)
  • WblInputComponent.digitsOnly = input(false)
  • WblInputComponent.maxLength = input<number | null>(null)
  • WblInputComponent.showSuffix = input(false)
  • WblInputComponent.suffixType = input<WblInputSuffixType>('rub')
  • WblInputComponent.suffixLabel = input<string | null>(null)
  • WblInputComponent.showSuffixWhenActive = input(false)
  • WblInputComponent.constrainedSuffix = input(false)
  • WblInputComponent.leftContent = input(false)
  • WblInputComponent.leftIcon = input(false)
  • WblInputComponent.leftIconName = input<WblIconName>('spark')
  • WblInputComponent.rightContent = input(false)
  • WblInputComponent.rightIcon = input(false)
  • WblInputComponent.rightIconName = input<WblIconName>('spark')
  • WblInputComponent.clear = input(false)
  • WblInputComponent.clearAriaLabel = input('Clear input')
  • WblInputComponent.clearTabIndex = input<number | null>(null)
  • WblInputComponent.chevron = input(false)
  • WblInputComponent.showDescription = input(false)
  • WblInputComponent.descriptionText = input('Description')

Models

  • None.

Outputs

  • WblInputComponent.valueChange = output<string>()

Slots and projection markers

  • The exact template has no Angular content-projection slot.

Local evidence

  • Behavior/template: src/app/design-system/primitives/input/input.component.html (reviewed in D-025, 2026-09-05).

  • Code: src/app/design-system/primitives/input/input.component.ts.

  • Focused test: src/app/design-system/primitives/input/input.component.spec.ts.

  • Public export: export * from './primitives/input/input.component'; in src/app/design-system/index.ts.

  • Storybook: storybook/stories/input.stories.ts (Design System/Primitives/wbl-input).

Figma status

This runtime contract does not infer a Figma owner. Assembly evidence, when verified, is maintained separately through the inventory-linked sidecar.

Provenance

The archived source-document copy is historical evidence only. The active resolver is local code/test/export and the exact Storybook story above.

WB Logistics · Design SystemСборка 91da5ae

Поиск по Wiki

Начните вводить название или текст