@mantine/core 4.0.0 → 4.0.3

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 (196) hide show
  1. package/cjs/components/AppShell/AppShell.context.js +15 -0
  2. package/cjs/components/AppShell/AppShell.context.js.map +1 -0
  3. package/cjs/components/AppShell/AppShell.js +8 -27
  4. package/cjs/components/AppShell/AppShell.js.map +1 -1
  5. package/cjs/components/AppShell/AppShell.styles.js +8 -16
  6. package/cjs/components/AppShell/AppShell.styles.js.map +1 -1
  7. package/cjs/components/AppShell/Header/Header.js +10 -2
  8. package/cjs/components/AppShell/Header/Header.js.map +1 -1
  9. package/cjs/components/AppShell/Navbar/Navbar.js +24 -3
  10. package/cjs/components/AppShell/Navbar/Navbar.js.map +1 -1
  11. package/cjs/components/AppShell/Navbar/Navbar.styles.js +3 -2
  12. package/cjs/components/AppShell/Navbar/Navbar.styles.js.map +1 -1
  13. package/cjs/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.js +0 -0
  14. package/cjs/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -0
  15. package/cjs/components/ColorPicker/converters/parsers.js +4 -4
  16. package/cjs/components/ColorPicker/converters/parsers.js.map +1 -1
  17. package/cjs/components/Drawer/Drawer.js +4 -7
  18. package/cjs/components/Drawer/Drawer.js.map +1 -1
  19. package/cjs/components/Drawer/Drawer.styles.js +2 -1
  20. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  21. package/cjs/components/Group/Group.js +1 -0
  22. package/cjs/components/Group/Group.js.map +1 -1
  23. package/cjs/components/Group/Group.styles.js +4 -2
  24. package/cjs/components/Group/Group.styles.js.map +1 -1
  25. package/cjs/components/List/List.context.js +14 -0
  26. package/cjs/components/List/List.context.js.map +1 -0
  27. package/cjs/components/List/List.js +5 -13
  28. package/cjs/components/List/List.js.map +1 -1
  29. package/cjs/components/List/ListItem/ListItem.js +7 -20
  30. package/cjs/components/List/ListItem/ListItem.js.map +1 -1
  31. package/cjs/components/Menu/Menu.context.js +18 -0
  32. package/cjs/components/Menu/Menu.context.js.map +1 -0
  33. package/cjs/components/Menu/Menu.js +28 -56
  34. package/cjs/components/Menu/Menu.js.map +1 -1
  35. package/cjs/components/Menu/Menu.styles.js +5 -5
  36. package/cjs/components/Menu/Menu.styles.js.map +1 -1
  37. package/cjs/components/Menu/MenuItem/MenuItem.js +21 -15
  38. package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
  39. package/cjs/components/Menu/MenuLabel/MenuLabel.js +30 -1
  40. package/cjs/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
  41. package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js +18 -0
  42. package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
  43. package/cjs/components/Modal/Modal.js +5 -11
  44. package/cjs/components/Modal/Modal.js.map +1 -1
  45. package/cjs/components/Modal/Modal.styles.js +3 -3
  46. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  47. package/cjs/components/MultiSelect/MultiSelect.js +9 -0
  48. package/cjs/components/MultiSelect/MultiSelect.js.map +1 -1
  49. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  50. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  51. package/cjs/components/Popover/Popover.js +1 -1
  52. package/cjs/components/Popover/Popover.js.map +1 -1
  53. package/cjs/components/RadioGroup/Radio/Radio.styles.js +5 -1
  54. package/cjs/components/RadioGroup/Radio/Radio.styles.js.map +1 -1
  55. package/cjs/components/Tooltip/Tooltip.js +2 -1
  56. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  57. package/cjs/index.js +2 -0
  58. package/cjs/index.js.map +1 -1
  59. package/cjs/utils/get-context-item-index/get-context-item-index.js +19 -0
  60. package/cjs/utils/get-context-item-index/get-context-item-index.js.map +1 -0
  61. package/esm/components/AppShell/AppShell.context.js +10 -0
  62. package/esm/components/AppShell/AppShell.context.js.map +1 -0
  63. package/esm/components/AppShell/AppShell.js +9 -28
  64. package/esm/components/AppShell/AppShell.js.map +1 -1
  65. package/esm/components/AppShell/AppShell.styles.js +8 -16
  66. package/esm/components/AppShell/AppShell.styles.js.map +1 -1
  67. package/esm/components/AppShell/Header/Header.js +11 -3
  68. package/esm/components/AppShell/Header/Header.js.map +1 -1
  69. package/esm/components/AppShell/Navbar/Navbar.js +25 -4
  70. package/esm/components/AppShell/Navbar/Navbar.js.map +1 -1
  71. package/esm/components/AppShell/Navbar/Navbar.styles.js +3 -2
  72. package/esm/components/AppShell/Navbar/Navbar.styles.js.map +1 -1
  73. package/esm/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.js +0 -0
  74. package/esm/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.js.map +1 -0
  75. package/esm/components/ColorPicker/converters/parsers.js +4 -4
  76. package/esm/components/ColorPicker/converters/parsers.js.map +1 -1
  77. package/esm/components/Drawer/Drawer.js +4 -7
  78. package/esm/components/Drawer/Drawer.js.map +1 -1
  79. package/esm/components/Drawer/Drawer.styles.js +2 -1
  80. package/esm/components/Drawer/Drawer.styles.js.map +1 -1
  81. package/esm/components/Group/Group.js +1 -0
  82. package/esm/components/Group/Group.js.map +1 -1
  83. package/esm/components/Group/Group.styles.js +4 -2
  84. package/esm/components/Group/Group.styles.js.map +1 -1
  85. package/esm/components/List/List.context.js +9 -0
  86. package/esm/components/List/List.context.js.map +1 -0
  87. package/esm/components/List/List.js +5 -13
  88. package/esm/components/List/List.js.map +1 -1
  89. package/esm/components/List/ListItem/ListItem.js +7 -20
  90. package/esm/components/List/ListItem/ListItem.js.map +1 -1
  91. package/esm/components/Menu/Menu.context.js +13 -0
  92. package/esm/components/Menu/Menu.context.js.map +1 -0
  93. package/esm/components/Menu/Menu.js +28 -56
  94. package/esm/components/Menu/Menu.js.map +1 -1
  95. package/esm/components/Menu/Menu.styles.js +5 -5
  96. package/esm/components/Menu/Menu.styles.js.map +1 -1
  97. package/esm/components/Menu/MenuItem/MenuItem.js +22 -17
  98. package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
  99. package/esm/components/Menu/MenuLabel/MenuLabel.js +26 -1
  100. package/esm/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
  101. package/esm/components/Menu/MenuLabel/MenuLabel.styles.js +14 -0
  102. package/esm/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
  103. package/esm/components/Modal/Modal.js +5 -11
  104. package/esm/components/Modal/Modal.js.map +1 -1
  105. package/esm/components/Modal/Modal.styles.js +3 -3
  106. package/esm/components/Modal/Modal.styles.js.map +1 -1
  107. package/esm/components/MultiSelect/MultiSelect.js +9 -0
  108. package/esm/components/MultiSelect/MultiSelect.js.map +1 -1
  109. package/esm/components/PasswordInput/PasswordInput.js +1 -1
  110. package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
  111. package/esm/components/Popover/Popover.js +1 -1
  112. package/esm/components/Popover/Popover.js.map +1 -1
  113. package/esm/components/RadioGroup/Radio/Radio.styles.js +5 -1
  114. package/esm/components/RadioGroup/Radio/Radio.styles.js.map +1 -1
  115. package/esm/components/Tooltip/Tooltip.js +3 -2
  116. package/esm/components/Tooltip/Tooltip.js.map +1 -1
  117. package/esm/index.js +1 -0
  118. package/esm/index.js.map +1 -1
  119. package/esm/utils/get-context-item-index/get-context-item-index.js +15 -0
  120. package/esm/utils/get-context-item-index/get-context-item-index.js.map +1 -0
  121. package/lib/components/ActionIcon/CloseButton/CloseButton.d.ts +1 -1
  122. package/lib/components/Alert/Alert.styles.d.ts +2 -2
  123. package/lib/components/AppShell/AppShell.context.d.ts +9 -0
  124. package/lib/components/AppShell/AppShell.context.d.ts.map +1 -0
  125. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  126. package/lib/components/AppShell/AppShell.styles.d.ts +0 -5
  127. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  128. package/lib/components/AppShell/Header/Header.d.ts.map +1 -1
  129. package/lib/components/AppShell/Navbar/Navbar.d.ts.map +1 -1
  130. package/lib/components/AppShell/Navbar/Navbar.styles.d.ts.map +1 -1
  131. package/lib/components/AppShell/{utils → Navbar}/get-sorted-breakpoints/get-sorted-breakpoints.d.ts +0 -0
  132. package/lib/components/AppShell/Navbar/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +1 -0
  133. package/lib/components/Blockquote/Blockquote.styles.d.ts +2 -2
  134. package/lib/components/Checkbox/Checkbox.styles.d.ts +2 -2
  135. package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
  136. package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
  137. package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
  138. package/lib/components/Group/Group.d.ts.map +1 -1
  139. package/lib/components/Group/Group.styles.d.ts +1 -1
  140. package/lib/components/Group/Group.styles.d.ts.map +1 -1
  141. package/lib/components/Input/Input.styles.d.ts +2 -2
  142. package/lib/components/List/List.context.d.ts +14 -0
  143. package/lib/components/List/List.context.d.ts.map +1 -0
  144. package/lib/components/List/List.d.ts.map +1 -1
  145. package/lib/components/List/ListItem/ListItem.d.ts +2 -6
  146. package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
  147. package/lib/components/Menu/Menu.context.d.ts +16 -0
  148. package/lib/components/Menu/Menu.context.d.ts.map +1 -0
  149. package/lib/components/Menu/Menu.d.ts +2 -2
  150. package/lib/components/Menu/Menu.d.ts.map +1 -1
  151. package/lib/components/Menu/Menu.styles.d.ts +2 -2
  152. package/lib/components/Menu/MenuItem/MenuItem.d.ts +8 -14
  153. package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
  154. package/lib/components/Menu/MenuLabel/MenuLabel.d.ts +4 -2
  155. package/lib/components/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
  156. package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts +7 -0
  157. package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts.map +1 -0
  158. package/lib/components/Modal/Modal.d.ts.map +1 -1
  159. package/lib/components/Modal/Modal.styles.d.ts +2 -2
  160. package/lib/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  161. package/lib/components/MultiSelect/MultiSelect.styles.d.ts +2 -2
  162. package/lib/components/Notification/Notification.styles.d.ts +2 -2
  163. package/lib/components/RadioGroup/Radio/Radio.styles.d.ts.map +1 -1
  164. package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts +2 -2
  165. package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
  166. package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
  167. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  168. package/lib/components/Tooltip/Tooltip.styles.d.ts +2 -2
  169. package/lib/utils/get-context-item-index/get-context-item-index.d.ts +5 -0
  170. package/lib/utils/get-context-item-index/get-context-item-index.d.ts.map +1 -0
  171. package/lib/utils/index.d.ts +1 -0
  172. package/lib/utils/index.d.ts.map +1 -1
  173. package/package.json +3 -3
  174. package/cjs/components/AppShell/utils/get-element-height/get-element-height.js +0 -12
  175. package/cjs/components/AppShell/utils/get-element-height/get-element-height.js.map +0 -1
  176. package/cjs/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js +0 -12
  177. package/cjs/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js.map +0 -1
  178. package/cjs/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js +0 -14
  179. package/cjs/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js.map +0 -1
  180. package/cjs/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.js.map +0 -1
  181. package/esm/components/AppShell/utils/get-element-height/get-element-height.js +0 -8
  182. package/esm/components/AppShell/utils/get-element-height/get-element-height.js.map +0 -1
  183. package/esm/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js +0 -8
  184. package/esm/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.js.map +0 -1
  185. package/esm/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js +0 -10
  186. package/esm/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.js.map +0 -1
  187. package/esm/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.js.map +0 -1
  188. package/lib/components/AppShell/utils/get-element-height/get-element-height.d.ts +0 -3
  189. package/lib/components/AppShell/utils/get-element-height/get-element-height.d.ts.map +0 -1
  190. package/lib/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.d.ts +0 -3
  191. package/lib/components/AppShell/utils/get-navbar-base-width/get-navbar-base-width.d.ts.map +0 -1
  192. package/lib/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.d.ts +0 -7
  193. package/lib/components/AppShell/utils/get-navbar-breakpoints/get-navbar-breakpoints.d.ts.map +0 -1
  194. package/lib/components/AppShell/utils/get-sorted-breakpoints/get-sorted-breakpoints.d.ts.map +0 -1
  195. package/lib/components/AppShell/utils/index.d.ts +0 -5
  196. package/lib/components/AppShell/utils/index.d.ts.map +0 -1
@@ -42,6 +42,7 @@ var __objRest = (source, exclude) => {
42
42
  };
43
43
  const defaultProps = {
44
44
  position: "left",
45
+ align: "center",
45
46
  spacing: "md",
46
47
  direction: "row"
47
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sources":["../../../src/components/Group/Group.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, useMantineDefaultProps } from '@mantine/styles';\nimport { filterFalsyChildren } from '../../utils';\nimport { Box } from '../Box';\nimport useStyles, { GroupPosition } from './Group.styles';\n\nexport interface GroupProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Defines justify-content property */\n position?: GroupPosition;\n\n /** Defined flex-wrap property */\n noWrap?: boolean;\n\n /** Defines flex-grow property for each element, true -> 1, false -> 0 */\n grow?: boolean;\n\n /** Space between elements */\n spacing?: MantineNumberSize;\n\n /** Defines flex-direction property, row for horizontal, column for vertical */\n direction?: 'row' | 'column';\n\n /** Defines align-items css property */\n align?: React.CSSProperties['alignItems'];\n}\n\nconst defaultProps: Partial<GroupProps> = {\n position: 'left',\n spacing: 'md',\n direction: 'row',\n};\n\nexport const Group = forwardRef<HTMLDivElement, GroupProps>((props: GroupProps, ref) => {\n const {\n className,\n position,\n align,\n children,\n noWrap,\n grow,\n spacing,\n direction,\n classNames,\n styles,\n ...others\n } = useMantineDefaultProps('Group', defaultProps, props);\n\n const filteredChildren = filterFalsyChildren(children);\n const { classes, cx } = useStyles(\n {\n align,\n grow,\n noWrap,\n spacing,\n position,\n direction,\n count: filteredChildren.length,\n },\n { classNames, styles, name: 'Group' }\n );\n\n const items = filteredChildren.map((child) => {\n if (typeof child === 'object' && child !== null && 'props' in child) {\n return React.cloneElement(child, {\n className: cx(classes.child, child.props?.className),\n });\n }\n\n return child;\n });\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {items}\n </Box>\n );\n});\n\nGroup.displayName = '@mantine/core/Group';\n"],"names":["forwardRef","useMantineDefaultProps","styles","filterFalsyChildren","useStyles","React","Box"],"mappings":"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"}
1
+ {"version":3,"file":"Group.js","sources":["../../../src/components/Group/Group.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, useMantineDefaultProps } from '@mantine/styles';\nimport { filterFalsyChildren } from '../../utils';\nimport { Box } from '../Box';\nimport useStyles, { GroupPosition } from './Group.styles';\n\nexport interface GroupProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Defines justify-content property */\n position?: GroupPosition;\n\n /** Defined flex-wrap property */\n noWrap?: boolean;\n\n /** Defines flex-grow property for each element, true -> 1, false -> 0 */\n grow?: boolean;\n\n /** Space between elements */\n spacing?: MantineNumberSize;\n\n /** Defines flex-direction property, row for horizontal, column for vertical */\n direction?: 'row' | 'column';\n\n /** Defines align-items css property */\n align?: React.CSSProperties['alignItems'];\n}\n\nconst defaultProps: Partial<GroupProps> = {\n position: 'left',\n align: 'center',\n spacing: 'md',\n direction: 'row',\n};\n\nexport const Group = forwardRef<HTMLDivElement, GroupProps>((props: GroupProps, ref) => {\n const {\n className,\n position,\n align,\n children,\n noWrap,\n grow,\n spacing,\n direction,\n classNames,\n styles,\n ...others\n } = useMantineDefaultProps('Group', defaultProps, props);\n\n const filteredChildren = filterFalsyChildren(children);\n const { classes, cx } = useStyles(\n {\n align,\n grow,\n noWrap,\n spacing,\n position,\n direction,\n count: filteredChildren.length,\n },\n { classNames, styles, name: 'Group' }\n );\n\n const items = filteredChildren.map((child) => {\n if (typeof child === 'object' && child !== null && 'props' in child) {\n return React.cloneElement(child, {\n className: cx(classes.child, child.props?.className),\n });\n }\n\n return child;\n });\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n {items}\n </Box>\n );\n});\n\nGroup.displayName = '@mantine/core/Group';\n"],"names":["forwardRef","useMantineDefaultProps","styles","filterFalsyChildren","useStyles","React","Box"],"mappings":"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"}
@@ -5,8 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var styles = require('@mantine/styles');
6
6
 
7
7
  const POSITIONS = {
8
+ top: "flex-start",
8
9
  left: "flex-start",
9
10
  center: "center",
11
+ bottom: "flex-end",
10
12
  right: "flex-end",
11
13
  apart: "space-between"
12
14
  };
@@ -15,9 +17,9 @@ var useStyles = styles.createStyles((theme, { spacing, position, noWrap, directi
15
17
  boxSizing: "border-box",
16
18
  display: "flex",
17
19
  flexDirection: direction,
18
- alignItems: align || (direction === "row" ? "center" : grow ? "stretch" : position === "apart" ? "flex-start" : POSITIONS[position]),
20
+ alignItems: align,
19
21
  flexWrap: noWrap ? "nowrap" : "wrap",
20
- justifyContent: direction === "row" ? POSITIONS[position] : void 0,
22
+ justifyContent: POSITIONS[position],
21
23
  gap: theme.fn.size({ size: spacing, sizes: theme.spacing })
22
24
  },
23
25
  child: {
@@ -1 +1 @@
1
- {"version":3,"file":"Group.styles.js","sources":["../../../src/components/Group/Group.styles.ts"],"sourcesContent":["import React from 'react';\nimport { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport type GroupPosition = 'right' | 'center' | 'left' | 'apart';\n\nexport interface GroupStylesParams {\n position: GroupPosition;\n noWrap: boolean;\n grow: boolean;\n spacing: MantineNumberSize;\n direction: 'row' | 'column';\n align: React.CSSProperties['alignItems'];\n count: number;\n}\n\nconst POSITIONS = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end',\n apart: 'space-between',\n};\n\nexport default createStyles(\n (theme, { spacing, position, noWrap, direction, grow, align, count }: GroupStylesParams) => ({\n root: {\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: direction,\n alignItems:\n align ||\n (direction === 'row'\n ? 'center'\n : grow\n ? 'stretch'\n : position === 'apart'\n ? 'flex-start'\n : POSITIONS[position]),\n flexWrap: noWrap ? 'nowrap' : 'wrap',\n justifyContent: direction === 'row' ? POSITIONS[position] : undefined,\n gap: theme.fn.size({ size: spacing, sizes: theme.spacing }),\n },\n\n child: {\n boxSizing: 'border-box',\n maxWidth:\n grow && direction === 'row'\n ? `calc(${100 / count}% - ${\n theme.fn.size({ size: spacing, sizes: theme.spacing }) -\n theme.fn.size({ size: spacing, sizes: theme.spacing }) / count\n }px)`\n : undefined,\n flexGrow: grow ? 1 : 0,\n },\n })\n);\n"],"names":["createStyles"],"mappings":";;;;;;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,IAAI,EAAE,YAAY;AACpB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,KAAK,EAAE,eAAe;AACxB,CAAC,CAAC;AACF,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;AACtG,EAAE,IAAI,EAAE;AACR,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,UAAU,EAAE,KAAK,KAAK,SAAS,KAAK,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,KAAK,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AACxI,IAAI,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM;AACxC,IAAI,cAAc,EAAE,SAAS,KAAK,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;AACtE,IAAI,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/D,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3M,IAAI,QAAQ,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;AAC1B,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"Group.styles.js","sources":["../../../src/components/Group/Group.styles.ts"],"sourcesContent":["import React from 'react';\nimport { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport type GroupPosition = 'right' | 'center' | 'left' | 'apart' | 'top' | 'bottom';\n\nexport interface GroupStylesParams {\n position: GroupPosition;\n noWrap: boolean;\n grow: boolean;\n spacing: MantineNumberSize;\n direction: 'row' | 'column';\n align: React.CSSProperties['alignItems'];\n count: number;\n}\n\nconst POSITIONS = {\n top: 'flex-start',\n left: 'flex-start',\n center: 'center',\n bottom: 'flex-end',\n right: 'flex-end',\n apart: 'space-between',\n};\n\nexport default createStyles(\n (theme, { spacing, position, noWrap, direction, grow, align, count }: GroupStylesParams) => ({\n root: {\n boxSizing: 'border-box',\n display: 'flex',\n flexDirection: direction,\n alignItems: align,\n flexWrap: noWrap ? 'nowrap' : 'wrap',\n justifyContent: POSITIONS[position],\n gap: theme.fn.size({ size: spacing, sizes: theme.spacing }),\n },\n\n child: {\n boxSizing: 'border-box',\n maxWidth:\n grow && direction === 'row'\n ? `calc(${100 / count}% - ${\n theme.fn.size({ size: spacing, sizes: theme.spacing }) -\n theme.fn.size({ size: spacing, sizes: theme.spacing }) / count\n }px)`\n : undefined,\n flexGrow: grow ? 1 : 0,\n },\n })\n);\n"],"names":["createStyles"],"mappings":";;;;;;AACA,MAAM,SAAS,GAAG;AAClB,EAAE,GAAG,EAAE,YAAY;AACnB,EAAE,IAAI,EAAE,YAAY;AACpB,EAAE,MAAM,EAAE,QAAQ;AAClB,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,KAAK,EAAE,eAAe;AACxB,CAAC,CAAC;AACF,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;AACtG,EAAE,IAAI,EAAE;AACR,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,aAAa,EAAE,SAAS;AAC5B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM;AACxC,IAAI,cAAc,EAAE,SAAS,CAAC,QAAQ,CAAC;AACvC,IAAI,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;AAC/D,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAC3M,IAAI,QAAQ,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC;AAC1B,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const ListContext = React.createContext(null);
8
+ function useListContext() {
9
+ return React.useContext(ListContext) || {};
10
+ }
11
+
12
+ exports.ListContext = ListContext;
13
+ exports.useListContext = useListContext;
14
+ //# sourceMappingURL=List.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"List.context.js","sources":["../../../src/components/List/List.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { CSSObject, MantineNumberSize, MantineTheme } from '@mantine/styles';\nimport type { ListItemStylesNames } from './ListItem/ListItem';\n\ninterface ListContextValue {\n classNames?: Partial<Record<ListItemStylesNames, string>>;\n styles?:\n | Partial<Record<ListItemStylesNames, CSSObject>>\n | ((theme: MantineTheme) => Partial<Record<ListItemStylesNames, CSSObject>>);\n spacing?: MantineNumberSize;\n center?: boolean;\n icon?: React.ReactNode;\n}\n\nexport const ListContext = createContext<ListContextValue>(null);\n\nexport function useListContext(): ListContextValue {\n return useContext(ListContext) || {};\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;AACY,MAAC,WAAW,GAAGA,mBAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,GAAG;AACjC,EAAE,OAAOC,gBAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACvC;;;;;"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var styles = require('@mantine/styles');
7
7
  var ListItem = require('./ListItem/ListItem.js');
8
+ var List_context = require('./List.context.js');
8
9
  var List_styles = require('./List.styles.js');
9
- var filterChildrenByType = require('../../utils/filter-children-by-type/filter-children-by-type.js');
10
10
  var Box = require('../Box/Box.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
@@ -73,21 +73,13 @@ const List = React.forwardRef((props, ref) => {
73
73
  "classNames"
74
74
  ]);
75
75
  const { classes, cx } = List_styles['default']({ withPadding, size, listStyleType }, { classNames, styles: styles$1, name: "List" });
76
- const items = filterChildrenByType.filterChildrenByType(children, ListItem.ListItem).map((item) => {
77
- var _a2;
78
- return React__default.cloneElement(item, {
79
- classNames,
80
- styles: styles$1,
81
- spacing,
82
- center,
83
- icon: ((_a2 = item.props) == null ? void 0 : _a2.icon) || icon
84
- });
85
- });
86
- return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
76
+ return /* @__PURE__ */ React__default.createElement(List_context.ListContext.Provider, {
77
+ value: { classNames, styles: styles$1, spacing, center, icon }
78
+ }, /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
87
79
  component: type === "unordered" ? "ul" : "ol",
88
80
  className: cx(classes.root, className),
89
81
  ref
90
- }, others), items);
82
+ }, others), children));
91
83
  });
92
84
  List.Item = ListItem.ListItem;
93
85
  List.displayName = "@mantine/core/List";
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ClassNames,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../utils';\nimport { Box } from '../Box';\nimport { ListItem, ListItemStylesNames } from './ListItem/ListItem';\nimport useStyles from './List.styles';\n\nexport type ListStylesNames = ListItemStylesNames | ClassNames<typeof useStyles>;\n\nexport interface ListProps\n extends DefaultProps<ListStylesNames>,\n React.ComponentPropsWithoutRef<'ul'> {\n /** <List.Item /> components only */\n children: React.ReactNode;\n\n /** List type: ol or ul */\n type?: 'ordered' | 'unordered';\n\n /** Include padding-left to offset list from main content */\n withPadding?: boolean;\n\n /** Font size from theme or number to set value in px */\n size?: MantineNumberSize;\n\n /** Icon that should replace list item dot */\n icon?: React.ReactNode;\n\n /** Spacing between items from theme or number to set value in px */\n spacing?: MantineNumberSize;\n\n /** Center items with icon */\n center?: boolean;\n\n /** List style */\n listStyleType?: React.CSSProperties['listStyleType'];\n}\n\ntype ListComponent = ForwardRefWithStaticComponents<ListProps, { Item: typeof ListItem }>;\n\nconst defaultProps: Partial<ListProps> = {\n type: 'unordered',\n size: 'md',\n spacing: 0,\n};\n\nexport const List: ListComponent = forwardRef<HTMLUListElement, ListProps>(\n (props: ListProps, ref) => {\n const {\n children,\n type,\n size,\n listStyleType,\n withPadding,\n center,\n spacing,\n icon,\n className,\n styles,\n classNames,\n ...others\n } = useMantineDefaultProps('List', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { withPadding, size, listStyleType },\n { classNames, styles, name: 'List' }\n );\n\n const items = filterChildrenByType(children, ListItem).map((item) =>\n React.cloneElement(item, {\n classNames,\n styles,\n spacing,\n center,\n icon: item.props?.icon || icon,\n })\n );\n\n return (\n <Box<any>\n component={type === 'unordered' ? 'ul' : 'ol'}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n {items}\n </Box>\n );\n }\n) as any;\n\nList.Item = ListItem;\nList.displayName = '@mantine/core/List';\n"],"names":["forwardRef","useMantineDefaultProps","styles","useStyles","filterChildrenByType","ListItem","React","Box"],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sources":["../../../src/components/List/List.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n DefaultProps,\n MantineNumberSize,\n ClassNames,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { ListItem, ListItemStylesNames } from './ListItem/ListItem';\nimport { ListContext } from './List.context';\nimport useStyles from './List.styles';\n\nexport type ListStylesNames = ListItemStylesNames | ClassNames<typeof useStyles>;\n\nexport interface ListProps\n extends DefaultProps<ListStylesNames>,\n React.ComponentPropsWithoutRef<'ul'> {\n /** <List.Item /> components only */\n children: React.ReactNode;\n\n /** List type: ol or ul */\n type?: 'ordered' | 'unordered';\n\n /** Include padding-left to offset list from main content */\n withPadding?: boolean;\n\n /** Font size from theme or number to set value in px */\n size?: MantineNumberSize;\n\n /** Icon that should replace list item dot */\n icon?: React.ReactNode;\n\n /** Spacing between items from theme or number to set value in px */\n spacing?: MantineNumberSize;\n\n /** Center items with icon */\n center?: boolean;\n\n /** List style */\n listStyleType?: React.CSSProperties['listStyleType'];\n}\n\ntype ListComponent = ForwardRefWithStaticComponents<ListProps, { Item: typeof ListItem }>;\n\nconst defaultProps: Partial<ListProps> = {\n type: 'unordered',\n size: 'md',\n spacing: 0,\n};\n\nexport const List: ListComponent = forwardRef<HTMLUListElement, ListProps>(\n (props: ListProps, ref) => {\n const {\n children,\n type,\n size,\n listStyleType,\n withPadding,\n center,\n spacing,\n icon,\n className,\n styles,\n classNames,\n ...others\n } = useMantineDefaultProps('List', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { withPadding, size, listStyleType },\n { classNames, styles, name: 'List' }\n );\n\n return (\n <ListContext.Provider value={{ classNames, styles, spacing, center, icon }}>\n <Box<any>\n component={type === 'unordered' ? 'ul' : 'ol'}\n className={cx(classes.root, className)}\n ref={ref}\n {...others}\n >\n {children}\n </Box>\n </ListContext.Provider>\n );\n }\n) as any;\n\nList.Item = ListItem;\nList.displayName = '@mantine/core/List';\n"],"names":["forwardRef","useMantineDefaultProps","styles","useStyles","React","ListContext","Box","ListItem"],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
+ var List_context = require('../List.context.js');
6
7
  var ListItem_styles = require('./ListItem.styles.js');
7
8
  var Box = require('../../Box/Box.js');
8
9
 
@@ -39,32 +40,18 @@ var __objRest = (source, exclude) => {
39
40
  return target;
40
41
  };
41
42
  function ListItem(_a) {
42
- var _b = _a, {
43
- className,
44
- children,
45
- icon,
46
- classNames,
47
- styles,
48
- spacing,
49
- center
50
- } = _b, others = __objRest(_b, [
51
- "className",
52
- "children",
53
- "icon",
54
- "classNames",
55
- "styles",
56
- "spacing",
57
- "center"
58
- ]);
43
+ var _b = _a, { className, children, icon } = _b, others = __objRest(_b, ["className", "children", "icon"]);
44
+ const { classNames, styles, icon: ctxIcon, spacing, center } = List_context.useListContext();
45
+ const _icon = icon || ctxIcon;
59
46
  const { classes, cx } = ListItem_styles['default']({ spacing, center }, { classNames, styles, name: "List" });
60
47
  return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
61
48
  component: "li",
62
- className: cx(classes.item, { [classes.withIcon]: icon }, className)
49
+ className: cx(classes.item, { [classes.withIcon]: _icon }, className)
63
50
  }, others), /* @__PURE__ */ React__default.createElement("div", {
64
51
  className: classes.itemWrapper
65
- }, icon && /* @__PURE__ */ React__default.createElement("span", {
52
+ }, _icon && /* @__PURE__ */ React__default.createElement("span", {
66
53
  className: classes.itemIcon
67
- }, icon), /* @__PURE__ */ React__default.createElement("span", null, children)));
54
+ }, _icon), /* @__PURE__ */ React__default.createElement("span", null, children)));
68
55
  }
69
56
  ListItem.displayName = "@mantine/core/ListItem";
70
57
 
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, MantineNumberSize, ClassNames } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport useStyles from './ListItem.styles';\n\nexport type ListItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ListItemProps\n extends DefaultProps<ListItemStylesNames>,\n React.ComponentPropsWithoutRef<'li'> {\n /** Icon to replace bullet */\n icon?: React.ReactNode;\n\n /** Item content */\n children: React.ReactNode;\n\n /** Predefined spacing between items or number to set value in px */\n spacing?: MantineNumberSize;\n\n /** Center item content with icon */\n center?: boolean;\n}\n\nexport function ListItem({\n className,\n children,\n icon,\n classNames,\n styles,\n spacing,\n center,\n ...others\n}: ListItemProps) {\n const { classes, cx } = useStyles({ spacing, center }, { classNames, styles, name: 'List' });\n\n return (\n <Box\n component=\"li\"\n className={cx(classes.item, { [classes.withIcon]: icon }, className)}\n {...others}\n >\n <div className={classes.itemWrapper}>\n {icon && <span className={classes.itemIcon}>{icon}</span>}\n <span>{children}</span>\n </div>\n </Box>\n );\n}\n\nListItem.displayName = '@mantine/core/ListItem';\n"],"names":["useStyles","React","Box"],"mappings":"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"}
1
+ {"version":3,"file":"ListItem.js","sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps, ClassNames } from '@mantine/styles';\nimport { Box } from '../../Box';\nimport { useListContext } from '../List.context';\nimport useStyles from './ListItem.styles';\n\nexport type ListItemStylesNames = ClassNames<typeof useStyles>;\n\nexport interface ListItemProps\n extends DefaultProps<ListItemStylesNames>,\n React.ComponentPropsWithoutRef<'li'> {\n /** Icon to replace bullet */\n icon?: React.ReactNode;\n\n /** Item content */\n children: React.ReactNode;\n}\n\nexport function ListItem({ className, children, icon, ...others }: ListItemProps) {\n const { classNames, styles, icon: ctxIcon, spacing, center } = useListContext();\n const _icon = icon || ctxIcon;\n const { classes, cx } = useStyles({ spacing, center }, { classNames, styles, name: 'List' });\n\n return (\n <Box\n component=\"li\"\n className={cx(classes.item, { [classes.withIcon]: _icon }, className)}\n {...others}\n >\n <div className={classes.itemWrapper}>\n {_icon && <span className={classes.itemIcon}>{_icon}</span>}\n <span>{children}</span>\n </div>\n </Box>\n );\n}\n\nListItem.displayName = '@mantine/core/ListItem';\n"],"names":["useListContext","useStyles","React","Box"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const MenuContext = React.createContext(null);
8
+ function useMenuContext(component = "Item") {
9
+ const ctx = React.useContext(MenuContext);
10
+ if (!ctx) {
11
+ throw new Error(`Menu.${component} component was rendered outside of Menu context`);
12
+ }
13
+ return ctx;
14
+ }
15
+
16
+ exports.MenuContext = MenuContext;
17
+ exports.useMenuContext = useMenuContext;
18
+ //# sourceMappingURL=Menu.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.context.js","sources":["../../../src/components/Menu/Menu.context.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\nimport { MantineNumberSize, MantineTheme, CSSObject } from '@mantine/styles';\nimport type { MenuStylesNames } from './Menu';\n\ninterface MenuContextValue {\n hovered: number;\n radius: MantineNumberSize;\n classNames: Partial<Record<MenuStylesNames, string>>;\n styles:\n | Partial<Record<MenuStylesNames, CSSObject>>\n | ((theme: MantineTheme) => Partial<Record<MenuStylesNames, CSSObject>>);\n onItemHover(index: number): void;\n onItemKeyDown(event: React.KeyboardEvent<HTMLElement>): void;\n onItemClick(): void;\n}\n\nexport const MenuContext = createContext<MenuContextValue>(null);\n\nexport function useMenuContext(component = 'Item') {\n const ctx = useContext(MenuContext);\n\n if (!ctx) {\n throw new Error(`Menu.${component} component was rendered outside of Menu context`);\n }\n\n return ctx;\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;AACY,MAAC,WAAW,GAAGA,mBAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,CAAC,SAAS,GAAG,MAAM,EAAE;AACnD,EAAE,MAAM,GAAG,GAAGC,gBAAU,CAAC,WAAW,CAAC,CAAC;AACtC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,+CAA+C,CAAC,CAAC,CAAC;AACxF,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;;"}
@@ -8,10 +8,8 @@ var styles = require('@mantine/styles');
8
8
  var MenuIcon = require('./MenuIcon.js');
9
9
  var MenuItem = require('./MenuItem/MenuItem.js');
10
10
  var MenuLabel = require('./MenuLabel/MenuLabel.js');
11
+ var Menu_context = require('./Menu.context.js');
11
12
  var Menu_styles = require('./Menu.styles.js');
12
- var filterChildrenByType = require('../../utils/filter-children-by-type/filter-children-by-type.js');
13
- var Divider = require('../Divider/Divider.js');
14
- var Text = require('../Text/Text.js');
15
13
  var Box = require('../Box/Box.js');
16
14
  var Popper = require('../Popper/Popper.js');
17
15
  var Paper = require('../Paper/Paper.js');
@@ -55,7 +53,7 @@ var __objRest = (source, exclude) => {
55
53
  const defaultControl = /* @__PURE__ */ React__default.createElement(ActionIcon.ActionIcon, null, /* @__PURE__ */ React__default.createElement(MenuIcon.MenuIcon, null));
56
54
  function getNextItem(active, items) {
57
55
  for (let i = active + 1; i < items.length; i += 1) {
58
- if (!items[i].props.disabled && items[i].type === MenuItem.MenuItem) {
56
+ if (!items[i].disabled) {
59
57
  return i;
60
58
  }
61
59
  }
@@ -63,7 +61,7 @@ function getNextItem(active, items) {
63
61
  }
64
62
  function findInitialItem(items) {
65
63
  for (let i = 0; i < items.length; i += 1) {
66
- if (!items[i].props.disabled && items[i].type === MenuItem.MenuItem) {
64
+ if (!items[i].disabled) {
67
65
  return i;
68
66
  }
69
67
  }
@@ -71,11 +69,11 @@ function findInitialItem(items) {
71
69
  }
72
70
  function getPreviousItem(active, items) {
73
71
  for (let i = active - 1; i >= 0; i -= 1) {
74
- if (!items[i].props.disabled && items[i].type === MenuItem.MenuItem) {
72
+ if (!items[i].disabled) {
75
73
  return i;
76
74
  }
77
75
  }
78
- if (!items[active] || items[active].type !== MenuItem.MenuItem) {
76
+ if (!items[active]) {
79
77
  return findInitialItem(items);
80
78
  }
81
79
  return active;
@@ -99,7 +97,7 @@ const defaultProps = {
99
97
  withinPortal: true,
100
98
  trapFocus: true,
101
99
  closeOnScroll: false,
102
- clickOutsideEvents: ["mouseup", "touchstart"]
100
+ clickOutsideEvents: ["mousedown", "touchstart"]
103
101
  };
104
102
  const Menu = React.forwardRef((props, ref) => {
105
103
  const _a = styles.useMantineDefaultProps("Menu", defaultProps, props), {
@@ -172,13 +170,11 @@ const Menu = React.forwardRef((props, ref) => {
172
170
  "clickOutsideEvents"
173
171
  ]);
174
172
  const [hovered, setHovered] = React.useState(-1);
175
- const buttonsRefs = React.useRef({});
176
- const { classes, cx, theme } = Menu_styles['default']({ size }, { classNames, styles: styles$1, name: "Menu" });
173
+ const { classes, cx } = Menu_styles['default']({ size }, { classNames, styles: styles$1, name: "Menu" });
177
174
  const delayTimeout = React.useRef();
178
175
  const [referenceElement, setReferenceElement] = React.useState(null);
179
176
  const [wrapperElement, setWrapperElement] = React.useState(null);
180
177
  const [dropdownElement, setDropdownElement] = React.useState(null);
181
- const items = filterChildrenByType.filterChildrenByType(children, [MenuItem.MenuItem, MenuLabel.MenuLabel, Divider.Divider]);
182
178
  const uuid = hooks.useUuid(menuId);
183
179
  const focusReference = () => window.setTimeout(() => referenceElement == null ? void 0 : referenceElement.focus(), 0);
184
180
  const [_opened, setOpened] = hooks.useUncontrolled({
@@ -224,20 +220,21 @@ const Menu = React.forwardRef((props, ref) => {
224
220
  };
225
221
  const handleKeyDown = (event) => {
226
222
  if (_opened) {
223
+ const elements = Array.from(dropdownElement.querySelectorAll(".mantine-Menu-item"));
227
224
  if (event.nativeEvent.code === "Tab" && trapFocus) {
228
225
  event.preventDefault();
229
226
  }
230
227
  if (event.nativeEvent.code === "ArrowDown") {
231
228
  event.preventDefault();
232
- const prevIndex = getNextItem(hovered, items);
229
+ const prevIndex = getNextItem(hovered, elements);
233
230
  setHovered(prevIndex);
234
- buttonsRefs.current[prevIndex].focus();
231
+ elements[prevIndex].focus();
235
232
  }
236
233
  if (event.nativeEvent.code === "ArrowUp") {
237
234
  event.preventDefault();
238
- const prevIndex = getPreviousItem(hovered, items);
235
+ const prevIndex = getPreviousItem(hovered, elements);
239
236
  setHovered(prevIndex);
240
- buttonsRefs.current[prevIndex].focus();
237
+ elements[prevIndex].focus();
241
238
  }
242
239
  if (event.nativeEvent.code === "Escape") {
243
240
  handleClose();
@@ -259,48 +256,23 @@ const Menu = React.forwardRef((props, ref) => {
259
256
  [controlRefProp]: hooks.useMergedRef(setReferenceElement, ref),
260
257
  onKeyDown: handleKeyDown
261
258
  }));
262
- const content = items.map((item, index) => {
263
- if (item.type === MenuItem.MenuItem) {
264
- return /* @__PURE__ */ React__default.createElement(MenuItem.MenuItem, __spreadProps(__spreadValues({}, item.props), {
265
- key: index,
266
- hovered: hovered === index,
267
- onHover: () => setHovered(index),
268
- radius,
269
- onMouseLeave: () => setHovered(-1),
270
- onKeyDown: handleKeyDown,
271
- styles: styles$1,
272
- classNames,
273
- onClick: (event) => {
274
- if (closeOnItemClick) {
275
- handleClose();
276
- trigger === "click" && focusReference();
277
- }
278
- if (typeof item.props.onClick === "function") {
279
- item.props.onClick(event);
280
- }
281
- },
282
- ref: (node) => {
283
- buttonsRefs.current[index] = node;
284
- }
285
- }));
259
+ const handleItemClick = () => {
260
+ if (closeOnItemClick) {
261
+ handleClose();
262
+ trigger === "click" && focusReference();
286
263
  }
287
- if (item.type === MenuLabel.MenuLabel) {
288
- return /* @__PURE__ */ React__default.createElement(Text.Text, __spreadValues({
289
- key: index,
290
- className: classes.label
291
- }, item.props));
292
- }
293
- if (item.type === Divider.Divider) {
294
- return /* @__PURE__ */ React__default.createElement(Divider.Divider, {
295
- variant: "solid",
296
- className: classes.divider,
297
- my: theme.spacing.xs / 2,
298
- key: index
299
- });
264
+ };
265
+ return /* @__PURE__ */ React__default.createElement(Menu_context.MenuContext.Provider, {
266
+ value: {
267
+ hovered,
268
+ radius,
269
+ styles: styles$1,
270
+ classNames,
271
+ onItemHover: setHovered,
272
+ onItemKeyDown: handleKeyDown,
273
+ onItemClick: handleItemClick
300
274
  }
301
- return null;
302
- });
303
- return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
275
+ }, /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
304
276
  ref: setWrapperElement,
305
277
  onMouseLeave: handleMouseLeave,
306
278
  onMouseEnter: handleMouseEnter,
@@ -329,7 +301,7 @@ const Menu = React.forwardRef((props, ref) => {
329
301
  onMouseLeave: () => setHovered(-1),
330
302
  ref: setDropdownElement,
331
303
  id: uuid
332
- }, others), content)));
304
+ }, others), children))));
333
305
  });
334
306
  Menu.Item = MenuItem.MenuItem;
335
307
  Menu.Label = MenuLabel.MenuLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { filterChildrenByType } from '../../utils';\nimport { Box } from '../Box';\nimport { Divider } from '../Divider';\nimport { Paper } from '../Paper';\nimport { Text } from '../Text';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemType, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel } from './MenuLabel/MenuLabel';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames = ClassNames<typeof useStyles> | MenuItemStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: MenuItemType[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: MenuItemType[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: MenuItemType[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].props.disabled && items[i].type === MenuItem) {\n return i;\n }\n }\n\n if (!items[active] || items[active].type !== MenuItem) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mouseup', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const buttonsRefs = useRef<Record<string, HTMLButtonElement>>({});\n const { classes, cx, theme } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const items = filterChildrenByType(children, [MenuItem, MenuLabel, Divider]);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [\n dropdownElement,\n wrapperElement,\n ]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n if (_opened) {\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, items);\n setHovered(prevIndex);\n buttonsRefs.current[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const content = items.map((item, index) => {\n if (item.type === MenuItem) {\n return (\n <MenuItem<'button'>\n {...item.props}\n key={index}\n hovered={hovered === index}\n onHover={() => setHovered(index)}\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n onKeyDown={handleKeyDown}\n styles={styles}\n classNames={classNames}\n onClick={(event) => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n\n if (typeof item.props.onClick === 'function') {\n item.props.onClick(event);\n }\n }}\n ref={(node) => {\n buttonsRefs.current[index] = node;\n }}\n />\n );\n }\n\n if (item.type === MenuLabel) {\n return <Text key={index} className={classes.label} {...(item.props as any)} />;\n }\n\n if (item.type === Divider) {\n return (\n <Divider\n variant=\"solid\"\n className={classes.divider}\n my={theme.spacing.xs / 2}\n key={index}\n />\n );\n }\n\n return null;\n });\n\n return (\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {content}\n </Paper>\n </Popper>\n </Box>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":["React","ActionIcon","MenuIcon","MenuItem","getDefaultZIndex","forwardRef","useMantineDefaultProps","styles","useState","useRef","useStyles","filterChildrenByType","MenuLabel","Divider","useUuid","useUncontrolled","useWindowEvent","useClickOutside","cloneElement","useMergedRef","Text","Box","Popper","Paper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,IAAI,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK;AACrC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,KAAK,IAAI,IAAI,IAAI,MAAM;AACzB,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpE,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,mBAAmB;AAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;AAClD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;AACtE,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACpC,KAAK;AACL,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAwBF,MAAM,cAAc,mBAAmBA,cAAK,CAAC,aAAa,CAACC,qBAAU,EAAE,IAAI,kBAAkBD,cAAK,CAAC,aAAa,CAACE,iBAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;AAClI,SAAS,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;AACpC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACrD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAKC,iBAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC5C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAKA,iBAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AACD,SAAS,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE;AACxC,EAAE,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAKA,iBAAQ,EAAE;AAChE,MAAM,OAAO,CAAC,CAAC;AACf,KAAK;AACL,GAAG;AACH,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAKA,iBAAQ,EAAE;AACzD,IAAI,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC;AACD,MAAM,YAAY,GAAG;AACrB,EAAE,OAAO,EAAE,cAAc;AACzB,EAAE,gBAAgB,EAAE,IAAI;AACxB,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,SAAS,EAAE,OAAO;AACpB,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,SAAS,EAAE,KAAK;AAClB,EAAE,UAAU,EAAE,cAAc;AAC5B,EAAE,cAAc,EAAE,KAAK;AACvB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,KAAK,EAAE,GAAG;AACZ,EAAE,MAAM,EAAEC,uBAAgB,CAAC,SAAS,CAAC;AACrC,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,aAAa,EAAE,KAAK;AACtB,EAAE,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;AAC/C,CAAC,CAAC;AACU,MAAC,IAAI,GAAGC,gBAAU,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC/C,EAAE,MAAM,EAAE,GAAGC,6BAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AAClE,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,IAAI;AACR,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,wBAAwB;AAC5B,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,KAAK;AACT,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,aAAa;AACjB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,EAAE;AACN,IAAI,kBAAkB;AACtB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,kBAAkB;AACtB,IAAI,oBAAoB;AACxB,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,0BAA0B;AAC9B,IAAI,iBAAiB;AACrB,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,IAAI,cAAc;AAClB,IAAI,UAAU;AACd,IAAI,WAAW;AACf,IAAI,IAAI;AACR,IAAI,oBAAoB;AACxB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGC,cAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,EAAE,MAAM,WAAW,GAAGC,YAAM,CAAC,EAAE,CAAC,CAAC;AACjC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,sBAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,UAAEH,QAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3F,EAAE,MAAM,YAAY,GAAGE,YAAM,EAAE,CAAC;AAChC,EAAE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAGD,cAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC/D,EAAE,MAAM,KAAK,GAAGG,yCAAoB,CAAC,QAAQ,EAAE,CAACR,iBAAQ,EAAES,mBAAS,EAAEC,eAAO,CAAC,CAAC,CAAC;AAC/E,EAAE,MAAM,IAAI,GAAGC,aAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,EAAE,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,gBAAgB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;AACxH,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAGC,qBAAe,CAAC;AAC/C,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,YAAY,EAAE,KAAK;AACvB,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,OAAO,GAAG,KAAK,SAAS;AAC3C,IAAI,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,EAAE,GAAG,OAAO,OAAO,KAAK,UAAU,IAAI,OAAO,EAAE;AACtH,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,SAAS,GAAGN,YAAM,CAAC,OAAO,CAAC,CAAC;AACpC,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,SAAS,CAAC,OAAO,EAAE;AAC3B,MAAM,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAChC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;AACvB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,GAAG,CAAC;AACJ,EAAEO,oBAAc,CAAC,QAAQ,EAAE,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC,CAAC;AACjE,EAAEC,qBAAe,CAAC,MAAM,OAAO,IAAI,WAAW,EAAE,EAAE,kBAAkB,EAAE;AACtE,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,OAAO,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,CAAC;AAC3C,GAAG,CAAC;AACJ,EAAE,MAAM,oBAAoB,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjI,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,IAAI,OAAO,KAAK,OAAO,EAAE;AAC7B,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE;AACrB,QAAQ,YAAY,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;AAC7E,OAAO,MAAM;AACb,QAAQ,WAAW,EAAE,CAAC;AACtB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,CAAC,KAAK,KAAK;AACtC,IAAI,OAAO,YAAY,KAAK,UAAU,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,IAAI,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAC9C,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG,CAAC,KAAK,KAAK;AACnC,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,EAAE;AACzD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE;AAClD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACtD,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/C,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAChD,QAAQ,KAAK,CAAC,cAAc,EAAE,CAAC;AAC/B,QAAQ,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAC1D,QAAQ,UAAU,CAAC,SAAS,CAAC,CAAC;AAC9B,QAAQ,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;AAC/C,OAAO;AACP,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/C,QAAQ,WAAW,EAAE,CAAC;AACtB,QAAQ,cAAc,EAAE,CAAC;AACzB,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAGC,kBAAY,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,oBAAoB,CAAC,EAAE;AACpG,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK;AACxB,MAAM,oBAAoB,CAAC,OAAO,EAAE,CAAC;AACrC,MAAM,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAClF,KAAK;AACL,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,eAAe,EAAE,MAAM;AAC3B,IAAI,eAAe,EAAE,OAAO;AAC5B,IAAI,eAAe,EAAE,IAAI;AACzB,IAAI,YAAY,EAAE,eAAe;AACjC,IAAI,KAAK,EAAE,eAAe;AAC1B,IAAI,CAAC,cAAc,GAAGC,kBAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;AAC5D,IAAI,SAAS,EAAE,aAAa;AAC5B,GAAG,CAAC,CAAC,CAAC;AACN,EAAE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AAC7C,IAAI,IAAI,IAAI,CAAC,IAAI,KAAKhB,iBAAQ,EAAE;AAChC,MAAM,uBAAuBH,cAAK,CAAC,aAAa,CAACG,iBAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;AACzG,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,OAAO,EAAE,OAAO,KAAK,KAAK;AAClC,QAAQ,OAAO,EAAE,MAAM,UAAU,CAAC,KAAK,CAAC;AACxC,QAAQ,MAAM;AACd,QAAQ,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AAC1C,QAAQ,SAAS,EAAE,aAAa;AAChC,gBAAQI,QAAM;AACd,QAAQ,UAAU;AAClB,QAAQ,OAAO,EAAE,CAAC,KAAK,KAAK;AAC5B,UAAU,IAAI,gBAAgB,EAAE;AAChC,YAAY,WAAW,EAAE,CAAC;AAC1B,YAAY,OAAO,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC;AACpD,WAAW;AACX,UAAU,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,EAAE;AACxD,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACtC,WAAW;AACX,SAAS;AACT,QAAQ,GAAG,EAAE,CAAC,IAAI,KAAK;AACvB,UAAU,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAC5C,SAAS;AACT,OAAO,CAAC,CAAC,CAAC;AACV,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,IAAI,KAAKK,mBAAS,EAAE;AACjC,MAAM,uBAAuBZ,cAAK,CAAC,aAAa,CAACoB,SAAI,EAAE,cAAc,CAAC;AACtE,QAAQ,GAAG,EAAE,KAAK;AAClB,QAAQ,SAAS,EAAE,OAAO,CAAC,KAAK;AAChC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACtB,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,IAAI,KAAKP,eAAO,EAAE;AAC/B,MAAM,uBAAuBb,cAAK,CAAC,aAAa,CAACa,eAAO,EAAE;AAC1D,QAAQ,OAAO,EAAE,OAAO;AACxB,QAAQ,SAAS,EAAE,OAAO,CAAC,OAAO;AAClC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;AAChC,QAAQ,GAAG,EAAE,KAAK;AAClB,OAAO,CAAC,CAAC;AACT,KAAK;AACL,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBb,cAAK,CAAC,aAAa,CAACqB,OAAG,EAAE,cAAc,CAAC;AACjE,IAAI,GAAG,EAAE,iBAAiB;AAC1B,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,EAAE;AACN,GAAG,EAAE,MAAM,CAAC,EAAE,WAAW,kBAAkBrB,cAAK,CAAC,aAAa,CAACsB,aAAM,EAAE;AACvE,IAAI,gBAAgB;AACpB,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,UAAU;AACd,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS,EAAE,CAAC;AAChB,IAAI,MAAM;AACV,IAAI,cAAc,EAAE,OAAO,CAAC,KAAK;AACjC,IAAI,YAAY;AAChB,GAAG,kBAAkBtB,cAAK,CAAC,aAAa,CAACuB,WAAK,EAAE,cAAc,CAAC;AAC/D,IAAI,MAAM;AACV,IAAI,SAAS,EAAE,OAAO,CAAC,IAAI;AAC3B,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,kBAAkB,EAAE,UAAU;AAClC,IAAI,MAAM;AACV,IAAI,YAAY,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACtC,IAAI,GAAG,EAAE,kBAAkB;AAC3B,IAAI,EAAE,EAAE,IAAI;AACZ,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,EAAE;AACH,IAAI,CAAC,IAAI,GAAGpB,iBAAQ,CAAC;AACrB,IAAI,CAAC,KAAK,GAAGS,mBAAS,CAAC;AACvB,IAAI,CAAC,WAAW,GAAG,oBAAoB;;;;"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, { useState, useRef, cloneElement, forwardRef } from 'react';\nimport {\n useClickOutside,\n useMergedRef,\n useWindowEvent,\n useUncontrolled,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n ForwardRefWithStaticComponents,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Paper } from '../Paper';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { MenuIcon } from './MenuIcon';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesNames } from './MenuLabel/MenuLabel';\nimport { MenuContext } from './Menu.context';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | ClassNames<typeof useStyles>\n | MenuItemStylesNames\n | MenuLabelStylesNames;\n\nexport interface MenuProps\n extends DefaultProps<MenuStylesNames>,\n SharedPopperProps,\n React.ComponentPropsWithRef<'div'> {\n /** <MenuItem /> and <Divider /> components only, children are passed to MenuBody component */\n children: React.ReactNode;\n\n /** React element that will be used as menu control */\n control?: React.ReactElement;\n\n /** Use opened and onClose props to setup controlled menu */\n opened?: boolean;\n\n /** Called every time menu is closed */\n onClose?(): void;\n\n /** Called every time menu is opened */\n onOpen?(): void;\n\n /** Menu button aria-label and title props */\n menuButtonLabel?: string;\n\n /** Predefined menu width or number for width in px */\n size?: MantineNumberSize | 'auto';\n\n /** Predefined shadow from theme or box-shadow value */\n shadow?: MantineShadow;\n\n /** Should menu close on item click */\n closeOnItemClick?: boolean;\n\n /** Id attribute of menu */\n menuId?: string;\n\n /** Control prop to get element ref */\n controlRefProp?: string;\n\n /** Menu body z-index */\n zIndex?: number;\n\n /** Event which should open menu */\n trigger?: 'click' | 'hover';\n\n /** Close delay for hover trigger */\n delay?: number;\n\n /** Menu body and items border-radius */\n radius?: MantineNumberSize;\n\n /** Close menu on scroll */\n closeOnScroll?: boolean;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Should focus be trapped when menu is opened */\n trapFocus?: boolean;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultControl = (\n <ActionIcon>\n <MenuIcon />\n </ActionIcon>\n);\n\ntype MenuComponent = ForwardRefWithStaticComponents<\n MenuProps,\n { Item: typeof MenuItem; Label: typeof MenuLabel }\n>;\n\nfunction getNextItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active + 1; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return active;\n}\n\nfunction findInitialItem(items: HTMLButtonElement[]) {\n for (let i = 0; i < items.length; i += 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction getPreviousItem(active: number, items: HTMLButtonElement[]) {\n for (let i = active - 1; i >= 0; i -= 1) {\n if (!items[i].disabled) {\n return i;\n }\n }\n\n if (!items[active]) {\n return findInitialItem(items);\n }\n\n return active;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n control: defaultControl,\n closeOnItemClick: true,\n transitionDuration: 150,\n size: 'md',\n shadow: 'md',\n position: 'bottom',\n placement: 'start',\n gutter: 5,\n withArrow: false,\n transition: 'pop-top-left',\n controlRefProp: 'ref',\n trigger: 'click',\n radius: 'sm',\n delay: 100,\n zIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n trapFocus: true,\n closeOnScroll: false,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n};\n\nexport const Menu: MenuComponent = forwardRef<HTMLButtonElement, MenuProps>(\n (props: MenuProps, ref) => {\n const {\n control,\n children,\n onClose,\n onOpen,\n opened,\n menuId,\n closeOnItemClick,\n transitionDuration,\n size,\n shadow,\n position,\n placement,\n gutter,\n withArrow,\n transition,\n transitionTimingFunction,\n menuButtonLabel,\n controlRefProp,\n trigger,\n radius,\n delay,\n zIndex,\n withinPortal,\n trapFocus,\n classNames,\n styles,\n closeOnScroll,\n onMouseLeave,\n onMouseEnter,\n onChange,\n className,\n sx,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Menu', defaultProps, props);\n const [hovered, setHovered] = useState(-1);\n const { classes, cx } = useStyles({ size }, { classNames, styles, name: 'Menu' });\n const delayTimeout = useRef<number>();\n const [referenceElement, setReferenceElement] = useState<HTMLButtonElement>(null);\n const [wrapperElement, setWrapperElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const uuid = useUuid(menuId);\n\n const focusReference = () => window.setTimeout(() => referenceElement?.focus(), 0);\n\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: false,\n finalValue: false,\n rule: (val) => typeof val === 'boolean',\n onChange: (value) =>\n value\n ? typeof onOpen === 'function' && onOpen()\n : typeof onClose === 'function' && onClose(),\n });\n\n const openedRef = useRef(_opened);\n\n const handleClose = () => {\n if (openedRef.current) {\n openedRef.current = false;\n setOpened(false);\n }\n };\n\n const handleOpen = () => {\n openedRef.current = true;\n setOpened(true);\n };\n\n useWindowEvent('scroll', () => closeOnScroll && handleClose());\n\n useClickOutside(() => _opened && handleClose(), clickOutsideEvents, [\n dropdownElement,\n wrapperElement,\n ]);\n\n const toggleMenu = () => {\n _opened ? handleClose() : handleOpen();\n };\n\n const controlEventHandlers =\n trigger === 'click'\n ? { onClick: toggleMenu }\n : { onMouseEnter: handleOpen, onClick: toggleMenu };\n\n const handleMouseLeave = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseLeave === 'function' && onMouseLeave(event);\n\n if (trigger === 'hover') {\n if (delay > 0) {\n delayTimeout.current = window.setTimeout(() => handleClose(), delay);\n } else {\n handleClose();\n }\n }\n };\n\n const handleMouseEnter = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n typeof onMouseEnter === 'function' && onMouseEnter(event);\n window.clearTimeout(delayTimeout.current);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (_opened) {\n const elements = Array.from(\n dropdownElement.querySelectorAll<HTMLButtonElement>('.mantine-Menu-item')\n );\n\n if (event.nativeEvent.code === 'Tab' && trapFocus) {\n event.preventDefault();\n }\n\n if (event.nativeEvent.code === 'ArrowDown') {\n event.preventDefault();\n const prevIndex = getNextItem(hovered, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'ArrowUp') {\n event.preventDefault();\n const prevIndex = getPreviousItem(hovered, elements);\n setHovered(prevIndex);\n elements[prevIndex].focus();\n }\n\n if (event.nativeEvent.code === 'Escape') {\n handleClose();\n focusReference();\n }\n }\n };\n\n const menuControl = cloneElement(control, {\n ...controlEventHandlers,\n onClick: (event: React.MouseEvent<any>) => {\n controlEventHandlers.onClick();\n typeof control.props.onClick === 'function' && control.props.onClick(event);\n },\n role: 'button',\n 'aria-haspopup': 'menu',\n 'aria-expanded': _opened,\n 'aria-controls': uuid,\n 'aria-label': menuButtonLabel,\n title: menuButtonLabel,\n [controlRefProp]: useMergedRef(setReferenceElement, ref),\n onKeyDown: handleKeyDown,\n });\n\n const handleItemClick = () => {\n if (closeOnItemClick) {\n handleClose();\n trigger === 'click' && focusReference();\n }\n };\n\n return (\n <MenuContext.Provider\n value={{\n hovered,\n radius,\n styles,\n classNames,\n onItemHover: setHovered,\n onItemKeyDown: handleKeyDown,\n onItemClick: handleItemClick,\n }}\n >\n <Box\n ref={setWrapperElement}\n onMouseLeave={handleMouseLeave}\n onMouseEnter={handleMouseEnter}\n className={cx(classes.root, className)}\n sx={sx}\n {...others}\n >\n {menuControl}\n\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transitionTimingFunction={transitionTimingFunction}\n transition={transition}\n mounted={_opened}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={3}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n withinPortal={withinPortal}\n >\n <Paper\n shadow={shadow}\n className={classes.body}\n role=\"menu\"\n aria-orientation=\"vertical\"\n radius={radius}\n onMouseLeave={() => setHovered(-1)}\n ref={setDropdownElement}\n id={uuid}\n {...others}\n >\n {children}\n </Paper>\n </Popper>\n </Box>\n </MenuContext.Provider>\n );\n }\n) as any;\n\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\n\nMenu.displayName = '@mantine/core/Menu';\n"],"names":["React","ActionIcon","MenuIcon","getDefaultZIndex","forwardRef","useMantineDefaultProps","styles","useState","useStyles","useRef","useUuid","useUncontrolled","useWindowEvent","useClickOutside","cloneElement","useMergedRef","MenuContext","Box","Popper","Paper","MenuItem","MenuLabel"],"mappings":"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"}
@@ -27,11 +27,11 @@ var useStyles = styles.createStyles((theme, { size }) => ({
27
27
  pointerEvents: "all",
28
28
  border: `1px solid ${theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.colors.gray[2]}`,
29
29
  backgroundColor: theme.colorScheme === "dark" ? theme.colors.dark[6] : theme.white,
30
- padding: MENU_PADDING
31
- },
32
- divider: {
33
- borderTopColor: theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.colors.gray[2],
34
- margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`
30
+ padding: MENU_PADDING,
31
+ "& .mantine-Divider-horizontal": {
32
+ margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`,
33
+ borderTopColor: theme.colorScheme === "dark" ? theme.colors.dark[7] : theme.colors.gray[2]
34
+ }
35
35
  },
36
36
  label: {
37
37
  color: theme.colorScheme === "dark" ? theme.colors.dark[2] : theme.colors.gray[6],
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.styles.js","sources":["../../../src/components/Menu/Menu.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport interface MenuStylesParams {\n size: MantineNumberSize | 'auto';\n}\n\nexport const sizes = {\n xs: 120,\n sm: 160,\n md: 200,\n lg: 240,\n xl: 300,\n};\n\nconst MENU_PADDING = 4;\n\nexport default createStyles((theme, { size }: MenuStylesParams) => ({\n root: {\n display: 'inline-block',\n position: 'relative',\n },\n\n arrow: {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n background: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n },\n\n body: {\n width: theme.fn.size({ size, sizes }),\n overflow: 'hidden',\n pointerEvents: 'all',\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n padding: MENU_PADDING,\n },\n\n divider: {\n borderTopColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.colors.gray[2],\n margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`,\n },\n\n label: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6],\n fontWeight: 500,\n fontSize: theme.fontSizes.xs,\n padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px`,\n cursor: 'default',\n },\n}));\n"],"names":["createStyles"],"mappings":";;;;;;AACY,MAAC,KAAK,GAAG;AACrB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE;AACF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM;AAClD,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,QAAQ,EAAE,UAAU;AACxB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,IAAI,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACjF,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzC,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,aAAa,EAAE,KAAK;AACxB,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,cAAc,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;AAC1D,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,IAAI,UAAU,EAAE,GAAG;AACnB,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;;;;;"}
1
+ {"version":3,"file":"Menu.styles.js","sources":["../../../src/components/Menu/Menu.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize } from '@mantine/styles';\n\nexport interface MenuStylesParams {\n size: MantineNumberSize | 'auto';\n}\n\nexport const sizes = {\n xs: 120,\n sm: 160,\n md: 200,\n lg: 240,\n xl: 300,\n};\n\nconst MENU_PADDING = 4;\n\nexport default createStyles((theme, { size }: MenuStylesParams) => ({\n root: {\n display: 'inline-block',\n position: 'relative',\n },\n\n arrow: {\n borderColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2],\n background: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n },\n\n body: {\n width: theme.fn.size({ size, sizes }),\n overflow: 'hidden',\n pointerEvents: 'all',\n border: `1px solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[2]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n padding: MENU_PADDING,\n\n '& .mantine-Divider-horizontal': {\n margin: `${theme.spacing.xs / 2}px -${MENU_PADDING}px`,\n borderTopColor: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.colors.gray[2],\n },\n },\n\n label: {\n color: theme.colorScheme === 'dark' ? theme.colors.dark[2] : theme.colors.gray[6],\n fontWeight: 500,\n fontSize: theme.fontSizes.xs,\n padding: `${theme.spacing.xs / 2}px ${theme.spacing.sm}px`,\n cursor: 'default',\n },\n}));\n"],"names":["createStyles"],"mappings":";;;;;;AACY,MAAC,KAAK,GAAG;AACrB,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE,EAAE,EAAE,GAAG;AACT,EAAE;AACF,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,gBAAeA,mBAAY,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM;AAClD,EAAE,IAAI,EAAE;AACR,IAAI,OAAO,EAAE,cAAc;AAC3B,IAAI,QAAQ,EAAE,UAAU;AACxB,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,WAAW,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,IAAI,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACjF,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACzC,IAAI,QAAQ,EAAE,QAAQ;AACtB,IAAI,aAAa,EAAE,KAAK;AACxB,IAAI,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrG,IAAI,eAAe,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK;AACtF,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,+BAA+B,EAAE;AACrC,MAAM,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;AAC5D,MAAM,cAAc,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAChG,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,KAAK,EAAE,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrF,IAAI,UAAU,EAAE,GAAG;AACnB,IAAI,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE;AAChC,IAAI,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9D,IAAI,MAAM,EAAE,SAAS;AACrB,GAAG;AACH,CAAC,CAAC,CAAC;;;;;"}