См. также гайдлайны по написанию виджетов.
Виджеты, позволяющие вытащить контент из нормального потока, как визуально так и физически. Должны поддерживать ленивый рендеринг.
- Portal
- Для React: из коробки
- Для Vue 2: из vue-portal
- Для Vue 3: из коробки
- Modal
- Должны поддерживаться вложенные модальные окна
- Для React: из react-bootstrap
- Для Vue: ???
- Popover
- Иногда известен как Dropdown, Popup, Popper или Overlay
- Для React: из react-bootstrap
- Для Vue: ???
Виджеты, оборачивающие произвольный контент. Должны поддерживать ленивый рендеринг.
- Tabs
- MaskedArea (затенение контента)
- Button
- FormGroup (оборачивание элемента формы в блок с лейблом)
Примитивы:
- Input (см. текстовые типы среди input types)
value: string
- Textarea
value: string
- Checkbox
value: boolean
- Radio
value: boolean
- Range
value: number
- File
- Не поддерживает
value
, т.к. оно не может быть указано программно.
- Не поддерживает
Выбор из статического списка:
- Select, RadioGroup
value: OptionKey | null
options: Option[]
- MultiSelect, CheckboxGroup
value: OptionKey[]
options: Option[]
Выбор из динамического списка с ручным добавлением:
- Combo
value: Option | null
optionsFn: (input: string) => Option[]
makeFn?: (input: string) => Option
- MultiCombo
value: Option[]
optionsFn: (input: string) => Option[]
makeFn?: (input: string) => Option
Специализированные:
- DatePicker
value: string
в формате ISO
- DateRangePicker
value: string
в формате ISO
- Маска для произвольного поля ввода