@movable/ui 3.17.0 → 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,10 @@
1
+ import { AutocompleteProps } from '@mui/material/Autocomplete';
2
+ export type InkAutocompleteProps<T, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined> = AutocompleteProps<T, Multiple, DisableClearable, FreeSolo> & {
3
+ /**
4
+ * If true, disables the comma paste functionality that splits comma-separated
5
+ * values into multiple chips. Only relevant when both `multiple` and `freeSolo` are true.
6
+ * @default false
7
+ */
8
+ disableCommaPaste?: boolean;
9
+ };
10
+ export declare function InkAutocomplete<T, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined>(props: InkAutocompleteProps<T, Multiple, DisableClearable, FreeSolo>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './InkAutocomplete';
@@ -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';
@@ -1,4 +1,5 @@
1
1
  export { DemoComponent } from './DemoComponent';
2
+ export { InkAutocomplete } from './Autocomplete/InkAutocomplete';
2
3
  export { InkChip } from './Chip';
3
4
  export { InkChipGroup } from './ChipGroup';
4
5
  export { InkDialog, type InkDialogProps } from './Dialog';
@@ -14,6 +15,7 @@ export { InkEmptyState } from './InkEmptyState';
14
15
  export { InkAttributeList } from './InkAttributeList';
15
16
  export { InkImage } from './InkImage';
16
17
  export { InkDrawer } from './InkDrawer';
18
+ export { InkComponentTile, type InkComponentTileProps, } from './InkComponentTile';
17
19
  export * from './InkSnackbar';
18
20
  export * from './InkCheckboxGroup';
19
21
  export * from './InkRadioGroup';
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { AlertProps } from '@mui/material';
2
2
  import { AlertProps as AlertProps_2 } from '@mui/material/Alert';
3
+ import { AutocompleteProps } from '@mui/material/Autocomplete';
3
4
  import { BoxProps } from '@mui/material';
4
5
  import { BoxProps as BoxProps_2 } from '@mui/material/Box';
5
6
  import { ButtonProps } from '@mui/material';
@@ -11,6 +12,7 @@ import type { ChartOptions } from 'chart.js';
11
12
  import { CheckboxProps } from '@mui/material';
12
13
  import { CheckboxProps as CheckboxProps_2 } from '@mui/material/Checkbox';
13
14
  import { ChipProps } from '@mui/material';
15
+ import { ComponentType } from 'react';
14
16
  import { CustomContentProps } from 'notistack';
15
17
  import { DataGridPremiumProps } from '@mui/x-data-grid-premium';
16
18
  import type { DialogProps } from '@mui/material/Dialog';
@@ -48,7 +50,8 @@ import { Ref } from 'react';
48
50
  import { RefAttributes } from 'react';
49
51
  import { SelectProps } from '@mui/material';
50
52
  import { SnackbarProviderProps } from 'notistack';
51
- import { StackProps } from '@mui/material/Stack';
53
+ import { StackProps } from '@mui/material';
54
+ import { StackProps as StackProps_2 } from '@mui/material/Stack';
52
55
  import { StandardTextFieldProps } from '@mui/material';
53
56
  import { SvgIconTypeMap } from '@mui/material';
54
57
  import { SwitchProps } from '@mui/material/Switch';
@@ -344,6 +347,17 @@ declare type InkAttributeProps = ListItemTextProps & {
344
347
  };
345
348
  };
346
349
 
350
+ export declare function InkAutocomplete<T, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined>(props: InkAutocompleteProps<T, Multiple, DisableClearable, FreeSolo>): JSX_2.Element;
351
+
352
+ declare type InkAutocompleteProps<T, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined> = AutocompleteProps<T, Multiple, DisableClearable, FreeSolo> & {
353
+ /**
354
+ * If true, disables the comma paste functionality that splits comma-separated
355
+ * values into multiple chips. Only relevant when both `multiple` and `freeSolo` are true.
356
+ * @default false
357
+ */
358
+ disableCommaPaste?: boolean;
359
+ };
360
+
347
361
  export declare function InkCard({ cardMedia, cardHeader, cardType, galleryContent, children, ...rest }: InkCardProps): JSX_2.Element;
348
362
 
349
363
  declare type InkCardBaseProps = CardProps & {
@@ -409,7 +423,7 @@ export declare type InkCheckboxGroupProps = {
409
423
  formGroupProps?: FormGroupProps;
410
424
  formLabel: string;
411
425
  formLabelProps?: FormLabelProps;
412
- stackProps?: StackProps;
426
+ stackProps?: StackProps_2;
413
427
  currentValue: string[];
414
428
  onChange: (values: string[]) => void;
415
429
  required?: boolean;
@@ -437,6 +451,44 @@ declare type InkChipPropType = {
437
451
  isLoading?: boolean;
438
452
  };
439
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
+
440
492
  /**
441
493
  * InkDataGrid is a customized DataGridPremium component with Movable Ink styling and behavior.
442
494
  * It provides automatic height adjustment, hidden column separators, and transparent row hover effects.
@@ -696,7 +748,7 @@ export declare type InkRadioGroupProps = {
696
748
  onChange: (value: string) => void;
697
749
  radioGroupProps?: RadioGroupProps;
698
750
  formLabelProps?: FormLabelProps;
699
- stackProps?: StackProps;
751
+ stackProps?: StackProps_2;
700
752
  required?: boolean;
701
753
  error?: boolean;
702
754
  helperText?: string;
@@ -851,6 +903,10 @@ export declare type InkTextFieldProps = TextFieldProps & {
851
903
  name: string;
852
904
  };
853
905
 
906
+ declare interface InkTileIconProps {
907
+ size?: 'small' | 'normal';
908
+ }
909
+
854
910
  export declare function InkToggleIcon({ value, size, ariaLabel, icon, ...rest }: InkToggleIconProps): JSX_2.Element;
855
911
 
856
912
  export declare function InkToggleIconGroup({ id, toggleButtons, ariaLabel, size, single, value, enforceValueSet, onChange, sx, ...rest }: InkToggleIconGroupProps): JSX_2.Element;