@movable/ui 3.17.1 → 3.18.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,39 @@
1
+ import { ComponentType } from 'react';
2
+ import { StackProps } from '@mui/material';
3
+ import { InkTileIconProps } from './TileIconWrapper';
4
+ export type InkComponentTileProps = StackProps & {
5
+ /**
6
+ * The label/title of the tile
7
+ */
8
+ label: string;
9
+ /**
10
+ * Optional icon component to display
11
+ */
12
+ icon?: ComponentType<InkTileIconProps>;
13
+ /**
14
+ * Optional description text below the label
15
+ */
16
+ description?: string;
17
+ /**
18
+ * Whether the tile is disabled
19
+ */
20
+ disabled?: boolean;
21
+ /**
22
+ * Whether this is a dynamic component
23
+ */
24
+ isDynamic?: boolean;
25
+ /**
26
+ * Whether the tile is currently being dragged
27
+ */
28
+ isDragging?: boolean;
29
+ /**
30
+ * Whether the tile should stretch to fill its container width
31
+ * @default false
32
+ */
33
+ fullWidth?: boolean;
34
+ /**
35
+ * Optional data-cy attribute for testing
36
+ */
37
+ 'data-cy'?: string;
38
+ };
39
+ export declare const InkComponentTile: import("react").ForwardRefExoticComponent<Omit<InkComponentTileProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import { ComponentType } from 'react';
2
+ export interface InkTileIconProps {
3
+ size?: 'small' | 'normal';
4
+ }
5
+ interface TileIconWrapperProps {
6
+ iconComponent?: ComponentType<InkTileIconProps>;
7
+ isDragging?: boolean;
8
+ 'data-cy'?: string;
9
+ }
10
+ declare const TileIconWrapper: ({ iconComponent: IconComponent, isDragging, "data-cy": dataCy, }: TileIconWrapperProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export default TileIconWrapper;
@@ -0,0 +1 @@
1
+ export { InkComponentTile, type InkComponentTileProps, } from './InkComponentTile';
@@ -15,6 +15,7 @@ export { InkEmptyState } from './InkEmptyState';
15
15
  export { InkAttributeList } from './InkAttributeList';
16
16
  export { InkImage } from './InkImage';
17
17
  export { InkDrawer } from './InkDrawer';
18
+ export { InkComponentTile, type InkComponentTileProps, } from './InkComponentTile';
18
19
  export * from './InkSnackbar';
19
20
  export * from './InkCheckboxGroup';
20
21
  export * from './InkRadioGroup';
package/lib/index.d.ts CHANGED
@@ -12,6 +12,7 @@ import type { ChartOptions } from 'chart.js';
12
12
  import { CheckboxProps } from '@mui/material';
13
13
  import { CheckboxProps as CheckboxProps_2 } from '@mui/material/Checkbox';
14
14
  import { ChipProps } from '@mui/material';
15
+ import { ComponentType } from 'react';
15
16
  import { CustomContentProps } from 'notistack';
16
17
  import { DataGridPremiumProps } from '@mui/x-data-grid-premium';
17
18
  import type { DialogProps } from '@mui/material/Dialog';
@@ -49,7 +50,8 @@ import { Ref } from 'react';
49
50
  import { RefAttributes } from 'react';
50
51
  import { SelectProps } from '@mui/material';
51
52
  import { SnackbarProviderProps } from 'notistack';
52
- import { StackProps } from '@mui/material/Stack';
53
+ import { StackProps } from '@mui/material';
54
+ import { StackProps as StackProps_2 } from '@mui/material/Stack';
53
55
  import { StandardTextFieldProps } from '@mui/material';
54
56
  import { SvgIconTypeMap } from '@mui/material';
55
57
  import { SwitchProps } from '@mui/material/Switch';
@@ -421,7 +423,7 @@ export declare type InkCheckboxGroupProps = {
421
423
  formGroupProps?: FormGroupProps;
422
424
  formLabel: string;
423
425
  formLabelProps?: FormLabelProps;
424
- stackProps?: StackProps;
426
+ stackProps?: StackProps_2;
425
427
  currentValue: string[];
426
428
  onChange: (values: string[]) => void;
427
429
  required?: boolean;
@@ -449,6 +451,44 @@ declare type InkChipPropType = {
449
451
  isLoading?: boolean;
450
452
  };
451
453
 
454
+ export declare const InkComponentTile: ForwardRefExoticComponent<Omit<InkComponentTileProps, "ref"> & RefAttributes<HTMLDivElement>>;
455
+
456
+ export declare type InkComponentTileProps = StackProps & {
457
+ /**
458
+ * The label/title of the tile
459
+ */
460
+ label: string;
461
+ /**
462
+ * Optional icon component to display
463
+ */
464
+ icon?: ComponentType<InkTileIconProps>;
465
+ /**
466
+ * Optional description text below the label
467
+ */
468
+ description?: string;
469
+ /**
470
+ * Whether the tile is disabled
471
+ */
472
+ disabled?: boolean;
473
+ /**
474
+ * Whether this is a dynamic component
475
+ */
476
+ isDynamic?: boolean;
477
+ /**
478
+ * Whether the tile is currently being dragged
479
+ */
480
+ isDragging?: boolean;
481
+ /**
482
+ * Whether the tile should stretch to fill its container width
483
+ * @default false
484
+ */
485
+ fullWidth?: boolean;
486
+ /**
487
+ * Optional data-cy attribute for testing
488
+ */
489
+ 'data-cy'?: string;
490
+ };
491
+
452
492
  /**
453
493
  * InkDataGrid is a customized DataGridPremium component with Movable Ink styling and behavior.
454
494
  * It provides automatic height adjustment, hidden column separators, and transparent row hover effects.
@@ -708,7 +748,7 @@ export declare type InkRadioGroupProps = {
708
748
  onChange: (value: string) => void;
709
749
  radioGroupProps?: RadioGroupProps;
710
750
  formLabelProps?: FormLabelProps;
711
- stackProps?: StackProps;
751
+ stackProps?: StackProps_2;
712
752
  required?: boolean;
713
753
  error?: boolean;
714
754
  helperText?: string;
@@ -863,6 +903,10 @@ export declare type InkTextFieldProps = TextFieldProps & {
863
903
  name: string;
864
904
  };
865
905
 
906
+ declare interface InkTileIconProps {
907
+ size?: 'small' | 'normal';
908
+ }
909
+
866
910
  export declare function InkToggleIcon({ value, size, ariaLabel, icon, ...rest }: InkToggleIconProps): JSX_2.Element;
867
911
 
868
912
  export declare function InkToggleIconGroup({ id, toggleButtons, ariaLabel, size, single, value, enforceValueSet, onChange, sx, ...rest }: InkToggleIconGroupProps): JSX_2.Element;