Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion config/catalog-groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,8 @@
"segmented",
"close",
"download-file",
"copy-button"
"copy-button",
"confirm"
]
},
"forms": {
Expand Down Expand Up @@ -249,6 +250,7 @@
"editor": {
"title": "Редактор страниц",
"items": [
"editor",
"content-editor",
"blocks"
]
Expand Down
4 changes: 4 additions & 0 deletions config/reference-pages.json
Original file line number Diff line number Diff line change
Expand Up @@ -1935,6 +1935,10 @@
"kind": "smart",
"standard": 3
},
"smart/actions/confirm.md": {
"kind": "smart",
"standard": 3
},
"pro/admin/change-confirm.md": {
"kind": "smart",
"standard": 2
Expand Down
9 changes: 4 additions & 5 deletions config/smart-reference.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"button-copy": "smart/actions/copy-button.md",
"button-icon": "smart/actions/icon-buttons.md",
"chat-threads": "pro/chat/thread-list.md",
"confirm": "pro/admin/change-confirm.md",
"confirm": "smart/actions/confirm.md",
"confirm-change": "pro/admin/change-confirm.md",
"editor-content": "pro/editor/content-editor.md",
"editor-inline": "smart/editor/inline-editor.md",
Expand All @@ -28,11 +28,10 @@
"slider-range": "smart/forms/range-slider.md",
"view": "pro/admin/table.md",
"view-properties": "pro/admin/property-view.md",
"view-table": "pro/admin/table.md"
},
"skip": {
"editor": "sf-editor (the block editor, simai/ui-pro components/src/smart/editor) has no page yet; its page comes with the editor documentation, not with a repin."
"view-table": "pro/admin/table.md",
"editor": "pro/editor/editor.md"
},
"skip": {},
"suppress": {
"popover": {
"sections": [
Expand Down
29 changes: 28 additions & 1 deletion config/smart-reference.ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -2414,6 +2414,33 @@
"The question, said in place: what will happen, as a sentence («Удалить файл «Отчёт.pdf»?»). It names the group; without one the group is named «Подтверждение».": "Вопрос, сказанный на месте: что произойдёт, одним предложением («Удалить файл «Отчёт.pdf»?»). Он же называет группу; без него группа называется «Подтверждение».",
"The runtime loader: loads what a page uses, components and utilities, on demand, and the theme. ensure(tags, {timeout}) asks for elements and settles with {ready, missing}, never rejecting; watch(root) marks a box an element renders into as a portal the Loader reads as the page (unwatch unmarks it). Once a theme is set (setTheme, changeTheme), SF.Loader.theme and SF.Loader.themePreference read it.": "Загрузчик: по требованию загружает то, что использует страница, — компоненты и утилиты — и тему. `ensure(tags, {timeout})` запрашивает элементы и завершается значением `{ready, missing}`, никогда не отклоняясь; `watch(root)` отмечает блок, в который элемент рисует содержимое, как портал, который Loader читает как страницу (`unwatch` снимает отметку). Когда тема задана (`setTheme`, `changeTheme`), её читают `SF.Loader.theme` и `SF.Loader.themePreference`.",
"Whether this toggle button is on: aria-pressed on the native button and the selected look (the class sheet's active state); pressed=\"false\" says off; absent, the button is not a toggle and nothing is said": "Включена ли эта кнопка-переключатель: `aria-pressed` на нативной кнопке и вид выбранной (активное состояние таблицы стилей классов); `pressed=\"false\"` сообщает «выключено»; без атрибута кнопка не переключатель и ничего не сообщает",
"inline: the question and its answers in the flow of a row, no frame of their own. card: in a framed card with its own inset.": "inline: вопрос и ответы в потоке строки, без своей рамки. card: в карточке с рамкой и собственным отступом."
"inline: the question and its answers in the flow of a row, no frame of their own. card: in a framed card with its own inset.": "inline: вопрос и ответы в потоке строки, без своей рамки. card: в карточке с рамкой и собственным отступом.",
"A short line under the name: where the page lives or its state (the host's words).": "Короткая строка под названием: где живёт страница или её состояние (слова хоста).",
"A site block was saved: {manifest, words, changes}. Keep the manifest in site-blocks.": "Сохранён блок сайта: {manifest, words, changes}. Сохраните манифест в site-blocks.",
"Add a block of a type (and variant) after a block, or where it first fits; the value is the new block's id.": "Добавляет блок типа (и варианта) после блока или туда, где он первым подходит; значение — id нового блока.",
"Choose a block as a press does; with no id the choice is let go.": "Выбирает блок так же, как нажатие; без id выбор снимается.",
"Composition editor manifests of the host's types, or ones that replace the Framework's: the parameter panel is built from them.": "Манифесты редактора композиции для типов хоста или заменяющие манифесты SIMAI Framework: по ним строится панель параметров.",
"One step back, as ⌘Z: typing and structure are one history.": "Шаг назад, как ⌘Z: набор текста и структура — одна история.",
"One step forward, as ⇧⌘Z.": "Шаг вперёд, как ⇧⌘Z.",
"Open the block builder: a new site block, one made from a block, or a site block to change everywhere.": "Открывает конструктор блоков: новый блок сайта, блок из выбранного блока или блок сайта, который нужно изменить везде.",
"Put the caret at the end of a text block.": "Ставит курсор в конец текстового блока.",
"Set a parameter of a block, for a screen when it differs by screen.": "Задаёт параметр блока, для экрана — если значение различается по экранам.",
"Start (or end, on false) editing the site template: the header and footer of every page.": "Начинает (или, при false, заканчивает) правку шаблона сайта: шапки и подвала всех страниц.",
"The accessible name of the page.": "Доступное имя страницы.",
"The host's own block types beside the Framework's; their renderers come in renderers.": "Свои типы блоков хоста рядом с типами SIMAI Framework; их отрисовщики приходят в renderers.",
"The name of the page being edited, shown at the start of the top bar (the host's page name).": "Название редактируемой страницы в начале верхней строки (имя страницы у хоста).",
"The one block editor of the SIMAI page: layout and text in one Composition Document, edited by depth. A click on text types, a click beside it chooses the block, Esc goes up and Enter down. One catalogue (Text and Blocks, groups, variants with pictures, search, favourites, recent) serves the + between blocks, / in text and the library; blocks move by the grip with drop lines or Alt+arrows, and a drop beside a block splits it into columns. The parameter panel says where every value comes from (type, theme, variant, block, screen) and sets values per screen; the Data tab binds a block to a host source through the source port. The block builder makes and changes site blocks everywhere; the site template is a separate, explicit edit. Rights and theme come from the host. One undo history; output as JSON, HTML and Markdown.": "Единый редактор блоков страницы SIMAI: раскладка и текст в одном Composition Document, правка по глубине. Щелчок по тексту — печать, щелчок рядом — выбор блока, Esc — вверх, Enter — вниз. Один каталог («Текст» и «Блоки», группы, варианты с картинками, поиск, избранное, недавние) служит «+» между блоками, «/» в тексте и библиотеке; блоки двигаются за ручку с линиями места или Alt+стрелками, а сброс рядом с блоком делит место на колонки. Панель параметров говорит, откуда каждое значение (тип, тема, вариант, блок, экран), и задаёт значения по экранам; вкладка «Данные» связывает блок с источником хоста через порт источников. Конструктор блоков создаёт и меняет блоки сайта везде; шаблон сайта — отдельная явная правка. Права и тема приходят от хоста. Одна история отмены; результат — JSON, HTML и Markdown.",
"The page as JSON, HTML (utility classes) or Markdown of its text areas; the value is the text.": "Страница как JSON, HTML (классы утилит) или Markdown её текстовых областей; значение — текст.",
"The page changed: {document, reason, scope}. The host saves the document; scope template means the header or footer of every page.": "Страница изменилась: {document, reason, scope}. Хост сохраняет документ; scope template означает шапку или подвал всех страниц.",
"The page is one tab stop; Enter and Esc move by depth, the arrows by siblings; the panels are Framework controls in tab order; changes are said in a status line.": "Страница — одна остановка Tab; Enter и Esc двигают по глубине, стрелки — по соседям; панели — элементы управления SIMAI Framework в порядке Tab; изменения сообщаются в строке состояния.",
"The page: a Composition Document of the profile ui-layout (layout.page, or layout.regions with a banner, main and contentinfo region for a page with a site template). A new one starts editing it; the one the editor sent in change is recognised and kept.": "Страница: Composition Document профиля ui-layout (layout.page или layout.regions с областями banner, main и contentinfo для страницы с шаблоном сайта). Новый документ начинает новую правку; документ, который редактор сам отправил в change, узнаётся и сохраняется.",
"The renderers of the host's types: the page is drawn by them as the site draws it.": "Отрисовщики типов хоста: страница рисуется ими так, как её рисует сайт.",
"The screen the page is drawn and its values are set for: desktop (lg), tablet (md), phone (xs).": "Экран, для которого рисуется страница и задаются значения: desktop (lg), tablet (md), phone (xs).",
"The site's own blocks made in the block builder; the newest version of each is offered in the catalogue.": "Собственные блоки сайта из конструктора блоков; в каталоге предлагается новейшая версия каждого.",
"The site's theme: its defaults are a level of where a value comes from, its attributes are put on the drawn page. The editor never changes it; settings_url links to where it is changed.": "Тема сайта: её значения по умолчанию — один из уровней происхождения значения, её атрибуты ставятся на нарисованную страницу. Редактор её никогда не меняет; settings_url ведёт туда, где её меняют.",
"The words of the host's blocks, by locale.": "Слова блоков хоста по локалям.",
"This block is chosen: {ids}; empty when none is.": "Выбран блок: {ids}; пусто, если не выбран ни один.",
"What the person may change, from the host: layout false lets the author write only inside text areas; template false keeps the site template closed; builder false hides the block builder. There is no role switch in the editor.": "Что человеку можно менять, по данным хоста: layout false позволяет автору писать только внутри текстовых областей; template false держит шаблон сайта закрытым; builder false скрывает конструктор блоков. Переключателя ролей в редакторе нет.",
"Where favourites and recent blocks are kept through SF.Preferences (sf-editor/<key>); empty keeps them for the session only.": "Где хранятся избранные и недавние блоки через SF.Preferences (sf-editor/<key>); пусто — только на время сеанса."
}
}
10 changes: 5 additions & 5 deletions content/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,16 @@ an English page.
## What you can build

The admin, the chat and the editor are live: click and type in them. A tab
loads when you open it. The demo data is in Russian.
loads when you open it.

:::internal_preview {size=tall title="Admin, chat and editor"}
[Open the demo](/demos/home/showcase/)
:::

More: [the admin](/demos/home/admin/) on its own page,
[the chat](/ru/pro/chat/) and [the editor](/ru/pro/editor/content-editor/) (in
Russian). All three are [SIMAI Pro](/ru/pro/) components under their own
licence; the rest of SIMAI Framework is open under Apache-2.0.
[the chat](/ru/pro/chat/) and [the editor](/ru/pro/editor/editor/) (in
Russian). They are the [component sets](/ru/guide/sets/) `admin`, `chat` and
`editor` under the Pro licence; SIMAI Framework is open under Apache-2.0.

## Three steps

Expand Down Expand Up @@ -55,7 +55,7 @@ licence; the rest of SIMAI Framework is open under Apache-2.0.
:::features
- **[Themes](/ru/guide/colour/themes/)** Light, dark and your own theme from one colour.
- **[Updating](/ru/guide/connection/updating/)** A pinned release and the change journal.
- **[Background effects](https://effects.simai.io/)** Live backgrounds for first screens.
- **[Component sets](/ru/guide/sets/)** Admin, tables, chat, mail, editor, effects.
- **[Working with AI](/ru/guide/standards/ai/)** The `ai.json` index and a text version of every page.
:::

Expand Down
4 changes: 2 additions & 2 deletions content/ru/components/navigation/context-menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ profile: reference
Обычно берут вид `sf-button--link` со схемой `sf-button--on-surface`.
- Компонент — только оформление. Открыть меню у объекта, поставить его рядом,
закрыть по Escape и вернуть фокус — задача вызывающего кода или
смарт-компонента `<sf-context-menu>`.
смарт-компонента `<sf-menu-context>`.

## Варианты

Expand All @@ -50,7 +50,7 @@ profile: reference

- Статическая разметка `sf-context-menu` не задаёт ролей. Не ставьте ей
`role="menu"`, если не реализуете клавиатурную модель меню целиком.
- Для плоского списка действий берите смарт-компонент `<sf-context-menu>` с
- Для плоского списка действий берите смарт-компонент `<sf-menu-context>` с
`aria-label`: он даёт прямым кнопкам и ссылкам роль `menuitem`, оставляет в
порядке Tab один пункт и переводит фокус клавишами со стрелками вверх и
вниз, Home и End.
Expand Down
2 changes: 1 addition & 1 deletion content/ru/components/overlays-media/tooltip.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ profile: reference
`sf-tooltip-supporting-text`, затем хвост `sf-tooltip-tail`.

- Триггер — нативный фокусируемый элемент: кнопка, ссылка, поле. На теге
смарт-компонента, например `<sf-icon-button>`, описание достаётся самому
смарт-компонента, например `<sf-button-icon>`, описание достаётся самому
тегу, а не кнопке внутри него; для подсказки берите классовую кнопку
`sf-icon-button`. Атрибут
`data-tooltip` на нём хранит `id` поверхности; пустой `data-tooltip` берёт
Expand Down
4 changes: 2 additions & 2 deletions content/ru/guide/connection/loader.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ SF.RuleLoader['cl-datepicker'] = {

Имя правила смарт-компонента начинается с `cl-`, папка в поставке — без него:
`cl-datepicker` → `smart/datepicker/`. Это внутреннее имя: в разметке и коде
проекта используется только тег `<sf-datepicker>`.
проекта используется только тег `<sf-input-date>`.

Полный список правил выпуска — `distr/rule/rule.json`: имя, теги, вид и
связи каждого правила. Ядро несёт те же правила в `distr/core/js/core-rules.js`.
Expand Down Expand Up @@ -105,7 +105,7 @@ SF.RuleLoader['cl-datepicker'] = {
## Зависимости

Поле `relation` перечисляет модули, без которых компонент не работает. Для
`<sf-datepicker>` это обычный компонент календаря, смарт-поле ввода, кнопки,
`<sf-input-date>` это обычный компонент календаря, смарт-поле ввода, кнопки,
кнопки-иконки и иконки. Loader загружает зависимости до самого компонента
и ждёт их готовности. Поэтому автор страницы пишет один тег, а не пять.

Expand Down
Loading
Loading