
Docs Lens Chart Settings
- 59 installs
- 71 repo stars
- Updated July 31, 2026
- elastic/elastic-docs-skills
docs-lens-chart-settings is an Elastic documentation skill for lens chart settings documentation.
About
The docs-lens-chart-settings skill supports Elastic technical writers and contributors. Lens chart settings documentation. Documents Lens chart configuration settings accurately for Elastic docs. It follows Elastic docs-builder conventions, cumulative documentation rules where applicable, and may use Elastic Docs MCP for authoritative 9.x references. Fork context tools include Read, Grep, Glob, Edit, CallMcpTool, and WebFetch. Use when writing, reviewing, or fixing Elastic documentation pages that need lens chart settings documentation.
- Lens settings reference accuracy.
- Configuration option documentation.
- Chart settings validation.
Docs Lens Chart Settings by the numbers
- 59 all-time installs (skills.sh)
- Ranked #769 of 1,879 Documentation skills by installs in the Skillselion catalog
- Data as of Aug 1, 2026 (Skillselion catalog sync)
docs-lens-chart-settings capabilities & compatibility
- Capabilities
- lens settings reference accuracy. · configuration option documentation. · chart settings validation.
- Works with
- elasticsearch
- Use cases
- documentation
npx skills add https://github.com/elastic/elastic-docs-skills --skill docs-lens-chart-settingsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 59 |
|---|---|
| repo stars | ★ 71 |
| Last updated | July 31, 2026 |
| Repository | elastic/elastic-docs-skills ↗ |
How do I lens chart settings documentation in Elastic docs?
Lens chart settings documentation
Who is it for?
Elastic documentation authors and reviewers.
Skip if: Skip for non-Elastic documentation repositories.
When should I use this skill?
User needs Elastic docs help with lens chart settings documentation.
What you get
Documentation updated per docs-lens-chart-settings skill rules.
Files
<!-- Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. Elasticsearch B.V. licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
Verifying Kibana Lens Chart Settings from Source Code
When documenting Lens chart settings, always verify labels, options, and rendering order against the Kibana source code. Do NOT guess UI labels.
Key Principles
1. UI labels come from i18n `defaultMessage` strings — always extract the exact label. 2. Rendering order in JSX = rendering order in the UI — document settings in the same order they appear in the component tree. 3. Conditional rendering is everywhere — many settings only appear under specific conditions (chart type, selected options, number of dimensions). Trace the conditions. 4. Shared components are parameterized per chart — the same LegendSettings component behaves differently for treemaps vs waffle vs pie based on props.
Source Code Layout
Partition charts (pie, donut, treemap, mosaic, waffle)
All partition-type charts share code under:
x-pack/platform/plugins/shared/lens/public/visualizations/partition/
├── partition_charts_meta.ts # Per-chart config (toolbar options, legend config)
├── toolbar/
│ ├── style_settings.tsx # Orchestrates Style panel sections
│ ├── titles_and_text_settings.tsx # Slice labels + Slice values options
│ ├── appearance_settings.tsx # Donut hole (pie/donut only)
│ └── legend_settings.tsx # Partition-specific legend wrapperShared legend component:
x-pack/platform/plugins/shared/lens/public/shared_components/legend/
├── legend_settings.tsx # Main legend settings (Visibility, Size, Truncation, Nested, Stats)
├── location/legend_location_settings.tsx # Position (only when `location` prop is defined)
└── size/legend_size_settings.tsx # Width/Size dropdownOther chart types
Each chart type has its own directory under visualizations/:
visualizations/xy/for bar, line, areavisualizations/heatmap/visualizations/gauge/visualizations/metric/visualizations/tagcloud/
Verification Workflow
Step 1: Find the chart metadata
For partition charts, start with partition_charts_meta.ts. This file defines per-chart:
toolbar.categoryOptions— Slice labels options (or empty array if none)toolbar.numberOptions— Slice values options (or empty array if none)toolbar.emptySizeRatioOptions— Donut hole options (pie/donut only)toolbar.isDisabled— Whether the Style panel is disabled entirely (waffle)legend.defaultLegendStats— Enables Statistics/Show value in legend (waffle only)legend.hideNestedLegendSwitch— Hides the Nested toggle (waffle)legend.getShowLegendDefault— Default legend visibility behavior for Auto modemaxBuckets— Maximum Group by dimensions
Step 2: Trace the Style settings
Read toolbar/style_settings.tsx to understand the Style panel structure:
- If
emptySizeRatioOptionsexists → renders Appearance accordion + Titles and text accordion - If not → renders only
PartitionTitlesAndTextSettingsdirectly (no sub-headers)
Then read toolbar/titles_and_text_settings.tsx:
categoryOptionsrenders as the first button group (label: check i18n keyxpack.lens.pieChart.labelSliceLabels)numberOptionsrenders as the second button group (label: check i18n keyxpack.lens.pieChart.sliceValues)- If
numberDisplay === 'percent', a Decimal places input appears
If categoryOptions is empty, the first button group is hidden. If numberOptions is empty, the second button group is hidden. If isDisabled is true, the entire section is disabled/hidden.
Step 3: Trace the Legend settings
Read toolbar/legend_settings.tsx (partition wrapper) to see what props are passed to the shared LegendSettings component. Key props to check:
| Prop | What it controls | How to verify |
|---|---|---|
legendOptions | Visibility options (Auto/Show/Hide) | Always present for all partition charts |
position | Only renders if location is also passed | Partition charts do NOT pass location → Position hidden |
renderNestedLegendSwitch | Nested toggle | !hideNestedLegendSwitch && groups > 1 |
allowedLegendStats | Statistics/Show value | Only if defaultLegendStats defined in chart meta |
legendSize / onLegendSizeChange | Width dropdown | Renders if isVerticalLegend is true |
shouldTruncate / onTruncateLegendChange | Label truncation toggle | Always present when legend not hidden |
showAutoLegendSizeOption | Auto in size dropdown | Only for pre-8.3 visualizations |
Step 4: Determine rendering order
Read the shared legend_settings.tsx JSX top to bottom. For partition charts (no location prop), the actual rendering order is:
1. Visibility (always) 2. Width (when legend not hidden, via LegendSizeSettings) 3. Label truncation + Line limit (when legend not hidden) 4. Nested (when legend not hidden AND multiple groups AND not hideNestedLegendSwitch)
Settings that do NOT render for partition charts:
- Position — requires
locationprop (only XY charts pass this) - Statistics — requires
allowedLegendStats.length > 1 - Show value — requires exactly 1 allowed legend stat of type Value/CurrentAndLastValue
Step 5: Verify option labels
For each button group or dropdown, check the label or inputDisplay in the options array. Common pitfalls:
| What you might assume | Actual UI label | Source |
|---|---|---|
| "Labels" | "Slice labels" | xpack.lens.pieChart.labelSliceLabels |
| "Values" | "Slice values" | xpack.lens.pieChart.sliceValues |
| "Legend size" | "Width" | xpack.lens.shared.legendSizeSetting.label |
| "Truncate" | "Label truncation" | xpack.lens.shared.labelTruncation |
| "Max lines" | "Line limit" | xpack.lens.shared.maxLinesLabel |
| "Show" (legend) | "Show" | xpack.lens.pieChart.legendVisibility.show |
Quick Reference: Per-Chart Differences
| Feature | Pie/Donut | Treemap | Mosaic | Waffle |
|---|---|---|---|---|
| Slice labels | Hide/Inside/Auto | Hide/Show | (none) | (none) |
| Slice values | Hide/Integer/Percentage | Hide/Integer/Percentage | Hide/Integer/Percentage | (none) |
| Donut hole | Yes | No | No | No |
| Style panel disabled | No | No | No | Yes |
| Legend Position | No | No | No | No |
| Legend Width | Yes | Yes | Yes | Yes |
| Nested legend | Yes (>1 group) | Yes (>1 group) | Yes (>1 group) | No |
| Show value | No | No | No | Yes |
| Statistics | No | No | No | No |
| Default legend visibility | Auto shows when >1 bucket | Auto hides | Auto hides | Auto shows always |
| Max Group by dimensions | 3 | 2 | 2 | 1 |
| Color mapping | First Group by only | First Group by only | Vertical axis | Group by |
Common Mistakes to Avoid
1. Assuming Position exists for partition charts — it doesn't. Only XY-type charts have Position. 2. Using "Legend size" instead of "Width" — the actual label is "Width". 3. Including Auto in Width options — Auto only shows for pre-8.3 visualizations. 4. Documenting Statistics for non-waffle charts — only waffle has defaultLegendStats. 5. Assuming "Titles and text" sub-header exists for all charts — it only appears when emptySizeRatioOptions is defined (pie/donut). 6. Getting the Nested legend condition wrong — it requires both hideNestedLegendSwitch !== true AND multiple Group by dimensions. 7. Assuming color mapping works on all Group by levels — only available on the first dimension.
{
"skill_name": "lens-chart-settings",
"evals": [
{
"id": 1,
"prompt": "I need to document the legend settings for a treemap chart. Does treemap have a Position option in its legend?",
"expected_output": "Explains that treemap (a partition chart) does not have a Position option because partition charts don't pass the `location` prop to the shared LegendSettings component. Only XY charts have Position.",
"expectations": [
"States that treemap does NOT have a legend Position option",
"Explains that Position requires the `location` prop, which partition charts don't pass",
"Mentions that only XY-type charts (bar, line, area) have Position"
]
},
{
"id": 2,
"prompt": "Where in the Kibana source code should I look to find what Style panel options are available for a pie chart?",
"expected_output": "Directs to partition_charts_meta.ts for the chart config, then toolbar/style_settings.tsx for the panel structure, and toolbar/titles_and_text_settings.tsx for slice labels and values",
"expectations": [
"Points to partition_charts_meta.ts as the starting point for per-chart configuration",
"Mentions toolbar/style_settings.tsx for the Style panel structure",
"Mentions toolbar/titles_and_text_settings.tsx for slice labels and values options",
"References the path x-pack/platform/plugins/shared/lens/public/visualizations/partition/"
]
},
{
"id": 3,
"prompt": "I wrote 'Legend size' as the label for the legend width dropdown in my chart docs. Is that correct?",
"expected_output": "Corrects the label to 'Width', citing the i18n key xpack.lens.shared.legendSizeSetting.label",
"expectations": [
"States the correct UI label is 'Width', not 'Legend size'",
"References the i18n key or source code as evidence",
"Lists this as a common mistake to avoid"
]
},
{
"id": 4,
"prompt": "What's the difference between waffle charts and other partition charts when it comes to legend settings?",
"expected_output": "Explains that waffle has Show value (via defaultLegendStats), no Nested toggle (hideNestedLegendSwitch is true), and always shows legend by default in Auto mode",
"expectations": [
"Mentions waffle has Show value in legend (via defaultLegendStats)",
"Mentions waffle hides the Nested legend switch",
"Mentions waffle's Auto legend visibility shows always (vs other partition charts)",
"Notes that waffle has max 1 Group by dimension vs 2-3 for other partition types"
]
}
]
}
Related skills
FAQ
What does docs-lens-chart-settings do?
docs-lens-chart-settings is an Elastic documentation skill for lens chart settings documentation.
When should I use docs-lens-chart-settings?
User needs Elastic docs help with lens chart settings documentation.
Is this skill safe to install?
Review the Security Audits panel on this page before installing in production.