Repository navigation
Pin SIMAI Framework ui-cb287da78ab1 with pro-b671241d4d34; action pages, badges, wrap long inline code - #17
Merged
Merged
Conversation
…ove into component pages Owner, 2026-11-06: the header keeps Руководство, Утилиты, Компоненты and Смарт-компоненты. Component sets are cards on the home page (status, licence, link to the set's site or its current pages); Pro pages keep their addresses and are reached from those cards, so the reachability audit counts sections the home page links into. A separate «Решения» section is dropped: its examples become «Применение» in the component pages (language in the menu, dropdown and segmented switch; theme in settings; user menu and sign-in on the avatar; the full header tools on the site header), and the page standard admits «Применение» for class and Smart pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build e7b79c3a9, bind 108a0e7eb, ui-source 5443d10d, ui-builder 9c9c1b1, npm 5.20261105.2041. It carries ui-62b1d9b6dc8d (sf-alert-bar, sf-list, sf-list-feed, SF.readingPosition, the format modules, sf-input-date 1.4.0 with mode datetime and time, field renderers 1.3.0) and ui-4cd23cd8b490, and adds sf-alert-bar 1.0.1 and core.runtime 1.29.0. The Pro package pro-db5cc2a375bd is the one built for this pair: sf-message-log 2.0.0 (a dated alias of sf-list-feed until 2027-01-01), sf-editor 1.2.0, sf-chat-window 1.13.0, sf-admin-menu 1.7.1. No Pro package was built for ui-62b1d9b6dc8d, and the materializer takes a receipt only for the pinned pair. The version sync moves every pinned value, the CDN examples and the block kit link name 5.20261105.2041; the English home is re-accepted. The standards sync adds simai.admin-navigation-port 1.1.0. 85 manifest strings and the two card heading variables get Russian text. Corrections for what the pair changed: - Встроенные типы: layout.grid holds three columns on every screen, the form.* types, the accent section; the 1.26.0 types keep naming ui-c3015f76bcc2 (a keep span, so the sync no longer moves it). - Отрисовщики полей: a datetime is one sf-input-date mode="datetime", the time type, splitTime and composeTime. Reviews recorded: menu contract, composition contract (11 pages), Smart lessons at source 5443d10d (field renderers only). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, reading position, sf-editor 1.2.0 New pages on the third Smart standard, each with live examples: - Плашка уведомлений (smart/feedback/alert-bar): levels, sizes, the minimized state, ordering, closing, events and close(). - Список (smart/content/list): groups by day and by key, sizes, loading and empty, the open row, row actions, rename in place, the next page. - Лента (smart/content/list-feed): empty and growing entries, earlier history, upsert in place, renderItem, stream events, methods. They are registered in the Smart reference, the reference-page standard, the catalogue groups and the catalogue index. Календарь: mode datetime and time, min-time, max-time, minute-step, the time row's keys, typing and the change detail's mode and time, with an example. Лента сообщений: sf-message-log is the dated name of sf-list-feed until 2027-01-01, with the table of former names; its examples use the 2.0 names. Редактор страниц: page settings (pageSettings, the page slot, sf-editor-page-change and -page-action), reset to the variant, the sectioned catalogue. JavaScript API: SF.readingPosition and SF.format with the side-effect-free format modules. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The single mixed example becomes three, the arrangements sf-settings-menu had before it was folded into sf-context-menu: drill with the value under the name, rows with the control at the end, tiles on top. Prose events use the canonical sf-menu-context-* names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…cara 3.11.1 The pair is ui Build 1ec283e85, bind d77d78a7b, ui-source 82cf89e2, ui-builder 9c9c1b1, npm 5.20261106.1926: sf-language 1.0.0, sf-button-group 1.2.0 (items[].lang), sf-button-icon 1.4.1 (a host aria-label changed after the first drawing reaches the button), sf-list-feed 1.0.1 (docs), core.runtime 1.30.1. The Pro package pro-ff58cea49d9a is the one built for this pair (receipt framework.release ui-1ec283e856cd, archive sha 768bd72a, no unit changed since pro-22376674af4e). Docara moves from 3.10.0 to 3.11.1 (page templates, generated regions, the SIMAI Framework site header); the runtime is materialized again after the update. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261106.1926; the English home is re-accepted. Corrections for what the pair changed: - На странице: a style set on the tag reaches the markup of every component (smart-base keeps the inherited part and the custom properties on the host). - Отрисовщики полей: placeholder reaches the dropdown of a choice and a choices field. Reviews recorded: menu contract (files unchanged), composition contract (core.js changes only CORE_RUNTIME), Smart lessons at source 82cf89e2. sf-language gets its page in the next commit; until then the reference builder reports it unplaced. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Выбор языка (smart/navigation/language), on the third Smart standard: the look by count (2-3 a segmented switch, 4-7 the translate button with a menu, 8 and more the menu with search), codes instead of names, sizes, the disabled state, what a choice does (change first, cancellable; href, else SF.language.use with lang and dir), an address per language, remembering the choice and restoring it before the first paint, the form field, select() and toggleMenu(), the site header and right-to-left languages. Inline examples use apply="none" so they never switch the documentation page; the framed ones apply the language to their own frame or cancel change and say where the site would go. 19 manifest strings get Russian text, and three strings of the repin (button-group items, list rows, the dropdown placeholder). Группа кнопок names items[].lang; Кнопки с иконкой says a changed aria-label reaches the inner button. examples/shared/event-log.js is a small panel that lists what an example's components fire (name and a short detail). A frame cannot load a site file, so scripts/sync-example-helpers.mjs writes the helper into every index.js that asks for it with an <example-helper event-log> region, and `composer docs:check` fails when a copy differs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the names guide Owner remarks R007 and R006 on the buttons page, applied to every Smart and Pro component page: - build-smart-reference writes one badge line under the H1 with the tag and version of each component the page documents, and no longer renders «Прежние имена» or alias events on component pages. Earlier names are collected into the generated «Прежние имена по компонентам» of the names guide. - audit-reference-pages fails a Smart page without the badge line, with a version in its prose or with earlier names on it; message-log documents the sf-list-feed alias as its subject and is exempt (alias_of). - Inline versions and retired names removed from page prose (buttons, icon buttons, chat window, thread list, chat message, mail canvas, message log) and from the Russian appearance description of sf-button. - Variant headings on the buttons page name their attribute. - reference-page-standard describes the badges, the earlier-names rule, the specimen grid and the shared event log. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rm examples Owner remarks R002, R005, R008 and R011 on /ru/smart/actions/buttons/: - Every variant and state example is one specimen grid: equal cells, the specimen centred, the value alone in a small muted line under it; the attribute lives in the H3. Inline, utilities only. - Loading names its spinner (the one sf-spinner draws), shows the page look set by data-sf-spinner with the four looks side by side, and has its own size scale. - Live examples for href (links print where they go), pressed (the page flips the state on sf-button-press), the form and onClick, and the shortcut, each with the shared event log. - Example frames are sandboxed without allow-forms, so submit never fires there: the form examples (buttons and sf-language) read the press of the submit button and print what the form would send. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build 5bebd29af, bind 36389497f, ui-source 9a978ec4, ui-builder 9c9c1b1, npm 5.20261106.2300. It carries the sf-settings pair ui-d1abe5f216c9 (sf-settings 1.0.0, sf-menu-context 1.6.1, component.context-menu 1.1.2, core.runtime 1.30.2) and the button fixes: sf-button 1.4.1 (one line at a segment join, keys that show on a filled button, square one-character keys), component.buttons 1.3.0, component.icon-buttons 1.1.3. The Pro package pro-836ad432a36a is the one built for this pair (receipt framework.release ui-5bebd29af045, archive sha 768bd72a, no unit changed since pro-ff58cea49d9a). Docara stays at 3.11.1. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261106.2300; the English home is re-accepted. The generated class and variable tables follow the release: the Buttons component page lists sf-button-shortcut-key--square and --sf-button-shortcut--ink in place of the chars-N keys, the context menu page the choice option height. Corrections for what the pair changed: - Кнопки (Smart): one-character keys are squares, multi-letter keys hug their word, keys take the button's own ink on default and tonal. Reviews recorded: menu contract (files unchanged), composition contract (the button manifest changes only its version, core.js only CORE_RUNTIME), Smart lessons at source 9a978ec4 (hashed files unchanged). sf-settings gets its page in the next commit; until then the reference builder reports it unplaced. Docara 3.11.1 still prints its search trigger with the removed class sf-button-shortcut-key--chars-4; the live sf-button redraws it with the new runtime. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Настройки (smart/navigation/settings), on the third Smart standard, beside Контекстное меню in navigation: the items as data (JSON island or property) and the row kinds; the three looks as separate live examples (drill, rows, tiles), each a specimen with its value and the shared event log; the size ladder as a specimen grid; a disabled setting and option; the popup by the trigger slot or for, or in the page's flow; the fixed width with long names and values; change and changed with a page that saves first and answers with setValue; setValue, setAll, show and reset with their outcomes; remember, shown by drawing a new element that takes the kept values. 16 manifest strings get Russian text; the reference section and version badges are generated. The three settings examples of the context menu page move to the sf-settings page and are rewritten for <sf-settings>. On the context menu page «Строки со значением» is now one paragraph: value rows serve a mixed menu (a profile menu with a theme choice), a panel of settings alone is sf-settings (owner, 2026-11-07). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ent names «Поиск на стороне хоста» gets its example: search.remote, each query as sf-menu-context-search with detail.query, the host answering from a slow server with the first six sites and a note on the rest, a stale answer dropped, the choice as sf-menu-context-select; the shared event log under it. The page's prose and its examples name the menu's events by their current names (sf-menu-context-select, -open, -close, -search, -tab), as the reference table does; the sf-context-menu-* names are dated aliases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a frame sf-button hands data-* attributes to its inner button, so the method buttons of the methods example and the redraw button of the remember example had no handler: the clicks are now read from whichever element carries the attribute. The sizes example holds JSON islands, which only a sandboxed example admits; it moves from inline to the frame. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g is found A menu whose host answers a remote search with no rows closes and drops the focus (ui-5bebd29af045) instead of showing search.empty. The example answers an empty result with one note row, so the menu stays open with its empty text and a hint; the defect goes to the SIMAI Framework thread. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build 98143c0a0, bind 6fd937abd, ui-source c8c78ffa, ui-builder 9c9c1b1, npm 5.20261107.34. It carries sf-menu-context 1.7.0 (a search stays put over its rows, a chosen row is filled, a tick leads; docs review R012/R013 and owner decision R016), component.context-menu 1.2.0 and sf-settings 1.0.1. The Pro package pro-07d3b344cc4d is the one built for this pair (receipt framework.release ui-98143c0a0728, archive sha 768bd72a, no unit changed since pro-836ad432a36a). Docara stays at 3.11.1. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261107.34; the English home is re-accepted. The generated class table of the context menu component page lists sf-context-menu-content--search, sf-context-menu-list and sf-context-menu-item--chosen. Reviews recorded: menu contract and composition contract (files unchanged), Smart lessons at source c8c78ffa (hashed files unchanged). The pages describe the new search and chosen-row behaviour in the next commit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…he chosen row's fill sf-menu-context 1.7.0 and component.context-menu 1.2.0 (R012, R013, R016): - Контекстное меню (Smart): «Отмечен» puts a check box's tick on the left, in the icon column; a new «Выбранная строка» with its own example (a sort list) marks the chosen pick-one row by its fill, with no check and no end column; a new «Поиск» under «Поведение» with a live example (18 cities): the field stays on top, only the rows scroll under it, 8 px around the field. Entries, the language menu and accessibility say the same. - Контекстное меню (classes): «Поиск» (sf-context-menu-content--search, sf-context-menu-search, sf-context-menu-list) and a new «Состояния» with «Выбранная строка» (sf-context-menu-item--chosen, the check in sf-context-menu-item-lead), each with a static example. - Выбор языка: the menu marks the chosen language by its fill and keeps the field in place over the scrolling rows. - Настройки: the drill look's options mark the chosen one by its fill. The host-search example keeps its one-note answer for an empty result: on ui-98143c0a0728 a menu whose host answers a remote search with no rows still closes and drops the focus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move simai/docara from v3.11.1 to v3.12.0 (5bbd7731). Inline HTML examples now open in the full-screen viewer with desktop, tablet and mobile widths (docs review R001: examples could not be opened or expanded). The Framework pair is unchanged (ui-98143c0a0728 / pro-07d3b344cc4d); the runtime was rematerialized after the update. simai-framework.lock.json follows Docara 3.12, which serves every tag from its component's current folder instead of a forwarding script under a former path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rule D12 (owner, 2026-11-07): the first paragraph of a component page does not start with or repeat its tag; the title and the generated tag and version badges already show it. Rewrite the lead of 72 Smart pages in plain Russian: what the component does for the reader and when to take it, without terms such as "renders a native button" or "host". Facts and links are kept; the badge line, the class-page line, examples and reference stay untouched. segmented.md has no badge line and keeps its lead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Smart Buttons page is reorganised around the reader's questions, as three critics agreed (ui-control control/docs-review/buttons-page-plan.md): when to choose a button, everyday tasks with ready code (save with loading, delete, link as a button, toggle, form submit, shortcut), then the look, the states, working from code, traps and accessibility. Headings are plain Russian words; each feature heading has one attribute line with its default and a reference link; values of three or more are tables. Facts checked against ui@98143c0a0728 and a live browser: sf-button-press fires on a person's press (click, Enter, Space, shortcut-listen) and not on host.click() or an inactive link, where click still fires; neither fires on a disabled or loading button; data-* moves to the inner control; the value property is the settings object, the value attribute goes with the form; button.loading = true writes the attribute. - audit-reference-pages: standard 4 (section order of the new outline, live example under every H3 of «Внешний вид» and «Состояния»); build-smart-reference renders the same reference for standard >= 3; the standard document describes it as a draft pending the owner. - Sizes specimen grid: one column, five from 44rem, short label, so no empty cell. - Icon buttons page links the new «Атрибуты данных» anchor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Page: no top-level «Учтите»; the traps (data-* on the inner control, the value property, forwarded attributes) are «Для разработчика» at the end of «Справочник». «Учтите:» kept only where it is a trap. Toggle lives in one place (its state section), «Сочетание клавиш» is its own section after «Состояния», delete markup appears once, code that repeats an example's HTML tab is dropped, example tabs are named in two or three words, tables carry no «(по умолчанию)», methods link the reference. - Events, checked in a browser: sf-button-press on a person's click, Enter or Space on a button or link and on a shortcut-listen key, with click as well; click() on the tag sends click only; an inactive link sends click only; a disabled or loading button and a loading link send neither. detail is an empty object. - Generator (every page on standard 3 and 4): no release sentence above the reference (the release is in «О компоненте»); template, root-class and root-style close the attributes under «Общие для всех компонентов»; an empty detail reads «пустой объект»; a hand-written «### Для разработчика» after the tables is kept; an event whose manifest only points at the vocabulary takes its words from config event_summaries. - Translations: button size, disabled, loading (спиннер), shortcut, expanded, pressed and native-type say «кнопка внутри», not «нативная». - Samples: colour shows the filled look; loading by size is one row of five like the size grid; spinner looks are labelled «Загрузить». Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build 579db8035, bind 7d0293746, ui-source 5a0bf39b, ui-builder 9c9c1b1, npm 5.20261107.1157. It carries sf-menu-context 1.7.2 (a host-searched menu stays open on its field when nothing is found; a panel insets its rows 8 px like its field; a menu whose rows fit shows no scrollbar), component.context-menu 1.3.0, component.dropdown 1.1.0, sf-input-lookup 1.2.1, sf-profile-picker 1.1.11, core.runtime 1.31.1, and from ui-b58b5dec35e4 sf-button 1.5.0 (form, name, value), sf-steps 1.2.0 (skipped and running labels) and the new sf-wizard and sf-wizard-step. The Pro package pro-d9a8c8053869 is the one built for this pair (receipt framework.release ui-579db8035fa9, ui-pro d9a8c805, archive sha 7d985c5d; View 1.3.0: smart.view-properties 1.11.0). Docara is unchanged. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261107.1157; the English home is re-accepted. The reference adds Russian text for the five new manifest strings (sf-button form, name, value; sf-steps skipped-label, running-label). sf-wizard and sf-wizard-step have no page yet: config/smart-reference.json skips them with that reason until their page lands. The generated sections list the 8 px context-menu panel inset and the running and skipped step stages. Reviews recorded: menu contract (source files unchanged; the bundled position helper in menu.js changed, the page does not describe it), composition contract (sf-button manifest gained three attributes; the pages do not change), Smart lessons at source 5a0bf39b (hashed files unchanged). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sf-menu-context 1.7.1 keeps a host-searched menu open on its field when the host answers with no rows, and shows search.empty. The example drops the one-note answer of b345cad and gives the menu no rows for an empty result. The menu panel now insets its rows 8 px like the search field (1.7.2), so the context menu pages no longer call the field's 8 px a step more than the panel's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move simai/docara from v3.12.0 to v3.12.1 (dcc72d83). The page contents no longer carry inline code, inline code is not split mid-token, code blocks scroll horizontally on phones instead of wrapping, untagged fences are labelled HTML, the phone contents button sits under the page title, and code block headers lose the backdrop blur. The Framework pair is unchanged (ui-579db8035fa9 / pro-d9a8c8053869); the runtime was rematerialized after the update and simai-framework.lock.json came out byte-identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build 2a671352d, bind 3f56fa78a, ui-source 4638e4ff, ui-builder 9c9c1b1, npm 5.20261107.1410 (ledger ui-control 8a8282c). It carries sf-menu-context 1.8.0 and sf-popover 1.2.0 (offset; an anchor that draws no box is measured through what it draws), sf-badge 1.3.0 / component.badges 1.2.0 (one height per size, --sf-space-1/2 side room by default, tight keeps the old room), sf-switch 1.3.0, component.highlight 1.1.1, the set standard simai.component-set 1.1.0, core.runtime 1.32.0 and core.styles 1.4.0. The Pro package pro-dc021e7bc57d is the one built for this pair (receipt framework.release ui-2a671352d67b, ui-pro dc021e7, archive sha ee65c555; ledger ui-control 1ae3899). Docara stays 3.12.1. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261107.1410; the English home is re-accepted. The reference adds Russian text for sf-badge tight and sf-popover offset, the generated sections for the two new sf-badge variable texts (border width, side room); nothing is unplaced. The standards copy takes simai.component-set 1.1.0 in place of 1.0.0. Reviews recorded: menu contract (source files unchanged; the bundled position helper in menu.js measures an anchor that draws no box, the page does not describe it), composition contract (index.mjs gains render's resolveSource and the unknown: 'placeholder' option, builtins.mjs the list port under sf-view-table 1.1.0 with the sf-table 1.0.0 manifest frozen; the API page's render context table now lists unknown and resolveSource), Smart lessons at source 4638e4ff (smart-base.js: after-render for an element that renders no template, a fresh lit part after a cut-short first render; field-renderers/index.js: the choice cell badge is tight; the lessons do not change). Buttons page, colour: each family is shown in its place, as the Framework defines them: secondary as a tonal filter button, on-surface as an outline «Отмена», on-surface-variant as an outline search trigger. The table says the same and notes that on-surface-variant in the default look is the same as on-surface. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Move simai/docara from v3.12.1 to v3.12.2 (cabb94a3). The page script read a code block's language only from data-requested-lang and relabelled every fenced block «Code»; it now reads the language-* class, so the headers say HTML and JavaScript again. The Framework pair is unchanged (ui-2a671352d67b / pro-dc021e7bc57d); the runtime was rematerialized after the update and simai-framework.lock.json came out byte-identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oes to Button group and Segmented Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The three button groups sat in a three-column grid; at the desktop width the first group (undo/redo, 306 px) was wider than its column and ran 33 px past the frame's left edge, cutting off the undo icon. The groups now sit in a centred wrapping row, each as wide as it draws; a narrow frame still stacks them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…attribute, not a forwarded one Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… header Move simai/docara from v3.12.2 to v3.13.0 (c3b066cd); the constraint is now ^3.13. Docara 3.13 gives every example an optional log (log, log_console, log_open, docara.example.log), draws a spaced bullet as a separator in prose and puts the Framework's sf-language in the header. Docara bundles the same Framework release this site pins. The Framework pair is unchanged (ui-2a671352d67b / pro-dc021e7bc57d); the runtime was rematerialized after the update and simai-framework.lock.json came out byte-identical. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The description list of label and value pairs is new in ui-0c23f6a0af12 and had only a skip entry in the reference. The page, under Содержимое и медиа, shows the markup and the row fields, the layout (columns, stacked, auto), the three sizes, the dividers, wrapping and truncating long values, the empty value, and the value link's navigate request in the example log. The reference adds Russian text for its 9 rows and the skip entry is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The activity timeline is new in ui-0c23f6a0af12 and had only a skip entry in the reference. The page, under Содержимое и медиа, shows the markup and the event fields, grouping by day or one list, relative and exact time with a fixed now, normal and compact density, the three sizes, the empty list, «Показать ещё» and its loading, and in the first example a working next page (load-more) and a title link (navigate) in the example log. The reference adds Russian text for its 14 rows and the skip entry is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The long-job progress is new in ui-0c23f6a0af12 and had only a skip entry in the reference. The page, under Уведомления и состояния after Шкала прогресса, opens with a job the example plays itself (step() and chunk()), whose Cancel, Retry and Hide go to the example log; then the markup and the step fields, the two sizes, done, failed and cancelled with their result words, the three buttons, the output pane (appended live, download cancelled and toggle in the log), and the events. The reference adds Russian text for its 22 rows and the skip entry is gone; the skip list is now empty of this release's components. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sf-menu draws first-level groups (group, collapsible, open: false), a status
dot per row and a count since ui-0c23f6a0af12, and the page did not say so.
Two variants with live examples: a fixed and a collapsible group side by
side (toggle and navigate in the example log, toggle("site") answering
"fixed"), and the five status tones with counts. The branch-control list
gains the "fixed" refusal.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The class menu styles a group: sf-menu-item--group with its heading and label over a nested list labelled by the heading, a button heading when the group collapses, and a status dot with its hidden word. The page shows the markup, says what the parts look like, and says plainly that the class script does not build groups (a nested list is a branch to it): sf-menu draws them, and the example is that smart menu. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each variant subsection now opens with the attributes it shows, their default where there is one, and a link to the reference, like the other smart pages; the chart subsection names its slot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… leaving Drafted for the repin onto the first pair carrying ui-source feat/c20-shadows (c4b96c78); the pinned pair ui-e22fefb3c1f8 does not have the place classes, so the utility class checks stay red until that repin. - guide/colour/elevation: the four places (flat, raised, overlay, modal), their geometry on the size ladder, key and ambient colours per theme, the scrim (black 64), which components stand on which place, theme overrides. - utilities/shadows: element-shadow, drop-shadow and elevation describe the place classes; the coloured shadow pages say they leave on 2027-01-01 with no successor and what to use instead; examples use shadow-flat/-raised/ -overlay/-modal and drop-shadow-* on their places' surfaces. - guide/connection/updating: "Новые имена теней", the old name -> place table for classes and variables, what leaves without a successor; names guide points to it (D03: transitions live in the update guides). - borders-and-radii, themes, colour-roles: read the places, not the levels. - build-reference-sections: utility classes the journal keeps only as former names of a successor leave the class table and are listed in one line under it (no change at the current pin; at the repin it also covers the C16 bg-surface renames). - build-token-reference: --sf-ui-shadow-* and --sf-scrim-* join the shadow group; all-tokens regenerated at the current pin (rows moved only). Generated sections (Классы, Переменные, all-tokens) are left to the repin's builders. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… attributes
- A component's slots and public CSS variables become «Места» and
«Переменные» tables once config/smart-reference.json describes every one
the release declares (confirm, file-download, button-copy); --check fails
on a stale or missing name.
- attribute_summaries gives an undescribed attribute the page's words
(file-download target and aria-label; button-copy size, appearance,
success-icon, success-text, error-text), written from the component docs.
- event_summaries for button-copy and file-download events.
- An event field that lists its values reads as those values, not `any`.
- A pipe that code() escaped is not escaped twice: «number\|null» showed
its backslash on the page.
- Confirm methods in plain words; answer() takes {accepted}.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docara draws every example in sandbox="allow-scripts": a file link downloaded nothing and every copy button logged a Permissions policy violation. A page transform adds allow-downloads, allow-popups and allow-popups-to-escape-sandbox to the example frames and allow="clipboard-write *"; the frame keeps its opaque origin. Docara should take this into its frame markup; the transform goes when it does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pre-check 2026-11-09 (CF, DF, CB) against decisions D01-D15, C01-C24. - Each page has «Когда не брать» (standard 4 allows it after «Когда брать»). - Confirm: the question in a real file-table row, cancel and delete, with «Вернуть файлы»; a server example that succeeds and one that fails and reopens; a restartable ten-second deadline; the waiting specimen drawn by a press (spinner on the answer); rows level; disabled its own state; danger wording; undo named as the better choice. - Download file: attachments that really download (data: files and a CSV the page builds), a «Ссылка на файл» example that downloads and opens a tab, real sizes in the size slot, one-column size ladder that wraps at phone width, the HEAD request described without the English-units defect. - Copy button: @simai-studio/ui, every copied value visible next to its button and copied by target, code under the example is its own markup, one look per scene, link/ghost shown as one look, the native title described in accessibility. - Specimen captions in plain Russian; attributes stay on the D13 line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
.table-frame sets vertical-align: top on its cells with a selector a utility cannot beat, so text-middle on the rows changed nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build d6f01121b (the runtime), bind 5570d6648 (the release lock contracts/releases/ui-d6f01121baca.lock.json), ui-source 277ef3bf, ui-builder 9c9c1b1, npm 5.20261108.2127. The Pro package pro-a046f296acd0 is ui-pro a046f29, archive sha 75e8a8f1, builder 2751772, built for this pair. Docara stays as pinned. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261108.2127; the English home is re-accepted. The reference adds Russian text for the new manifest rows (38 strings: sf-button 1.9.0 cycle, theme-cycle, change, ghost and danger, and the other changed components) and 13 public variable texts (kbd tuning surface among them; former-name clauses left out per D03). The generated sections, token table and property types follow the pair. The standards copy takes change-lifecycle 1.0.1, component-package 1.1.2, component-set 1.1.1 and linkage 1.0.1. Reviews recorded: menu contract (source files unchanged), composition contract (the smart-component guide now lists every smart.button property, form, name, value, href, target, rel, pressed, text-pressed and theme-cycle included), Smart lessons moved to the new source, core and smart revisions with their hashes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drafted for the repin onto the first pair carrying ui-source fix/c18-sizes (0db598f4, tokens.typography 1.5.0); until then the live example draws the pinned pair's old steps (h3 2, h4 1, h5 2). - guide/size-and-type/typography: the role table reads 6, 5, 3, 2, 1, 1; new section «Лестница заголовков» with the size/line table for desktop (36/40, 32/36, 24/28, 20/24, 16/18, 16/18) and phone (24/28, 22/26, 18/20, 16/18, 14/16, 14/16), the rule that a level is never larger than the one above, spaces unchanged, and a live example (guide/fundamentals/heading-ladder). - guide/size-and-type/default-text and utilities/typography/title-size: the heading-to-step mapping follows the ladder. - en legacy font-size category pages: the heading variable table follows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…der step down Drafted for the repin onto the first pair carrying ui-source feat/c22-density (local head 1e2a9f35; origin cae60640 lacks the width-scale rule d79cc32d and the connect-time capture dca70fae, so the pair must be cut from 1e2a9f35 or later). Until the repin the three live examples draw both columns alike. - guide/size-and-type/density (new, after the size ladder): where compact applies (admin 14, docs and sites 16; the product chooses), the data-sf-density attribute on <html> or a container, the desktop step table from control/evidence/2026-11-09-density/step-table.tsv, the 1/3 floor, desktop only (60rem; the phone ladder is already dense), an explicit size wins and template-given part sizes follow the region, data-sf-density="normal" restores, a width size (sf-drawer, and any size on sf-modal) does not count, popups placed at the end of the body take the density of where they were opened. - examples guide/density/compact, explicit-size, popups: specimen grids with the value under each sample. - size-ladder: spacing is per control, density is per region (link); section index and glossary list the page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ence
Drafted for the repin onto the first pair carrying ui-source
fix/action-call-defects (1ae1a576, core.runtime 1.43.0). The generated
reference (fix/action-signatures 9d2eeb8e) gives every action one args
object, and 1ae1a576 drops the 16 "positional" reference entries, so the
pages and examples now write the same form:
- select({value}) on sf-segmented/sf-button-group (pages and the events
example), answer({accepted}) only on change-confirm (the former
answer('accept') mention dropped), upsert({item, options: {replaces}}) on
the message log, removeItem({index}), setError({message}),
openPanel/closePanel({options: {...}}) on the date field.
- the 16 actions 1ae1a576 moves to the object form: sf-editor-overlay
attach/attachFrame/setDocument/setNodes/setDropFilter/setActions/
setMessages/setInsertionTarget/select/edit (composition-overlay page,
moving-blocks guide, page-editor and overlay examples), sf-editor-inline
edit({element, options}), sf-menu-context openFor/toggleFor({anchor,
options}) and their outcome answer (not Promise<boolean>), sf-tabs
setData({data}).
The class-written forms (editor-overlay, editor-inline, menu-context,
tabs) take the object form only from 1ae1a576: at the pinned pair
ui-e22fefb3c1f8 those examples break, so this commit rides that pair and no
earlier. Generated "Методы" tables refresh at the repin.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
control/evidence/2026-11-09-tree-perf (tests/browser/tree-scale.browser.mjs on ui-source main 277ef3bf, headless Chromium, CPU x1, median of 3): first draw of 2 000 and 10 000 entries 33 / 32 ms, relabel, expand, collapse, select, check one and ArrowDown 30-33 ms, 1-2 rows rewritten; the two-frame measuring floor. "Drawn in one frame" was below what the probe can tell; the note now says two frames and adds the 10 000 case. True at the pinned pair (the windowed flat rows are 43de471f). The many-selection speed-up (fix/tree-perf-43 a4f94523) is not claimed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ne (the example shows the markup) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair renames sf-button-group to sf-segmented (the old tag is an alias until 2027-01-01) and makes the track the default look with a raised plate (D11c). Docara refuses inline previews of the old tag, so the build of the segmented page stopped. Every Smart example and page now writes sf-segmented: appearance="segmented" becomes "track", a tag without appearance keeps its former look with appearance="buttons", and the scripts wait for and query sf-segmented. The page describes the track first as the default, the plate default as raised, and the old tag and values in one line under former names. The plate specimen sets plate="scheme" where it shows colours. The badges page moves a long class example into a code block: inline code does not wrap, and at 390 px it pushed the page sideways. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t-form calls The drafts written for the first pair carrying ui-source feat/c20-shadows, c18-sizes (C21), c22-density and action-call-defects; ui-cb287da78ab1 (source 44a5efda) carries all of them. Conflicts kept this branch's sf-segmented page, sf-menu-context event names and the removed button-group page and segmented events example; the object form of select, openFor and toggleFor is applied to them and to the three context-menu examples the drafts did not reach. The token table is regenerated at the repin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pair is ui Build cb287da78 (the runtime), bind fd651a12b (the release lock contracts/releases/ui-cb287da78ab1.lock.json), ui-source 44a5efda, ui-builder 993e4be, npm 5.20261109.559, core.runtime 1.45.0. The Pro package pro-b671241d4d34 is ui-pro b671241 (the receipt's package source revision), archive sha fc4a964f, builder 993e4be, built over this pair; its pair-range.json (sha abf2e77e, interface 2ed7a43d) checks "within, built-over" for ui-cb287da78ab1 with ui-builder e87e47d set-pair-range.py. The version sync moves every pinned value and the CDN examples; the block kit link on Блоки names 5.20261109.559; the English home is re-accepted. The reference adds Russian text for the new manifest rows (19 strings, C25 actions among them) and 7 public variable texts. Generated sections, token table (722 tokens) and property types follow the pair. Standards: component-set 1.2.0 replaces 1.1.1. Reviews recorded: menu contract (hand-written groups, page already documents them), composition contract, smart lessons (hashes moved to 44a5efda/cb287; density marking in smart-base and the medium date format in field-renderers leave the lessons unchanged). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Buttons, icon buttons and the copy button teach ghost (link is a former name) and status danger (error is a former name), with a new section and examples for cycle and theme-cycle; icon buttons drop the secondary and surface tiles. The copy button defaults to ghost at size 1. Confirm uses status=danger (destructive is a former name): filled danger answer, quiet Отмена. Download file teaches file-type, target, and the preparing and error states with a new example. Settings uses ghost. Tabs: the long inline item string moves into a code block, so the page no longer overflows at 390. Density: the compact and explicit-size examples render inline, because compact applies from a 60rem viewport and the example frames are narrower. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The bundled admin scene on the home page is the ui-admin polygon at 7ec6fb4 (pinned to ui-cb287da78ab1 with pro-b671241d4d34): src/polygon.ts built into one ES module with Vite 8, its stylesheet, and data/polygon.json and data/navigation.json from the same commit. The embedding adaptations the previous take carried are applied to the source before the build: data and logo under assets/, no address history, no stale-page notice, links and forms kept on the page; the data's logo links read assets/logo.svg as before. The English copy gets the 28 new strings (pinning refusal, licence confirmation, licence field values, module bodies, no-permission titles, the sanitiser sample). It now uses sf-header-page, sf-view, sf-view-table and sf-view-properties with their current event names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Both badge pages say where the text sits: --sf-space-1/2 from the edge, 12 px on a computer and 8 px on a phone like the whole spacing ladder, and sf-badge--tight keeps the size's own room. Each page gets an example of the default and the tight badge (the tight attribute on sf-badge, the sf-badge--tight class on the core badge). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docara keeps inline code on one line. A long one (a path, a URN, a call with its arguments, a line of markup) is wider than a phone column, and on the Pro pages wider than the desktop column too, so 87 pages scrolled sideways at 390 and the Pro table and chat window pages at 1440 (table 1554, chat window 1504). A page transform, scripts/inline-code-wrap.mjs, lets inline code in the article wrap when it is longer than 32 characters (16 in a heading): at its spaces first, inside a token only where one token is still wider than the line. Code blocks, tables and live inline examples keep their own scrolling. A link whose text is one long token wraps the same way. The transform is idempotent (a second run changes nothing). After it, no page is wider than the window at 1440, and at 390 the only pages wider than the window are those whose header carries the language button (400 at 390), which the next Framework pair fixes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The standards copy carries change-lifecycle 1.0.1 and component-package 1.1.2 since the ui-d6f01121baca pin, and the site exports only those, so the map's links to 1.0.0 and 1.1.1 were broken (Quality: verify all generated local references). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Docara 3.13 adds a device-width copy of each inline example, marked data-docara-example-responsive-frame and kept display:none until the reader opens the full-screen viewer. The smoke waited 5 s for each copy and read it as an empty example, so the theme-generator and modal pages ran past the 45 s page limit in CI. Only a frame carrying Docara's marker that is still display:none is skipped; a marked frame on display and every other frame are waited for and checked as before, so a visible empty example still fails. The output names how many hidden copies were skipped on each page. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Docs pinned to SIMAI Framework pair ui-cb287da78ab1 (ui-source 44a5efda, bind fd651a12b, npm 5.20261109.559, core.runtime 1.45.0) with the Pro package pro-b671241d4d34 (ui-pro b671241, archive fc4a964f, pair-range "within, built-over"). Carries the docs work since #16, shown on ui-doc.test.
toggleFor({anchor}),select({value})).ghost(waslink),status="danger"(waserror/destructive),cycleandtheme-cycleon buttons and icon buttons; download file teachesfile-type, preparing and error states; copy button defaults to ghost.--sf-space-1/2: 12 px desktop, 8 px phone) and asf-badge--tightexample on both pages.scripts/inline-code-wrap.mjs), so no page scrolls sideways: 0 pages wider than the window at 1440; at 390 only the header tools (language button) remain at 400, fixed in the next Framework pair.Checks:
docs:checkexit 0; migration idempotency (CI command) 0 Markdown changes; local release on ui-doc.test verified in headless Chromium, 3 loads at 1440 and 390 (runtime ui-cb287da78ab1, console clean except a pre-existingtags.min.js404 on chat-window and property-view). Owner approved publishing (2026-11-09).🤖 Generated with Claude Code