react-magma-dom 4.10.0-next.1 → 4.10.0-next.11

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 (33) hide show
  1. package/dist/components/Combobox/index.d.ts +1 -14
  2. package/dist/components/Drawer/Drawer.d.ts +5 -0
  3. package/dist/components/Dropdown/DropdownButton.d.ts +5 -0
  4. package/dist/components/IconButton/index.d.ts +11 -1
  5. package/dist/components/Input/testUtils.d.ts +17 -0
  6. package/dist/components/Modal/Modal.d.ts +11 -1
  7. package/dist/components/Pagination/Pagination.d.ts +1 -0
  8. package/dist/components/Select/components.d.ts +1 -0
  9. package/dist/components/Select/index.d.ts +0 -13
  10. package/dist/components/SelectionControls/InputStyles.d.ts +0 -1
  11. package/dist/components/Table/Table.d.ts +26 -0
  12. package/dist/components/Table/TablePagination.d.ts +5 -0
  13. package/dist/components/Table/TableRow.d.ts +1 -1
  14. package/dist/components/Toggle/index.d.ts +2 -2
  15. package/dist/components/Transition/Transition.d.ts +5 -0
  16. package/dist/components/TreeView/TreeItem.d.ts +3 -2
  17. package/dist/components/TreeView/useTreeItem.d.ts +4 -0
  18. package/dist/components/TreeView/useTreeView.d.ts +1 -0
  19. package/dist/components/TreeView/utils.d.ts +3 -1
  20. package/dist/esm/index.js +1376 -767
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/hooks/useDeviceDetect.d.ts +6 -1
  23. package/dist/hooks/useMagmaFloating.d.ts +24 -0
  24. package/dist/i18n/interface.d.ts +6 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/properties.json +342 -113
  27. package/dist/react-magma-dom.cjs.development.js +1376 -763
  28. package/dist/react-magma-dom.cjs.development.js.map +1 -1
  29. package/dist/react-magma-dom.cjs.production.min.js +1 -1
  30. package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
  31. package/dist/theme/components/drawerTransition.d.ts +2 -0
  32. package/dist/utils/index.d.ts +2 -0
  33. package/package.json +3 -3
@@ -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
  */
@@ -27,6 +27,11 @@ 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;
30
35
  isInverse?: boolean;
31
36
  }
32
37
  export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
@@ -23,6 +23,10 @@ export interface IconTextDropdownButtonProps extends ButtonProps {
23
23
  * @default ButtonIconPosition.right
24
24
  */
25
25
  iconPosition?: ButtonIconPosition;
26
+ /**
27
+ * Leading icon to display on the left side within the component
28
+ */
29
+ leadingIcon?: React.ReactElement<IconProps>;
26
30
  /**
27
31
  * The content of the component
28
32
  */
@@ -32,4 +36,5 @@ export declare type DropdownButtonProps = XOR<IconOnlyDropdownButtonProps, IconT
32
36
  export declare const DropdownButton: React.ForwardRefExoticComponent<({} & IconTextDropdownButtonProps & React.RefAttributes<HTMLButtonElement>) | ({
33
37
  children?: never;
34
38
  iconPosition?: never;
39
+ leadingIcon?: never;
35
40
  } & IconOnlyDropdownButtonProps & React.RefAttributes<HTMLButtonElement>)>;
@@ -21,19 +21,29 @@ export interface IconTextButtonProps extends ButtonProps {
21
21
  * Icon to display within the component
22
22
  */
23
23
  icon: React.ReactElement<IconProps>;
24
- children: React.ReactChild | React.ReactChild[];
25
24
  /**
26
25
  * Position within the button for the icon to appear
27
26
  * @default ButtonIconPosition.right
28
27
  */
29
28
  iconPosition?: ButtonIconPosition;
29
+ /**
30
+ * Leading icon to display on the left side of the button
31
+ */
32
+ leadingIcon?: React.ReactElement<IconProps>;
33
+ /**
34
+ * The content of the component
35
+ */
36
+ children: React.ReactChild | React.ReactChild[];
30
37
  }
31
38
  export declare type IconButtonProps = XOR<IconOnlyButtonProps, IconTextButtonProps>;
32
39
  export interface SpanProps {
40
+ hasIconLeading?: boolean;
33
41
  size?: ButtonSize;
34
42
  }
43
+ export declare function getIconSize(size: any, theme: any): any;
35
44
  export declare function instanceOfIconOnly(object: any): object is IconOnlyButtonProps;
36
45
  export declare const IconButton: React.ForwardRefExoticComponent<({} & IconTextButtonProps & React.RefAttributes<HTMLButtonElement>) | ({
37
46
  children?: never;
38
47
  iconPosition?: never;
48
+ leadingIcon?: never;
39
49
  } & IconOnlyButtonProps & React.RefAttributes<HTMLButtonElement>)>;
@@ -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>>;
@@ -92,6 +92,7 @@ export declare const NavButton: import("@emotion/styled").StyledComponent<({} &
92
92
  }) | ({
93
93
  children?: never;
94
94
  iconPosition?: never;
95
+ leadingIcon?: never;
95
96
  } & import("../IconButton").IconOnlyButtonProps & React.RefAttributes<HTMLButtonElement> & {
96
97
  theme?: import("@emotion/react").Theme;
97
98
  }), {}, {}>;
@@ -27,6 +27,7 @@ export declare function defaultComponents<T>(props: SelectComponents<T>): {
27
27
  ClearIndicator: React.FunctionComponent<({} & import("../IconButton").IconTextButtonProps) | ({
28
28
  children?: never;
29
29
  iconPosition?: never;
30
+ leadingIcon?: never;
30
31
  } & import("../IconButton").IconOnlyButtonProps)> | ((props: any) => React.JSX.Element);
31
32
  DropdownIndicator: React.FunctionComponent<Partial<IconProps>> | ((props: any) => React.JSX.Element);
32
33
  LoadingIndicator: React.FunctionComponent<SpinnerProps> | ((props: any) => React.JSX.Element);
@@ -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
  /**
@@ -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>>;
@@ -2,6 +2,10 @@ 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;
5
9
  /**
6
10
  * Index number
7
11
  * private
@@ -10,6 +10,7 @@ export interface TreeViewApi {
10
10
  showLess(): void;
11
11
  expandAll(): void;
12
12
  collapseAll(): void;
13
+ addItem(item: TreeViewItemInterface): void;
13
14
  }
14
15
  export interface UseTreeViewProps {
15
16
  /**
@@ -34,7 +34,9 @@ export declare const getChildrenIds: ({ items, itemId, }: {
34
34
  items: TreeViewItemInterface[];
35
35
  itemId: TreeViewItemInterface['itemId'];
36
36
  }) => any;
37
- export declare const getInitialItems: ({ children, preselectedItems: rawPreselectedItems, checkParents, checkChildren, selectable, isDisabled: isTreeViewDisabled, isTopLevelSelectable, }: Pick<UseTreeViewProps, 'children' | 'preselectedItems' | 'checkParents' | 'checkChildren' | 'selectable' | 'isDisabled' | 'isTopLevelSelectable'>) => any;
37
+ export declare const getInitialItems: ({ children, preselectedItems: rawPreselectedItems, checkParents, checkChildren, selectable, isDisabled: isTreeViewDisabled, isTopLevelSelectable, items, }: Pick<UseTreeViewProps, "isDisabled" | "checkChildren" | "selectable" | "preselectedItems" | "checkParents" | "children" | "isTopLevelSelectable"> & {
38
+ items?: TreeViewItemInterface[];
39
+ }) => any;
38
40
  export declare const selectSingle: ({ items, itemId, checkedStatus, }: {
39
41
  items: TreeViewItemInterface[];
40
42
  itemId: TreeViewItemInterface['itemId'];