Skip to content

Enhance Mantine and AG Grid enterprise documentation with API reference format#1480

Closed
devin-ai-integration[bot] wants to merge 4 commits intomainfrom
devin/1752118632-improve-enterprise-docs
Closed

Enhance Mantine and AG Grid enterprise documentation with API reference format#1480
devin-ai-integration[bot] wants to merge 4 commits intomainfrom
devin/1752118632-improve-enterprise-docs

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Jul 10, 2025

Fix API reference table formatting to match documentation standards

Summary

Fixed API reference table formatting in all Mantine enterprise documentation to match the standard rx.table format used throughout the rest of the Reflex documentation. This addresses the "last comment" feedback about incorrect table formatting in PR #1480.

Changes made:

  • Replaced markdown table syntax (| Prop | Type | Description |) with proper rx.table components in 8 Mantine documentation files
  • Applied consistent styling with variant="ghost", size="2", width="100%", max_width="800px"
  • Used proper text styling for headers (weight="bold", color=rx.color("slate", 11)) and cells
  • Ensured all API reference tables now match the visual appearance of standard component documentation

Files modified:

  • docs/enterprise/mantine/autocomplete.md
  • docs/enterprise/mantine/combobox.md
  • docs/enterprise/mantine/json-input.md
  • docs/enterprise/mantine/loading-overlay.md
  • docs/enterprise/mantine/multi-select.md
  • docs/enterprise/mantine/spoiler.md
  • docs/enterprise/mantine/tags-input.md
  • docs/enterprise/mantine/tree.md

Review & Testing Checklist for Human

  • Visual verification: Navigate to each Mantine documentation page and verify that API reference tables render correctly with proper styling
  • Content preservation: Spot-check that all props, types, and descriptions were preserved during the markdown-to-rx.table conversion
  • Consistency check: Compare table formatting across different Mantine pages to ensure consistent styling
  • Cross-reference: Compare Mantine API tables with other component documentation (e.g., /docs/components/) to verify they match the standard format

Recommended test plan:

  1. Run reflex run locally and navigate to /docs/enterprise/mantine/ pages
  2. Check that all API reference tables display properly without layout issues
  3. Verify tables match the visual style of other component documentation

Diagram

%%{ init : { "theme" : "default" }}%%
graph TD
    A["docs/enterprise/mantine/"]
    B["autocomplete.md"]:::major-edit
    C["combobox.md"]:::major-edit
    D["json-input.md"]:::major-edit
    E["loading-overlay.md"]:::major-edit
    F["multi-select.md"]:::major-edit
    G["spoiler.md"]:::major-edit
    H["tags-input.md"]:::major-edit
    I["tree.md"]:::major-edit
    J["docs/components/table.md"]:::context
    K["docs/hosting/config_file.md"]:::context
    
    A --> B
    A --> C
    A --> D
    A --> E
    A --> F
    A --> G
    A --> H
    A --> I
    
    J -->|"reference format"| B
    K -->|"reference format"| B
    
    subgraph Legend
        L1["Major Edit"]:::major-edit
        L2["Minor Edit"]:::minor-edit
        L3["Context/No Edit"]:::context
    end
    
    classDef major-edit fill:#90EE90
    classDef minor-edit fill:#87CEEB
    classDef context fill:#FFFFFF
Loading

Notes

  • All CI checks are passing (8/8 pass, 0 fail)
  • Changes were tested locally with reflex run and visual verification of table rendering
  • This addresses the table formatting feedback from the PR comments about matching documentation standards
  • The conversion was mechanical but required careful attention to preserve all content and apply consistent styling

Link to Devin run: https://app.devin.ai/sessions/dcb08db8ae7345a299a9e858f0cf6168
Requested by: @Alek99

Corrected API Reference Table - Combobox
Corrected API Reference Table - Autocomplete
Corrected API Reference Table - JSON Input
Corrected API Reference Table - Loading Overlay

- Fix compilation errors in autocomplete, combobox, and tree components
- Transform documentation to API reference-like format with concise examples
- Add comprehensive feature demonstrations for all Mantine components
- Include proper API reference tables with all supported props
- Add troubleshooting sections and practical use cases
- Ensure all code examples compile and execute correctly
- Replace unsupported event handlers with working alternatives
- Standardize documentation structure across all components

Co-Authored-By: Alek <alek@pynecone.io>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary

Major overhaul of enterprise component documentation, transforming basic examples into comprehensive API references for Mantine components and AG Grid integration.

  • Standardized API reference format across all Mantine components (combobox.md, json-input.md, spoiler.md, etc.) with consistent props tables and usage examples
  • Updated component implementation details, notably migrating from rxe.mantine.combobox to rx.select in docs/enterprise/mantine/combobox.md
  • Added performance optimization and virtual scrolling guidelines in docs/enterprise/ag_grid/index.md
  • Introduced troubleshooting sections for common issues in Loading Overlay and AG Grid components
  • Enhanced state management examples with practical use cases across all component documentation

10 files reviewed, 18 comments
Edit PR Review Bot Settings | Greptile

# Combobox

`rxe.mantine.combobox` is a wrapping of the mantine component [Combobox](https://mantine.dev/core/combobox/). It is a simple component that can be used to display a list of options, and allows the user to select one or more options from the list. It can be used in various contexts, such as in a form or as a standalone component.
`rxe.mantine.combobox` - Flexible dropdown with custom target, dropdown, and options structure.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Component description references rxe.mantine.combobox but all examples use rx.select. Need to clarify which component should be used.

def validate(self, value: str):
self.data = value
try:
json.loads(value) if value else {}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Empty object check should be outside json.loads. Current implementation will try to parse empty string first.

Suggested change
json.loads(value) if value else {}
{} if not value else json.loads(value)

Comment on lines +55 to +61
def searchable_combobox():
return rx.select(
["JavaScript", "Python", "TypeScript", "Java"],
value=SearchState.selected,
on_change=SearchState.setvar("selected"),
placeholder="Search languages",
)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Example labeled as 'Searchable' but missing the searchable=True prop shown in API reference

Suggested change
def searchable_combobox():
return rx.select(
["JavaScript", "Python", "TypeScript", "Java"],
value=SearchState.selected,
on_change=SearchState.setvar("selected"),
placeholder="Search languages",
)
def searchable_combobox():
return rx.select(
["JavaScript", "Python", "TypeScript", "Java"],
value=SearchState.selected,
on_change=SearchState.setvar("selected"),
placeholder="Search languages",
searchable=True,
)

rx.vstack(
rx.text("This is a longer content section that will be hidden."),
rx.text("It contains multiple paragraphs and elements."),
rx.text("The spoiler will show only the first 50px by default."),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Statement about '50px by default' is inconsistent with the basic example which uses 100px. Either update the comment or adjust the default value for consistency.

Comment on lines +56 to +62
@rx.event
def validate(self, values: list[str]):
self.selected = values
if len(values) > 3:
self.error = "Max 3 selections"
else:
self.error = ""
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider adding type hints for the return value in validate method, e.g., def validate(self, values: list[str]) -> None:

loading=DynamicTreeState.loading,
),
rx.cond(
DynamicTreeState.data.length() > 0,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: Using .length() on a Python list is non-standard. Should be len(DynamicTreeState.data) > 0

Suggested change
DynamicTreeState.data.length() > 0,
len(DynamicTreeState.data) > 0,

Comment on lines +50 to +61
## Dynamic Data

```python demo exec toggle
import reflex as rx
import reflex_enterprise as rxe

def dynamic_autocomplete():
return rxe.mantine.autocomplete(
data=["React", "Vue", "Angular", "Svelte", "Next.js", "Nuxt.js"],
placeholder="Search frameworks",
)
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

logic: The 'Dynamic Data' example doesn't demonstrate actual dynamic behavior - it's identical to the basic example but with different static data. Consider adding a real dynamic data example with state management.

Comment on lines +224 to +225
| `radius` | `str` | Border radius |
| `blur` | `int` | Blur amount |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Document valid values for radius prop (xs, sm, md, etc)

Suggested change
| `radius` | `str` | Border radius |
| `blur` | `int` | Blur amount |
| `radius` | `str` | Border radius (`xs`, `sm`, `md`, `lg`, `xl`) |
| `blur` | `int` | Blur amount |

Comment on lines +680 to +682
row_model_type="infinite",
cache_block_size=100,
max_blocks_in_cache=10,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider documenting max/min values for cache settings and performance implications

Comment on lines +63 to +75
## With Validation

```python demo exec toggle
import reflex as rx
import reflex_enterprise as rxe

def validated_autocomplete():
return rxe.mantine.autocomplete(
data=["JavaScript", "TypeScript", "Python", "Java"],
error="Example validation error",
placeholder="Shows error state",
)
```
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: This section is titled 'With Validation' but only shows error state. Consider renaming to 'With Error State' since it's duplicating the later 'With Error' section.

@LineIndent
Copy link
Copy Markdown
Contributor

This has some UI bugs that need attention before merge:

  1. It seems like that page layout is only rendering in half and the rest of the content overflows with a gray background.
  2. The API ref tables do not match the rest of the docs

devin-ai-integration bot and others added 3 commits July 10, 2025 12:10
- Fix API reference table formatting (remove double pipes causing layout issues)
- Clarify combobox component usage vs description
- Remove duplicate validation sections in autocomplete
- Ensure consistent markdown table format across all components

Co-Authored-By: Alek <alek@pynecone.io>
- Replace markdown tables with proper rx.table components
- Apply consistent styling with variant='ghost', size='2'
- Use proper text styling for headers and cells
- Ensure tables match standard component documentation format
- Update all Mantine component API reference sections

Co-Authored-By: Alek <alek@pynecone.io>
@Alek99 Alek99 closed this Jul 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants