@instructure/ui-menu 8.13.1-snapshot.26 → 8.13.1-snapshot.36

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/es/Menu/MenuItem/index.js +28 -21
  2. package/es/Menu/MenuItem/props.js +0 -23
  3. package/es/Menu/MenuItemGroup/index.js +17 -13
  4. package/es/Menu/MenuItemGroup/props.js +1 -30
  5. package/es/Menu/MenuItemSeparator/index.js +6 -2
  6. package/es/Menu/index.js +56 -52
  7. package/es/Menu/props.js +1 -113
  8. package/es/MenuContext.js +3 -3
  9. package/lib/Menu/MenuItem/index.js +28 -21
  10. package/lib/Menu/MenuItem/props.js +0 -23
  11. package/lib/Menu/MenuItemGroup/index.js +17 -13
  12. package/lib/Menu/MenuItemGroup/props.js +1 -30
  13. package/lib/Menu/MenuItemSeparator/index.js +6 -2
  14. package/lib/Menu/index.js +58 -52
  15. package/lib/Menu/props.js +1 -113
  16. package/lib/MenuContext.js +2 -2
  17. package/package.json +21 -21
  18. package/src/Menu/MenuItem/index.tsx +24 -34
  19. package/src/Menu/MenuItem/props.ts +36 -27
  20. package/src/Menu/MenuItemGroup/index.tsx +28 -48
  21. package/src/Menu/MenuItemGroup/props.ts +37 -30
  22. package/src/Menu/MenuItemSeparator/index.tsx +2 -4
  23. package/src/Menu/index.tsx +79 -133
  24. package/src/Menu/props.ts +76 -84
  25. package/src/MenuContext.ts +3 -2
  26. package/tsconfig.build.tsbuildinfo +1 -1
  27. package/types/Menu/MenuItem/index.d.ts +24 -23
  28. package/types/Menu/MenuItem/index.d.ts.map +1 -1
  29. package/types/Menu/MenuItem/props.d.ts +30 -7
  30. package/types/Menu/MenuItem/props.d.ts.map +1 -1
  31. package/types/Menu/MenuItemGroup/index.d.ts +22 -22
  32. package/types/Menu/MenuItemGroup/index.d.ts.map +1 -1
  33. package/types/Menu/MenuItemGroup/props.d.ts +33 -8
  34. package/types/Menu/MenuItemGroup/props.d.ts.map +1 -1
  35. package/types/Menu/MenuItemSeparator/index.d.ts.map +1 -1
  36. package/types/Menu/index.d.ts +57 -67
  37. package/types/Menu/index.d.ts.map +1 -1
  38. package/types/Menu/props.d.ts +94 -16
  39. package/types/Menu/props.d.ts.map +1 -1
  40. package/types/MenuContext.d.ts +3 -2
  41. package/types/MenuContext.d.ts.map +1 -1
@@ -1,24 +1,25 @@
1
1
  /** @jsx jsx */
2
2
  import { Component } from 'react';
3
3
  import { jsx } from '@instructure/emotion';
4
- import type { MenuItemProps } from './props';
4
+ import type { MenuItemProps, MenuItemState } from './props';
5
5
  /**
6
6
  ---
7
7
  parent: Menu
8
8
  id: Menu.Item
9
9
  ---
10
+ @tsProps
10
11
  **/
11
- declare class MenuItem extends Component<MenuItemProps> {
12
+ declare class MenuItem extends Component<MenuItemProps, MenuItemState> {
12
13
  static readonly componentId = "Menu.Item";
13
14
  static propTypes: import("@instructure/shared-types/types/UtilityTypes").PropValidators<keyof {
14
15
  children: import("react").ReactNode;
15
16
  defaultSelected?: boolean | undefined;
16
- selected?: any;
17
- onSelect?: ((...args: any[]) => any) | undefined;
18
- onClick?: ((...args: any[]) => any) | undefined;
19
- onKeyDown?: ((...args: any[]) => any) | undefined;
20
- onKeyUp?: ((...args: any[]) => any) | undefined;
21
- onMouseOver?: ((...args: any[]) => any) | undefined;
17
+ selected?: boolean | undefined;
18
+ onSelect?: import("./props").OnMenuItemSelect | undefined;
19
+ onClick?: ((e: import("react").MouseEvent<Element, MouseEvent>) => void) | undefined;
20
+ onKeyDown?: ((e: import("react").KeyboardEvent<Element>) => void) | undefined;
21
+ onKeyUp?: ((e: import("react").KeyboardEvent<Element>) => void) | undefined;
22
+ onMouseOver?: ((e: import("react").MouseEvent<Element, MouseEvent>, args: MenuItem) => void) | undefined;
22
23
  controls?: string | undefined;
23
24
  disabled?: boolean | undefined;
24
25
  as?: import("@instructure/shared-types/types/CommonProps").AsElementType | undefined;
@@ -29,12 +30,12 @@ declare class MenuItem extends Component<MenuItemProps> {
29
30
  static allowedProps: readonly (keyof {
30
31
  children: import("react").ReactNode;
31
32
  defaultSelected?: boolean | undefined;
32
- selected?: any;
33
- onSelect?: ((...args: any[]) => any) | undefined;
34
- onClick?: ((...args: any[]) => any) | undefined;
35
- onKeyDown?: ((...args: any[]) => any) | undefined;
36
- onKeyUp?: ((...args: any[]) => any) | undefined;
37
- onMouseOver?: ((...args: any[]) => any) | undefined;
33
+ selected?: boolean | undefined;
34
+ onSelect?: import("./props").OnMenuItemSelect | undefined;
35
+ onClick?: ((e: import("react").MouseEvent<Element, MouseEvent>) => void) | undefined;
36
+ onKeyDown?: ((e: import("react").KeyboardEvent<Element>) => void) | undefined;
37
+ onKeyUp?: ((e: import("react").KeyboardEvent<Element>) => void) | undefined;
38
+ onMouseOver?: ((e: import("react").MouseEvent<Element, MouseEvent>, args: MenuItem) => void) | undefined;
38
39
  controls?: string | undefined;
39
40
  disabled?: boolean | undefined;
40
41
  as?: import("@instructure/shared-types/types/CommonProps").AsElementType | undefined;
@@ -45,26 +46,26 @@ declare class MenuItem extends Component<MenuItemProps> {
45
46
  static defaultProps: {
46
47
  readonly type: "button";
47
48
  readonly disabled: false;
48
- readonly onSelect: (e: any, value: any, selected: any, item: any) => void;
49
49
  };
50
50
  static contextType: import("react").Context<{
51
- registerMenuItem: () => void;
52
- removeMenuItem: () => void;
51
+ registerMenuItem: (_value: MenuItem) => void;
52
+ removeMenuItem: (_value: MenuItem) => void;
53
53
  }>;
54
- constructor(props: any);
54
+ constructor(props: MenuItemProps);
55
55
  get _node(): Element | null;
56
+ labelId: string;
56
57
  ref: Element | null;
57
58
  handleRef: (el: Element | null) => void;
58
59
  componentDidMount(): void;
59
60
  componentDidUpdate(): void;
60
61
  componentWillUnmount(): void;
61
- handleClick: (e: any) => void;
62
- handleKeyDown: (e: any) => void;
63
- handleKeyUp: (e: any) => void;
64
- handleMouseOver: (event: any) => void;
62
+ handleClick: (e: React.MouseEvent) => void;
63
+ handleKeyDown: (e: React.KeyboardEvent) => void;
64
+ handleKeyUp: (e: React.KeyboardEvent) => void;
65
+ handleMouseOver: (event: React.MouseEvent) => void;
65
66
  get elementType(): import("@instructure/shared-types/types/CommonProps").AsElementType;
66
67
  get role(): "button" | "menuitem" | "menuitemcheckbox" | "menuitemradio";
67
- get selected(): any;
68
+ get selected(): boolean;
68
69
  get focused(): boolean;
69
70
  focus(): void;
70
71
  renderContent(): jsx.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItem/index.tsx"],"names":[],"mappings":"AAuBA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AASjC,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C;;;;;GAKG;AACH,cAEM,QAAS,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC7C,MAAM,CAAC,QAAQ,CAAC,WAAW,eAAc;IAEzC,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;;MAKT;IAEV,MAAM,CAAC,WAAW;;;OAAc;gBAGpB,KAAK,KAAA;IAcjB,IAAI,KAAK,mBAMR;IACD,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAC1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IAUjB,kBAAkB;IAKlB,oBAAoB;IASpB,WAAW,mBAqBV;IAGD,aAAa,mBAcZ;IAGD,WAAW,mBAaV;IAGD,eAAe,uBAMd;IAED,IAAI,WAAW,wEAEd;IAED,IAAI,IAAI,iEAWP;IAED,IAAI,QAAQ,QAKX;IAED,IAAI,OAAO,YAEV;IAED,KAAK;IAKL,aAAa;IAuBb,MAAM;CAmCP;AAED,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItem/index.tsx"],"names":[],"mappings":"AAuBA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AASjC,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE3D;;;;;;GAMG;AACH,cAEM,QAAS,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IAC5D,MAAM,CAAC,QAAQ,CAAC,WAAW,eAAc;IAEzC,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;MAGT;IAEV,MAAM,CAAC,WAAW;;;OAAc;gBAEpB,KAAK,EAAE,aAAa;IAYhC,IAAI,KAAK,mBAMR;IAED,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAE1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IASjB,kBAAkB;IAIlB,oBAAoB;IAQpB,WAAW,MAAO,gBAAgB,UAqBjC;IAED,aAAa,MAAO,mBAAmB,UActC;IAED,WAAW,MAAO,mBAAmB,UAapC;IAED,eAAe,UAAW,gBAAgB,UAMzC;IAED,IAAI,WAAW,wEAEd;IAED,IAAI,IAAI,iEAWP;IAED,IAAI,QAAQ,YAIX;IAED,IAAI,OAAO,YAEV;IAED,KAAK;IAKL,aAAa;IAsBb,MAAM;CAkCP;AAED,eAAe,QAAQ,CAAA;AACvB,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,17 +1,37 @@
1
1
  import React from 'react';
2
+ import MenuItem from '../MenuItem';
2
3
  import type { AsElementType, PropValidators, MenuItemTheme, OtherHTMLAttributes } from '@instructure/shared-types';
3
4
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion';
5
+ declare type OnMenuItemSelect = (e: React.MouseEvent, value: MenuItemOwnProps['value'], selected: MenuItemOwnProps['selected'], args: MenuItem) => void;
4
6
  declare type MenuItemOwnProps = {
7
+ /**
8
+ * the menu item label
9
+ */
5
10
  children: React.ReactNode;
11
+ /**
12
+ * whether to set the menu item state to selected or not on initial render
13
+ */
6
14
  defaultSelected?: boolean;
7
- selected?: any;
8
- onSelect?: (...args: any[]) => any;
9
- onClick?: (...args: any[]) => any;
10
- onKeyDown?: (...args: any[]) => any;
11
- onKeyUp?: (...args: any[]) => any;
12
- onMouseOver?: (...args: any[]) => any;
15
+ /**
16
+ * whether the menu item is selected or not (must be accompanied by an `onSelect` prop)
17
+ */
18
+ selected?: boolean;
19
+ /**
20
+ * when used with the `selected` prop, the component will not control its own state
21
+ */
22
+ onSelect?: OnMenuItemSelect;
23
+ onClick?: (e: React.MouseEvent) => void;
24
+ onKeyDown?: (e: React.KeyboardEvent) => void;
25
+ onKeyUp?: (e: React.KeyboardEvent) => void;
26
+ onMouseOver?: (e: React.MouseEvent, args: MenuItem) => void;
27
+ /**
28
+ * the id of the element that the menu item will act upon
29
+ */
13
30
  controls?: string;
14
31
  disabled?: boolean;
32
+ /**
33
+ * the element type to render as (will default to `<a>` if href is provided)
34
+ */
15
35
  as?: AsElementType;
16
36
  type?: 'button' | 'checkbox' | 'radio' | 'flyout';
17
37
  value?: string | number;
@@ -23,6 +43,9 @@ declare type MenuItemProps = MenuItemOwnProps & WithStyleProps<MenuItemTheme, Me
23
43
  declare type MenuItemStyle = ComponentStyle<'menuItem' | 'icon' | 'label'>;
24
44
  declare const propTypes: PropValidators<PropKeys>;
25
45
  declare const allowedProps: AllowedPropKeys;
26
- export type { MenuItemProps, MenuItemStyle };
46
+ declare type MenuItemState = {
47
+ selected: boolean;
48
+ };
49
+ export type { MenuItemProps, MenuItemStyle, MenuItemState, OnMenuItemSelect };
27
50
  export { propTypes, allowedProps };
28
51
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItem/props.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,aAAK,gBAAgB,GAAG;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IAClC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACjC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACjC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,EAAE,CAAC,EAAE,aAAa,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;IACjD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,aAAK,QAAQ,GAAG,MAAM,gBAAgB,CAAA;AAEtC,aAAK,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhD,aAAK,aAAa,GAAG,gBAAgB,GACnC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,GAC5C,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;AAEvC,aAAK,aAAa,GAAG,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAElE,QAAA,MAAM,SAAS,EAAE,cAAc,CAAC,QAAQ,CAiCvC,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,eAenB,CAAA;AAED,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItem/props.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,QAAQ,MAAM,aAAa,CAAA;AAGlC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,aAAK,gBAAgB,GAAG,CACtB,CAAC,EAAE,KAAK,CAAC,UAAU,EACnB,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,QAAQ,EAAE,gBAAgB,CAAC,UAAU,CAAC,EACtC,IAAI,EAAE,QAAQ,KACX,IAAI,CAAA;AAET,aAAK,gBAAgB,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;IAC1C,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,EAAE,CAAC,EAAE,aAAa,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAA;IACjD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,aAAK,QAAQ,GAAG,MAAM,gBAAgB,CAAA;AAEtC,aAAK,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhD,aAAK,aAAa,GAAG,gBAAgB,GACnC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,GAC5C,mBAAmB,CAAC,gBAAgB,CAAC,CAAA;AAEvC,aAAK,aAAa,GAAG,cAAc,CAAC,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAElE,QAAA,MAAM,SAAS,EAAE,cAAc,CAAC,QAAQ,CAevC,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,eAenB,CAAA;AACD,aAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AACD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA"}
@@ -1,26 +1,28 @@
1
1
  /** @jsx jsx */
2
2
  import { Component } from 'react';
3
3
  import { jsx } from '@instructure/emotion';
4
- import type { MenuGroupProps } from './props';
4
+ import { MenuItem } from '../MenuItem';
5
+ import type { MenuGroupProps, MenuGroupState } from './props';
6
+ import type { OnMenuItemSelect, MenuItemProps } from '../MenuItem/props';
5
7
  /**
6
8
  ---
7
9
  parent: Menu
8
10
  id: Menu.Group
9
11
  ---
12
+ @tsProps
10
13
  **/
11
- declare class MenuItemGroup extends Component<MenuGroupProps> {
14
+ declare class MenuItemGroup extends Component<MenuGroupProps, MenuGroupState> {
12
15
  static readonly componentId = "Menu.Group";
13
16
  static propTypes: import("@instructure/shared-types/types/UtilityTypes").PropValidators<keyof {
14
17
  label: import("react").ReactNode;
15
18
  allowMultiple?: boolean | undefined;
16
19
  children?: import("react").ReactNode;
17
- selected?: any;
18
- defaultSelected?: any[] | undefined;
19
- onSelect?: ((...args: any[]) => any) | undefined;
20
- onMouseOver?: ((...args: any[]) => any) | undefined;
21
- onKeyDown?: ((...args: any[]) => any) | undefined;
20
+ selected?: (string | number)[] | undefined;
21
+ defaultSelected?: (string | number)[] | undefined;
22
+ onSelect?: ((e: import("react").MouseEvent<Element, MouseEvent>, updated: (string | number | undefined)[], selected: boolean | undefined, item: MenuItem) => void) | undefined;
23
+ onMouseOver?: ((e: import("react").MouseEvent<Element, MouseEvent>, args: MenuItem) => void) | undefined;
22
24
  controls?: string | undefined;
23
- itemRef?: ((...args: any[]) => any) | undefined;
25
+ itemRef?: ((element: Element | null) => void) | undefined;
24
26
  disabled?: boolean | undefined;
25
27
  isTabbable?: boolean | undefined;
26
28
  }>;
@@ -28,13 +30,12 @@ declare class MenuItemGroup extends Component<MenuGroupProps> {
28
30
  label: import("react").ReactNode;
29
31
  allowMultiple?: boolean | undefined;
30
32
  children?: import("react").ReactNode;
31
- selected?: any;
32
- defaultSelected?: any[] | undefined;
33
- onSelect?: ((...args: any[]) => any) | undefined;
34
- onMouseOver?: ((...args: any[]) => any) | undefined;
35
- onKeyDown?: ((...args: any[]) => any) | undefined;
33
+ selected?: (string | number)[] | undefined;
34
+ defaultSelected?: (string | number)[] | undefined;
35
+ onSelect?: ((e: import("react").MouseEvent<Element, MouseEvent>, updated: (string | number | undefined)[], selected: boolean | undefined, item: MenuItem) => void) | undefined;
36
+ onMouseOver?: ((e: import("react").MouseEvent<Element, MouseEvent>, args: MenuItem) => void) | undefined;
36
37
  controls?: string | undefined;
37
- itemRef?: ((...args: any[]) => any) | undefined;
38
+ itemRef?: ((element: Element | null) => void) | undefined;
38
39
  disabled?: boolean | undefined;
39
40
  isTabbable?: boolean | undefined;
40
41
  })[];
@@ -44,20 +45,19 @@ declare class MenuItemGroup extends Component<MenuGroupProps> {
44
45
  isTabbable: boolean;
45
46
  allowMultiple: boolean;
46
47
  defaultSelected: never[];
47
- itemRef: (item: any) => void;
48
- onSelect: (e: any, value: any, selected: any, item: any) => void;
49
48
  };
50
- constructor(props: any);
49
+ constructor(props: MenuGroupProps);
50
+ private _labelId;
51
51
  ref: Element | null;
52
52
  handleRef: (el: Element | null) => void;
53
53
  componentDidMount(): void;
54
54
  componentDidUpdate(): void;
55
- handleSelect: (e: any, value: any, selected: any, item: any) => void;
56
- updateSelected: (e: any, value: any, items: any, selected: any, item: any) => any[];
57
- selectedFromChildren(props: any): any[] | null;
58
- get selected(): any[];
55
+ handleSelect: OnMenuItemSelect;
56
+ updateSelected: (e: React.MouseEvent, value: MenuItemProps['value'], items: MenuGroupState['selected'], selected: MenuItemProps['selected'], item: MenuItem) => (string | number)[];
57
+ selectedFromChildren(props: MenuGroupProps): (string | number)[] | null;
58
+ get selected(): (string | number)[];
59
59
  renderLabel(): import("react").ReactNode;
60
- renderChildren(): {}[] | null | undefined;
60
+ renderChildren(): jsx.JSX.Element[];
61
61
  render(): jsx.JSX.Element;
62
62
  }
63
63
  export default MenuItemGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemGroup/index.tsx"],"names":[],"mappings":"AAwBA,eAAe;AACf,OAAO,EAAY,SAAS,EAAgB,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAgBrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C;;;;;GAKG;AACH,cAEM,aAAc,SAAQ,SAAS,CAAC,cAAc,CAAC;IACnD,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAe;IAE1C,MAAM,CAAC,SAAS;;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;;;;;;MAUlB;gBAGW,KAAK,KAAA;IAcjB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAE1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IAKjB,kBAAkB;IAMlB,YAAY,yDAsBX;IAGD,cAAc,sEAmBb;IAGD,oBAAoB,CAAC,KAAK,KAAA;IAwB1B,IAAI,QAAQ,UAaX;IAED,WAAW;IAUX,cAAc;IAyCd,MAAM;CAuBP;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemGroup/index.tsx"],"names":[],"mappings":"AAwBA,eAAe;AACf,OAAO,EAAY,SAAS,EAAgB,MAAM,OAAO,CAAA;AAEzD,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAUrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAMtC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAExE;;;;;;GAMG;AACH,cAEM,aAAc,SAAQ,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACnE,MAAM,CAAC,QAAQ,CAAC,WAAW,gBAAe;IAE1C,MAAM,CAAC,SAAS;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;;;;MAMlB;gBAEW,KAAK,EAAE,cAAc;IAYjC,OAAO,CAAC,QAAQ,CAAQ;IACxB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAE1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IAIjB,kBAAkB;IAIlB,YAAY,EAAE,gBAAgB,CAqB7B;IAED,cAAc,MACT,gBAAgB,SACZ,aAAa,CAAC,OAAO,CAAC,SACtB,cAAc,CAAC,UAAU,CAAC,YACvB,aAAa,CAAC,UAAU,CAAC,QAC7B,QAAQ,yBAoBf;IAED,oBAAoB,CAAC,KAAK,EAAE,cAAc;IAoB1C,IAAI,QAAQ,wBAWX;IAED,WAAW;IAUX,cAAc;IAiCd,MAAM;CAqBP;AAED,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,CAAA"}
@@ -1,18 +1,40 @@
1
- /// <reference types="react" />
1
+ import { MenuItem } from '../MenuItem';
2
2
  import type { PropValidators, MenuGroupTheme, OtherHTMLAttributes } from '@instructure/shared-types';
3
3
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion';
4
+ import type { MenuItemProps } from '../MenuItem/props';
5
+ import React from 'react';
4
6
  declare type MenuGroupOwnProps = {
5
7
  label: React.ReactNode;
6
8
  allowMultiple?: boolean;
9
+ /**
10
+ * children of type `Menu.Item`, `Menu.Separator`
11
+ */
7
12
  children?: React.ReactNode;
8
- selected?: any;
9
- defaultSelected?: any[];
10
- onSelect?: (...args: any[]) => any;
11
- onMouseOver?: (...args: any[]) => any;
12
- onKeyDown?: (...args: any[]) => any;
13
+ /**
14
+ * an array of the values (or indices by default) for the selected items
15
+ */
16
+ selected?: (string | number)[];
17
+ /**
18
+ * an array of the values (or indices by default) for the selected items on initial render
19
+ */
20
+ defaultSelected?: (string | number)[];
21
+ /**
22
+ * call this function when a menu item is selected
23
+ */
24
+ onSelect?: (e: React.MouseEvent, updated: MenuItemProps['value'][], selected: MenuItemProps['selected'], item: MenuItem) => void;
25
+ onMouseOver?: (e: React.MouseEvent, args: MenuItem) => void;
26
+ /**
27
+ * the id of the element that the menu items will act upon
28
+ */
13
29
  controls?: string;
14
- itemRef?: (...args: any[]) => any;
30
+ /**
31
+ * returns a reference to the `MenuItem`
32
+ */
33
+ itemRef?: (element: Element | null) => void;
15
34
  disabled?: boolean;
35
+ /**
36
+ * should the group appear in the tab order (the first item will have a tabIndex of 0)
37
+ */
16
38
  isTabbable?: boolean;
17
39
  };
18
40
  declare type PropKeys = keyof MenuGroupOwnProps;
@@ -21,6 +43,9 @@ declare type MenuGroupProps = MenuGroupOwnProps & WithStyleProps<MenuGroupTheme,
21
43
  declare type MenuGroupStyle = ComponentStyle<'menuItemGroup' | 'label' | 'items'>;
22
44
  declare const propTypes: PropValidators<PropKeys>;
23
45
  declare const allowedProps: AllowedPropKeys;
24
- export type { MenuGroupProps, MenuGroupStyle };
46
+ declare type MenuGroupState = {
47
+ selected: (string | number)[];
48
+ };
49
+ export type { MenuGroupProps, MenuGroupStyle, MenuGroupState };
25
50
  export { propTypes, allowedProps };
26
51
  //# sourceMappingURL=props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemGroup/props.ts"],"names":[],"mappings":";AAkCA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1E,aAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,eAAe,CAAC,EAAE,GAAG,EAAE,CAAA;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IAClC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACrC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,aAAK,QAAQ,GAAG,MAAM,iBAAiB,CAAA;AAEvC,aAAK,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhD,aAAK,cAAc,GAAG,iBAAiB,GACrC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,GAC9C,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;AAExC,aAAK,cAAc,GAAG,cAAc,CAAC,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;AAEzE,QAAA,MAAM,SAAS,EAAE,cAAc,CAAC,QAAQ,CAkCvC,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,eAanB,CAAA;AAED,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemGroup/props.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,aAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAC9B;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IACrC;;OAEG;IACH,QAAQ,CAAC,EAAE,CACT,CAAC,EAAE,KAAK,CAAC,UAAU,EACnB,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,EACjC,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,EACnC,IAAI,EAAE,QAAQ,KACX,IAAI,CAAA;IACT,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAA;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAA;AAED,aAAK,QAAQ,GAAG,MAAM,iBAAiB,CAAA;AAEvC,aAAK,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEhD,aAAK,cAAc,GAAG,iBAAiB,GACrC,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC,GAC9C,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;AAExC,aAAK,cAAc,GAAG,cAAc,CAAC,eAAe,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;AAEzE,QAAA,MAAM,SAAS,EAAE,cAAc,CAAC,QAAQ,CAYvC,CAAA;AAED,QAAA,MAAM,YAAY,EAAE,eAYnB,CAAA;AAED,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAC9B,CAAA;AACD,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemSeparator/index.tsx"],"names":[],"mappings":"AAwBA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD;;;;;;GAMG;AACH,cAEM,iBAAkB,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,WAAW,oBAAmB;IAE9C,MAAM,CAAC,SAAS,+EAAY;IAC5B,MAAM,CAAC,YAAY,mBAAe;IAElC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAE1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IAKjB,kBAAkB;IAKlB,MAAM;CAWP;AAED,eAAe,iBAAiB,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Menu/MenuItemSeparator/index.tsx"],"names":[],"mappings":"AAwBA,eAAe;AACf,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAQrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD;;;;;;GAMG;AACH,cAEM,iBAAkB,SAAQ,SAAS,CAAC,kBAAkB,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,WAAW,oBAAmB;IAE9C,MAAM,CAAC,SAAS,+EAAY;IAC5B,MAAM,CAAC,YAAY,mBAAe;IAElC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAO;IAE1B,SAAS,OAAQ,OAAO,GAAG,IAAI,UAE9B;IAED,iBAAiB;IAIjB,kBAAkB;IAIlB,MAAM;CAWP;AAED,eAAe,iBAAiB,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
@@ -1,6 +1,8 @@
1
1
  /** @jsx jsx */
2
- import { Component, ReactElement } from 'react';
2
+ import React, { Component, ReactElement } from 'react';
3
+ import { Popover } from '@instructure/ui-popover';
3
4
  import { MenuItem } from './MenuItem';
5
+ import type { OnMenuItemSelect, MenuItemProps } from './MenuItem/props';
4
6
  import { MenuItemGroup } from './MenuItemGroup';
5
7
  import { MenuItemSeparator } from './MenuItemSeparator';
6
8
  import { jsx } from '@instructure/emotion';
@@ -9,30 +11,29 @@ import type { MenuProps } from './props';
9
11
  ---
10
12
  category: components
11
13
  ---
14
+ @tsProps
12
15
  **/
13
16
  declare class Menu extends Component<MenuProps> {
14
17
  static readonly componentId = "Menu";
15
18
  static propTypes: import("@instructure/shared-types/types/UtilityTypes").PropValidators<keyof {
16
- children?: import("react").ReactNode;
19
+ children?: React.ReactNode;
17
20
  label?: string | undefined;
18
21
  disabled?: boolean | undefined;
19
- trigger?: import("react").ReactNode;
22
+ trigger?: React.ReactNode;
20
23
  placement?: import("@instructure/ui-position").PlacementPropValues | undefined;
21
24
  defaultShow?: boolean | undefined;
22
- show?: any;
23
- onToggle?: ((...args: any[]) => any) | undefined;
24
- onSelect?: ((...args: any[]) => any) | undefined;
25
- onDismiss?: ((...args: any[]) => any) | undefined;
26
- onBlur?: ((...args: any[]) => any) | undefined;
27
- onFocus?: ((...args: any[]) => any) | undefined;
28
- onMouseOver?: ((...args: any[]) => any) | undefined;
29
- onKeyDown?: ((...args: any[]) => any) | undefined;
30
- onKeyUp?: ((...args: any[]) => any) | undefined;
31
- menuRef?: ((...args: any[]) => any) | undefined;
32
- popoverRef?: ((...args: any[]) => any) | undefined;
25
+ show?: boolean | undefined;
26
+ onToggle?: ((show: boolean, menu: Menu) => void) | undefined;
27
+ onSelect?: OnMenuItemSelect | undefined;
28
+ onDismiss?: ((event: Event, documentClick: boolean) => void) | undefined;
29
+ onFocus?: ((event: Event) => void) | undefined;
30
+ onMouseOver?: ((event: Event) => void) | undefined;
31
+ onKeyDown?: ((event: React.KeyboardEvent<Element>) => void) | undefined;
32
+ onKeyUp?: ((event: React.KeyboardEvent<HTMLUListElement>) => void) | undefined;
33
+ menuRef?: ((el: HTMLUListElement | null) => void) | undefined;
34
+ popoverRef?: ((el: Popover | null) => void) | undefined;
33
35
  mountNode?: import("@instructure/ui-position").PositionMountNode | undefined;
34
36
  constrain?: import("@instructure/ui-position").PositionConstraint | undefined;
35
- liveRegion?: ReactElement<any, string | import("react").JSXElementConstructor<any>> | ReactElement<any, string | import("react").JSXElementConstructor<any>>[] | ((...args: any[]) => any) | undefined;
36
37
  shouldHideOnSelect?: boolean | undefined;
37
38
  shouldFocusTriggerOnClose?: boolean | undefined;
38
39
  type?: "flyout" | undefined;
@@ -42,26 +43,24 @@ declare class Menu extends Component<MenuProps> {
42
43
  offsetY?: string | number | undefined;
43
44
  }>;
44
45
  static allowedProps: readonly (keyof {
45
- children?: import("react").ReactNode;
46
+ children?: React.ReactNode;
46
47
  label?: string | undefined;
47
48
  disabled?: boolean | undefined;
48
- trigger?: import("react").ReactNode;
49
+ trigger?: React.ReactNode;
49
50
  placement?: import("@instructure/ui-position").PlacementPropValues | undefined;
50
51
  defaultShow?: boolean | undefined;
51
- show?: any;
52
- onToggle?: ((...args: any[]) => any) | undefined;
53
- onSelect?: ((...args: any[]) => any) | undefined;
54
- onDismiss?: ((...args: any[]) => any) | undefined;
55
- onBlur?: ((...args: any[]) => any) | undefined;
56
- onFocus?: ((...args: any[]) => any) | undefined;
57
- onMouseOver?: ((...args: any[]) => any) | undefined;
58
- onKeyDown?: ((...args: any[]) => any) | undefined;
59
- onKeyUp?: ((...args: any[]) => any) | undefined;
60
- menuRef?: ((...args: any[]) => any) | undefined;
61
- popoverRef?: ((...args: any[]) => any) | undefined;
52
+ show?: boolean | undefined;
53
+ onToggle?: ((show: boolean, menu: Menu) => void) | undefined;
54
+ onSelect?: OnMenuItemSelect | undefined;
55
+ onDismiss?: ((event: Event, documentClick: boolean) => void) | undefined;
56
+ onFocus?: ((event: Event) => void) | undefined;
57
+ onMouseOver?: ((event: Event) => void) | undefined;
58
+ onKeyDown?: ((event: React.KeyboardEvent<Element>) => void) | undefined;
59
+ onKeyUp?: ((event: React.KeyboardEvent<HTMLUListElement>) => void) | undefined;
60
+ menuRef?: ((el: HTMLUListElement | null) => void) | undefined;
61
+ popoverRef?: ((el: Popover | null) => void) | undefined;
62
62
  mountNode?: import("@instructure/ui-position").PositionMountNode | undefined;
63
63
  constrain?: import("@instructure/ui-position").PositionConstraint | undefined;
64
- liveRegion?: ReactElement<any, string | import("react").JSXElementConstructor<any>> | ReactElement<any, string | import("react").JSXElementConstructor<any>>[] | ((...args: any[]) => any) | undefined;
65
64
  shouldHideOnSelect?: boolean | undefined;
66
65
  shouldFocusTriggerOnClose?: boolean | undefined;
67
66
  type?: "flyout" | undefined;
@@ -71,25 +70,13 @@ declare class Menu extends Component<MenuProps> {
71
70
  offsetY?: string | number | undefined;
72
71
  })[];
73
72
  static defaultProps: {
74
- children: null;
75
73
  label: null;
76
74
  disabled: boolean;
77
75
  trigger: null;
78
76
  placement: string;
79
77
  defaultShow: boolean;
80
- onToggle: (shown: any, menu: any) => void;
81
- onSelect: (event: any, value: any, selected: any, item: any) => void;
82
- onDismiss: (event: any, documentClick: any) => void;
83
- onBlur: (event: any) => void;
84
- onFocus: (event: any) => void;
85
- onMouseOver: (event: any) => void;
86
- onKeyDown: (event: any) => void;
87
- onKeyUp: (event: any) => void;
88
- menuRef: (el: any) => void;
89
- popoverRef: (el: any) => void;
90
78
  mountNode: null;
91
79
  constrain: string;
92
- liveRegion: null;
93
80
  shouldHideOnSelect: boolean;
94
81
  shouldFocusTriggerOnClose: boolean;
95
82
  withArrow: boolean;
@@ -103,43 +90,46 @@ declare class Menu extends Component<MenuProps> {
103
90
  hasFocus: boolean;
104
91
  };
105
92
  _rootNode: null;
106
- _menuItems: never[];
107
- _popover: null;
108
- _trigger: null;
93
+ _menuItems: MenuItem[];
94
+ _popover: Popover | null;
95
+ _trigger: MenuItem | (ReactElement & {
96
+ focus?: () => void;
97
+ }) | null;
109
98
  _menu: HTMLUListElement | null;
110
99
  _labelId: string;
111
- _activeSubMenu: null;
112
- ref: HTMLUListElement | null;
100
+ _activeSubMenu?: Menu | null;
101
+ _id: string;
102
+ ref: ReactElement | null;
113
103
  handleRef: (el: HTMLUListElement | null) => void;
114
- constructor(props: any);
104
+ constructor(props: MenuProps);
115
105
  componentDidMount(): void;
116
- componentDidUpdate(prevProps: any): void;
117
- static contextType: import("react").Context<{
118
- registerMenuItem: () => void;
119
- removeMenuItem: () => void;
106
+ componentDidUpdate(): void;
107
+ static contextType: React.Context<{
108
+ registerMenuItem: (_value: MenuItem) => void;
109
+ removeMenuItem: (_value: MenuItem) => void;
120
110
  }>;
121
- registerMenuItem: (item: any) => void;
122
- removeMenuItem: (item: any) => void;
123
- get menuItems(): never[];
124
- getMenuItemIndex: (item: any) => number;
125
- handleTriggerKeyDown: (event: any) => void;
111
+ registerMenuItem: (item: MenuItem) => void;
112
+ removeMenuItem: (item: MenuItem) => void;
113
+ get menuItems(): MenuItem[];
114
+ getMenuItemIndex: (item: MenuItem) => number;
115
+ handleTriggerKeyDown: (event: React.KeyboardEvent) => void;
126
116
  handleTriggerMouseOver: () => void;
127
- handleToggle: (shown: any) => void;
128
- handleMenuKeyDown: (event: any) => void;
129
- handleMenuItemSelect: (event: any, value: any, selected: any, item: any) => void;
117
+ handleToggle: (shown: boolean) => void;
118
+ handleMenuKeyDown: (event: React.KeyboardEvent) => void;
119
+ handleMenuItemSelect: OnMenuItemSelect;
130
120
  handleMenuItemFocus: () => void;
131
121
  handleMenuItemBlur: () => void;
132
- handleMenuItemMouseOver: (event: any, menuItem: any) => void;
133
- hideActiveSubMenu: (event: any) => void;
134
- handleSubMenuToggle: (shown: any, subMenu: any) => void;
135
- handleSubMenuDismiss: (event: any, documentClick: any) => void;
136
- hide: (event: any) => void;
137
- show: (event: any) => void;
122
+ handleMenuItemMouseOver: MenuItemProps['onMouseOver'];
123
+ hideActiveSubMenu: (event: React.MouseEvent | React.KeyboardEvent) => void;
124
+ handleSubMenuToggle: MenuProps['onToggle'];
125
+ handleSubMenuDismiss: (event: React.MouseEvent | React.KeyboardEvent, documentClick: boolean) => void;
126
+ hide: (event: React.MouseEvent | React.KeyboardEvent) => void;
127
+ show: (event?: React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | undefined) => void;
138
128
  focus(): void;
139
129
  focused(): boolean;
140
130
  get focusedIndex(): number;
141
- moveFocus(step: any): void;
142
- get shown(): any;
131
+ moveFocus(step: number): void;
132
+ get shown(): boolean | undefined;
143
133
  renderChildren(): jsx.JSX.Element[] | null | undefined;
144
134
  renderMenu(): jsx.JSX.Element;
145
135
  render(): jsx.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Menu/index.tsx"],"names":[],"mappings":"AAuBA,eAAe;AACf,OAAO,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAczD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAMrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;;GAIG;AACH,cAEM,IAAK,SAAQ,SAAS,CAAC,SAAS,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,WAAW,UAAS;IAEpC,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;MAmClB;IAED,MAAM,CAAC,IAAI,kBAAW;IACtB,MAAM,CAAC,KAAK,uBAAgB;IAC5B,MAAM,CAAC,SAAS,2BAAoB;IAEpC,KAAK;;MAAsB;IAC3B,SAAS,OAAO;IAChB,UAAU,UAAK;IACf,QAAQ,OAAO;IACf,QAAQ,OAAO;IACf,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAO;IACrC,QAAQ,SAAqB;IAC7B,cAAc,OAAO;IAErB,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAEnC,SAAS,OAAQ,gBAAgB,GAAG,IAAI,UAMvC;gBAGW,KAAK,KAAA;IAMjB,iBAAiB;IAMjB,kBAAkB,CAAC,SAAS,KAAA;IAK5B,MAAM,CAAC,WAAW;;;OAAc;IAGhC,gBAAgB,sBAGf;IAGD,cAAc,sBAMb;IAED,IAAI,SAAS,YAEZ;IAGD,gBAAgB,wBAEf;IAGD,oBAAoB,uBAMnB;IAED,sBAAsB,aAKrB;IAGD,YAAY,uBAIX;IAGD,iBAAiB,uBAuBhB;IAGD,oBAAoB,6DAQnB;IAED,mBAAmB,aAElB;IAED,kBAAkB,aAEjB;IAGD,uBAAuB,sCAKtB;IAGD,iBAAiB,uBAMhB;IAGD,mBAAmB,qCAIlB;IAGD,oBAAoB,2CAInB;IAGD,IAAI,uBAKH;IAGD,IAAI,uBAKH;IAED,KAAK;IAiBL,OAAO;IAQP,IAAI,YAAY,WAKf;IAGD,SAAS,CAAC,IAAI,KAAA;IAkBd,IAAI,KAAK,QAGR;IAED,cAAc;IA2Gd,UAAU;IAmCV,MAAM;CAiEP;AAED,eAAe,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Menu/index.tsx"],"names":[],"mappings":"AAuBA,eAAe;AACf,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAWjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAa,GAAG,EAAE,MAAM,sBAAsB,CAAA;AAMrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;GAKG;AACH,cAEM,IAAK,SAAQ,SAAS,CAAC,SAAS,CAAC;IACrC,MAAM,CAAC,QAAQ,CAAC,WAAW,UAAS;IAEpC,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;OAAY;IAC5B,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;SAAe;IAClC,MAAM,CAAC,YAAY;;;;;;;;;;;;;MAalB;IAED,MAAM,CAAC,IAAI,kBAAW;IACtB,MAAM,CAAC,KAAK,uBAAgB;IAC5B,MAAM,CAAC,SAAS,2BAAoB;IAEpC,KAAK;;MAAsB;IAC3B,SAAS,OAAO;IAChB,UAAU,EAAE,QAAQ,EAAE,CAAK;IAC3B,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAO;IAC/B,QAAQ,EAAE,QAAQ,GAAG,CAAC,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI,CAAO;IAC1E,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAO;IACrC,QAAQ,SAAqB;IAC7B,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAC5B,GAAG,EAAE,MAAM,CAAA;IAEX,GAAG,EAAE,YAAY,GAAG,IAAI,CAAO;IAE/B,SAAS,OAAQ,gBAAgB,GAAG,IAAI,UAMvC;gBAEW,KAAK,EAAE,SAAS;IAM5B,iBAAiB;IAIjB,kBAAkB;IAIlB,MAAM,CAAC,WAAW;;;OAAc;IAEhC,gBAAgB,SAAU,QAAQ,UAEjC;IAED,cAAc,SAAU,QAAQ,UAM/B;IAED,IAAI,SAAS,eAEZ;IAED,gBAAgB,SAAU,QAAQ,YAEjC;IAED,oBAAoB,UAAW,mBAAmB,UAKjD;IAED,sBAAsB,aAIrB;IAED,YAAY,UAAW,OAAO,UAI7B;IAED,iBAAiB,UAAW,mBAAmB,UAwB9C;IAED,oBAAoB,EAAE,gBAAgB,CAQrC;IAED,mBAAmB,aAElB;IAED,kBAAkB,aAEjB;IAED,uBAAuB,EAAE,aAAa,CAAC,aAAa,CAAC,CAIpD;IAED,iBAAiB,UAAW,gBAAgB,GAAG,mBAAmB,UAKjE;IAED,mBAAmB,EAAE,SAAS,CAAC,UAAU,CAAC,CAIzC;IAED,oBAAoB,UACX,gBAAgB,GAAG,mBAAmB,iBAC9B,OAAO,UAQvB;IAED,IAAI,UAAW,gBAAgB,GAAG,mBAAmB,UAIpD;IAED,IAAI,qGAKH;IAED,KAAK;IAUL,OAAO;IAQP,IAAI,YAAY,WAIf;IAED,SAAS,CAAC,IAAI,EAAE,MAAM;IAmBtB,IAAI,KAAK,wBAER;IAED,cAAc;IAuGd,UAAU;IA+BV,MAAM;CA+DP;AAED,eAAe,IAAI,CAAA;AACnB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAA"}