react-magma-dom 4.10.0-next.2 → 4.10.0-next.20

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.
Files changed (41) hide show
  1. package/dist/components/AIButton/StyledAIButton.d.ts +13 -0
  2. package/dist/components/AIButton/StyledAIButtonTemplate.d.ts +15 -0
  3. package/dist/components/AIButton/index.d.ts +124 -0
  4. package/dist/components/AIButton/styles.d.ts +14 -0
  5. package/dist/components/Combobox/index.d.ts +1 -14
  6. package/dist/components/DatePicker/CalendarContext.d.ts +2 -0
  7. package/dist/components/Drawer/Drawer.d.ts +10 -0
  8. package/dist/components/IconButton/index.d.ts +1 -0
  9. package/dist/components/Input/testUtils.d.ts +17 -0
  10. package/dist/components/Modal/Modal.d.ts +11 -1
  11. package/dist/components/Popover/Popover.d.ts +14 -1
  12. package/dist/components/Select/index.d.ts +0 -13
  13. package/dist/components/SelectionControls/InputStyles.d.ts +0 -1
  14. package/dist/components/Table/Table.d.ts +26 -0
  15. package/dist/components/Table/TablePagination.d.ts +5 -0
  16. package/dist/components/Table/TableRow.d.ts +1 -1
  17. package/dist/components/Tabs/CustomTab.d.ts +7 -0
  18. package/dist/components/Tabs/Tab.d.ts +6 -0
  19. package/dist/components/Toggle/index.d.ts +2 -2
  20. package/dist/components/Transition/Transition.d.ts +5 -0
  21. package/dist/components/TreeView/TreeItem.d.ts +3 -2
  22. package/dist/components/TreeView/TreeViewContext.d.ts +5 -0
  23. package/dist/components/TreeView/useTreeItem.d.ts +31 -18
  24. package/dist/components/TreeView/useTreeView.d.ts +56 -39
  25. package/dist/components/TreeView/utils.d.ts +3 -1
  26. package/dist/esm/index.js +3477 -2225
  27. package/dist/esm/index.js.map +1 -1
  28. package/dist/hooks/useDeviceDetect.d.ts +6 -1
  29. package/dist/hooks/useMagmaFloating.d.ts +24 -0
  30. package/dist/i18n/interface.d.ts +9 -0
  31. package/dist/index.d.ts +4 -1
  32. package/dist/properties.json +1427 -128
  33. package/dist/react-magma-dom.cjs.development.js +3274 -2037
  34. package/dist/react-magma-dom.cjs.development.js.map +1 -1
  35. package/dist/react-magma-dom.cjs.production.min.js +1 -1
  36. package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
  37. package/dist/theme/ThemeContext.d.ts +14 -0
  38. package/dist/theme/components/drawerTransition.d.ts +2 -0
  39. package/dist/theme/magma.d.ts +28 -0
  40. package/dist/utils/index.d.ts +2 -0
  41. package/package.json +3 -3
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ import { AIButtonSize, BaseAIButtonProps } from '.';
3
+ export interface StyledAIButtonProps extends BaseAIButtonProps {
4
+ iconOnly?: boolean;
5
+ trailingIcon?: React.ReactElement;
6
+ leadingIcon?: boolean | React.ReactElement;
7
+ }
8
+ export declare function getIconSize(size: any, theme: any): any;
9
+ export interface SpanProps {
10
+ hasIconLeading?: boolean;
11
+ size?: AIButtonSize;
12
+ }
13
+ export declare const StyledAIButton: React.ForwardRefExoticComponent<StyledAIButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { StyledAIButtonProps } from './StyledAIButton';
3
+ export declare const buttonStyles: (props: any) => import("@emotion/react").SerializedStyles;
4
+ export declare const BaseStyledAIButton: import("@emotion/styled").StyledComponent<{
5
+ theme?: import("@emotion/react").Theme;
6
+ as?: React.ElementType<any>;
7
+ }, React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {}>;
8
+ export declare const ChildrenWrapper: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme;
10
+ as?: React.ElementType<any>;
11
+ } & {
12
+ isLoading: boolean;
13
+ testId?: string;
14
+ }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
15
+ export declare const StyledAIButtonTemplate: React.ForwardRefExoticComponent<StyledAIButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,124 @@
1
+ import * as React from 'react';
2
+ import { IconProps } from 'react-magma-icons';
3
+ import { ThemeInterface } from '../../theme/magma';
4
+ import { XOR } from '../../utils';
5
+ export declare enum AIButtonVariant {
6
+ variantA = "variantA",
7
+ variantB = "variantB"
8
+ }
9
+ export declare enum AIButtonShape {
10
+ fill = "fill",
11
+ leftCap = "leftCap",
12
+ rightCap = "rightCap",
13
+ round = "round"
14
+ }
15
+ export declare enum AIButtonSize {
16
+ large = "large",
17
+ medium = "medium",
18
+ small = "small"
19
+ }
20
+ export declare enum AIButtonTextTransform {
21
+ uppercase = "uppercase",
22
+ none = "none"
23
+ }
24
+ export declare enum AIButtonType {
25
+ button = "button",
26
+ submit = "submit",
27
+ reset = "reset"
28
+ }
29
+ export interface BaseAIButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
30
+ /**
31
+ * Set the button to display full-width.
32
+ * @default false
33
+ */
34
+ isFullWidth?: boolean;
35
+ isInverse?: boolean;
36
+ /**
37
+ * Defines the border radius
38
+ * @default AIButtonShape.fill
39
+ */
40
+ shape?: AIButtonShape;
41
+ /**
42
+ * Set the button to a loading state
43
+ * @default false
44
+ */
45
+ isLoading?: boolean;
46
+ /**
47
+ * The relative size of the button
48
+ * @default AIButtonSize.medium
49
+ */
50
+ size?: AIButtonSize;
51
+ /**
52
+ * Determines whether the button appears in all-caps
53
+ * @default AIButtonTextTransform.uppercase
54
+ */
55
+ textTransform?: AIButtonTextTransform;
56
+ /**
57
+ * The variant of the button
58
+ * @default AIButtonVariant.variantA
59
+ */
60
+ variant?: AIButtonVariant;
61
+ /**
62
+ * @internal
63
+ */
64
+ testId?: string;
65
+ /**
66
+ * @internal
67
+ */
68
+ theme?: ThemeInterface;
69
+ /**
70
+ * The type attribute of the button
71
+ * @default AIButtonType.button
72
+ */
73
+ type?: AIButtonType;
74
+ /**
75
+ * Sets the color for the left side of the button gradient.
76
+ */
77
+ leftColor?: string;
78
+ /**
79
+ * Sets the color for the right side of the button gradient.
80
+ */
81
+ rightColor?: string;
82
+ /**
83
+ * Sets the color when the button is hovered.
84
+ */
85
+ hoverColor?: string;
86
+ /**
87
+ * Sets the color when the button is pressed (active).
88
+ */
89
+ pressedColor?: string;
90
+ /**
91
+ * Enables gradient animation for the button background.
92
+ * @default false
93
+ */
94
+ isAnimated?: boolean;
95
+ }
96
+ export interface TextAIButtonProps extends BaseAIButtonProps {
97
+ /**
98
+ * The content of the component
99
+ */
100
+ children: React.ReactChild | React.ReactChild[];
101
+ /**
102
+ * Icon to display on the right side within the component
103
+ */
104
+ trailingIcon?: React.ReactElement<IconProps>;
105
+ /**
106
+ * Leading icon to display on the left side within the component
107
+ */
108
+ leadingIcon?: boolean | React.ReactElement<IconProps>;
109
+ }
110
+ export interface IconOnlyAIButtonProps extends BaseAIButtonProps {
111
+ /**
112
+ * Icon to display on the right side within the component
113
+ */
114
+ leadingIcon?: true | React.ReactElement<IconProps>;
115
+ /**
116
+ * The text the screen reader will announce. Required for icon-only buttons
117
+ */
118
+ 'aria-label': string;
119
+ children?: never;
120
+ }
121
+ export declare type AIButtonProps = XOR<TextAIButtonProps, IconOnlyAIButtonProps>;
122
+ export declare const AIButton: React.ForwardRefExoticComponent<({
123
+ trailingIcon?: never;
124
+ } & IconOnlyAIButtonProps & React.RefAttributes<HTMLButtonElement>) | ({} & TextAIButtonProps & React.RefAttributes<HTMLButtonElement>)>;
@@ -0,0 +1,14 @@
1
+ export declare function buildPropsWithDefaultAIButtonStyles(props: any): any;
2
+ export declare function buildAIButtonBorderRadius(props: any): any;
3
+ export declare function buildAIButtonFontSize(props: any): any;
4
+ export declare function buildAIButtonLineHeight(props: any): any;
5
+ export declare function buildAIButtonSize(props: any): any;
6
+ export declare function buildAIButtonPadding(props: any): string;
7
+ export declare function buildAIButtonBackground(initialProps: any): any;
8
+ export declare function buildAIBorderColor(initialProps: any): any;
9
+ export declare function buildAIColor(initialProps: any): any;
10
+ export declare function buildAIFocusBackground(initialProps: any): string;
11
+ export declare function buildAIFocusColor(initialProps: any): any;
12
+ export declare function buildAIActiveBackground(initialProps: any): string;
13
+ export declare function buildAIActiveColor(initialProps: any): any;
14
+ export declare function buildBoxShadow(props: any): string;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { ReferenceType } from '@floating-ui/react-dom';
3
2
  import { UseComboboxProps, UseComboboxState, UseMultipleSelectionProps } from 'downshift';
4
3
  import { InternalMultiProps, InternalSelectProps, SelectOptions } from '../Select';
5
4
  import { Omit, XOR } from '../../utils';
@@ -14,7 +13,7 @@ export interface ComboboxProps<T extends SelectOptions> extends Omit<UseCombobox
14
13
  */
15
14
  containerStyle?: React.CSSProperties;
16
15
  /**
17
- * Default selectable options. Allows for uncontrolled component and internal creation of items. Can be an array of strings or objects
16
+ * Default selectable options. Allows for an uncontrolled component and internal creation of items. Can be an array of strings or objects
18
17
  */
19
18
  defaultItems?: T[];
20
19
  /**
@@ -22,10 +21,6 @@ export interface ComboboxProps<T extends SelectOptions> extends Omit<UseCombobox
22
21
  * @default false
23
22
  */
24
23
  disableCreateItem?: boolean;
25
- /**
26
- * @internal
27
- */
28
- floatingElementStyles?: React.CSSProperties;
29
24
  /**
30
25
  * @internal
31
26
  */
@@ -98,14 +93,6 @@ export interface ComboboxProps<T extends SelectOptions> extends Omit<UseCombobox
98
93
  * Event that fires when a new item is created with the create item option is clicked in the item list menu
99
94
  */
100
95
  onItemCreated?: (newItem: T) => void;
101
- /**
102
- * @internal
103
- */
104
- setFloating?: (node: ReferenceType) => void;
105
- /**
106
- * @internal
107
- */
108
- setReference?: (node: ReferenceType) => void;
109
96
  /**
110
97
  * Reference to the toggle button element wrapping the input in the combobox
111
98
  */
@@ -16,5 +16,7 @@ export interface CalendarContextInterface {
16
16
  onPrevMonthClick: () => void;
17
17
  onNextMonthClick: () => void;
18
18
  setDateFocused: (value: boolean) => void;
19
+ setFocusedDate: (day: Date) => void;
20
+ setFocusedTodayDate: (event: React.SyntheticEvent) => void;
19
21
  }
20
22
  export declare const CalendarContext: React.Context<CalendarContextInterface>;
@@ -27,6 +27,16 @@ export interface DrawerProps extends Omit<ModalProps, 'size'> {
27
27
  * @default DrawerPosition.top
28
28
  */
29
29
  position?: DrawerPosition;
30
+ /**
31
+ * Shows a background overlay when the drawer is open.
32
+ * @default true
33
+ */
34
+ showBackgroundOverlay?: boolean;
35
+ /**
36
+ * If true, enables sliding animations for the drawer
37
+ * @default false
38
+ */
39
+ isAnimated?: boolean;
30
40
  isInverse?: boolean;
31
41
  }
32
42
  export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
@@ -40,6 +40,7 @@ export interface SpanProps {
40
40
  hasIconLeading?: boolean;
41
41
  size?: ButtonSize;
42
42
  }
43
+ export declare function getIconSize(size: any, theme: any): any;
43
44
  export declare function instanceOfIconOnly(object: any): object is IconOnlyButtonProps;
44
45
  export declare const IconButton: React.ForwardRefExoticComponent<({} & IconTextButtonProps & React.RefAttributes<HTMLButtonElement>) | ({
45
46
  children?: never;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export declare const CustomTopicsRow: ({ topicList, isRemoveButtonDisabled, shouldValidate, topicTitle, testTopic, studyMaterialsTopic, order, setTopicTitle, setTestTopic, setStudyMaterialsTopic, removeTopicRow, }: {
3
+ topicList: {
4
+ reference: string;
5
+ title: string;
6
+ }[];
7
+ isRemoveButtonDisabled: boolean;
8
+ shouldValidate?: boolean;
9
+ topicTitle: string;
10
+ testTopic?: string;
11
+ studyMaterialsTopic?: string;
12
+ order: number;
13
+ setTopicTitle: (title: string) => void;
14
+ setTestTopic: (reference: string) => void;
15
+ setStudyMaterialsTopic: (reference: string) => void;
16
+ removeTopicRow: () => void;
17
+ }) => React.JSX.Element;
@@ -46,7 +46,7 @@ export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
46
46
  */
47
47
  isBackgroundClickDisabled?: boolean;
48
48
  /**
49
- * If true, the close button the the modal will be suppressed
49
+ * If true, the close button the modal will be suppressed
50
50
  * @default false
51
51
  */
52
52
  isCloseButtonHidden?: boolean;
@@ -83,6 +83,11 @@ export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
83
83
  * @default ModalSize.medium
84
84
  */
85
85
  size?: ModalSize;
86
+ /**
87
+ * @internal
88
+ * @default true
89
+ */
90
+ showBackgroundOverlay?: boolean;
86
91
  /**
87
92
  * @internal
88
93
  */
@@ -91,5 +96,10 @@ export interface ModalProps extends React.HTMLAttributes<HTMLDivElement> {
91
96
  * @internal
92
97
  */
93
98
  theme?: ThemeInterface;
99
+ /**
100
+ * Shows the drawer transition animation
101
+ * @internal
102
+ */
103
+ hasDrawerAnimation?: boolean;
94
104
  }
95
105
  export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
@@ -4,8 +4,15 @@ export declare enum PopoverPosition {
4
4
  bottom = "bottom",
5
5
  top = "top"
6
6
  }
7
+ export declare enum PopoverAlignment {
8
+ center = "center",
9
+ start = "start",
10
+ end = "end"
11
+ }
12
+ export declare type PopoverPlacement = 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end';
7
13
  export interface PopoverApi {
8
14
  closePopoverManually(event: any): void;
15
+ openPopoverManually(event: any): void;
9
16
  }
10
17
  export interface PopoverProps extends React.HTMLAttributes<HTMLDivElement> {
11
18
  /**
@@ -64,6 +71,7 @@ export interface PopoverProps extends React.HTMLAttributes<HTMLDivElement> {
64
71
  * The ref object that allows Popover manipulation.
65
72
  * Actions available:
66
73
  * closePopoverManually(event): void - Closes the popover manually.
74
+ * openPopoverManually(event): void - Opens the popover manually.
67
75
  */
68
76
  apiRef?: React.MutableRefObject<PopoverApi | undefined>;
69
77
  /**
@@ -72,10 +80,15 @@ export interface PopoverProps extends React.HTMLAttributes<HTMLDivElement> {
72
80
  * @default false
73
81
  */
74
82
  focusTrap?: boolean;
83
+ /**
84
+ * Alignment of the popover content
85
+ * @default PopoverAlignment.center
86
+ */
87
+ alignment?: PopoverAlignment;
75
88
  }
76
89
  export interface PopoverContextInterface {
77
90
  floatingStyles?: React.CSSProperties;
78
- position?: PopoverPosition;
91
+ position?: PopoverPlacement;
79
92
  closePopover?: (event: React.SyntheticEvent | React.KeyboardEvent) => void;
80
93
  popoverTriggerId?: React.MutableRefObject<string>;
81
94
  popoverContentId?: React.MutableRefObject<string>;
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { ReferenceType } from '@floating-ui/react-dom/dist/floating-ui.react-dom';
3
2
  import { UseMultipleSelectionProps, UseSelectProps } from 'downshift';
4
3
  import { Omit, XOR } from '../../utils';
5
4
  import { LabelPosition } from '../Label';
@@ -108,10 +107,6 @@ export interface SelectProps<T extends SelectOptions> extends UseSelectProps<T>,
108
107
  * Id of the element that describes the select trigger button
109
108
  */
110
109
  ariaDescribedBy?: string;
111
- /**
112
- * @internal
113
- */
114
- floatingElementStyles?: React.CSSProperties;
115
110
  /**
116
111
  * @internal
117
112
  */
@@ -148,14 +143,6 @@ export interface SelectProps<T extends SelectOptions> extends UseSelectProps<T>,
148
143
  * Event that will fire when a keypress is released while focused on the trigger button
149
144
  */
150
145
  onKeyUp?: (event: React.KeyboardEvent) => void;
151
- /**
152
- * @internal
153
- */
154
- setFloating?: (node: ReferenceType) => void;
155
- /**
156
- * @internal
157
- */
158
- setReference?: (node: ReferenceType) => void;
159
146
  }
160
147
  export interface MultiSelectProps<T extends SelectOptions> extends UseMultipleSelectionProps<T>, Omit<SelectProps<T>, 'onStateChange' | 'stateReducer' | 'isMulti'>, InternalMultiProps<T> {
161
148
  /**
@@ -1,5 +1,4 @@
1
1
  export declare const DisplayInputStyles: (props: any) => import("@emotion/react").SerializedStyles;
2
- export declare const DisplayInputActiveStyles: import("@emotion/react").SerializedStyles;
3
2
  export declare function buildDisplayInputActiveBackground(props: any): any;
4
3
  export declare function buildDisplayInputBorderColor(props: any): any;
5
4
  export declare function buildDisplayInputFocusStyles(props: any): import("@emotion/react").SerializedStyles;
@@ -13,11 +13,21 @@ export interface TableProps extends React.HTMLAttributes<HTMLTableElement> {
13
13
  * @default false
14
14
  */
15
15
  hasHoverStyles?: boolean;
16
+ /**
17
+ * If true, the table will have additional styles for table.
18
+ * @default false
19
+ */
20
+ hasTablePagination?: boolean;
16
21
  /**
17
22
  * If true, the table will have square edges
18
23
  * @default false
19
24
  */
20
25
  hasSquareCorners?: boolean;
26
+ /**
27
+ * If true, the table will have outer border
28
+ * @default false
29
+ */
30
+ hasOutsideBorder?: boolean;
21
31
  /**
22
32
  * If true, columns will have vertical borders
23
33
  */
@@ -42,6 +52,12 @@ export interface TableProps extends React.HTMLAttributes<HTMLTableElement> {
42
52
  minWidth?: number;
43
53
  rowCount?: number;
44
54
  selectedItems?: Array<number>;
55
+ /**
56
+ * The title or caption of a table inside a <caption> HTML element that provides the table an accessible
57
+ * description.
58
+ * It can be a simple string or a React node, such as a heading element (e.g., <h1>, <h2>).
59
+ */
60
+ tableTitle?: React.ReactNode | string;
45
61
  /**
46
62
  * @internal
47
63
  */
@@ -74,6 +90,7 @@ interface TableContextInterface {
74
90
  density?: TableDensity;
75
91
  hasHoverStyles?: boolean;
76
92
  hasSquareCorners?: boolean;
93
+ hasTablePagination?: boolean;
77
94
  hasVerticalBorders?: boolean;
78
95
  hasZebraStripes?: boolean;
79
96
  isInverse?: boolean;
@@ -97,11 +114,20 @@ export declare const TableWrapper: import("@emotion/styled").StyledComponent<{
97
114
  } & {
98
115
  minWidth: number;
99
116
  }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
117
+ export declare const StyledTableTitle: import("@emotion/styled").StyledComponent<{
118
+ theme?: import("@emotion/react").Theme;
119
+ as?: React.ElementType<any>;
120
+ } & {
121
+ isInverse: boolean;
122
+ isTitleNode: boolean;
123
+ }, React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
100
124
  export declare const StyledTable: import("@emotion/styled").StyledComponent<{
101
125
  theme?: import("@emotion/react").Theme;
102
126
  as?: React.ElementType<any>;
103
127
  } & {
128
+ hasOutsideBorder?: boolean;
104
129
  hasSquareCorners?: boolean;
130
+ hasTablePagination?: boolean;
105
131
  isInverse?: boolean;
106
132
  minWidth: number;
107
133
  }, React.DetailedHTMLProps<React.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, {}>;
@@ -35,6 +35,11 @@ export interface BaseTablePaginationProps extends React.HTMLAttributes<HTMLDivEl
35
35
  * @default true
36
36
  */
37
37
  hasSquareCorners?: boolean;
38
+ /**
39
+ * If true, the table paginator will have outer border
40
+ * @default false
41
+ */
42
+ hasOutsideBorder?: boolean;
38
43
  }
39
44
  export interface ControlledPageProps {
40
45
  /**
@@ -25,7 +25,7 @@ export interface TableRowProps extends React.HTMLAttributes<HTMLTableRowElement>
25
25
  onTableRowSelect?: (event: React.ChangeEvent<HTMLInputElement>) => void;
26
26
  rowIndex?: number;
27
27
  /**
28
- * Unique name to be used to identify row for screenreaders
28
+ * Unique name to be used to identify row for screen readers
29
29
  */
30
30
  rowName?: string;
31
31
  /**
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { TabProps } from './Tab';
3
+ /**
4
+ * CustomTab allows full customization of the tab content while preserving tab behavior.
5
+ * You can pass any children (e.g., a Button) and all tab context/props will be handled.
6
+ */
7
+ export declare const CustomTab: React.ForwardRefExoticComponent<TabProps & React.RefAttributes<HTMLButtonElement>>;
@@ -8,6 +8,11 @@ export interface TabProps extends React.ButtonHTMLAttributes<HTMLButtonElement>
8
8
  */
9
9
  icon?: React.ReactElement<any> | React.ReactElement<any>[];
10
10
  isInverse?: boolean;
11
+ /**
12
+ * If true, the tab will have no styles and will render the children directly.
13
+ * @internal
14
+ */
15
+ unstyled?: boolean;
11
16
  /**
12
17
  * Determines whether the tab appears in all-caps
13
18
  * @default TabsTextTransform.uppercase
@@ -33,6 +38,7 @@ export declare const StyledTabsChild: import("@emotion/styled").StyledComponent<
33
38
  isInverse?: boolean;
34
39
  orientation: TabsOrientation;
35
40
  theme: ThemeInterface;
41
+ unstyled?: boolean;
36
42
  }, React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, {}>;
37
43
  export declare const TabStyles: (props: any) => import("@emotion/react").SerializedStyles;
38
44
  export declare const StyledIcon: import("@emotion/styled").StyledComponent<{
@@ -6,7 +6,7 @@ export declare enum ToggleTextPosition {
6
6
  }
7
7
  export interface ToggleProps extends React.InputHTMLAttributes<HTMLInputElement> {
8
8
  /**
9
- * If true, element is checked (i.e. selected)
9
+ * If true, an element is checked (i.e., selected)
10
10
  * @default false
11
11
  */
12
12
  checked?: boolean;
@@ -29,7 +29,7 @@ export interface ToggleProps extends React.InputHTMLAttributes<HTMLInputElement>
29
29
  hasError?: boolean;
30
30
  isInverse?: boolean;
31
31
  /**
32
- * If true, label text will be hidden visually, but will still be read by assistive technology
32
+ * If true, a label text will be hidden visually, but will still be read by assistive technology
33
33
  * @default false
34
34
  */
35
35
  isTextVisuallyHidden?: boolean;
@@ -94,5 +94,10 @@ export interface TransitionProps extends HTMLMotionProps<'div'> {
94
94
  * @default false
95
95
  */
96
96
  rotate180?: boolean;
97
+ /**
98
+ * Shows the drawer transition animation
99
+ * @internal
100
+ */
101
+ hasDrawerAnimation?: boolean;
97
102
  }
98
103
  export declare const Transition: React.ForwardRefExoticComponent<TransitionProps & React.RefAttributes<HTMLDivElement>>;
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { UseTreeItemProps } from './useTreeItem';
3
- export declare type TreeItemProps = UseTreeItemProps;
4
- export declare const TreeItem: React.ForwardRefExoticComponent<UseTreeItemProps & React.RefAttributes<HTMLLIElement>>;
3
+ export interface TreeItemProps extends UseTreeItemProps {
4
+ }
5
+ export declare const TreeItem: React.ForwardRefExoticComponent<TreeItemProps & React.RefAttributes<HTMLLIElement>>;
@@ -14,6 +14,10 @@ export interface TreeViewItemInterface {
14
14
  hasOwnTreeItems: boolean;
15
15
  isDisabled?: boolean;
16
16
  }
17
+ export interface ExpandIconInterface {
18
+ size?: number;
19
+ color?: string;
20
+ }
17
21
  export interface TreeViewContextInterface {
18
22
  children?: React.ReactNode[];
19
23
  hasIcons: boolean;
@@ -32,5 +36,6 @@ export interface TreeViewContextInterface {
32
36
  handleExpandedChange: (event: React.SyntheticEvent, expandedItemId: string) => void;
33
37
  expandedSet: Set<string>;
34
38
  isTopLevelSelectable?: boolean;
39
+ expandIconStyles?: ExpandIconInterface;
35
40
  }
36
41
  export declare const TreeViewContext: React.Context<TreeViewContextInterface>;
@@ -2,31 +2,49 @@ import * as React from 'react';
2
2
  import { IconProps } from 'react-magma-icons';
3
3
  import { IndeterminateCheckboxStatus } from '../IndeterminateCheckbox';
4
4
  export interface UseTreeItemProps extends React.HTMLAttributes<HTMLLIElement> {
5
+ /**
6
+ * Enables additional content within the TreeItem.
7
+ */
8
+ additionalContent?: React.ReactNode;
9
+ /**
10
+ * Tree item hover color
11
+ * @default transparent
12
+ */
13
+ hoverColor?: string;
14
+ /**
15
+ * Icon for the tree item
16
+ */
17
+ icon?: React.ReactElement<IconProps>;
18
+ /**
19
+ * If true, element is disabled
20
+ * @default false
21
+ */
22
+ isDisabled?: boolean;
5
23
  /**
6
24
  * Index number
7
25
  * private
8
26
  */
9
27
  index?: number;
10
28
  /**
11
- * Item name
29
+ * @internal
12
30
  */
13
- label: React.ReactNode;
31
+ itemDepth?: number;
14
32
  /**
15
33
  * Item id
16
34
  */
17
35
  itemId: string;
18
36
  /**
19
- * @internal
37
+ * Item name
20
38
  */
21
- testId?: string;
39
+ label: React.ReactNode;
22
40
  /**
23
- * Action that fires when the item is clicked
41
+ * Style properties for the tree item label
24
42
  */
25
- onClick?: () => void;
43
+ labelStyle?: React.CSSProperties;
26
44
  /**
27
- * Icon for the tree item
45
+ * Action that fires when the item is clicked
28
46
  */
29
- icon?: React.ReactElement<IconProps>;
47
+ onClick?: () => void;
30
48
  /**
31
49
  * @internal
32
50
  */
@@ -34,21 +52,16 @@ export interface UseTreeItemProps extends React.HTMLAttributes<HTMLLIElement> {
34
52
  /**
35
53
  * @internal
36
54
  */
37
- itemDepth?: number;
38
- /**
39
- * If true, element is disabled
40
- * @default false
41
- */
42
- isDisabled?: boolean;
43
- /**
44
- * Style properties for the tree item label
45
- */
46
- labelStyle?: React.CSSProperties;
55
+ testId?: string;
47
56
  /**
48
57
  * @internal
49
58
  * Whether this item is a top-level item (no parent)
50
59
  */
51
60
  topLevel?: boolean;
61
+ /**
62
+ * Style properties for the tree item
63
+ */
64
+ treeItemStyles?: React.CSSProperties;
52
65
  }
53
66
  export declare const checkedStatusToBoolean: (status: IndeterminateCheckboxStatus) => boolean;
54
67
  export declare function useTreeItem(props: UseTreeItemProps, forwardedRef: any): {