@flowstack-ui/agent-tools 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +10 -0
- package/README.md +1 -1
- package/package.json +2 -2
- package/public/index.json +618 -555
- package/public/llms.txt +2 -2
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/accordion.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/alert-dialog.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/app-bar.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/aspect-ratio.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/avatar.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/badge.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/bottom-navigation.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/breadcrumb.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/button.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/carousel.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/checkbox-group.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/checkbox.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/clipboard.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/collapsible.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/color-picker.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/combobox.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/context-menu.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/data-grid.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/dialog.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/direction.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/divider.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/drag-drop.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/drawer.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/dropdown-menu.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/feed.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/field.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/fieldset.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/file-upload.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/form.txt +1 -1
- package/public/packages/atom/0.25.1/components/highlight.txt +125 -0
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/hover-card.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/image.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/input.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/label.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/link.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/list.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/listbox.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/menu.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/menubar.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/modal.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/multi-select.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/nav-list.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/navigation-menu.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/number-input.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/otp-field.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/pagination.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/password-toggle-field.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/popover.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/pressable.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/progress.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/radio-group.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/rating.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/reorder.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/scroll-area.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/select.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/sidebar.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/skip-link.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/slider.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/swipeable-item.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/switch.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/table.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/tabs.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/textarea.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/toast.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/toggle-group.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/toggle.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/toolbar.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/tooltip.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/tree-grid.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/tree.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/components/visually-hidden.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/docs/guides/agent-knowledge.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/docs/guides/getting-started.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/docs/guides/imports.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/docs/guides/public-api.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/guides/behavior-composition.txt +1 -1
- package/public/packages/atom/{0.24.0 → 0.25.1}/guides/layer-selection.txt +19 -1
- package/public/packages/atom/0.25.1/index.txt +90 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/accordion.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/alert-dialog.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/app-bar.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/appearance.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/aspect-ratio.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/avatar.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/badge.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/bleed.txt +1 -1
- package/public/packages/brick/0.1.12/components/blockquote.txt +121 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/bottom-navigation.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/breadcrumb.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/button.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/card.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/carousel.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/checkbox-group.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/checkbox.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/chip.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/code-block.txt +30 -9
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/code.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/collapsible.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/color-picker.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/color-swatch.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/combobox.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/container.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/context-menu.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/data-grid.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/data-list.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/dialog.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/divider.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/drawer.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/dropdown-menu.txt +1 -1
- package/public/packages/brick/0.1.12/components/em.txt +107 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/feed.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/field.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/fieldset.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/file-upload.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/form.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/frame.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/grid.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/group.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/hide.txt +1 -1
- package/public/packages/brick/0.1.12/components/highlight.txt +127 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/hover-card.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/icon-button.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/icon.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/image.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/input.txt +1 -1
- package/public/packages/brick/0.1.12/components/kbd.txt +113 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/link-box.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/link.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/list.txt +1 -1
- package/public/packages/brick/0.1.12/components/mark.txt +105 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/menubar.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/multi-select.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/nav-list.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/navigation-menu.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/notification-badge.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/number-input.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/otp-field.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/pagination.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/password-toggle-field.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/popover.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/progress-circle.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/progress.txt +1 -1
- package/public/packages/brick/0.1.12/components/prose.txt +143 -0
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/radio-group.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/rating.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/reorderable-list.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/scroll-area.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/section.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/segment-group.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/select.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/show.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/sidebar.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/skeleton.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/skip-link.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/slider.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/stack.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/status.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/surface.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/swipeable-item.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/switch.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/table.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/tabs.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/text.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/textarea.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/toast.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/toggle-group.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/toggle.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/toolbar.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/tooltip.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/tree-grid.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/tree.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/visually-hidden.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/components/z-stack.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/agent-knowledge.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/appearance-and-tokens.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/browser-support.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/control-sizing.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/installation.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/docs/guides/theme-contract.txt +1 -1
- package/public/packages/brick/{0.1.11 → 0.1.12}/guides/interface-composition.txt +20 -10
- package/public/packages/brick/{0.1.11 → 0.1.12}/guides/layer-selection.txt +138 -8
- package/public/packages/brick/0.1.12/index.txt +116 -0
- package/public/tasks/data.txt +24 -24
- package/public/tasks/forms.txt +50 -50
- package/public/tasks/layout.txt +22 -22
- package/public/tasks/navigation.txt +36 -36
- package/public/tasks/overlays.txt +24 -24
- package/public/tasks/theming.txt +2 -2
- package/public/packages/atom/0.24.0/index.txt +0 -89
- package/public/packages/brick/0.1.11/index.txt +0 -110
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Code Block
|
|
2
2
|
|
|
3
|
-
Source: @flowstack-ui/brick@0.1.
|
|
3
|
+
Source: @flowstack-ui/brick@0.1.12
|
|
4
4
|
Kind: component
|
|
5
5
|
ID: code-block
|
|
6
6
|
|
|
@@ -23,32 +23,37 @@ Present preserved multi-line technical source with native scrolling, explicit me
|
|
|
23
23
|
|
|
24
24
|
- Pass the exact plain-text source to Root value, then place Content inside Root and give focusable Content a specific accessible label.
|
|
25
25
|
- Author Header, Title, Language, Actions, CopyTrigger, CopyStatus, and CopyIndicator only when the interface needs those optional parts.
|
|
26
|
-
- For syntax highlighting,
|
|
27
|
-
-
|
|
26
|
+
- For syntax highlighting, pass a synchronous adapter or trusted React token nodes to Content while keeping Root value identical to the plain text that must be copied.
|
|
27
|
+
- Use Line for authored line numbers, highlighting, focus, additions, and removals; metadata remains independent so one line can carry more than one relevant state.
|
|
28
|
+
- Use Content maxLines for a bounded scroll region. For expansion, put bounded Content in CollapsePreview, unbounded Content in CollapseContent, and author CollapseTrigger so Brick Collapsible owns the real disclosure relationship and lifecycle.
|
|
28
29
|
|
|
29
30
|
## Rules
|
|
30
31
|
|
|
31
32
|
- **MUST:** Keep Root value authoritative and exactly aligned with rendered highlighted content so copy behavior never depends on rendered textContent.
|
|
32
|
-
- **MUST:** Keep tokenization, language loading, and syntax palettes in a consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path.
|
|
33
|
+
- **MUST:** Keep tokenization, language loading, and syntax palettes in a pure synchronous consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path.
|
|
33
34
|
- **MUST:** Let Content own canonical pre, code, focus, and horizontal scrolling instead of rebuilding them with a separate ScrollArea or native pre element.
|
|
34
35
|
- **MUST:** Give every focusable Content region a specific aria-label or aria-labelledby, especially when several examples share one page.
|
|
36
|
+
- **MUST:** Author Line metadata from the authoritative source or trusted adapter output; do not infer diffs, focus, or highlighting from visual tokens.
|
|
37
|
+
- **MUST:** Keep standalone maxLines content reachable through its focusable viewport; for expansion, pair CollapsePreview and CollapseContent with an accessible CollapseTrigger so only the current source view is exposed.
|
|
35
38
|
- **MUST:** Load styles.css or core.css plus code-block.css and its documented component dependencies.
|
|
36
39
|
|
|
37
40
|
## Common mistakes
|
|
38
41
|
|
|
39
42
|
- **Avoid:** Rendering highlighted HTML with dangerouslySetInnerHTML, copying from token text, or nesting another pre and ScrollArea inside Content. **Instead:** Render trusted React token spans, preserve the original string in Root value, and let Content own the canonical code viewport.
|
|
40
43
|
- **Avoid:** Adding a header, language label, copy action, or status region merely because those parts exist. **Instead:** Author only the optional anatomy required by the surrounding interface.
|
|
44
|
+
- **Avoid:** Clipping a long code block with application CSS and no reachable overflow or expansion control. **Instead:** Use Content maxLines for bounded scrolling or compose CollapsePreview, CollapseContent, and CollapseTrigger for an accessible full-source path.
|
|
41
45
|
|
|
42
46
|
## Validation checklist
|
|
43
47
|
|
|
44
48
|
- Confirm the rendered tokens and copied plain text match exactly, unsafe HTML is absent, and copy success, failure, concurrency, and status wording remain truthful when copy anatomy is present.
|
|
45
|
-
- Check keyboard focus, uniquely named overflow landmarks, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery.
|
|
49
|
+
- Check keyboard focus, uniquely named overflow landmarks, line metadata, bounded scrolling or collapse expansion, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery.
|
|
46
50
|
|
|
47
51
|
## Related guidance
|
|
48
52
|
|
|
49
53
|
- `code`
|
|
50
54
|
- `scroll-area`
|
|
51
55
|
- `button`
|
|
56
|
+
- `collapsible`
|
|
52
57
|
- `tabs`
|
|
53
58
|
- `interface-composition`
|
|
54
59
|
|
|
@@ -79,8 +84,9 @@ Present preserved multi-line technical source with native scrolling, explicit me
|
|
|
79
84
|
"composition": [
|
|
80
85
|
"Pass the exact plain-text source to Root value, then place Content inside Root and give focusable Content a specific accessible label.",
|
|
81
86
|
"Author Header, Title, Language, Actions, CopyTrigger, CopyStatus, and CopyIndicator only when the interface needs those optional parts.",
|
|
82
|
-
"For syntax highlighting,
|
|
83
|
-
"
|
|
87
|
+
"For syntax highlighting, pass a synchronous adapter or trusted React token nodes to Content while keeping Root value identical to the plain text that must be copied.",
|
|
88
|
+
"Use Line for authored line numbers, highlighting, focus, additions, and removals; metadata remains independent so one line can carry more than one relevant state.",
|
|
89
|
+
"Use Content maxLines for a bounded scroll region. For expansion, put bounded Content in CollapsePreview, unbounded Content in CollapseContent, and author CollapseTrigger so Brick Collapsible owns the real disclosure relationship and lifecycle."
|
|
84
90
|
],
|
|
85
91
|
"rules": [
|
|
86
92
|
{
|
|
@@ -91,7 +97,7 @@ Present preserved multi-line technical source with native scrolling, explicit me
|
|
|
91
97
|
{
|
|
92
98
|
"id": "code-block-highlighting-owner",
|
|
93
99
|
"level": "must",
|
|
94
|
-
"statement": "Keep tokenization, language loading, and syntax palettes in a consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path."
|
|
100
|
+
"statement": "Keep tokenization, language loading, and syntax palettes in a pure synchronous consumer adapter; Brick accepts trusted React nodes and does not bundle a highlighter or unsafe HTML path."
|
|
95
101
|
},
|
|
96
102
|
{
|
|
97
103
|
"id": "code-block-scroll-owner",
|
|
@@ -103,6 +109,16 @@ Present preserved multi-line technical source with native scrolling, explicit me
|
|
|
103
109
|
"level": "must",
|
|
104
110
|
"statement": "Give every focusable Content region a specific aria-label or aria-labelledby, especially when several examples share one page."
|
|
105
111
|
},
|
|
112
|
+
{
|
|
113
|
+
"id": "code-block-line-metadata",
|
|
114
|
+
"level": "must",
|
|
115
|
+
"statement": "Author Line metadata from the authoritative source or trusted adapter output; do not infer diffs, focus, or highlighting from visual tokens."
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "code-block-bounded-access",
|
|
119
|
+
"level": "must",
|
|
120
|
+
"statement": "Keep standalone maxLines content reachable through its focusable viewport; for expansion, pair CollapsePreview and CollapseContent with an accessible CollapseTrigger so only the current source view is exposed."
|
|
121
|
+
},
|
|
106
122
|
{
|
|
107
123
|
"id": "code-block-css",
|
|
108
124
|
"level": "must",
|
|
@@ -117,16 +133,21 @@ Present preserved multi-line technical source with native scrolling, explicit me
|
|
|
117
133
|
{
|
|
118
134
|
"mistake": "Adding a header, language label, copy action, or status region merely because those parts exist.",
|
|
119
135
|
"correction": "Author only the optional anatomy required by the surrounding interface."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"mistake": "Clipping a long code block with application CSS and no reachable overflow or expansion control.",
|
|
139
|
+
"correction": "Use Content maxLines for bounded scrolling or compose CollapsePreview, CollapseContent, and CollapseTrigger for an accessible full-source path."
|
|
120
140
|
}
|
|
121
141
|
],
|
|
122
142
|
"validation": [
|
|
123
143
|
"Confirm the rendered tokens and copied plain text match exactly, unsafe HTML is absent, and copy success, failure, concurrency, and status wording remain truthful when copy anatomy is present.",
|
|
124
|
-
"Check keyboard focus, uniquely named overflow landmarks, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery."
|
|
144
|
+
"Check keyboard focus, uniquely named overflow landmarks, line metadata, bounded scrolling or collapse expansion, long-line scrolling or wrapping, mobile text sizing, zoom, selection, RTL/LTR, light and dark syntax contrast, and CSS delivery."
|
|
125
145
|
],
|
|
126
146
|
"related": [
|
|
127
147
|
"code",
|
|
128
148
|
"scroll-area",
|
|
129
149
|
"button",
|
|
150
|
+
"collapsible",
|
|
130
151
|
"tabs",
|
|
131
152
|
"interface-composition"
|
|
132
153
|
]
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Em
|
|
2
|
+
|
|
3
|
+
Source: @flowstack-ui/brick@0.1.12
|
|
4
|
+
Kind: component
|
|
5
|
+
ID: em
|
|
6
|
+
|
|
7
|
+
# Em agent guide
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Apply native stress emphasis while preserving the surrounding Brick typography and foreground.
|
|
12
|
+
|
|
13
|
+
## Use when
|
|
14
|
+
|
|
15
|
+
- Words in a sentence need semantic stress emphasis that changes the meaning or cadence when spoken.
|
|
16
|
+
|
|
17
|
+
## Choose something else when
|
|
18
|
+
|
|
19
|
+
- Text only needs an italic visual treatment without stress emphasis. Use a deliberate application-owned visual recipe.
|
|
20
|
+
- Text needs importance rather than stress emphasis. Use native strong inside the surrounding text owner.
|
|
21
|
+
|
|
22
|
+
## Required composition
|
|
23
|
+
|
|
24
|
+
- Keep Em inside the Text, heading, link, or component content owner whose sentence it completes.
|
|
25
|
+
|
|
26
|
+
## Rules
|
|
27
|
+
|
|
28
|
+
- **MUST:** Use Em only for native stress emphasis and preserve its one em host; do not select it merely for italic paint.
|
|
29
|
+
- **MUST:** Let Em inherit the surrounding typography and foreground rather than introducing a separate size, tone, or weight recipe.
|
|
30
|
+
- **MUST:** Load styles.css or core.css plus em.css.
|
|
31
|
+
|
|
32
|
+
## Common mistakes
|
|
33
|
+
|
|
34
|
+
- **Avoid:** Using Em as a decorative italic label or replacing a sentence-level text owner with Em. **Instead:** Keep Em inside meaningful surrounding copy and use it only when stress emphasis is semantically intended.
|
|
35
|
+
|
|
36
|
+
## Validation checklist
|
|
37
|
+
|
|
38
|
+
- Confirm one native em element, inherited metrics and foreground, readable forced colors, normal selection and copy, and no tab stop or role.
|
|
39
|
+
- Check nested sentence flow, localization, zoom, RTL, and CSS delivery.
|
|
40
|
+
|
|
41
|
+
## Related guidance
|
|
42
|
+
|
|
43
|
+
- `text`
|
|
44
|
+
- `link`
|
|
45
|
+
- `interface-composition`
|
|
46
|
+
|
|
47
|
+
## Machine record
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
{
|
|
51
|
+
"schema": "flowstack.agent-component.v1",
|
|
52
|
+
"id": "em",
|
|
53
|
+
"name": "Em",
|
|
54
|
+
"package": "@flowstack-ui/brick",
|
|
55
|
+
"layer": "brick",
|
|
56
|
+
"kind": "component",
|
|
57
|
+
"purpose": "Apply native stress emphasis while preserving the surrounding Brick typography and foreground.",
|
|
58
|
+
"useWhen": [
|
|
59
|
+
"Words in a sentence need semantic stress emphasis that changes the meaning or cadence when spoken."
|
|
60
|
+
],
|
|
61
|
+
"avoidWhen": [
|
|
62
|
+
{
|
|
63
|
+
"condition": "Text only needs an italic visual treatment without stress emphasis.",
|
|
64
|
+
"useInstead": "a deliberate application-owned visual recipe"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"condition": "Text needs importance rather than stress emphasis.",
|
|
68
|
+
"useInstead": "native strong inside the surrounding text owner"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"composition": [
|
|
72
|
+
"Keep Em inside the Text, heading, link, or component content owner whose sentence it completes."
|
|
73
|
+
],
|
|
74
|
+
"rules": [
|
|
75
|
+
{
|
|
76
|
+
"id": "em-native-semantics",
|
|
77
|
+
"level": "must",
|
|
78
|
+
"statement": "Use Em only for native stress emphasis and preserve its one em host; do not select it merely for italic paint."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "em-inheritance",
|
|
82
|
+
"level": "must",
|
|
83
|
+
"statement": "Let Em inherit the surrounding typography and foreground rather than introducing a separate size, tone, or weight recipe."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "em-css",
|
|
87
|
+
"level": "must",
|
|
88
|
+
"statement": "Load styles.css or core.css plus em.css."
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"commonMistakes": [
|
|
92
|
+
{
|
|
93
|
+
"mistake": "Using Em as a decorative italic label or replacing a sentence-level text owner with Em.",
|
|
94
|
+
"correction": "Keep Em inside meaningful surrounding copy and use it only when stress emphasis is semantically intended."
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"validation": [
|
|
98
|
+
"Confirm one native em element, inherited metrics and foreground, readable forced colors, normal selection and copy, and no tab stop or role.",
|
|
99
|
+
"Check nested sentence flow, localization, zoom, RTL, and CSS delivery."
|
|
100
|
+
],
|
|
101
|
+
"related": [
|
|
102
|
+
"text",
|
|
103
|
+
"link",
|
|
104
|
+
"interface-composition"
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
```
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Highlight
|
|
2
|
+
|
|
3
|
+
Source: @flowstack-ui/brick@0.1.12
|
|
4
|
+
Kind: component
|
|
5
|
+
ID: highlight
|
|
6
|
+
|
|
7
|
+
# Highlight agent guide
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Discover literal queries in plain text through exact Atom behavior and render finished semantic match styling.
|
|
12
|
+
|
|
13
|
+
## Use when
|
|
14
|
+
|
|
15
|
+
- One plain text string needs deterministic visible query matches without recreating escaping, overlap, case, or whole-word behavior.
|
|
16
|
+
|
|
17
|
+
## Choose something else when
|
|
18
|
+
|
|
19
|
+
- The relevant passage is already selected by the author. Use Mark.
|
|
20
|
+
- Content is arbitrary React nodes or the application needs active result navigation. Use application-owned rich-content traversal or search navigation.
|
|
21
|
+
|
|
22
|
+
## Required composition
|
|
23
|
+
|
|
24
|
+
- Pass plain text through text and literal query values through query; keep surrounding sentence typography on Text or another content owner.
|
|
25
|
+
- Let Highlight delegate all matching to Atom and keep search input, active result, counters, and navigation in the application.
|
|
26
|
+
|
|
27
|
+
## Rules
|
|
28
|
+
|
|
29
|
+
- **MUST:** Use exact Atom Highlight behavior; do not copy or replace its segmentation, escaping, overlap, or exact-match logic.
|
|
30
|
+
- **MUST:** Use Highlight only for plain text and literal queries, never by flattening or cloning arbitrary React content.
|
|
31
|
+
- **MUST:** Preserve Brick's fixed native span root and Atom-generated native mark matches.
|
|
32
|
+
- **MUST:** Select only the documented subtle, solid, or underline variant and accent or neutral tone.
|
|
33
|
+
- **MUST:** Keep search state, active-result navigation, counts, keyboard commands, and announcements outside Highlight.
|
|
34
|
+
- **MUST:** Load styles.css or core.css plus highlight.css.
|
|
35
|
+
|
|
36
|
+
## Common mistakes
|
|
37
|
+
|
|
38
|
+
- **Avoid:** Using Mark or a consumer regular expression to discover query matches. **Instead:** Pass the plain string and literal query to Highlight so exact Atom behavior owns segmentation.
|
|
39
|
+
|
|
40
|
+
## Validation checklist
|
|
41
|
+
|
|
42
|
+
- Confirm literal, empty, repeated, overlapping, punctuation, Unicode, case-sensitive, whole-word, and first-match-only inputs preserve original text and copy order.
|
|
43
|
+
- Confirm native span and mark output, closed recipes, forced colors, wrap, zoom, text spacing, localization, RTL, SSR, refs, and CSS delivery without focus or interaction.
|
|
44
|
+
|
|
45
|
+
## Related guidance
|
|
46
|
+
|
|
47
|
+
- `mark`
|
|
48
|
+
- `text`
|
|
49
|
+
- `interface-composition`
|
|
50
|
+
|
|
51
|
+
## Machine record
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"schema": "flowstack.agent-component.v1",
|
|
56
|
+
"id": "highlight",
|
|
57
|
+
"name": "Highlight",
|
|
58
|
+
"package": "@flowstack-ui/brick",
|
|
59
|
+
"layer": "brick",
|
|
60
|
+
"kind": "component",
|
|
61
|
+
"purpose": "Discover literal queries in plain text through exact Atom behavior and render finished semantic match styling.",
|
|
62
|
+
"useWhen": [
|
|
63
|
+
"One plain text string needs deterministic visible query matches without recreating escaping, overlap, case, or whole-word behavior."
|
|
64
|
+
],
|
|
65
|
+
"avoidWhen": [
|
|
66
|
+
{
|
|
67
|
+
"condition": "The relevant passage is already selected by the author.",
|
|
68
|
+
"useInstead": "Mark"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"condition": "Content is arbitrary React nodes or the application needs active result navigation.",
|
|
72
|
+
"useInstead": "application-owned rich-content traversal or search navigation"
|
|
73
|
+
}
|
|
74
|
+
],
|
|
75
|
+
"composition": [
|
|
76
|
+
"Pass plain text through text and literal query values through query; keep surrounding sentence typography on Text or another content owner.",
|
|
77
|
+
"Let Highlight delegate all matching to Atom and keep search input, active result, counters, and navigation in the application."
|
|
78
|
+
],
|
|
79
|
+
"rules": [
|
|
80
|
+
{
|
|
81
|
+
"id": "highlight-atom",
|
|
82
|
+
"level": "must",
|
|
83
|
+
"statement": "Use exact Atom Highlight behavior; do not copy or replace its segmentation, escaping, overlap, or exact-match logic."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "highlight-plain-text",
|
|
87
|
+
"level": "must",
|
|
88
|
+
"statement": "Use Highlight only for plain text and literal queries, never by flattening or cloning arbitrary React content."
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "highlight-native",
|
|
92
|
+
"level": "must",
|
|
93
|
+
"statement": "Preserve Brick's fixed native span root and Atom-generated native mark matches."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "highlight-recipes",
|
|
97
|
+
"level": "must",
|
|
98
|
+
"statement": "Select only the documented subtle, solid, or underline variant and accent or neutral tone."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "highlight-state",
|
|
102
|
+
"level": "must",
|
|
103
|
+
"statement": "Keep search state, active-result navigation, counts, keyboard commands, and announcements outside Highlight."
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "highlight-css",
|
|
107
|
+
"level": "must",
|
|
108
|
+
"statement": "Load styles.css or core.css plus highlight.css."
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"commonMistakes": [
|
|
112
|
+
{
|
|
113
|
+
"mistake": "Using Mark or a consumer regular expression to discover query matches.",
|
|
114
|
+
"correction": "Pass the plain string and literal query to Highlight so exact Atom behavior owns segmentation."
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"validation": [
|
|
118
|
+
"Confirm literal, empty, repeated, overlapping, punctuation, Unicode, case-sensitive, whole-word, and first-match-only inputs preserve original text and copy order.",
|
|
119
|
+
"Confirm native span and mark output, closed recipes, forced colors, wrap, zoom, text spacing, localization, RTL, SSR, refs, and CSS delivery without focus or interaction."
|
|
120
|
+
],
|
|
121
|
+
"related": [
|
|
122
|
+
"mark",
|
|
123
|
+
"text",
|
|
124
|
+
"interface-composition"
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
```
|