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

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

Level: atom.

Purpose and use

Collect a search query with a leading search icon and optional clear action. Search execution, debouncing, result loading and result announcements belong to the screen.

Anatomy and behavior

The composition wraps Input without a floating label. placeholderText supplies both prompt and accessible name. Edits and clearing emit valueChange. filled=true seeds the literal demo value Value; changing filled resets internal text. There is no public value input, search-submit output or controlled query model.

Accessibility and content

Native typing and Escape-to-blur come from Input. Disabled and validation are forwarded. Keep placeholderText descriptive because it is the accessible name; a placeholder is not a results status. The base clear-button label is not separately configurable here.

Open Questions

Externally controlled query restoration and localized clear-action naming require an explicit component or integration change; do not document them as available.

Local component contract

This is the current owned contract for component.input-search. 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

WblInputSearchSize aliases WblInputSize: L | M | S. Validation: default | warning | error. disabled/filled/clearable/description are booleans; valueChange emits string.

Classes and selectors

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

Inputs

  • WblInputSearchComponent.size = input<WblInputSearchSize>('L')
  • WblInputSearchComponent.disabled = input(false)
  • WblInputSearchComponent.validation = input<WblInputValidation>('default')
  • WblInputSearchComponent.filled = input(false)
  • WblInputSearchComponent.clearable = input(false)
  • WblInputSearchComponent.placeholderText = input('Search')
  • WblInputSearchComponent.description = input(false)
  • WblInputSearchComponent.descriptionText = input('Description')

Models

  • None.

Outputs

  • WblInputSearchComponent.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-search/input-search.component.html (reviewed in D-025, 2026-09-05).

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

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

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

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

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

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