Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DataGrid] Export GridColumnUnsortedIconProps Interface for custom slots #11472

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as React from 'react';
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
import { GridSortDirection } from '../../models/gridSortModel';

interface GridColumnUnsortedIconProps extends SvgIconProps {
export interface GridColumnUnsortedIconProps extends SvgIconProps {
Copy link
Member

@MBilalShafi MBilalShafi Dec 27, 2023

Choose a reason for hiding this comment

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

I think exporting it this way is not gonna work because:

  1. This component GridColumnUnsortedIcon is a slot and differently exists for material and joy design systems.
  2. Since this file isn't exported like export * from './GridColumnUnsortedIcon', this added export will make no difference anyways.

Possible Options:

  1. We document it somehow and users keep defining on their side. (Like @michelengelen did on csb)
  2. We export it from the specific design entry point, so the users will import it like
    a. import { GridColumnUnsortedIconProps } from '@mui/x-data-grid/material';
    b. import { GridColumnUnsortedIconProps } from '@mui/x-data-grid/joy';
  3. Export them from the root with different names, like GridColumnUnsortedIconPropsMaterial, GridColumnUnsortedIconPropsJoy.

To me 1 and 2 feel better, 3 I would not consider since this will negate the initial idea of isolating the exports for different design systems.
For 2 though, I'm not sure if it'll be discoverable enough for the users, since it will not be obvious from what path they need to import this as we have all other exports from the root path.

Looping @cherniavskii since the problem is a bit broader, should apply to all other design system related exports. Would be nice to hear how you'd approach this. Or if you already thought around this during Joy UI support.

CC @michelengelen

Copy link
Member

Choose a reason for hiding this comment

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

Makes absolute sense @MBilalShafi ... maybe it would make sense to add a recipe to the docs instead? We should at least add a short section about this (and similar cases).
WDYT?

sortingOrder: GridSortDirection[];
}

Expand Down
Loading