@movable/ui 3.0.0-alpha-v6.2 → 3.0.0

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.
@@ -0,0 +1,18 @@
1
+ import { CardProps } from '@mui/material';
2
+ import { InkCardHeaderProps } from './InkCardHeader';
3
+ import { InkCardMediaProps } from './InkCardMedia';
4
+ import { InkCardType } from './VariantStyles';
5
+ import { GalleryContentProps } from './InkGalleryContent';
6
+ type InkCardBaseProps = CardProps & {
7
+ cardHeader?: InkCardHeaderProps;
8
+ cardMedia?: InkCardMediaProps;
9
+ cardType?: InkCardType;
10
+ };
11
+ type InkCardProps = (InkCardBaseProps & {
12
+ galleryContent: GalleryContentProps;
13
+ cardType: 'gallery';
14
+ }) | (InkCardBaseProps & {
15
+ galleryContent?: never;
16
+ });
17
+ export declare function InkCard({ cardMedia, cardHeader, cardType, galleryContent, children, ...rest }: InkCardProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,11 @@
1
+ import { CheckboxProps, TypographyProps } from '@mui/material';
2
+ export interface InkCardHeaderProps {
3
+ checkboxProps?: CheckboxProps;
4
+ title?: string;
5
+ size?: 'small' | 'medium';
6
+ subheader?: string;
7
+ adornment?: JSX.Element;
8
+ titleProps?: TypographyProps;
9
+ onClose?: () => void;
10
+ }
11
+ export declare function InkCardHeader({ checkboxProps, title, size, subheader, adornment, titleProps, onClose, }: InkCardHeaderProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,7 @@
1
+ import { CardMediaProps } from '@mui/material';
2
+ import { InkCardType } from './VariantStyles';
3
+ export interface InkCardMediaProps extends CardMediaProps {
4
+ mediaContent?: JSX.Element;
5
+ cardType?: InkCardType;
6
+ }
7
+ export declare function InkCardMedia({ mediaContent, image, cardType, sx, ...rest }: InkCardMediaProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function InkCardMediaLoader(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { ButtonProps } from '@mui/material';
2
+ export type GalleryContentProps = {
3
+ description?: string;
4
+ buttonProps?: ButtonProps & {
5
+ label?: string;
6
+ };
7
+ };
8
+ export declare function InkGalleryContent({ description, buttonProps, }: GalleryContentProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ import type { SxProps, Theme } from '@mui/material/styles';
2
+ export type InkCardType = 'default' | 'gallery' | 'metric' | 'insight';
3
+ export declare const MAX_CARD_WIDTH = 382;
4
+ export declare const getComposedCardStyles: (isSelectable: boolean, isSelected: boolean, isDisabled?: boolean, cardType?: InkCardType, customSx?: SxProps<Theme>) => SxProps<Theme>;
5
+ export declare const getGalleryCardStyles: () => SxProps<Theme>;
@@ -0,0 +1 @@
1
+ export { InkCard } from './InkCard';
@@ -3,10 +3,15 @@ import { BoxProps, DrawerProps, SxProps, Theme } from '@mui/material';
3
3
  import { SvgIconTypeMap } from '@mui/material';
4
4
  import { OverridableComponent } from '@mui/material/OverridableComponent';
5
5
  type DrawerType = 'basic' | 'panel' | 'filter';
6
+ declare const defaultDrawerWidths: {
7
+ md: number;
8
+ lg: number;
9
+ xl: number;
10
+ };
6
11
  interface CommonDrawerProps extends DrawerProps {
7
12
  drawerType: DrawerType;
8
13
  drawerContent: JSX.Element;
9
- drawerWidth?: number;
14
+ drawerWidth?: number | Partial<typeof defaultDrawerWidths>;
10
15
  leftOffset?: string;
11
16
  bottomContent?: JSX.Element;
12
17
  headerLabel?: string;
@@ -24,6 +29,5 @@ interface PanelDrawerProps extends CommonDrawerProps {
24
29
  drawerType: 'panel';
25
30
  }
26
31
  type InkDrawerProps = CollapsibleDrawerProps | PanelDrawerProps;
27
- export declare const defaultFilterDrawerWidth = 280;
28
32
  export declare function InkDrawer(props: PropsWithChildren<InkDrawerProps>): import("react/jsx-runtime").JSX.Element;
29
33
  export {};
@@ -0,0 +1,6 @@
1
+ interface IExportButton {
2
+ loadingExport?: boolean;
3
+ onClick?: () => void;
4
+ }
5
+ export declare function ExportButton({ onClick, loadingExport }: IExportButton): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,5 @@
1
+ interface IFiltersButton {
2
+ onClick: () => void;
3
+ }
4
+ export declare function FiltersButton({ onClick }: IFiltersButton): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ export interface IGridToolbarGroupProps {
2
+ value: string;
3
+ onChange: (value: string) => void;
4
+ options: string[];
5
+ children?: React.ReactNode;
6
+ }
7
+ export declare function GridToolbarGroup({ value, onChange, options, }: IGridToolbarGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import { GridColDef, GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
2
+ import { IGridToolbarGroupProps } from './GridToolbarGroup';
3
+ export interface IInkGridToolBarProps {
4
+ groupingProps?: IGridToolbarGroupProps;
5
+ showFilterDrawerBtn?: boolean;
6
+ showQuickFilter?: boolean;
7
+ showExportButton?: boolean;
8
+ showFilterButton?: boolean;
9
+ showDensitySelector?: boolean;
10
+ showColumnButton?: boolean;
11
+ onExportClick?: () => void;
12
+ loadingExport?: boolean;
13
+ children?: React.ReactNode;
14
+ columnPickerProps?: {
15
+ columnData: GridColDef[];
16
+ handleColumnFilterChange: (columnVisibilityModel: GridColumnVisibilityModel) => void;
17
+ customGridVisibility: GridColumnVisibilityModel;
18
+ lockedFields?: string[];
19
+ hiddenInColumnPicker?: string[];
20
+ };
21
+ filterDrawerBtnProps?: {
22
+ onShowFilterDrawerClick: () => void;
23
+ filterBtnBadgeContent?: string;
24
+ };
25
+ py?: number;
26
+ }
27
+ export declare function InkGridToolBar({ groupingProps, filterDrawerBtnProps, showFilterDrawerBtn, showQuickFilter, showExportButton, showDensitySelector, onExportClick, loadingExport, columnPickerProps, children, py, }: IInkGridToolBarProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { GridColDef, GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
2
+ interface ITableActionsColumnPickerProps {
3
+ columnData: GridColDef[];
4
+ handleColumnFilterChange: (columnVisibilityModel: GridColumnVisibilityModel) => void;
5
+ customGridVisibility: GridColumnVisibilityModel;
6
+ lockedFields?: string[];
7
+ hiddenInColumnPicker?: string[];
8
+ }
9
+ export declare function TableFilterColumnPicker({ columnData, handleColumnFilterChange, customGridVisibility, lockedFields, hiddenInColumnPicker, }: ITableActionsColumnPickerProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ export { InkGridToolBar } from './InkGridToolBar';
@@ -1,5 +1,5 @@
1
1
  import { UseControllerProps, FieldPath, FieldValues } from 'react-hook-form';
2
2
  import { InkSelectProps } from '.';
3
3
  type InkFormSelectProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = InkSelectProps & UseControllerProps<TFieldValues, TName>;
4
- export declare function InkFormSelect<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>({ control, name, rules, helperText, onChange, onBlur, ...rest }: InkFormSelectProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function InkFormSelect<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>({ control, name, rules, helperText, onChange, onBlur, disabled, ...rest }: InkFormSelectProps<TFieldValues, TName>): import("react/jsx-runtime").JSX.Element;
5
5
  export {};
@@ -22,3 +22,5 @@ export * from './InkTextField';
22
22
  export * from './InkSelect';
23
23
  export { InternalUseOnlyLabel, InternalUseOnlyAlert, } from './InternalUseOnlyIndicators';
24
24
  export { InkChart } from './InkChart';
25
+ export { InkCard } from './InkCard';
26
+ export { InkGridToolBar } from './InkGridToolBar';
package/lib/index.d.ts CHANGED
@@ -3,9 +3,12 @@ import { BoxProps } from '@mui/material';
3
3
  import { BoxProps as BoxProps_2 } from '@mui/material/Box';
4
4
  import { ButtonProps } from '@mui/material';
5
5
  import { ButtonProps as ButtonProps_2 } from '@mui/material/Button';
6
+ import { CardMediaProps } from '@mui/material';
7
+ import { CardProps } from '@mui/material';
6
8
  import type { ChartData } from 'chart.js';
7
9
  import type { ChartOptions } from 'chart.js';
8
- import { CheckboxProps } from '@mui/material/Checkbox';
10
+ import { CheckboxProps } from '@mui/material';
11
+ import { CheckboxProps as CheckboxProps_2 } from '@mui/material/Checkbox';
9
12
  import { ChipProps } from '@mui/material';
10
13
  import { CustomContentProps } from 'notistack';
11
14
  import type { DialogProps } from '@mui/material/Dialog';
@@ -18,6 +21,8 @@ import { FormControlLabelProps } from '@mui/material/FormControlLabel';
18
21
  import { FormGroupProps } from '@mui/material/FormGroup';
19
22
  import { FormLabelProps } from '@mui/material/FormLabel';
20
23
  import { ForwardRefExoticComponent } from 'react';
24
+ import { GridColDef } from '@mui/x-data-grid-premium';
25
+ import { GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
21
26
  import { GridProps } from '@mui/material/Grid';
22
27
  import { GridProps as GridProps_2 } from '@mui/material';
23
28
  import { JSX as JSX_2 } from 'react/jsx-runtime';
@@ -110,7 +115,7 @@ declare interface CollapsibleDrawerProps extends CommonDrawerProps {
110
115
  declare interface CommonDrawerProps extends DrawerProps_2 {
111
116
  drawerType: DrawerType;
112
117
  drawerContent: JSX.Element;
113
- drawerWidth?: number;
118
+ drawerWidth?: number | Partial<typeof defaultDrawerWidths>;
114
119
  leftOffset?: string;
115
120
  bottomContent?: JSX.Element;
116
121
  headerLabel?: string;
@@ -124,6 +129,12 @@ declare type CopiedValue = string | null;
124
129
 
125
130
  declare type CopyFn = (text: string) => Promise<boolean>;
126
131
 
132
+ declare const defaultDrawerWidths: {
133
+ md: number;
134
+ lg: number;
135
+ xl: number;
136
+ };
137
+
127
138
  export declare function DemoComponent({ stringToDisplay }: DemoComponentProps): JSX_2.Element;
128
139
 
129
140
  declare type DemoComponentProps = {
@@ -161,6 +172,13 @@ declare type FiveThreeSplitContentLayoutProps = {
161
172
 
162
173
  export declare const FormSkeletonGrid: ({ skeletonRows, skeletonColumns, }: SkeletonGridType) => JSX_2.Element;
163
174
 
175
+ declare type GalleryContentProps = {
176
+ description?: string;
177
+ buttonProps?: ButtonProps & {
178
+ label?: string;
179
+ };
180
+ };
181
+
164
182
  declare type HeaderLink = {
165
183
  label: string;
166
184
  path?: string;
@@ -202,6 +220,38 @@ declare type IFilterDrawer = DrawerProps & {
202
220
  mainProps?: BoxProps;
203
221
  };
204
222
 
223
+ declare interface IGridToolbarGroupProps {
224
+ value: string;
225
+ onChange: (value: string) => void;
226
+ options: string[];
227
+ children?: React.ReactNode;
228
+ }
229
+
230
+ declare interface IInkGridToolBarProps {
231
+ groupingProps?: IGridToolbarGroupProps;
232
+ showFilterDrawerBtn?: boolean;
233
+ showQuickFilter?: boolean;
234
+ showExportButton?: boolean;
235
+ showFilterButton?: boolean;
236
+ showDensitySelector?: boolean;
237
+ showColumnButton?: boolean;
238
+ onExportClick?: () => void;
239
+ loadingExport?: boolean;
240
+ children?: React.ReactNode;
241
+ columnPickerProps?: {
242
+ columnData: GridColDef[];
243
+ handleColumnFilterChange: (columnVisibilityModel: GridColumnVisibilityModel) => void;
244
+ customGridVisibility: GridColumnVisibilityModel;
245
+ lockedFields?: string[];
246
+ hiddenInColumnPicker?: string[];
247
+ };
248
+ filterDrawerBtnProps?: {
249
+ onShowFilterDrawerClick: () => void;
250
+ filterBtnBadgeContent?: string;
251
+ };
252
+ py?: number;
253
+ }
254
+
205
255
  export declare function IndexLayout({ Header, children, sx, ...containerProps }: IndexLayoutProps): JSX_2.Element;
206
256
 
207
257
  declare type IndexLayoutProps = GridProps & {
@@ -223,6 +273,38 @@ declare type InkAttributeProps = ListItemTextProps & {
223
273
  };
224
274
  };
225
275
 
276
+ export declare function InkCard({ cardMedia, cardHeader, cardType, galleryContent, children, ...rest }: InkCardProps): JSX_2.Element;
277
+
278
+ declare type InkCardBaseProps = CardProps & {
279
+ cardHeader?: InkCardHeaderProps;
280
+ cardMedia?: InkCardMediaProps;
281
+ cardType?: InkCardType;
282
+ };
283
+
284
+ declare interface InkCardHeaderProps {
285
+ checkboxProps?: CheckboxProps;
286
+ title?: string;
287
+ size?: 'small' | 'medium';
288
+ subheader?: string;
289
+ adornment?: JSX.Element;
290
+ titleProps?: TypographyProps;
291
+ onClose?: () => void;
292
+ }
293
+
294
+ declare interface InkCardMediaProps extends CardMediaProps {
295
+ mediaContent?: JSX.Element;
296
+ cardType?: InkCardType;
297
+ }
298
+
299
+ declare type InkCardProps = (InkCardBaseProps & {
300
+ galleryContent: GalleryContentProps;
301
+ cardType: 'gallery';
302
+ }) | (InkCardBaseProps & {
303
+ galleryContent?: never;
304
+ });
305
+
306
+ declare type InkCardType = 'default' | 'gallery' | 'metric' | 'insight';
307
+
226
308
  export declare function InkChart<T extends ChartTypes>({ chartOptions, type, data, customColors, height, isLoading, stacked, legend, title, }: ChartProps<T>): JSX_2.Element | undefined;
227
309
 
228
310
  export declare const InkCheckboxGroup: ForwardRefExoticComponent<InkCheckboxGroupProps & RefAttributes<HTMLDivElement>>;
@@ -250,7 +332,7 @@ export declare type InkCheckboxGroupProps = {
250
332
  options: {
251
333
  value: string;
252
334
  label: string;
253
- checkboxProps?: CheckboxProps;
335
+ checkboxProps?: CheckboxProps_2;
254
336
  }[];
255
337
  formGroupProps?: FormGroupProps;
256
338
  formLabel: string;
@@ -338,7 +420,7 @@ export declare function InkFormRadioGroup<TFieldValues extends FieldValues, TNam
338
420
 
339
421
  declare type InkFormRadioGroupProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = InkRadioGroupProps & UseControllerProps<TFieldValues, TName>;
340
422
 
341
- export declare function InkFormSelect<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>({ control, name, rules, helperText, onChange, onBlur, ...rest }: InkFormSelectProps<TFieldValues, TName>): JSX_2.Element;
423
+ export declare function InkFormSelect<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>>({ control, name, rules, helperText, onChange, onBlur, disabled, ...rest }: InkFormSelectProps<TFieldValues, TName>): JSX_2.Element;
342
424
 
343
425
  declare type InkFormSelectProps<TFieldValues extends FieldValues, TName extends FieldPath<TFieldValues>> = InkSelectProps & UseControllerProps<TFieldValues, TName>;
344
426
 
@@ -354,6 +436,8 @@ declare type InkFormTextFieldProps<TFieldValues extends FieldValues, TName exten
354
436
  label: string;
355
437
  } & UseControllerProps<TFieldValues, TName> & TextFieldProps;
356
438
 
439
+ export declare function InkGridToolBar({ groupingProps, filterDrawerBtnProps, showFilterDrawerBtn, showQuickFilter, showExportButton, showDensitySelector, onExportClick, loadingExport, columnPickerProps, children, py, }: IInkGridToolBarProps): JSX_2.Element;
440
+
357
441
  export declare function InkImage({ src, alt, sx, imageSx, fallbackText, ...rest }: InkImageProps): JSX_2.Element;
358
442
 
359
443
  declare type InkImageProps = BoxProps_2 & {
@@ -476,6 +560,7 @@ export declare class inkSelect {
476
560
  hasDisplayValue(value: string): Cypress.Chainable<JQuery<HTMLElement>>;
477
561
  hasValue(value: string): Cypress.Chainable<JQuery<HTMLElement>>;
478
562
  hasOption(label: string, value: string, index?: number): void;
563
+ isDisabled(): Cypress.Chainable<JQuery<HTMLElement>>;
479
564
  closeMenu(): void;
480
565
  openMenu(): void;
481
566
  }