@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.
- package/cjs/components/Drawer/Drawer.js +4 -7
- package/cjs/components/Drawer/Drawer.js.map +1 -1
- package/cjs/components/Drawer/Drawer.styles.js +2 -1
- package/cjs/components/Drawer/Drawer.styles.js.map +1 -1
- package/cjs/components/Input/Input.js.map +1 -1
- package/cjs/components/List/List.context.js +14 -0
- package/cjs/components/List/List.context.js.map +1 -0
- package/cjs/components/List/List.js +5 -13
- package/cjs/components/List/List.js.map +1 -1
- package/cjs/components/List/ListItem/ListItem.js +7 -20
- package/cjs/components/List/ListItem/ListItem.js.map +1 -1
- package/cjs/components/Menu/Menu.context.js +18 -0
- package/cjs/components/Menu/Menu.context.js.map +1 -0
- package/cjs/components/Menu/Menu.js +28 -56
- package/cjs/components/Menu/Menu.js.map +1 -1
- package/cjs/components/Menu/Menu.styles.js +5 -5
- package/cjs/components/Menu/Menu.styles.js.map +1 -1
- package/cjs/components/Menu/MenuItem/MenuItem.js +21 -15
- package/cjs/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js +30 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js +18 -0
- package/cjs/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
- package/cjs/components/Modal/Modal.js +5 -11
- package/cjs/components/Modal/Modal.js.map +1 -1
- package/cjs/components/Modal/Modal.styles.js +5 -3
- package/cjs/components/Modal/Modal.styles.js.map +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js +1 -1
- package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
- package/cjs/components/Popover/Popover.js +1 -1
- package/cjs/components/Popover/Popover.js.map +1 -1
- package/cjs/index.js +2 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/get-context-item-index/get-context-item-index.js +19 -0
- package/cjs/utils/get-context-item-index/get-context-item-index.js.map +1 -0
- package/esm/components/Drawer/Drawer.js +4 -7
- package/esm/components/Drawer/Drawer.js.map +1 -1
- package/esm/components/Drawer/Drawer.styles.js +2 -1
- package/esm/components/Drawer/Drawer.styles.js.map +1 -1
- package/esm/components/Input/Input.js.map +1 -1
- package/esm/components/List/List.context.js +9 -0
- package/esm/components/List/List.context.js.map +1 -0
- package/esm/components/List/List.js +5 -13
- package/esm/components/List/List.js.map +1 -1
- package/esm/components/List/ListItem/ListItem.js +7 -20
- package/esm/components/List/ListItem/ListItem.js.map +1 -1
- package/esm/components/Menu/Menu.context.js +13 -0
- package/esm/components/Menu/Menu.context.js.map +1 -0
- package/esm/components/Menu/Menu.js +28 -56
- package/esm/components/Menu/Menu.js.map +1 -1
- package/esm/components/Menu/Menu.styles.js +5 -5
- package/esm/components/Menu/Menu.styles.js.map +1 -1
- package/esm/components/Menu/MenuItem/MenuItem.js +22 -17
- package/esm/components/Menu/MenuItem/MenuItem.js.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js +26 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.js.map +1 -1
- package/esm/components/Menu/MenuLabel/MenuLabel.styles.js +14 -0
- package/esm/components/Menu/MenuLabel/MenuLabel.styles.js.map +1 -0
- package/esm/components/Modal/Modal.js +5 -11
- package/esm/components/Modal/Modal.js.map +1 -1
- package/esm/components/Modal/Modal.styles.js +5 -3
- package/esm/components/Modal/Modal.styles.js.map +1 -1
- package/esm/components/PasswordInput/PasswordInput.js +1 -1
- package/esm/components/PasswordInput/PasswordInput.js.map +1 -1
- package/esm/components/Popover/Popover.js +1 -1
- package/esm/components/Popover/Popover.js.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/utils/get-context-item-index/get-context-item-index.js +15 -0
- package/esm/utils/get-context-item-index/get-context-item-index.js.map +1 -0
- package/lib/components/ActionIcon/CloseButton/CloseButton.d.ts +1 -1
- package/lib/components/Alert/Alert.styles.d.ts +2 -2
- package/lib/components/Blockquote/Blockquote.styles.d.ts +2 -2
- package/lib/components/Checkbox/Checkbox.styles.d.ts +2 -2
- package/lib/components/Chips/Chip/Chip.styles.d.ts +2 -2
- package/lib/components/Drawer/Drawer.styles.d.ts +2 -2
- package/lib/components/Drawer/Drawer.styles.d.ts.map +1 -1
- package/lib/components/Input/Input.d.ts +4 -4
- package/lib/components/Input/Input.d.ts.map +1 -1
- package/lib/components/Input/Input.styles.d.ts +2 -2
- package/lib/components/List/List.context.d.ts +14 -0
- package/lib/components/List/List.context.d.ts.map +1 -0
- package/lib/components/List/List.d.ts.map +1 -1
- package/lib/components/List/ListItem/ListItem.d.ts +2 -6
- package/lib/components/List/ListItem/ListItem.d.ts.map +1 -1
- package/lib/components/Menu/Menu.context.d.ts +16 -0
- package/lib/components/Menu/Menu.context.d.ts.map +1 -0
- package/lib/components/Menu/Menu.d.ts +2 -2
- package/lib/components/Menu/Menu.d.ts.map +1 -1
- package/lib/components/Menu/Menu.styles.d.ts +2 -2
- package/lib/components/Menu/MenuItem/MenuItem.d.ts +8 -14
- package/lib/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/components/Menu/MenuLabel/MenuLabel.d.ts +4 -2
- package/lib/components/Menu/MenuLabel/MenuLabel.d.ts.map +1 -1
- package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts +7 -0
- package/lib/components/Menu/MenuLabel/MenuLabel.styles.d.ts.map +1 -0
- package/lib/components/Modal/Modal.d.ts.map +1 -1
- package/lib/components/Modal/Modal.styles.d.ts +2 -2
- package/lib/components/Modal/Modal.styles.d.ts.map +1 -1
- package/lib/components/MultiSelect/MultiSelect.styles.d.ts +2 -2
- package/lib/components/Notification/Notification.styles.d.ts +2 -2
- package/lib/components/SegmentedControl/SegmentedControl.styles.d.ts +2 -2
- package/lib/components/Tabs/TabControl/TabControl.d.ts +1 -1
- package/lib/components/Tabs/Tabs.styles.d.ts +2 -2
- package/lib/components/Tooltip/Tooltip.styles.d.ts +2 -2
- package/lib/utils/get-context-item-index/get-context-item-index.d.ts +5 -0
- package/lib/utils/get-context-item-index/get-context-item-index.d.ts.map +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Defines whether Popover can be closed with outside click, defaults to true */\n closeOnClickOutside?: boolean;\n\n /** Defines whether Popover should trap focus, defaults to true */\n trapFocus?: boolean;\n\n /** Defines whether Popover can be closed with Escape key, defaults to true */\n closeOnEscape?: boolean;\n\n /** Displays close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n zIndex: getDefaultZIndex('popover'),\n arrowSize: 4,\n withArrow: false,\n transition: 'fade',\n transitionDuration: 200,\n gutter: 10,\n position: 'left',\n placement: 'center',\n disabled: false,\n closeOnClickOutside: true,\n trapFocus: true,\n closeOnEscape: true,\n withCloseButton: false,\n radius: 'sm',\n spacing: 'md',\n shadow: 'sm',\n positionDependencies: [],\n withinPortal: true,\n clickOutsideEvents: ['click', 'touchstart'],\n};\n\nexport function Popover(props: PopoverProps) {\n const {\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex,\n arrowSize,\n withArrow,\n transition,\n transitionDuration,\n transitionTimingFunction,\n gutter,\n position,\n placement,\n disabled,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n withCloseButton,\n radius,\n spacing,\n shadow,\n closeButtonLabel,\n positionDependencies,\n withinPortal,\n id,\n classNames,\n styles,\n width,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Popover', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n\n useClickOutside(() => closeOnClickOutside && handleClose(), clickOutsideEvents, [\n rootElement,\n dropdownElement,\n ]);\n\n const returnFocus = useFocusReturn({\n opened: opened || trapFocus,\n transitionDuration: 0,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (closeOnEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useMantineDefaultProps","styles","useStyles","useState","useFocusTrap","useClickOutside","useFocusReturn","useUuid","React","Box","Popper","PopoverBody","useMergedRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Popover.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n useClickOutside,\n useFocusTrap,\n useMergedRef,\n useFocusReturn,\n useUuid,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineShadow,\n ClassNames,\n getDefaultZIndex,\n useMantineDefaultProps,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Popper, SharedPopperProps } from '../Popper';\nimport { PopoverBody, PopoverBodyStylesNames } from './PopoverBody/PopoverBody';\nimport useStyles from './Popover.styles';\n\nexport type PopoverStylesNames = ClassNames<typeof useStyles> | PopoverBodyStylesNames;\n\nexport interface PopoverProps\n extends DefaultProps<PopoverStylesNames>,\n SharedPopperProps,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'title'> {\n /** Defines whether Popover can be closed with outside click, defaults to true */\n closeOnClickOutside?: boolean;\n\n /** Defines whether Popover should trap focus, defaults to true */\n trapFocus?: boolean;\n\n /** Defines whether Popover can be closed with Escape key, defaults to true */\n closeOnEscape?: boolean;\n\n /** Displays close button */\n withCloseButton?: boolean;\n\n /** True to disable popover */\n disabled?: boolean;\n\n /** True to display popover */\n opened: boolean;\n\n /** Called when popover closes */\n onClose?(): void;\n\n /** Element which is used to position popover */\n target: React.ReactNode;\n\n /** Content inside popover */\n children: React.ReactNode;\n\n /** Popover title */\n title?: React.ReactNode;\n\n /** Popover body padding, value from theme.spacing or number to set padding in px */\n spacing?: MantineNumberSize;\n\n /** Popover body radius, value from theme.radius or number to set border-radius in px */\n radius?: MantineNumberSize;\n\n /** Popover shadow, value from theme.shadows or string to set box-shadow to any value */\n shadow?: MantineShadow;\n\n /** aria-label for close button */\n closeButtonLabel?: string;\n\n /** useEffect dependencies to force update tooltip position */\n positionDependencies?: any[];\n\n /** Whether to render the popover in a Portal */\n withinPortal?: boolean;\n\n /** Popover body width */\n width?: number | string;\n\n /** Events that should trigger outside clicks */\n clickOutsideEvents?: string[];\n}\n\nconst defaultProps: Partial<PopoverProps> = {\n zIndex: getDefaultZIndex('popover'),\n arrowSize: 4,\n withArrow: false,\n transition: 'fade',\n transitionDuration: 200,\n gutter: 10,\n position: 'left',\n placement: 'center',\n disabled: false,\n closeOnClickOutside: true,\n trapFocus: true,\n closeOnEscape: true,\n withCloseButton: false,\n radius: 'sm',\n spacing: 'md',\n shadow: 'sm',\n positionDependencies: [],\n withinPortal: true,\n clickOutsideEvents: ['mousedown', 'touchstart'],\n};\n\nexport function Popover(props: PopoverProps) {\n const {\n className,\n children,\n target,\n title,\n onClose,\n opened,\n zIndex,\n arrowSize,\n withArrow,\n transition,\n transitionDuration,\n transitionTimingFunction,\n gutter,\n position,\n placement,\n disabled,\n closeOnClickOutside,\n trapFocus,\n closeOnEscape,\n withCloseButton,\n radius,\n spacing,\n shadow,\n closeButtonLabel,\n positionDependencies,\n withinPortal,\n id,\n classNames,\n styles,\n width,\n clickOutsideEvents,\n ...others\n } = useMantineDefaultProps('Popover', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { classNames, styles, name: 'Popover' });\n const handleClose = () => typeof onClose === 'function' && onClose();\n const [referenceElement, setReferenceElement] = useState(null);\n const [rootElement, setRootElement] = useState<HTMLDivElement>(null);\n const [dropdownElement, setDropdownElement] = useState<HTMLDivElement>(null);\n const focusTrapRef = useFocusTrap(trapFocus && opened);\n\n useClickOutside(() => closeOnClickOutside && handleClose(), clickOutsideEvents, [\n rootElement,\n dropdownElement,\n ]);\n\n const returnFocus = useFocusReturn({\n opened: opened || trapFocus,\n transitionDuration: 0,\n shouldReturnFocus: false,\n });\n\n const handleKeydown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (closeOnEscape && event.nativeEvent.code === 'Escape') {\n handleClose();\n window.setTimeout(returnFocus, 0);\n }\n };\n\n const uuid = useUuid(id);\n const titleId = `${uuid}-title`;\n const bodyId = `${uuid}-body`;\n\n return (\n <Box className={cx(classes.root, className)} id={id} ref={setRootElement} {...others}>\n <Popper\n referenceElement={referenceElement}\n transitionDuration={transitionDuration}\n transition={transition}\n mounted={opened && !disabled}\n position={position}\n placement={placement}\n gutter={gutter}\n withArrow={withArrow}\n arrowSize={arrowSize}\n zIndex={zIndex}\n arrowClassName={classes.arrow}\n forceUpdateDependencies={[radius, shadow, spacing, ...positionDependencies]}\n withinPortal={withinPortal}\n >\n <PopoverBody\n shadow={shadow}\n radius={radius}\n spacing={spacing}\n withCloseButton={withCloseButton}\n title={title}\n titleId={titleId}\n bodyId={bodyId}\n closeButtonLabel={closeButtonLabel}\n onClose={handleClose}\n ref={useMergedRef(focusTrapRef, setDropdownElement)}\n onKeyDownCapture={handleKeydown}\n classNames={classNames}\n styles={styles}\n width={width}\n >\n {children}\n </PopoverBody>\n </Popper>\n\n <div className={classes.target} ref={setReferenceElement}>\n {target}\n </div>\n </Box>\n );\n}\n\nPopover.displayName = '@mantine/core/Popover';\n"],"names":["getDefaultZIndex","useMantineDefaultProps","styles","useStyles","useState","useFocusTrap","useClickOutside","useFocusReturn","useUuid","React","Box","Popper","PopoverBody","useMergedRef"],"mappings":"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"}
|
package/cjs/index.js
CHANGED
|
@@ -8,6 +8,7 @@ var filterChildrenByType = require('./utils/filter-children-by-type/filter-child
|
|
|
8
8
|
var findChildByType = require('./utils/find-child-by-type/find-child-by-type.js');
|
|
9
9
|
var filterFalsyChildren = require('./utils/filter-falsy-children/filter-falsy-children.js');
|
|
10
10
|
var groupOptions = require('./utils/group-options/group-options.js');
|
|
11
|
+
var getContextItemIndex = require('./utils/get-context-item-index/get-context-item-index.js');
|
|
11
12
|
var useAccordionState = require('./components/Accordion/use-accordion-state/use-accordion-state.js');
|
|
12
13
|
var Accordion = require('./components/Accordion/Accordion.js');
|
|
13
14
|
var AccordionItem = require('./components/Accordion/AccordionItem/AccordionItem.js');
|
|
@@ -140,6 +141,7 @@ exports.findChildByType = findChildByType.findChildByType;
|
|
|
140
141
|
exports.filterFalsyChildren = filterFalsyChildren.filterFalsyChildren;
|
|
141
142
|
exports.getGroupedOptions = groupOptions.getGroupedOptions;
|
|
142
143
|
exports.groupOptions = groupOptions.groupOptions;
|
|
144
|
+
exports.getContextItemIndex = getContextItemIndex.getContextItemIndex;
|
|
143
145
|
exports.createAccordionState = useAccordionState.createAccordionState;
|
|
144
146
|
exports.useAccordionState = useAccordionState.useAccordionState;
|
|
145
147
|
exports.Accordion = Accordion.Accordion;
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
function findAncestor(element, className) {
|
|
6
|
+
let _element = element;
|
|
7
|
+
while ((_element = _element.parentElement) && !_element.classList.contains(className))
|
|
8
|
+
;
|
|
9
|
+
return _element;
|
|
10
|
+
}
|
|
11
|
+
function getContextItemIndex(options, node) {
|
|
12
|
+
if (!node) {
|
|
13
|
+
return -1;
|
|
14
|
+
}
|
|
15
|
+
return Array.from(findAncestor(node, options.parentClassName).querySelectorAll(options.elementSelector)).findIndex((element) => element === node);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
exports.getContextItemIndex = getContextItemIndex;
|
|
19
|
+
//# sourceMappingURL=get-context-item-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-context-item-index.js","sources":["../../../src/utils/get-context-item-index/get-context-item-index.ts"],"sourcesContent":["/* eslint-disable no-cond-assign */\n\nfunction findAncestor(element: HTMLElement, className: string) {\n let _element = element;\n while ((_element = _element.parentElement) && !_element.classList.contains(className));\n return _element;\n}\n\nexport function getContextItemIndex(\n options: { elementSelector: string; parentClassName: string },\n node: HTMLElement\n) {\n if (!node) {\n return -1;\n }\n\n return Array.from(\n findAncestor(node, options.parentClassName).querySelectorAll(options.elementSelector)\n ).findIndex((element) => element === node);\n}\n"],"names":[],"mappings":";;;;AAAA,SAAS,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE;AAC1C,EAAE,IAAI,QAAQ,GAAG,OAAO,CAAC;AACzB,EAAE,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;AACvF,IAAI,CAAC;AACL,EAAE,OAAO,QAAQ,CAAC;AAClB,CAAC;AACM,SAAS,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE;AACnD,EAAE,IAAI,CAAC,IAAI,EAAE;AACb,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,KAAK,OAAO,KAAK,IAAI,CAAC,CAAC;AACpJ;;;;"}
|
|
@@ -11,8 +11,6 @@ import { CloseButton } from '../ActionIcon/CloseButton/CloseButton.js';
|
|
|
11
11
|
import { Overlay } from '../Overlay/Overlay.js';
|
|
12
12
|
|
|
13
13
|
var __defProp = Object.defineProperty;
|
|
14
|
-
var __defProps = Object.defineProperties;
|
|
15
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
16
14
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
17
15
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
18
16
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -28,7 +26,6 @@ var __spreadValues = (a, b) => {
|
|
|
28
26
|
}
|
|
29
27
|
return a;
|
|
30
28
|
};
|
|
31
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
32
29
|
var __objRest = (source, exclude) => {
|
|
33
30
|
var target = {};
|
|
34
31
|
for (var prop in source)
|
|
@@ -162,13 +159,12 @@ function Drawer(props) {
|
|
|
162
159
|
}, (transitionStyles) => /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
163
160
|
className: cx(classes.root, { [classes.noOverlay]: !withOverlay }, className),
|
|
164
161
|
role: "dialog",
|
|
165
|
-
"aria-modal": true
|
|
166
|
-
onMouseDown: () => closeOnClickOutside && onClose()
|
|
162
|
+
"aria-modal": true
|
|
167
163
|
}, others), /* @__PURE__ */ React.createElement(Paper, {
|
|
168
164
|
onMouseDown: (event) => event.stopPropagation(),
|
|
169
165
|
className: cx(classes.drawer, className),
|
|
170
166
|
ref: focusTrapRef,
|
|
171
|
-
style:
|
|
167
|
+
style: transitionStyles.drawer,
|
|
172
168
|
radius: 0,
|
|
173
169
|
tabIndex: -1,
|
|
174
170
|
onKeyDownCapture: (event) => {
|
|
@@ -190,9 +186,10 @@ function Drawer(props) {
|
|
|
190
186
|
})), children), withOverlay && /* @__PURE__ */ React.createElement("div", {
|
|
191
187
|
style: transitionStyles.overlay
|
|
192
188
|
}, /* @__PURE__ */ React.createElement(Overlay, {
|
|
189
|
+
onMouseDown: () => closeOnClickOutside && onClose(),
|
|
193
190
|
className: classes.overlay,
|
|
194
191
|
opacity: _overlayOpacity,
|
|
195
|
-
zIndex,
|
|
192
|
+
zIndex: 0,
|
|
196
193
|
color: overlayColor || (theme.colorScheme === "dark" ? theme.colors.dark[9] : theme.black)
|
|
197
194
|
})))));
|
|
198
195
|
}
|
|
@@ -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":[],"mappings":"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"}
|
|
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":[],"mappings":"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"}
|
|
@@ -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":[],"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":[],"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 /**
|
|
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":[],"mappings":"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"}
|
|
@@ -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":[],"mappings":";;AACY,MAAC,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,GAAG;AACjC,EAAE,OAAO,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACvC;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
2
|
import { useMantineDefaultProps } from '@mantine/styles';
|
|
3
3
|
import { ListItem } from './ListItem/ListItem.js';
|
|
4
|
+
import { ListContext } from './List.context.js';
|
|
4
5
|
import useStyles from './List.styles.js';
|
|
5
|
-
import { filterChildrenByType } from '../../utils/filter-children-by-type/filter-children-by-type.js';
|
|
6
6
|
import { Box } from '../Box/Box.js';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
@@ -65,21 +65,13 @@ const List = forwardRef((props, ref) => {
|
|
|
65
65
|
"classNames"
|
|
66
66
|
]);
|
|
67
67
|
const { classes, cx } = useStyles({ withPadding, size, listStyleType }, { classNames, styles, name: "List" });
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
classNames,
|
|
72
|
-
styles,
|
|
73
|
-
spacing,
|
|
74
|
-
center,
|
|
75
|
-
icon: ((_a2 = item.props) == null ? void 0 : _a2.icon) || icon
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
68
|
+
return /* @__PURE__ */ React.createElement(ListContext.Provider, {
|
|
69
|
+
value: { classNames, styles, spacing, center, icon }
|
|
70
|
+
}, /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
79
71
|
component: type === "unordered" ? "ul" : "ol",
|
|
80
72
|
className: cx(classes.root, className),
|
|
81
73
|
ref
|
|
82
|
-
}, others),
|
|
74
|
+
}, others), children));
|
|
83
75
|
});
|
|
84
76
|
List.Item = ListItem;
|
|
85
77
|
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 {
|
|
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":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { useListContext } from '../List.context.js';
|
|
2
3
|
import useStyles from './ListItem.styles.js';
|
|
3
4
|
import { Box } from '../../Box/Box.js';
|
|
4
5
|
|
|
@@ -31,32 +32,18 @@ var __objRest = (source, exclude) => {
|
|
|
31
32
|
return target;
|
|
32
33
|
};
|
|
33
34
|
function ListItem(_a) {
|
|
34
|
-
var _b = _a, {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
icon,
|
|
38
|
-
classNames,
|
|
39
|
-
styles,
|
|
40
|
-
spacing,
|
|
41
|
-
center
|
|
42
|
-
} = _b, others = __objRest(_b, [
|
|
43
|
-
"className",
|
|
44
|
-
"children",
|
|
45
|
-
"icon",
|
|
46
|
-
"classNames",
|
|
47
|
-
"styles",
|
|
48
|
-
"spacing",
|
|
49
|
-
"center"
|
|
50
|
-
]);
|
|
35
|
+
var _b = _a, { className, children, icon } = _b, others = __objRest(_b, ["className", "children", "icon"]);
|
|
36
|
+
const { classNames, styles, icon: ctxIcon, spacing, center } = useListContext();
|
|
37
|
+
const _icon = icon || ctxIcon;
|
|
51
38
|
const { classes, cx } = useStyles({ spacing, center }, { classNames, styles, name: "List" });
|
|
52
39
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
53
40
|
component: "li",
|
|
54
|
-
className: cx(classes.item, { [classes.withIcon]:
|
|
41
|
+
className: cx(classes.item, { [classes.withIcon]: _icon }, className)
|
|
55
42
|
}, others), /* @__PURE__ */ React.createElement("div", {
|
|
56
43
|
className: classes.itemWrapper
|
|
57
|
-
},
|
|
44
|
+
}, _icon && /* @__PURE__ */ React.createElement("span", {
|
|
58
45
|
className: classes.itemIcon
|
|
59
|
-
},
|
|
46
|
+
}, _icon), /* @__PURE__ */ React.createElement("span", null, children)));
|
|
60
47
|
}
|
|
61
48
|
ListItem.displayName = "@mantine/core/ListItem";
|
|
62
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItem.js","sources":["../../../../src/components/List/ListItem/ListItem.tsx"],"sourcesContent":["import React from 'react';\nimport { DefaultProps,
|
|
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":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
const MenuContext = createContext(null);
|
|
4
|
+
function useMenuContext(component = "Item") {
|
|
5
|
+
const ctx = useContext(MenuContext);
|
|
6
|
+
if (!ctx) {
|
|
7
|
+
throw new Error(`Menu.${component} component was rendered outside of Menu context`);
|
|
8
|
+
}
|
|
9
|
+
return ctx;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { MenuContext, useMenuContext };
|
|
13
|
+
//# 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":[],"mappings":";;AACY,MAAC,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE;AACxC,SAAS,cAAc,CAAC,SAAS,GAAG,MAAM,EAAE;AACnD,EAAE,MAAM,GAAG,GAAG,UAAU,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;;;;"}
|