@mantine/core 3.7.0-alpha.2 → 4.0.2

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 (110) hide show
  1. package/cjs/components/Drawer/Drawer.js +4 -7
  2. package/cjs/components/Drawer/Drawer.js.map +1 -1
  3. package/cjs/components/Drawer/Drawer.styles.js +2 -1
  4. package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
  5. package/cjs/components/Input/Input.js.map +1 -1
  6. package/cjs/components/List/List.context.js +14 -0
  7. package/cjs/components/List/List.context.js.map +1 -0
  8. package/cjs/components/List/List.js +5 -13
  9. package/cjs/components/List/List.js.map +1 -1
  10. package/cjs/components/List/ListItem/ListItem.js +7 -20
  11. package/cjs/components/List/ListItem/ListItem.js.map +1 -1
  12. package/cjs/components/Menu/Menu.context.js +18 -0
  13. package/cjs/components/Menu/Menu.context.js.map +1 -0
  14. package/cjs/components/Menu/Menu.js +28 -56
  15. package/cjs/components/Menu/Menu.js.map +1 -1
  16. package/cjs/components/Menu/Menu.styles.js +5 -5
  17. package/cjs/components/Menu/Menu.styles.js.map +1 -1
  18. package/cjs/components/Menu/MenuItem/MenuItem.js +21 -15
  19. package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
  20. package/cjs/components/Menu/MenuLabel/MenuLabel.js +30 -1
  21. package/cjs/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
  22. package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js +18 -0
  23. package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
  24. package/cjs/components/Modal/Modal.js +5 -11
  25. package/cjs/components/Modal/Modal.js.map +1 -1
  26. package/cjs/components/Modal/Modal.styles.js +5 -3
  27. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  28. package/cjs/components/PasswordInput/PasswordInput.js +1 -1
  29. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  30. package/cjs/components/Popover/Popover.js +1 -1
  31. package/cjs/components/Popover/Popover.js.map +1 -1
  32. package/cjs/index.js +2 -0
  33. package/cjs/index.js.map +1 -1
  34. package/cjs/utils/get-context-item-index/get-context-item-index.js +19 -0
  35. package/cjs/utils/get-context-item-index/get-context-item-index.js.map +1 -0
  36. package/esm/components/Drawer/Drawer.js +4 -7
  37. package/esm/components/Drawer/Drawer.js.map +1 -1
  38. package/esm/components/Drawer/Drawer.styles.js +2 -1
  39. package/esm/components/Drawer/Drawer.styles.js.map +1 -1
  40. package/esm/components/Input/Input.js.map +1 -1
  41. package/esm/components/List/List.context.js +9 -0
  42. package/esm/components/List/List.context.js.map +1 -0
  43. package/esm/components/List/List.js +5 -13
  44. package/esm/components/List/List.js.map +1 -1
  45. package/esm/components/List/ListItem/ListItem.js +7 -20
  46. package/esm/components/List/ListItem/ListItem.js.map +1 -1
  47. package/esm/components/Menu/Menu.context.js +13 -0
  48. package/esm/components/Menu/Menu.context.js.map +1 -0
  49. package/esm/components/Menu/Menu.js +28 -56
  50. package/esm/components/Menu/Menu.js.map +1 -1
  51. package/esm/components/Menu/Menu.styles.js +5 -5
  52. package/esm/components/Menu/Menu.styles.js.map +1 -1
  53. package/esm/components/Menu/MenuItem/MenuItem.js +22 -17
  54. package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
  55. package/esm/components/Menu/MenuLabel/MenuLabel.js +26 -1
  56. package/esm/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
  57. package/esm/components/Menu/MenuLabel/MenuLabel.styles.js +14 -0
  58. package/esm/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
  59. package/esm/components/Modal/Modal.js +5 -11
  60. package/esm/components/Modal/Modal.js.map +1 -1
  61. package/esm/components/Modal/Modal.styles.js +5 -3
  62. package/esm/components/Modal/Modal.styles.js.map +1 -1
  63. package/esm/components/PasswordInput/PasswordInput.js +1 -1
  64. package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
  65. package/esm/components/Popover/Popover.js +1 -1
  66. package/esm/components/Popover/Popover.js.map +1 -1
  67. package/esm/index.js +1 -0
  68. package/esm/index.js.map +1 -1
  69. package/esm/utils/get-context-item-index/get-context-item-index.js +15 -0
  70. package/esm/utils/get-context-item-index/get-context-item-index.js.map +1 -0
  71. package/lib/components/ActionIcon/CloseButton/CloseButton.d.ts +1 -1
  72. package/lib/components/Alert/Alert.styles.d.ts +2 -2
  73. package/lib/components/Blockquote/Blockquote.styles.d.ts +2 -2
  74. package/lib/components/Checkbox/Checkbox.styles.d.ts +2 -2
  75. package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
  76. package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
  77. package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
  78. package/lib/components/Input/Input.d.ts +4 -4
  79. package/lib/components/Input/Input.d.ts.map +1 -1
  80. package/lib/components/Input/Input.styles.d.ts +2 -2
  81. package/lib/components/List/List.context.d.ts +14 -0
  82. package/lib/components/List/List.context.d.ts.map +1 -0
  83. package/lib/components/List/List.d.ts.map +1 -1
  84. package/lib/components/List/ListItem/ListItem.d.ts +2 -6
  85. package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
  86. package/lib/components/Menu/Menu.context.d.ts +16 -0
  87. package/lib/components/Menu/Menu.context.d.ts.map +1 -0
  88. package/lib/components/Menu/Menu.d.ts +2 -2
  89. package/lib/components/Menu/Menu.d.ts.map +1 -1
  90. package/lib/components/Menu/Menu.styles.d.ts +2 -2
  91. package/lib/components/Menu/MenuItem/MenuItem.d.ts +8 -14
  92. package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
  93. package/lib/components/Menu/MenuLabel/MenuLabel.d.ts +4 -2
  94. package/lib/components/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
  95. package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts +7 -0
  96. package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts.map +1 -0
  97. package/lib/components/Modal/Modal.d.ts.map +1 -1
  98. package/lib/components/Modal/Modal.styles.d.ts +2 -2
  99. package/lib/components/Modal/Modal.styles.d.ts.map +1 -1
  100. package/lib/components/MultiSelect/MultiSelect.styles.d.ts +2 -2
  101. package/lib/components/Notification/Notification.styles.d.ts +2 -2
  102. package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts +2 -2
  103. package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
  104. package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
  105. package/lib/components/Tooltip/Tooltip.styles.d.ts +2 -2
  106. package/lib/utils/get-context-item-index/get-context-item-index.d.ts +5 -0
  107. package/lib/utils/get-context-item-index/get-context-item-index.d.ts.map +1 -0
  108. package/lib/utils/index.d.ts +1 -0
  109. package/lib/utils/index.d.ts.map +1 -1
  110. package/package.json +3 -3
@@ -19,8 +19,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
20
 
21
21
  var __defProp = Object.defineProperty;
22
- var __defProps = Object.defineProperties;
23
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
24
22
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
25
23
  var __hasOwnProp = Object.prototype.hasOwnProperty;
26
24
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -36,7 +34,6 @@ var __spreadValues = (a, b) => {
36
34
  }
37
35
  return a;
38
36
  };
39
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
40
37
  var __objRest = (source, exclude) => {
41
38
  var target = {};
42
39
  for (var prop in source)
@@ -170,13 +167,12 @@ function Drawer(props) {
170
167
  }, (transitionStyles) => /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
171
168
  className: cx(classes.root, { [classes.noOverlay]: !withOverlay }, className),
172
169
  role: "dialog",
173
- "aria-modal": true,
174
- onMouseDown: () => closeOnClickOutside && onClose()
170
+ "aria-modal": true
175
171
  }, others), /* @__PURE__ */ React__default.createElement(Paper.Paper, {
176
172
  onMouseDown: (event) => event.stopPropagation(),
177
173
  className: cx(classes.drawer, className),
178
174
  ref: focusTrapRef,
179
- style: __spreadProps(__spreadValues({}, transitionStyles.drawer), { zIndex: zIndex + 2 }),
175
+ style: transitionStyles.drawer,
180
176
  radius: 0,
181
177
  tabIndex: -1,
182
178
  onKeyDownCapture: (event) => {
@@ -198,9 +194,10 @@ function Drawer(props) {
198
194
  })), children), withOverlay && /* @__PURE__ */ React__default.createElement("div", {
199
195
  style: transitionStyles.overlay
200
196
  }, /* @__PURE__ */ React__default.createElement(Overlay.Overlay, {
197
+ onMouseDown: () => closeOnClickOutside && onClose(),
201
198
  className: classes.overlay,
202
199
  opacity: _overlayOpacity,
203
- zIndex,
200
+ zIndex: 0,
204
201
  color: overlayColor || (theme.colorScheme === "dark" ? theme.colors.dark[9] : theme.black)
205
202
  })))));
206
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { OptionalPortal } from '../Portal';\nimport { Text } from '../Text';\nimport { Box } from '../Box';\nimport { CloseButton } from '../ActionIcon';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles, { DrawerPosition } from './Drawer.styles';\n\nexport type DrawerStylesNames = Exclude<ClassNames<typeof useStyles>, 'withOverlay'>;\n\nexport interface DrawerProps\n extends Omit<DefaultProps<DrawerStylesNames>, MantineStyleSystemSize>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** If true drawer is mounted to the dom */\n opened: boolean;\n\n /** Called when drawer is closed (Escape key and click outside, depending on options) */\n onClose(): void;\n\n /** Drawer body position */\n position?: DrawerPosition;\n\n /** Drawer body width (right | left position) or height (top | bottom position), cannot exceed 100vh for height and 100% for width */\n size?: string | number;\n\n /** Drawer body shadow from theme or any css shadow value */\n shadow?: MantineShadow;\n\n /** Drawer body padding from theme or number for padding in px */\n padding?: MantineNumberSize;\n\n /** Drawer z-index property */\n zIndex?: number;\n\n /** Disables focus trap */\n trapFocus?: boolean;\n\n /** Disables scroll lock */\n lockScroll?: boolean;\n\n /** Disable onClock trigger for outside events */\n closeOnClickOutside?: boolean;\n\n /** Disable onClock trigger for escape key press */\n closeOnEscape?: boolean;\n\n /** Drawer appear and disappear transition, see Transition component for full documentation */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Drawer transitionTimingFunction css property */\n transitionTimingFunction?: string;\n\n /** Removes overlay entirely */\n withOverlay?: boolean;\n\n /** Sets overlay opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Sets overlay color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Drawer title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Hides close button if set to false, drawer still can be closed with escape key and by clicking outside */\n withCloseButton?: boolean;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** Target element or selector where drawer portal should be rendered */\n target?: HTMLElement | string;\n\n /** Determines whether drawer should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n}\n\nconst transitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n left: 'slide-right',\n right: 'slide-left',\n};\n\nconst rtlTransitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n right: 'slide-right',\n left: 'slide-left',\n};\n\nconst defaultProps: Partial<DrawerProps> = {\n position: 'left',\n size: 'md',\n transitionDuration: 250,\n transitionTimingFunction: 'ease',\n zIndex: getDefaultZIndex('modal'),\n shadow: 'md',\n padding: 0,\n lockScroll: true,\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withOverlay: true,\n withCloseButton: true,\n withinPortal: true,\n};\n\nexport function Drawer(props: DrawerProps) {\n const {\n className,\n opened,\n onClose,\n position,\n size,\n trapFocus,\n lockScroll,\n closeOnClickOutside,\n closeOnEscape,\n transition,\n transitionDuration,\n transitionTimingFunction,\n zIndex,\n overlayColor,\n overlayOpacity,\n children,\n withOverlay,\n shadow,\n padding,\n title,\n withCloseButton,\n closeButtonLabel,\n classNames,\n styles,\n target,\n withinPortal,\n ...others\n } = useMantineDefaultProps('Drawer', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { size, position, zIndex },\n { classNames, styles, name: 'Drawer' }\n );\n\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n\n const [, _lockScroll] = useScrollLock();\n\n const drawerTransition =\n transition || (theme.dir === 'rtl' ? rtlTransitions : transitions)[position];\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const _closeOnEscape = (event: KeyboardEvent) => {\n if (event.code === 'Escape' && closeOnEscape) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (!trapFocus) {\n window.addEventListener('keydown', _closeOnEscape);\n return () => window.removeEventListener('keydown', _closeOnEscape);\n }\n\n return undefined;\n }, [trapFocus]);\n\n useFocusReturn({ opened, transitionDuration: 0 });\n\n return (\n <OptionalPortal withinPortal={withinPortal} zIndex={zIndex} target={target}>\n <GroupedTransition\n onExited={() => _lockScroll(false)}\n onEntered={() => _lockScroll(lockScroll && true)}\n mounted={opened}\n transitions={{\n overlay: { duration: transitionDuration / 2, transition: 'fade', timingFunction: 'ease' },\n drawer: {\n duration: transitionDuration,\n transition: drawerTransition,\n timingFunction: transitionTimingFunction,\n },\n }}\n >\n {(transitionStyles) => (\n <Box\n className={cx(classes.root, { [classes.noOverlay]: !withOverlay }, className)}\n role=\"dialog\"\n aria-modal\n onMouseDown={() => closeOnClickOutside && onClose()}\n {...others}\n >\n <Paper<'div'>\n onMouseDown={(event) => event.stopPropagation()}\n className={cx(classes.drawer, className)}\n ref={focusTrapRef}\n style={{ ...transitionStyles.drawer, zIndex: zIndex + 2 }}\n radius={0}\n tabIndex={-1}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n\n shouldTrigger && event.nativeEvent.code === 'Escape' && closeOnEscape && onClose();\n }}\n shadow={shadow}\n p={padding}\n >\n {(title || withCloseButton) && (\n <div className={classes.header}>\n <Text className={classes.title}>{title}</Text>\n\n {withCloseButton && (\n <CloseButton\n iconSize={16}\n onClick={onClose}\n aria-label={closeButtonLabel}\n className={classes.closeButton}\n />\n )}\n </div>\n )}\n {children}\n </Paper>\n\n {withOverlay && (\n <div style={transitionStyles.overlay}>\n <Overlay\n className={classes.overlay}\n opacity={_overlayOpacity}\n zIndex={zIndex}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n />\n </div>\n )}\n </Box>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nDrawer.displayName = '@mantine/core/Drawer';\n"],"names":["getDefaultZIndex","useMantineDefaultProps","styles","useStyles","useFocusTrap","useScrollLock","useEffect","useFocusReturn","React","OptionalPortal","GroupedTransition","Box","Paper","Text","CloseButton","Overlay"],"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;AAeF,MAAM,WAAW,GAAG;AACpB,EAAE,GAAG,EAAE,YAAY;AACnB,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,IAAI,EAAE,aAAa;AACrB,EAAE,KAAK,EAAE,YAAY;AACrB,CAAC,CAAC;AACF,MAAM,cAAc,GAAG;AACvB,EAAE,GAAG,EAAE,YAAY;AACnB,EAAE,MAAM,EAAE,UAAU;AACpB,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,IAAI,EAAE,YAAY;AACpB,CAAC,CAAC;AACF,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,MAAM;AAClB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,kBAAkB,EAAE,GAAG;AACzB,EAAE,wBAAwB,EAAE,MAAM;AAClC,EAAE,MAAM,EAAEA,uBAAgB,CAAC,OAAO,CAAC;AACnC,EAAE,MAAM,EAAE,IAAI;AACd,EAAE,OAAO,EAAE,CAAC;AACZ,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,mBAAmB,EAAE,IAAI;AAC3B,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,WAAW,EAAE,IAAI;AACnB,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,YAAY,EAAE,IAAI;AACpB,CAAC,CAAC;AACK,SAAS,MAAM,CAAC,KAAK,EAAE;AAC9B,EAAE,MAAM,EAAE,GAAGC,6BAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACpE,IAAI,SAAS;AACb,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,mBAAmB;AACvB,IAAI,aAAa;AACjB,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,wBAAwB;AAC5B,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,QAAQ;AACZ,IAAI,WAAW;AACf,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,KAAK;AACT,IAAI,eAAe;AACnB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,YAAIC,QAAM;AACV,IAAI,MAAM;AACV,IAAI,YAAY;AAChB,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,qBAAqB;AACzB,IAAI,eAAe;AACnB,IAAI,YAAY;AAChB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,UAAU;AACd,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,iBAAiB;AACrB,IAAI,kBAAkB;AACtB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,cAAc;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,GAAGC,wBAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,UAAED,QAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/G,EAAE,MAAM,YAAY,GAAGE,kBAAY,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;AACzD,EAAE,MAAM,GAAG,WAAW,CAAC,GAAGC,mBAAa,EAAE,CAAC;AAC1C,EAAE,MAAM,gBAAgB,GAAG,UAAU,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,cAAc,GAAG,WAAW,EAAE,QAAQ,CAAC,CAAC;AACxG,EAAE,MAAM,eAAe,GAAG,OAAO,cAAc,KAAK,QAAQ,GAAG,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAC3H,EAAE,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AACpC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,EAAE;AAClD,MAAM,OAAO,EAAE,CAAC;AAChB,KAAK;AACL,GAAG,CAAC;AACJ,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACzD,MAAM,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AACzE,KAAK;AACL,IAAI,OAAO,KAAK,CAAC,CAAC;AAClB,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,EAAEC,oBAAc,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,6BAAc,EAAE;AAC7D,IAAI,YAAY;AAChB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,GAAG,kBAAkBD,cAAK,CAAC,aAAa,CAACE,mCAAiB,EAAE;AAC5D,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC,KAAK,CAAC;AACtC,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC;AACpD,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,WAAW,EAAE;AACjB,MAAM,OAAO,EAAE,EAAE,QAAQ,EAAE,kBAAkB,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE;AAC/F,MAAM,MAAM,EAAE;AACd,QAAQ,QAAQ,EAAE,kBAAkB;AACpC,QAAQ,UAAU,EAAE,gBAAgB;AACpC,QAAQ,cAAc,EAAE,wBAAwB;AAChD,OAAO;AACP,KAAK;AACL,GAAG,EAAE,CAAC,gBAAgB,qBAAqBF,cAAK,CAAC,aAAa,CAACG,OAAG,EAAE,cAAc,CAAC;AACnF,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC;AACjF,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,YAAY,EAAE,IAAI;AACtB,IAAI,WAAW,EAAE,MAAM,mBAAmB,IAAI,OAAO,EAAE;AACvD,GAAG,EAAE,MAAM,CAAC,kBAAkBH,cAAK,CAAC,aAAa,CAACI,WAAK,EAAE;AACzD,IAAI,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,eAAe,EAAE;AACnD,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC;AAC5C,IAAI,GAAG,EAAE,YAAY;AACrB,IAAI,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AAC7F,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,QAAQ,EAAE,CAAC,CAAC;AAChB,IAAI,gBAAgB,EAAE,CAAC,KAAK,KAAK;AACjC,MAAM,IAAI,GAAG,CAAC;AACd,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,+BAA+B,CAAC,MAAM,MAAM,CAAC;AACnI,MAAM,aAAa,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;AACzF,KAAK;AACL,IAAI,MAAM;AACV,IAAI,CAAC,EAAE,OAAO;AACd,GAAG,EAAE,CAAC,KAAK,IAAI,eAAe,qBAAqBJ,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9E,IAAI,SAAS,EAAE,OAAO,CAAC,MAAM;AAC7B,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACK,SAAI,EAAE;AAC/C,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,EAAE,eAAe,oBAAoBL,cAAK,CAAC,aAAa,CAACM,uBAAW,EAAE;AACjF,IAAI,QAAQ,EAAE,EAAE;AAChB,IAAI,OAAO,EAAE,OAAO;AACpB,IAAI,YAAY,EAAE,gBAAgB;AAClC,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,oBAAoBN,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC5E,IAAI,KAAK,EAAE,gBAAgB,CAAC,OAAO;AACnC,GAAG,kBAAkBA,cAAK,CAAC,aAAa,CAACO,eAAO,EAAE;AAClD,IAAI,SAAS,EAAE,OAAO,CAAC,OAAO;AAC9B,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI,MAAM;AACV,IAAI,KAAK,EAAE,YAAY,KAAK,KAAK,CAAC,WAAW,KAAK,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;AAC9F,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACT,CAAC;AACD,MAAM,CAAC,WAAW,GAAG,sBAAsB;;;;"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { useScrollLock, useFocusTrap, useFocusReturn } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n MantineStyleSystemSize,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Paper } from '../Paper';\nimport { Overlay } from '../Overlay';\nimport { OptionalPortal } from '../Portal';\nimport { Text } from '../Text';\nimport { Box } from '../Box';\nimport { CloseButton } from '../ActionIcon';\nimport { GroupedTransition, MantineTransition } from '../Transition';\nimport useStyles, { DrawerPosition } from './Drawer.styles';\n\nexport type DrawerStylesNames = Exclude<ClassNames<typeof useStyles>, 'withOverlay'>;\n\nexport interface DrawerProps\n extends Omit<DefaultProps<DrawerStylesNames>, MantineStyleSystemSize>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** If true drawer is mounted to the dom */\n opened: boolean;\n\n /** Called when drawer is closed (Escape key and click outside, depending on options) */\n onClose(): void;\n\n /** Drawer body position */\n position?: DrawerPosition;\n\n /** Drawer body width (right | left position) or height (top | bottom position), cannot exceed 100vh for height and 100% for width */\n size?: string | number;\n\n /** Drawer body shadow from theme or any css shadow value */\n shadow?: MantineShadow;\n\n /** Drawer body padding from theme or number for padding in px */\n padding?: MantineNumberSize;\n\n /** Drawer z-index property */\n zIndex?: number;\n\n /** Disables focus trap */\n trapFocus?: boolean;\n\n /** Disables scroll lock */\n lockScroll?: boolean;\n\n /** Disable onClock trigger for outside events */\n closeOnClickOutside?: boolean;\n\n /** Disable onClock trigger for escape key press */\n closeOnEscape?: boolean;\n\n /** Drawer appear and disappear transition, see Transition component for full documentation */\n transition?: MantineTransition;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Drawer transitionTimingFunction css property */\n transitionTimingFunction?: string;\n\n /** Removes overlay entirely */\n withOverlay?: boolean;\n\n /** Sets overlay opacity, defaults to 0.75 in light theme and to 0.85 in dark theme */\n overlayOpacity?: number;\n\n /** Sets overlay color, defaults to theme.black in light theme and to theme.colors.dark[9] in dark theme */\n overlayColor?: string;\n\n /** Drawer title, displayed in header before close button */\n title?: React.ReactNode;\n\n /** Hides close button if set to false, drawer still can be closed with escape key and by clicking outside */\n withCloseButton?: boolean;\n\n /** Close button aria-label */\n closeButtonLabel?: string;\n\n /** Target element or selector where drawer portal should be rendered */\n target?: HTMLElement | string;\n\n /** Determines whether drawer should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n}\n\nconst transitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n left: 'slide-right',\n right: 'slide-left',\n};\n\nconst rtlTransitions: Record<DrawerPosition, MantineTransition> = {\n top: 'slide-down',\n bottom: 'slide-up',\n right: 'slide-right',\n left: 'slide-left',\n};\n\nconst defaultProps: Partial<DrawerProps> = {\n position: 'left',\n size: 'md',\n transitionDuration: 250,\n transitionTimingFunction: 'ease',\n zIndex: getDefaultZIndex('modal'),\n shadow: 'md',\n padding: 0,\n lockScroll: true,\n closeOnClickOutside: true,\n closeOnEscape: true,\n trapFocus: true,\n withOverlay: true,\n withCloseButton: true,\n withinPortal: true,\n};\n\nexport function Drawer(props: DrawerProps) {\n const {\n className,\n opened,\n onClose,\n position,\n size,\n trapFocus,\n lockScroll,\n closeOnClickOutside,\n closeOnEscape,\n transition,\n transitionDuration,\n transitionTimingFunction,\n zIndex,\n overlayColor,\n overlayOpacity,\n children,\n withOverlay,\n shadow,\n padding,\n title,\n withCloseButton,\n closeButtonLabel,\n classNames,\n styles,\n target,\n withinPortal,\n ...others\n } = useMantineDefaultProps('Drawer', defaultProps, props);\n\n const { classes, cx, theme } = useStyles(\n { size, position, zIndex },\n { classNames, styles, name: 'Drawer' }\n );\n\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n\n const [, _lockScroll] = useScrollLock();\n\n const drawerTransition =\n transition || (theme.dir === 'rtl' ? rtlTransitions : transitions)[position];\n const _overlayOpacity =\n typeof overlayOpacity === 'number'\n ? overlayOpacity\n : theme.colorScheme === 'dark'\n ? 0.85\n : 0.75;\n\n const _closeOnEscape = (event: KeyboardEvent) => {\n if (event.code === 'Escape' && closeOnEscape) {\n onClose();\n }\n };\n\n useEffect(() => {\n if (!trapFocus) {\n window.addEventListener('keydown', _closeOnEscape);\n return () => window.removeEventListener('keydown', _closeOnEscape);\n }\n\n return undefined;\n }, [trapFocus]);\n\n useFocusReturn({ opened, transitionDuration: 0 });\n\n return (\n <OptionalPortal withinPortal={withinPortal} zIndex={zIndex} target={target}>\n <GroupedTransition\n onExited={() => _lockScroll(false)}\n onEntered={() => _lockScroll(lockScroll && true)}\n mounted={opened}\n transitions={{\n overlay: { duration: transitionDuration / 2, transition: 'fade', timingFunction: 'ease' },\n drawer: {\n duration: transitionDuration,\n transition: drawerTransition,\n timingFunction: transitionTimingFunction,\n },\n }}\n >\n {(transitionStyles) => (\n <Box\n className={cx(classes.root, { [classes.noOverlay]: !withOverlay }, className)}\n role=\"dialog\"\n aria-modal\n {...others}\n >\n <Paper<'div'>\n onMouseDown={(event) => event.stopPropagation()}\n className={cx(classes.drawer, className)}\n ref={focusTrapRef}\n style={transitionStyles.drawer}\n radius={0}\n tabIndex={-1}\n onKeyDownCapture={(event) => {\n const shouldTrigger =\n (event.target as any)?.getAttribute('data-mantine-stop-propagation') !== 'true';\n\n shouldTrigger && event.nativeEvent.code === 'Escape' && closeOnEscape && onClose();\n }}\n shadow={shadow}\n p={padding}\n >\n {(title || withCloseButton) && (\n <div className={classes.header}>\n <Text className={classes.title}>{title}</Text>\n\n {withCloseButton && (\n <CloseButton\n iconSize={16}\n onClick={onClose}\n aria-label={closeButtonLabel}\n className={classes.closeButton}\n />\n )}\n </div>\n )}\n {children}\n </Paper>\n\n {withOverlay && (\n <div style={transitionStyles.overlay}>\n <Overlay\n onMouseDown={() => closeOnClickOutside && onClose()}\n className={classes.overlay}\n opacity={_overlayOpacity}\n zIndex={0}\n color={\n overlayColor ||\n (theme.colorScheme === 'dark' ? theme.colors.dark[9] : theme.black)\n }\n />\n </div>\n )}\n </Box>\n )}\n </GroupedTransition>\n </OptionalPortal>\n );\n}\n\nDrawer.displayName = '@mantine/core/Drawer';\n"],"names":["getDefaultZIndex","useMantineDefaultProps","styles","useStyles","useFocusTrap","useScrollLock","useEffect","useFocusReturn","React","OptionalPortal","GroupedTransition","Box","Paper","Text","CloseButton","Overlay"],"mappings":"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"}
@@ -69,7 +69,8 @@ var useStyles = styles.createStyles((theme, { position, size, zIndex }, getRef)
69
69
  maxWidth: "100%",
70
70
  maxHeight: "100vh",
71
71
  position: "fixed",
72
- outline: 0
72
+ outline: 0,
73
+ zIndex: 1
73
74
  }),
74
75
  title: {
75
76
  marginRight: theme.spacing.md,
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.styles.js","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"sourcesContent":["import React from 'react';\nimport { createStyles, MantineTheme } from '@mantine/styles';\n\nexport const sizes = {\n xs: 180,\n sm: 240,\n md: 320,\n lg: 360,\n xl: 500,\n full: '100%',\n};\n\nexport type DrawerPosition = 'top' | 'bottom' | 'left' | 'right';\n\nexport interface DrawerStylesParams {\n position: DrawerPosition;\n size: number | string;\n zIndex: number;\n}\n\ninterface GetPositionStyles {\n position: DrawerPosition;\n size: number | string;\n theme: MantineTheme;\n}\n\nfunction getPositionStyles({\n position,\n size,\n theme,\n}: GetPositionStyles): Partial<Record<keyof React.CSSProperties, any>> {\n switch (position) {\n case 'top':\n return { top: 0, left: 0, right: 0, height: theme.fn.size({ size, sizes }) };\n\n case 'bottom':\n return { bottom: 0, left: 0, right: 0, height: theme.fn.size({ size, sizes }) };\n\n case 'right':\n return { bottom: 0, top: 0, right: 0, width: theme.fn.size({ size, sizes }) };\n\n case 'left':\n return { bottom: 0, top: 0, left: 0, width: theme.fn.size({ size, sizes }) };\n\n default:\n return null;\n }\n}\n\nexport default createStyles((theme, { position, size, zIndex }: DrawerStylesParams, getRef) => ({\n closeButton: {},\n overlay: {},\n\n noOverlay: {\n ref: getRef('noOverlay'),\n },\n\n root: {\n [`&:not(.${getRef('noOverlay')})`]: {\n position: 'fixed',\n zIndex,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n },\n\n drawer: {\n ...getPositionStyles({ position, size, theme }),\n maxWidth: '100%',\n maxHeight: '100vh',\n position: 'fixed',\n outline: 0,\n },\n\n title: {\n marginRight: theme.spacing.md,\n textOverflow: 'ellipsis',\n display: 'block',\n wordBreak: 'break-word',\n },\n\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.md,\n },\n}));\n"],"names":["createStyles"],"mappings":"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"}
1
+ {"version":3,"file":"Drawer.styles.js","sources":["../../../src/components/Drawer/Drawer.styles.ts"],"sourcesContent":["import React from 'react';\nimport { createStyles, MantineTheme } from '@mantine/styles';\n\nexport const sizes = {\n xs: 180,\n sm: 240,\n md: 320,\n lg: 360,\n xl: 500,\n full: '100%',\n};\n\nexport type DrawerPosition = 'top' | 'bottom' | 'left' | 'right';\n\nexport interface DrawerStylesParams {\n position: DrawerPosition;\n size: number | string;\n zIndex: number;\n}\n\ninterface GetPositionStyles {\n position: DrawerPosition;\n size: number | string;\n theme: MantineTheme;\n}\n\nfunction getPositionStyles({\n position,\n size,\n theme,\n}: GetPositionStyles): Partial<Record<keyof React.CSSProperties, any>> {\n switch (position) {\n case 'top':\n return { top: 0, left: 0, right: 0, height: theme.fn.size({ size, sizes }) };\n\n case 'bottom':\n return { bottom: 0, left: 0, right: 0, height: theme.fn.size({ size, sizes }) };\n\n case 'right':\n return { bottom: 0, top: 0, right: 0, width: theme.fn.size({ size, sizes }) };\n\n case 'left':\n return { bottom: 0, top: 0, left: 0, width: theme.fn.size({ size, sizes }) };\n\n default:\n return null;\n }\n}\n\nexport default createStyles((theme, { position, size, zIndex }: DrawerStylesParams, getRef) => ({\n closeButton: {},\n overlay: {},\n\n noOverlay: {\n ref: getRef('noOverlay'),\n },\n\n root: {\n [`&:not(.${getRef('noOverlay')})`]: {\n position: 'fixed',\n zIndex,\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n },\n\n drawer: {\n ...getPositionStyles({ position, size, theme }),\n maxWidth: '100%',\n maxHeight: '100vh',\n position: 'fixed',\n outline: 0,\n zIndex: 1,\n },\n\n title: {\n marginRight: theme.spacing.md,\n textOverflow: 'ellipsis',\n display: 'block',\n wordBreak: 'break-word',\n },\n\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.md,\n },\n}));\n"],"names":["createStyles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n useMantineTheme,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractSystemStyles,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = ClassNames<typeof useStyles>;\n\nexport interface InputBaseProps {\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: number;\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: number;\n\n /** Props spread to rightSection div element */\n rightSectionProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Properties spread to root element */\n wrapperProps?: { [key: string]: any };\n\n /** Sets required on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\ninterface _InputProps extends InputBaseProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n}\n\nexport type InputProps<C> = PolymorphicComponentProps<C, _InputProps>;\n\ntype InputComponent = (<C = 'input'>(props: InputProps<C>) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial<InputProps<any>> = {\n rightSectionWidth: 36,\n size: 'sm',\n __staticSelector: 'Input',\n};\n\nexport const Input: InputComponent = forwardRef(\n <C extends React.ElementType = 'input'>(props: InputProps<C>, ref: PolymorphicRef<C>) => {\n const {\n component,\n className,\n invalid,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n ...others\n } = useMantineDefaultProps('Input', defaultProps, props);\n\n const theme = useMantineTheme();\n const _variant = variant || (theme.colorScheme === 'dark' ? 'filled' : 'default');\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant: _variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n },\n { classNames, styles, name: __staticSelector }\n );\n const { systemStyles, rest } = extractSystemStyles(others);\n const Element: any = component || 'input';\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...systemStyles}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Element\n {...rest}\n ref={ref}\n required={required}\n aria-invalid={invalid}\n disabled={disabled}\n className={cx(classes[`${_variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n }\n);\n\nInput.displayName = '@mantine/core/Input';\n"],"names":["forwardRef","useMantineDefaultProps","styles","useMantineTheme","useStyles","extractSystemStyles","React","Box"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../../src/components/Input/Input.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport {\n useMantineTheme,\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n ClassNames,\n PolymorphicComponentProps,\n PolymorphicRef,\n extractSystemStyles,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, { InputVariant } from './Input.styles';\n\nexport type InputStylesNames = ClassNames<typeof useStyles>;\n\nexport interface InputBaseProps {\n /** Adds icon on the left side of input */\n icon?: React.ReactNode;\n\n /** Width of icon section in px */\n iconWidth?: number;\n\n /** Right section of input, similar to icon but on the right */\n rightSection?: React.ReactNode;\n\n /** Width of right section, is used to calculate input padding-right */\n rightSectionWidth?: number;\n\n /** Props spread to rightSection div element */\n rightSectionProps?: React.ComponentPropsWithoutRef<'div'>;\n\n /** Properties spread to root element */\n wrapperProps?: { [key: string]: any };\n\n /** Sets required on input element */\n required?: boolean;\n\n /** Input border-radius from theme or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Defines input appearance, defaults to default in light color scheme and filled in dark */\n variant?: InputVariant;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Input size */\n size?: MantineSize;\n}\n\ninterface _InputProps extends InputBaseProps, DefaultProps<InputStylesNames> {\n /** Static css selector base */\n __staticSelector?: string;\n\n /** Sets border color to red and aria-invalid=true on input element */\n invalid?: boolean;\n\n /** Will input have multiple lines? */\n multiline?: boolean;\n}\n\nexport type InputProps<C> = PolymorphicComponentProps<C, _InputProps>;\n\ntype InputComponent = (<C = 'input'>(props: InputProps<C>) => React.ReactElement) & {\n displayName?: string;\n};\n\nconst defaultProps: Partial<InputProps<any>> = {\n rightSectionWidth: 36,\n size: 'sm',\n __staticSelector: 'Input',\n};\n\nexport const Input: InputComponent = forwardRef(\n <C extends React.ElementType = 'input'>(props: InputProps<C>, ref: PolymorphicRef<C>) => {\n const {\n component,\n className,\n invalid,\n required,\n disabled,\n variant,\n icon,\n style,\n rightSectionWidth,\n iconWidth,\n rightSection,\n rightSectionProps,\n radius,\n size,\n wrapperProps,\n classNames,\n styles,\n __staticSelector,\n multiline,\n sx,\n ...others\n } = useMantineDefaultProps('Input', defaultProps, props);\n\n const theme = useMantineTheme();\n const _variant = variant || (theme.colorScheme === 'dark' ? 'filled' : 'default');\n const { classes, cx } = useStyles(\n {\n radius,\n size,\n multiline,\n variant: _variant,\n invalid,\n rightSectionWidth,\n iconWidth,\n withRightSection: !!rightSection,\n },\n { classNames, styles, name: __staticSelector }\n );\n const { systemStyles, rest } = extractSystemStyles(others);\n const Element: any = component || 'input';\n\n return (\n <Box\n className={cx(classes.wrapper, className)}\n sx={sx}\n style={style}\n {...systemStyles}\n {...wrapperProps}\n >\n {icon && <div className={classes.icon}>{icon}</div>}\n\n <Element\n {...rest}\n ref={ref}\n required={required}\n aria-invalid={invalid}\n disabled={disabled}\n className={cx(classes[`${_variant}Variant`], classes.input, {\n [classes.withIcon]: icon,\n [classes.invalid]: invalid,\n [classes.disabled]: disabled,\n })}\n />\n\n {rightSection && (\n <div {...rightSectionProps} className={classes.rightSection}>\n {rightSection}\n </div>\n )}\n </Box>\n );\n }\n);\n\nInput.displayName = '@mantine/core/Input';\n"],"names":["forwardRef","useMantineDefaultProps","styles","useMantineTheme","useStyles","extractSystemStyles","React","Box"],"mappings":"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"}
@@ -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;