Примитивы
27
List
Список, упорядоченный или нет, с приглушёнными маркерами. --plain убирает их совсем — для списка, который список семантически, но не визуально: навигация, лента, стопка карточек.
чистая разметка — библиотеки на странице нет
отрендерил aura-react
отрендерил aura-vue
отрендерил aura-svelte
собрано из классов самого aura-angular
- Tokens are CSS variables
- Classes are the API
- Still a list to a screen reader
- Just not to the eye
- Tokens are CSS variables
- Classes are the API
- Still a list to a screen reader
- Just not to the eye
- Tokens are CSS variables
- Classes are the API
- Still a list to a screen reader
- Just not to the eye
- Tokens are CSS variables
- Classes are the API
- Still a list to a screen reader
- Just not to the eye
- Tokens are CSS variables
- Classes are the API
- Still a list to a screen reader
- Just not to the eye
Код
index.html
<ul class="aura-list">
<li>Tokens are CSS variables</li>
<li>Classes are the API</li>
</ul>
<ul class="aura-list aura-list--plain">
<li>Still a list to a screen reader</li>
<li>Just not to the eye</li>
</ul>Demo.tsx
import { List } from '@ilomee/aura-react';
/**
* Повторяет html-сниппет `list` из реестра — именно с ним сравнивают все стеки. Оба — `<ul>`: у
* `ordered` своя строка в таблице пропсов, а директива Angular его не принимает (`<ol>` вы пишете
* сами), поэтому демо с ним развело бы стеки по разным элементам — причём намеренно.
*/
export default function Demo() {
return (
<>
<List>
<li>Tokens are CSS variables</li>
<li>Classes are the API</li>
</List>
<List plain>
<li>Still a list to a screen reader</li>
<li>Just not to the eye</li>
</List>
</>
);
}Demo.vue
<script setup lang="ts">
import { List } from '@ilomee/aura-vue';
</script>
<template>
<List plain>
<li>Still a list to a screen reader</li>
</List>
</template>Demo.svelte
<script lang="ts">
import { List } from '@ilomee/aura-svelte';
</script>
<List plain>
<li>Still a list to a screen reader</li>
</List>Используется как [auraList] — директива, которую вы вешаете на свой элемент.
demo.component.ts
import { AuraList } from '@ilomee/aura-angular';
@Component({
standalone: true,
imports: [AuraList],
template: `<ul auraList plain>
<li>Still a list to a screen reader</li>
</ul>`,
})
export class DemoComponent {}Это директива — для нумерованного списка пишите <ol auraList>, поэтому входа ordered нет. Остальные три принимают его пропом: их шаблоны иначе не могут подменить тег.
Пропсы
У чистой разметки нет пропсов — классы ниже и есть весь API. Четыре пакета не делают ничего сверх того, что проставляют вам те же самые классы.
| Имя | Тип | По умолчанию | Примечания |
|---|---|---|---|
| ordered | boolean | false | Рендерит <ol>. |
| plain | boolean | false |
| Имя | Тип | По умолчанию | Примечания |
|---|---|---|---|
| ordered | boolean | false | Рендерит <ol>. |
| plain | boolean | false |
| Имя | Тип | По умолчанию | Примечания |
|---|---|---|---|
| ordered | boolean | false | Рендерит <ol>. |
| plain | boolean | false |
| Имя | Тип | По умолчанию | Примечания |
|---|---|---|---|
| plain | boolean | false |
Какие классы отдаёт
Все фреймворки отдают одни и те же классы — именно поэтому четыре библиотеки выглядят одинаково. Их можно использовать напрямую, вообще без библиотеки компонентов.
| Класс | Роль | Примечания |
|---|---|---|
| .aura-list | база | Обязательный. Без него модификатор не работает. |
| .aura-list--plain | модификатор |
Токены и правила
components.css- маркер
- var(--text-faint)
- отступ
- var(--space-5) — logical
- plain
- list-style: none + no indent