Sync EUI icon library with Jan–May 2026 renames and additions#3378
Sync EUI icon library with Jan–May 2026 renames and additions#3378florent-leborgne wants to merge 2 commits into
Conversation
EUI renamed virtually all icons from camelCase to snake_case in Jan 2026 (#9279) and has continued adding new icons since. This brings docs-builder fully up to date. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR introduces alias dictionaries in 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
docs/syntax/icons.md (1)
665-665:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUsage examples should demonstrate canonical icon names.
The examples use the legacy alias
checkCircleinstead of the canonicalcheck_circle. Update examples to use canonical snake_case names to guide users toward current naming conventions.📝 Proposed fix
| Status | Description | |:--------------:|:------------| -| {icon}`checkCircle` | Success | +| {icon}`check_circle` | Success | | {icon}`warning` | Warning | | {icon}`error` | Error |And in the Markdown block:
| Status | Description | |:--------------:|:------------| -| {icon}`checkCircle` | Success | +| {icon}`check_circle` | Success | | {icon}`warning` | Warning | | {icon}`error` | Error |Also applies to: 675-675
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/syntax/icons.md` at line 665, Update the example icon names to use canonical snake_case forms: replace the legacy alias checkCircle with check_circle in the icons documentation (the table row containing "{icon}`checkCircle`" and any other occurrences such as the one noted at line 675), ensuring all usage examples show the canonical names so users are guided to the current naming convention.src/Elastic.Documentation.Svg/EuiSvgIcons.cs (1)
257-258:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winGetToken does not resolve token aliases.
Every other lookup method (TryGetIcon, TryGetToken, GetIcon overloads) resolves aliases, but GetToken does not. This breaks the transparent alias resolution contract and creates an inconsistent API.
🔧 Proposed fix
public static string? GetToken(string name) => - Tokens.TryGetValue(name, out var svg) ? svg : null; +{ + if (TokenAliases.TryGetValue(name, out var canonical)) + name = canonical; + return Tokens.TryGetValue(name, out var svg) ? svg : null; +}🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/Elastic.Documentation.Svg/EuiSvgIcons.cs` around lines 257 - 258, GetToken currently returns Tokens.TryGetValue(name) directly and therefore doesn't resolve aliases; update GetToken to mirror the alias-resolution behavior used by TryGetIcon/TryGetToken/GetIcon overloads: if Tokens.TryGetValue(name) fails, check the token alias mapping (e.g., TokenAliases or similar alias dictionary used elsewhere), follow the alias target(s) until you arrive at a real token name (guarding against cycles or excessive depth), then return the looked-up SVG from Tokens, or null if none found. Ensure you reference GetToken, Tokens, and the existing alias dictionary/methods used by TryGetIcon/TryGetToken so behavior is consistent across lookups.
🧹 Nitpick comments (1)
docs/syntax/icons.md (1)
268-268: 💤 Low valueIcon name uses camelCase inconsistent with surrounding snake_case names.
indexTemporarystands out as the only camelCase icon name in a table of snake_case names. If this is the actual canonical name on disk, consider renaming it toindex_temporaryfor consistency with the EUI snake_case convention.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/syntax/icons.md` at line 268, The icon name in the docs uses camelCase (`indexTemporary`) which is inconsistent with the surrounding snake_case convention; rename the symbol to `index_temporary` in the docs table (replace `{icon}`indexTemporary`` with `{icon}`index_temporary``) and, if the actual asset on disk is named `indexTemporary`, rename the asset and any references (imports, CSS classes, examples) to `index_temporary` consistently across the repo (search for `indexTemporary` and update all occurrences, including references in functions/components that use the icon).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@docs/syntax/icons.md`:
- Line 665: Update the example icon names to use canonical snake_case forms:
replace the legacy alias checkCircle with check_circle in the icons
documentation (the table row containing "{icon}`checkCircle`" and any other
occurrences such as the one noted at line 675), ensuring all usage examples show
the canonical names so users are guided to the current naming convention.
In `@src/Elastic.Documentation.Svg/EuiSvgIcons.cs`:
- Around line 257-258: GetToken currently returns Tokens.TryGetValue(name)
directly and therefore doesn't resolve aliases; update GetToken to mirror the
alias-resolution behavior used by TryGetIcon/TryGetToken/GetIcon overloads: if
Tokens.TryGetValue(name) fails, check the token alias mapping (e.g.,
TokenAliases or similar alias dictionary used elsewhere), follow the alias
target(s) until you arrive at a real token name (guarding against cycles or
excessive depth), then return the looked-up SVG from Tokens, or null if none
found. Ensure you reference GetToken, Tokens, and the existing alias
dictionary/methods used by TryGetIcon/TryGetToken so behavior is consistent
across lookups.
---
Nitpick comments:
In `@docs/syntax/icons.md`:
- Line 268: The icon name in the docs uses camelCase (`indexTemporary`) which is
inconsistent with the surrounding snake_case convention; rename the symbol to
`index_temporary` in the docs table (replace `{icon}`indexTemporary`` with
`{icon}`index_temporary``) and, if the actual asset on disk is named
`indexTemporary`, rename the asset and any references (imports, CSS classes,
examples) to `index_temporary` consistently across the repo (search for
`indexTemporary` and update all occurrences, including references in
functions/components that use the icon).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 9466d9af-4f4c-4900-9fc1-610b31f20ab8
⛔ Files ignored due to path filters (298)
src/Elastic.Documentation.Svg/svgs/align_bottom.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_bottom_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_bottom_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_center_horizontal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_center_vertical.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_top.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_top_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/align_top_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/analyze_event.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/archive.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/arrow_down.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/arrow_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/arrow_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/axis_x.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/axis_y_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/axis_y_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/bell_slash.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/bolt.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/branch_user.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/briefcase.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/bulb.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/bullseye.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_anomaly.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_area.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_area_stack.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_bar_horizontal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_bar_horizontal_stack.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_bar_vertical.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_bar_vertical_stack.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_change_point.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_gauge.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_heatmap.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_line.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_metric.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_pie.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_tag_cloud.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_threshold.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chart_waterfall.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/checkInCircleFilled.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/check_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/check_circle_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_double_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_double_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_limit_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_limit_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_single_down.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_single_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_single_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/chevron_single_up.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/clickLeft.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/clickRight.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/click_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/click_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/clock_control.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/clock_counter.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/cloud.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/cloud_drizzle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/cloud_stormy.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/cloud_sunny.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/command_line.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/compare.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/continuity_above.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/continuity_above_below.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/continuity_below.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/continuity_within.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/contrastHigh.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/contrast_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/cross_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/crosshair.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/dashed_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/display.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/distribute_horizontal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/distribute_vertical.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/document_edit.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/documents.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/dot_in_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/doubleArrowLeft.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/drag.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/drag_horizontal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/drag_vertical.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_distribute_horizontal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_distribute_vertical.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_bottom.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_center.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_middle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_item_align_top.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_position_bottom_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_position_bottom_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_position_top_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/editor_position_top_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/ellipsis.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/errorFilled.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/error_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/esql_vis.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/expandMini.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/external.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/eye_slash.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/filter_exclude.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/filter_ignore.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/filter_in_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/filter_include.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/folder_close.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/folder_closed.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/folder_open.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/frame_next.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/frame_previous.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/fullScreenExit.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/full_screen_exit.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/grab_omnidirectional.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/hourglass.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/if.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/index_close.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/index_edit.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/index_open.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/index_runtime.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/index_settings.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/inputOutput.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/input_output.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/kubernetesPod.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/kubernetes_node.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/kubernetes_pod.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/lineDashed.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/lineDotted.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/lineSolid.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/line_break.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/line_break_slash.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/line_dash.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/line_dot.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/line_solid.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/link_slash.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/list_bullet.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/list_check.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/list_number.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/lock_open.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/log_out.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_exclamation.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_minus.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_plus.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_with_exclamation.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_with_minus.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/magnify_with_plus.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/mail.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/map.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/mapping.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/maximize.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/megaphone.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menuLeft.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menuRight.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menu_down.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menu_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menu_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/menu_up.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/minus_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/minus_in_circle_filled.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/minus_in_square.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/minus_square.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/money.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/page_select.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pagesSelect.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pages_select.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/paint_bucket.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pattern.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pin_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pipeBreaks.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/pipeNoBreaks.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/play_filled.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/plus_circle.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/plus_in_square.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/plus_square.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/popper.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/presentation.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/processor.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_agent.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_cloud_infra.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_dashboard.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_discover.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_ml.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_streams_classic.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/product_streams_wired.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/query.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/query_field.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/query_operand.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/query_selector.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/query_value.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/queue.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/radar.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/readOnly.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/read_only.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/redo.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/refresh_time.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/return.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/rocket.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/scissors.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/section.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/security_signal.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/security_signal_detected.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/security_signal_resolved.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/send.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/server.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/session_viewer.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/significant_events.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sortAscending.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sortDescending.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sort_ascending.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sort_descending.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sort_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/sort_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_fill_space.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_filled.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_minus_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_plus_empty.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/star_plus_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/stop_fill.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table_density_high.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table_density_low.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table_info.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table_of_contents.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/table_time.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_align_center.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_align_left.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_align_right.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_bold.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_heading.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_italic.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_strike.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/text_underline.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/thermometer.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/thumbDown.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/thumbUp.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/thumb_down.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/thumb_up.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/timeline.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/timelineWithArrow.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/timeline_with_arrow.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_alias.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_annotation.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_array.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_binary.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_boolean.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_class.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_completion_suggester.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_constant.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_date.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_dimension.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_element.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_enum.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_enum_member.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_event.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_exception.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_field.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_file.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_flattened.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_function.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_geo.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_histogram.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_interface.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_ip.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_join.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_key.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_keyword.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_method.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_metric_counter.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_metric_gauge.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_module.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_namespace.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_nested.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_null.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_number.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_object.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_operator.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_package.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_parameter.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_percolator.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_property.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_range.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_rank_feature.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_rank_features.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_repo.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_search_type.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_semantic_text.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_shape.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_string.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_struct.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_symbol.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_tag.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_text.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_token_count.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_variable.svgis excluded by!**/*.svgsrc/Elastic.Documentation.Svg/svgs/tokens/token_vector_dense.svgis excluded by!**/*.svg
📒 Files selected for processing (2)
docs/syntax/icons.mdsrc/Elastic.Documentation.Svg/EuiSvgIcons.cs
pipeBreaks was renamed to line_break (not pipe_breaks) and pipeNoBreaks to line_break_slash per EUI batch rename commit 1a42be0c. Co-authored-by: Cursor <cursoragent@cursor.com>
Why
EUI renamed virtually all icons from camelCase to snake_case in January 2026 (elastic/eui#9279) and continued adding new icons through May 2026. Without this sync, docs-builder was serving outdated or missing icon glyphs and would break the build whenever a doc page used a renamed icon name.
What
EuiSvgIconsso that any existing doc page using an old camelCase name (e.g.{icon}\checkCircle`,{icon}`errorFilled`,{icon}`wordWrap``) transparently resolves to the current EUI glyph without a build error — old SVG files deleted, aliases handle resolutionchart_*,drag_*,chevron_*,ellipsis,server,significant_events, etc.)tokenAlias.svg) to snake_case (token_alias.svg) to match EUIdocs/syntax/icons.mdregenerated from the actual files on disk (580 entries, alphabetical)How
The alias mechanism lives in
EuiSvgIcons.TryGetIcon/GetIcon/TryGetToken. On lookup, the name is checked against a staticIconAliases/TokenAliasesdictionary first; if matched, the canonical name is substituted before hitting the embedded-resource dictionary. This means old doc pages keep working at zero maintenance cost, and future EUI renames only require adding an alias entry rather than a bulk docs update.Made with Cursor