@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
package/public/llms.txt
CHANGED
|
@@ -4,8 +4,8 @@ Version-aware public Agent Knowledge. Start with a task or exact package; then l
|
|
|
4
4
|
|
|
5
5
|
## Packages
|
|
6
6
|
|
|
7
|
-
- [@flowstack-ui/atom@0.
|
|
8
|
-
- [@flowstack-ui/brick@0.1.
|
|
7
|
+
- [@flowstack-ui/atom@0.25.1](/packages/atom/0.25.1/index.txt) — 71 components, 0 operations
|
|
8
|
+
- [@flowstack-ui/brick@0.1.12](/packages/brick/0.1.12/index.txt) — 95 components, 0 operations
|
|
9
9
|
- [@flowstack-ui/colors@0.1.1](/packages/colors/0.1.1/index.txt) — 0 components, 6 operations
|
|
10
10
|
- [@flowstack-ui/theme@0.1.1](/packages/theme/0.1.1/index.txt) — 0 components, 7 operations
|
|
11
11
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Highlight
|
|
2
|
+
|
|
3
|
+
Source: @flowstack-ui/atom@0.25.1
|
|
4
|
+
Kind: component
|
|
5
|
+
ID: highlight
|
|
6
|
+
|
|
7
|
+
# Highlight agent guide
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Segment plain text against one or more literal queries and render matched text with native mark semantics without owning visual styling or search application state.
|
|
12
|
+
|
|
13
|
+
## Use when
|
|
14
|
+
|
|
15
|
+
- Visible plain text needs deterministic, server-safe query highlighting and the styled layer should not recreate matching, overlap, or whole-word behavior.
|
|
16
|
+
|
|
17
|
+
## Choose something else when
|
|
18
|
+
|
|
19
|
+
- The emphasis is authored rather than query-driven, the content contains arbitrary React nodes, or the application needs interactive find navigation. Use a native mark or em element, application-owned rich-content traversal, or application-owned search navigation.
|
|
20
|
+
|
|
21
|
+
## Required composition
|
|
22
|
+
|
|
23
|
+
- Pass plain text and literal query values to Highlight.Root. Style its root and Highlight.Match slots in Brick, or call findHighlightSegments when another renderer must preserve the same matching contract.
|
|
24
|
+
|
|
25
|
+
## Rules
|
|
26
|
+
|
|
27
|
+
- **MUST:** Treat every query as literal text rather than executable regular-expression syntax.
|
|
28
|
+
- **MUST:** Use Highlight only for plain text; do not flatten or clone arbitrary React content to search through it.
|
|
29
|
+
- **MUST:** Resolve matches from left to right, preferring the longest query at the same offset and authored query order as the final tie breaker.
|
|
30
|
+
- **MUST:** Use exactMatch only for Unicode-aware whole-word matching; it is not equality of the complete input string.
|
|
31
|
+
- **MUST:** Keep color, decoration, theme variants, result navigation, and search state outside Atom.
|
|
32
|
+
|
|
33
|
+
## Common mistakes
|
|
34
|
+
|
|
35
|
+
- **Avoid:** Building a regular expression directly from user-entered search text or duplicating matching in Brick. **Instead:** Pass literal queries to Highlight.Root or findHighlightSegments and let Atom escape and resolve them.
|
|
36
|
+
- **Avoid:** Using Highlight to make arbitrary JSX searchable or to control the active search result. **Instead:** Keep rich-content traversal and active-result navigation in the application and use Highlight only at plain-text rendering boundaries.
|
|
37
|
+
|
|
38
|
+
## Validation checklist
|
|
39
|
+
|
|
40
|
+
- Verify empty, repeated, overlapping, punctuation, Unicode, case-sensitive, whole-word, and first-match-only inputs preserve the original text and stable offsets.
|
|
41
|
+
- Verify Root and Match remain server-safe, emit native span and mark semantics, preserve native props and refs, and introduce no keyboard or focus behavior.
|
|
42
|
+
- Verify the exact public subpath, namespace, pure utility, generated Agent Knowledge, and packed Consumer all resolve from the same candidate.
|
|
43
|
+
|
|
44
|
+
## Related guidance
|
|
45
|
+
|
|
46
|
+
- `native-element (native-application)`
|
|
47
|
+
- `application-state (native-application)`
|
|
48
|
+
|
|
49
|
+
## Machine record
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"schema": "flowstack.agent-component.v1",
|
|
54
|
+
"id": "highlight",
|
|
55
|
+
"name": "Highlight",
|
|
56
|
+
"package": "@flowstack-ui/atom",
|
|
57
|
+
"layer": "atom",
|
|
58
|
+
"kind": "component",
|
|
59
|
+
"purpose": "Segment plain text against one or more literal queries and render matched text with native mark semantics without owning visual styling or search application state.",
|
|
60
|
+
"useWhen": [
|
|
61
|
+
"Visible plain text needs deterministic, server-safe query highlighting and the styled layer should not recreate matching, overlap, or whole-word behavior."
|
|
62
|
+
],
|
|
63
|
+
"avoidWhen": [
|
|
64
|
+
{
|
|
65
|
+
"condition": "The emphasis is authored rather than query-driven, the content contains arbitrary React nodes, or the application needs interactive find navigation.",
|
|
66
|
+
"useInstead": "a native mark or em element, application-owned rich-content traversal, or application-owned search navigation"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"composition": [
|
|
70
|
+
"Pass plain text and literal query values to Highlight.Root. Style its root and Highlight.Match slots in Brick, or call findHighlightSegments when another renderer must preserve the same matching contract."
|
|
71
|
+
],
|
|
72
|
+
"rules": [
|
|
73
|
+
{
|
|
74
|
+
"id": "highlight-literal-query",
|
|
75
|
+
"level": "must",
|
|
76
|
+
"statement": "Treat every query as literal text rather than executable regular-expression syntax."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "highlight-plain-text",
|
|
80
|
+
"level": "must",
|
|
81
|
+
"statement": "Use Highlight only for plain text; do not flatten or clone arbitrary React content to search through it."
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "highlight-overlap",
|
|
85
|
+
"level": "must",
|
|
86
|
+
"statement": "Resolve matches from left to right, preferring the longest query at the same offset and authored query order as the final tie breaker."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "highlight-whole-word",
|
|
90
|
+
"level": "must",
|
|
91
|
+
"statement": "Use exactMatch only for Unicode-aware whole-word matching; it is not equality of the complete input string."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "highlight-style-boundary",
|
|
95
|
+
"level": "must",
|
|
96
|
+
"statement": "Keep color, decoration, theme variants, result navigation, and search state outside Atom."
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"commonMistakes": [
|
|
100
|
+
{
|
|
101
|
+
"mistake": "Building a regular expression directly from user-entered search text or duplicating matching in Brick.",
|
|
102
|
+
"correction": "Pass literal queries to Highlight.Root or findHighlightSegments and let Atom escape and resolve them."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"mistake": "Using Highlight to make arbitrary JSX searchable or to control the active search result.",
|
|
106
|
+
"correction": "Keep rich-content traversal and active-result navigation in the application and use Highlight only at plain-text rendering boundaries."
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"validation": [
|
|
110
|
+
"Verify empty, repeated, overlapping, punctuation, Unicode, case-sensitive, whole-word, and first-match-only inputs preserve the original text and stable offsets.",
|
|
111
|
+
"Verify Root and Match remain server-safe, emit native span and mark semantics, preserve native props and refs, and introduce no keyboard or focus behavior.",
|
|
112
|
+
"Verify the exact public subpath, namespace, pure utility, generated Agent Knowledge, and packed Consumer all resolve from the same candidate."
|
|
113
|
+
],
|
|
114
|
+
"related": [
|
|
115
|
+
{
|
|
116
|
+
"kind": "native-application",
|
|
117
|
+
"id": "native-element"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"kind": "native-application",
|
|
121
|
+
"id": "application-state"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
```
|