@mantine/core 6.0.21 → 6.0.22
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/InlineInput/InlineInput.js +11 -4
- package/cjs/InlineInput/InlineInput.js.map +1 -1
- package/cjs/Menu/Menu.js +1 -1
- package/cjs/Menu/Menu.js.map +1 -1
- package/cjs/Popover/use-popover.js +22 -14
- package/cjs/Popover/use-popover.js.map +1 -1
- package/cjs/Switch/Switch.js +6 -3
- package/cjs/Switch/Switch.js.map +1 -1
- package/esm/InlineInput/InlineInput.js +11 -4
- package/esm/InlineInput/InlineInput.js.map +1 -1
- package/esm/Menu/Menu.js +1 -1
- package/esm/Menu/Menu.js.map +1 -1
- package/esm/Popover/use-popover.js +23 -15
- package/esm/Popover/use-popover.js.map +1 -1
- package/esm/Switch/Switch.js +6 -3
- package/esm/Switch/Switch.js.map +1 -1
- package/lib/InlineInput/InlineInput.d.ts +2 -0
- package/lib/InlineInput/InlineInput.d.ts.map +1 -1
- package/lib/Popover/Popover.types.d.ts +1 -0
- package/lib/Popover/Popover.types.d.ts.map +1 -1
- package/lib/Popover/use-popover.d.ts +2 -1
- package/lib/Popover/use-popover.d.ts.map +1 -1
- package/lib/Switch/Switch.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -54,6 +54,8 @@ const InlineInput = React.forwardRef((_a, ref) => {
|
|
|
54
54
|
error,
|
|
55
55
|
size,
|
|
56
56
|
labelPosition,
|
|
57
|
+
bodyElement = "div",
|
|
58
|
+
labelElement = "label",
|
|
57
59
|
variant
|
|
58
60
|
} = _b, others = __objRest(_b, [
|
|
59
61
|
"__staticSelector",
|
|
@@ -69,20 +71,25 @@ const InlineInput = React.forwardRef((_a, ref) => {
|
|
|
69
71
|
"error",
|
|
70
72
|
"size",
|
|
71
73
|
"labelPosition",
|
|
74
|
+
"bodyElement",
|
|
75
|
+
"labelElement",
|
|
72
76
|
"variant"
|
|
73
77
|
]);
|
|
74
78
|
const { classes, cx } = InlineInput_styles['default']({ labelPosition }, { name: __staticSelector, styles, classNames, unstyled, variant, size });
|
|
75
79
|
return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadValues({
|
|
76
80
|
className: cx(classes.root, className),
|
|
77
81
|
ref
|
|
78
|
-
}, others), /* @__PURE__ */ React__default.createElement(
|
|
82
|
+
}, others), /* @__PURE__ */ React__default.createElement(Box.Box, {
|
|
83
|
+
component: bodyElement,
|
|
84
|
+
htmlFor: bodyElement === "label" ? id : void 0,
|
|
79
85
|
className: cx(classes.body)
|
|
80
86
|
}, children, /* @__PURE__ */ React__default.createElement("div", {
|
|
81
87
|
className: classes.labelWrapper
|
|
82
|
-
}, label != null && /* @__PURE__ */ React__default.createElement(
|
|
88
|
+
}, label != null && /* @__PURE__ */ React__default.createElement(Box.Box, {
|
|
89
|
+
component: labelElement,
|
|
90
|
+
htmlFor: labelElement === "label" ? id : void 0,
|
|
83
91
|
className: classes.label,
|
|
84
|
-
"data-disabled": disabled || void 0
|
|
85
|
-
htmlFor: id
|
|
92
|
+
"data-disabled": disabled || void 0
|
|
86
93
|
}, label), description && /* @__PURE__ */ React__default.createElement(Input.Input.Description, {
|
|
87
94
|
className: classes.description
|
|
88
95
|
}, description), error && error !== "boolean" && /* @__PURE__ */ React__default.createElement(Input.Input.Error, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../../src/InlineInput/InlineInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, Selectors } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Input } from '../Input';\nimport useStyles from './InlineInput.styles';\n\nexport type InlineInputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InlineInputProps\n extends DefaultProps<InlineInputStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector: string;\n label: React.ReactNode;\n description: React.ReactNode;\n id: string;\n disabled: boolean;\n error: React.ReactNode;\n size: MantineNumberSize;\n labelPosition: 'left' | 'right';\n}\n\nexport const InlineInput = forwardRef<HTMLDivElement, InlineInputProps>(\n (\n {\n __staticSelector,\n className,\n classNames,\n styles,\n unstyled,\n children,\n label,\n description,\n id,\n disabled,\n error,\n size,\n labelPosition,\n variant,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useStyles(\n { labelPosition },\n { name: __staticSelector, styles, classNames, unstyled, variant, size }\n );\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../../src/InlineInput/InlineInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, Selectors } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Input } from '../Input';\nimport useStyles from './InlineInput.styles';\n\nexport type InlineInputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InlineInputProps\n extends DefaultProps<InlineInputStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector: string;\n label: React.ReactNode;\n description: React.ReactNode;\n id: string;\n disabled: boolean;\n error: React.ReactNode;\n size: MantineNumberSize;\n labelPosition: 'left' | 'right';\n bodyElement?: any;\n labelElement?: any;\n}\n\nexport const InlineInput = forwardRef<HTMLDivElement, InlineInputProps>(\n (\n {\n __staticSelector,\n className,\n classNames,\n styles,\n unstyled,\n children,\n label,\n description,\n id,\n disabled,\n error,\n size,\n labelPosition,\n bodyElement = 'div',\n labelElement = 'label',\n variant,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useStyles(\n { labelPosition },\n { name: __staticSelector, styles, classNames, unstyled, variant, size }\n );\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <Box\n component={bodyElement}\n htmlFor={bodyElement === 'label' ? id : undefined}\n className={cx(classes.body)}\n >\n {children}\n\n <div className={classes.labelWrapper}>\n {label != null && (\n <Box\n component={labelElement}\n htmlFor={labelElement === 'label' ? id : undefined}\n className={classes.label}\n data-disabled={disabled || undefined}\n >\n {label}\n </Box>\n )}\n\n {description && (\n <Input.Description className={classes.description}>{description}</Input.Description>\n )}\n\n {error && error !== 'boolean' && (\n <Input.Error className={classes.error}>{error}</Input.Error>\n )}\n </div>\n </Box>\n </Box>\n );\n }\n);\n\nInlineInput.displayName = '@mantine/core/InlineInput';\n"],"names":["forwardRef","useStyles","React","Box","Input"],"mappings":";;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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,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;AAKU,MAAC,WAAW,GAAGA,gBAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACnD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,YAAY,GAAG,OAAO;AAC1B,IAAI,OAAO;AACX,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,kBAAkB;AACtB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAGC,6BAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAChI,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkBD,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE;AACvD,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,OAAO,EAAE,WAAW,KAAK,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;AAClD,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/B,GAAG,EAAE,QAAQ,kBAAkBD,cAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1D,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,EAAE,KAAK,IAAI,IAAI,oBAAoBA,cAAK,CAAC,aAAa,CAACC,OAAG,EAAE;AAC/D,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;AACnD,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,eAAe,EAAE,QAAQ,IAAI,KAAK,CAAC;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,oBAAoBD,cAAK,CAAC,aAAa,CAACE,WAAK,CAAC,WAAW,EAAE;AACnF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,IAAI,KAAK,KAAK,SAAS,oBAAoBF,cAAK,CAAC,aAAa,CAACE,WAAK,CAAC,KAAK,EAAE;AACpG,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,EAAE;AACH,WAAW,CAAC,WAAW,GAAG,2BAA2B;;;;"}
|
package/cjs/Menu/Menu.js
CHANGED
|
@@ -142,7 +142,7 @@ function Menu(props) {
|
|
|
142
142
|
opened: _opened,
|
|
143
143
|
onChange: toggleDropdown,
|
|
144
144
|
defaultOpened,
|
|
145
|
-
trapFocus: trigger === "click",
|
|
145
|
+
trapFocus: trigger === "click" && _opened,
|
|
146
146
|
closeOnEscape: closeOnEscape && trigger === "click",
|
|
147
147
|
__staticSelector: "Menu",
|
|
148
148
|
classNames: __spreadProps(__spreadValues({}, classNames), { dropdown: cx(classes.dropdown, classNames == null ? void 0 : classNames.dropdown) }),
|
package/cjs/Menu/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport { getContextItemIndex, useHovered } from '@mantine/utils';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport { ClassNames, Styles, useComponentDefaultProps } from '@mantine/styles';\nimport { useDelayedHover } from '../Floating';\nimport { Popover, PopoverBaseProps, PopoverStylesNames } from '../Popover';\nimport { MenuDivider, MenuDividerStylesNames } from './MenuDivider/MenuDivider';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesName } from './MenuLabel/MenuLabel';\nimport { MenuTarget } from './MenuTarget/MenuTarget';\nimport { MenuContextProvider } from './Menu.context';\nimport { MenuTriggerEvent } from './Menu.types';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | MenuItemStylesNames\n | MenuLabelStylesName\n | MenuDividerStylesNames\n | PopoverStylesNames;\n\nexport interface MenuProps extends PopoverBaseProps {\n variant?: string;\n\n /** Menu content */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** Called when menu opened state changes */\n onChange?(opened: boolean): void;\n\n /** Called when Menu is opened */\n onOpen?(): void;\n\n /** Called when Menu is closed */\n onClose?(): void;\n\n /** Determines whether Menu should be closed when item is clicked */\n closeOnItemClick?: boolean;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** Event which should open menu */\n trigger?: MenuTriggerEvent;\n\n /** Open delay in ms, applicable only to trigger=\"hover\" variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to trigger=\"hover\" variant */\n closeDelay?: number;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** id base to create accessibility connections */\n id?: string;\n\n unstyled?: boolean;\n classNames?: ClassNames<MenuStylesNames>;\n styles?: Styles<MenuStylesNames>;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n closeOnItemClick: true,\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n};\nexport function Menu(props: MenuProps) {\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n radius,\n variant,\n ...others\n } = useComponentDefaultProps('Menu', defaultProps, props);\n const { classes, cx } = useStyles();\n\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const close = () => {\n setOpened(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => (_opened ? close() : open());\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n\n return (\n <MenuContextProvider\n value={{\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n radius,\n classNames,\n styles,\n unstyled,\n variant,\n }}\n >\n <Popover\n {...others}\n radius={radius}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={trigger === 'click'}\n closeOnEscape={closeOnEscape && trigger === 'click'}\n __staticSelector=\"Menu\"\n classNames={{ ...classNames, dropdown: cx(classes.dropdown, classNames?.dropdown) }}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n}\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n"],"names":["useComponentDefaultProps","styles","useStyles","useHovered","useUncontrolled","useDelayedHover","getContextItemIndex","useDidUpdate","React","MenuContextProvider","Popover","MenuItem","MenuLabel","MenuDropdown","MenuTarget","MenuDivider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport { getContextItemIndex, useHovered } from '@mantine/utils';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport { ClassNames, Styles, useComponentDefaultProps } from '@mantine/styles';\nimport { useDelayedHover } from '../Floating';\nimport { Popover, PopoverBaseProps, PopoverStylesNames } from '../Popover';\nimport { MenuDivider, MenuDividerStylesNames } from './MenuDivider/MenuDivider';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesName } from './MenuLabel/MenuLabel';\nimport { MenuTarget } from './MenuTarget/MenuTarget';\nimport { MenuContextProvider } from './Menu.context';\nimport { MenuTriggerEvent } from './Menu.types';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | MenuItemStylesNames\n | MenuLabelStylesName\n | MenuDividerStylesNames\n | PopoverStylesNames;\n\nexport interface MenuProps extends PopoverBaseProps {\n variant?: string;\n\n /** Menu content */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** Called when menu opened state changes */\n onChange?(opened: boolean): void;\n\n /** Called when Menu is opened */\n onOpen?(): void;\n\n /** Called when Menu is closed */\n onClose?(): void;\n\n /** Determines whether Menu should be closed when item is clicked */\n closeOnItemClick?: boolean;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** Event which should open menu */\n trigger?: MenuTriggerEvent;\n\n /** Open delay in ms, applicable only to trigger=\"hover\" variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to trigger=\"hover\" variant */\n closeDelay?: number;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** id base to create accessibility connections */\n id?: string;\n\n unstyled?: boolean;\n classNames?: ClassNames<MenuStylesNames>;\n styles?: Styles<MenuStylesNames>;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n closeOnItemClick: true,\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n};\nexport function Menu(props: MenuProps) {\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n radius,\n variant,\n ...others\n } = useComponentDefaultProps('Menu', defaultProps, props);\n const { classes, cx } = useStyles();\n\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const close = () => {\n setOpened(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => (_opened ? close() : open());\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n\n return (\n <MenuContextProvider\n value={{\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n radius,\n classNames,\n styles,\n unstyled,\n variant,\n }}\n >\n <Popover\n {...others}\n radius={radius}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={trigger === 'click' && _opened}\n closeOnEscape={closeOnEscape && trigger === 'click'}\n __staticSelector=\"Menu\"\n classNames={{ ...classNames, dropdown: cx(classes.dropdown, classNames?.dropdown) }}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n}\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n"],"names":["useComponentDefaultProps","styles","useStyles","useHovered","useUncontrolled","useDelayedHover","getContextItemIndex","useDidUpdate","React","MenuContextProvider","Popover","MenuItem","MenuLabel","MenuDropdown","MenuTarget","MenuDivider"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ var hooks = require('@mantine/hooks');
|
|
|
6
6
|
var react = require('@floating-ui/react');
|
|
7
7
|
var useFloatingAutoUpdate = require('../Floating/use-floating-auto-update.js');
|
|
8
8
|
|
|
9
|
-
function getPopoverMiddlewares(options) {
|
|
9
|
+
function getPopoverMiddlewares(options, getFloating) {
|
|
10
10
|
const middlewares = [react.offset(options.offset)];
|
|
11
11
|
if (options.middlewares.shift) {
|
|
12
12
|
middlewares.push(react.shift({ limiter: react.limitShift() }));
|
|
@@ -18,6 +18,26 @@ function getPopoverMiddlewares(options) {
|
|
|
18
18
|
middlewares.push(react.inline());
|
|
19
19
|
}
|
|
20
20
|
middlewares.push(react.arrow({ element: options.arrowRef, padding: options.arrowOffset }));
|
|
21
|
+
if (options.middlewares.size || options.width === "target") {
|
|
22
|
+
middlewares.push(react.size({
|
|
23
|
+
apply({ rects, availableWidth, availableHeight }) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
const floating = getFloating();
|
|
26
|
+
const styles = (_b = (_a = floating.refs.floating.current) == null ? void 0 : _a.style) != null ? _b : {};
|
|
27
|
+
if (options.middlewares.size) {
|
|
28
|
+
Object.assign(styles, {
|
|
29
|
+
maxWidth: `${availableWidth}px`,
|
|
30
|
+
maxHeight: `${availableHeight}px`
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (options.width === "target") {
|
|
34
|
+
Object.assign(styles, {
|
|
35
|
+
width: `${rects.reference.width}px`
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
21
41
|
return middlewares;
|
|
22
42
|
}
|
|
23
43
|
function usePopover(options) {
|
|
@@ -44,19 +64,7 @@ function usePopover(options) {
|
|
|
44
64
|
};
|
|
45
65
|
const floating = react.useFloating({
|
|
46
66
|
placement: options.position,
|
|
47
|
-
middleware:
|
|
48
|
-
...getPopoverMiddlewares(options),
|
|
49
|
-
...options.width === "target" ? [
|
|
50
|
-
react.size({
|
|
51
|
-
apply({ rects }) {
|
|
52
|
-
var _a, _b;
|
|
53
|
-
Object.assign((_b = (_a = floating.refs.floating.current) == null ? void 0 : _a.style) != null ? _b : {}, {
|
|
54
|
-
width: `${rects.reference.width}px`
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
})
|
|
58
|
-
] : []
|
|
59
|
-
]
|
|
67
|
+
middleware: getPopoverMiddlewares(options, () => floating)
|
|
60
68
|
});
|
|
61
69
|
useFloatingAutoUpdate.useFloatingAutoUpdate({
|
|
62
70
|
opened: options.opened,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n arrowOffset: number;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware:
|
|
1
|
+
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n UseFloatingReturn,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n arrowOffset: number;\n}\n\nfunction getPopoverMiddlewares(\n options: UsePopoverOptions,\n getFloating: () => UseFloatingReturn<Element>\n) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n if (options.middlewares.size || options.width === 'target') {\n middlewares.push(\n size({\n apply({ rects, availableWidth, availableHeight }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n\n if (options.middlewares.size) {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`,\n });\n }\n\n if (options.width === 'target') {\n Object.assign(styles, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n })\n );\n }\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating: UseFloatingReturn<Element> = useFloating({\n placement: options.position,\n middleware: getPopoverMiddlewares(options, () => floating),\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n position: options.position,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n useDidUpdate(() => {\n if (!options.opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }, [options.opened]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":["offset","shift","limitShift","flip","inline","arrow","size","useUncontrolled","useFloating","useFloatingAutoUpdate","useDidUpdate"],"mappings":"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"}
|
package/cjs/Switch/Switch.js
CHANGED
|
@@ -131,6 +131,8 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
131
131
|
description,
|
|
132
132
|
error,
|
|
133
133
|
disabled,
|
|
134
|
+
bodyElement: "label",
|
|
135
|
+
labelElement: "span",
|
|
134
136
|
__staticSelector: "Switch",
|
|
135
137
|
classNames,
|
|
136
138
|
styles: styles$1,
|
|
@@ -147,10 +149,11 @@ const Switch = React.forwardRef((props, ref) => {
|
|
|
147
149
|
id: uuid,
|
|
148
150
|
ref,
|
|
149
151
|
type: "checkbox",
|
|
152
|
+
role: "switch",
|
|
150
153
|
className: classes.input
|
|
151
|
-
})), /* @__PURE__ */ React__default.createElement("
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
})), /* @__PURE__ */ React__default.createElement("div", {
|
|
155
|
+
className: classes.track,
|
|
156
|
+
"aria-hidden": true
|
|
154
157
|
}, /* @__PURE__ */ React__default.createElement("div", {
|
|
155
158
|
className: classes.thumb
|
|
156
159
|
}, thumbIcon), /* @__PURE__ */ React__default.createElement("div", {
|
package/cjs/Switch/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n variant?: string;\n\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n const _size = ctx?.size || size;\n\n const { classes, cx } = useStyles(\n { color, radius, labelPosition, error: !!error },\n { name: 'Switch', classNames, styles, unstyled, size: _size, variant }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n className={cx(className, classes.root)}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n __staticSelector=\"Switch\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={contextProps.checked || undefined}\n variant={variant}\n {...systemStyles}\n {...wrapperProps}\n >\n <input\n {...rest}\n disabled={disabled}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n className={classes.input}\n />\n\n <label htmlFor={uuid} className={classes.track}>\n <div className={classes.thumb}>{thumbIcon}</div>\n <div className={classes.trackLabel}>{_checked ? onLabel : offLabel}</div>\n </label>\n </InlineInput>\n );\n}) as any;\n\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n"],"names":["forwardRef","useComponentDefaultProps","styles","useSwitchGroupContext","useStyles","extractSystemStyles","useId","useUncontrolled","React","InlineInput","SwitchGroup"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n variant?: string;\n\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n const _size = ctx?.size || size;\n\n const { classes, cx } = useStyles(\n { color, radius, labelPosition, error: !!error },\n { name: 'Switch', classNames, styles, unstyled, size: _size, variant }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n className={cx(className, classes.root)}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n bodyElement=\"label\"\n labelElement=\"span\"\n __staticSelector=\"Switch\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={contextProps.checked || undefined}\n variant={variant}\n {...systemStyles}\n {...wrapperProps}\n >\n <input\n {...rest}\n disabled={disabled}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n className={classes.input}\n />\n\n <div className={classes.track} aria-hidden>\n <div className={classes.thumb}>{thumbIcon}</div>\n <div className={classes.trackLabel}>{_checked ? onLabel : offLabel}</div>\n </div>\n </InlineInput>\n );\n}) as any;\n\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n"],"names":["forwardRef","useComponentDefaultProps","styles","useSwitchGroupContext","useStyles","extractSystemStyles","useId","useUncontrolled","React","InlineInput","SwitchGroup"],"mappings":"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"}
|
|
@@ -46,6 +46,8 @@ const InlineInput = forwardRef((_a, ref) => {
|
|
|
46
46
|
error,
|
|
47
47
|
size,
|
|
48
48
|
labelPosition,
|
|
49
|
+
bodyElement = "div",
|
|
50
|
+
labelElement = "label",
|
|
49
51
|
variant
|
|
50
52
|
} = _b, others = __objRest(_b, [
|
|
51
53
|
"__staticSelector",
|
|
@@ -61,20 +63,25 @@ const InlineInput = forwardRef((_a, ref) => {
|
|
|
61
63
|
"error",
|
|
62
64
|
"size",
|
|
63
65
|
"labelPosition",
|
|
66
|
+
"bodyElement",
|
|
67
|
+
"labelElement",
|
|
64
68
|
"variant"
|
|
65
69
|
]);
|
|
66
70
|
const { classes, cx } = useStyles({ labelPosition }, { name: __staticSelector, styles, classNames, unstyled, variant, size });
|
|
67
71
|
return /* @__PURE__ */ React.createElement(Box, __spreadValues({
|
|
68
72
|
className: cx(classes.root, className),
|
|
69
73
|
ref
|
|
70
|
-
}, others), /* @__PURE__ */ React.createElement(
|
|
74
|
+
}, others), /* @__PURE__ */ React.createElement(Box, {
|
|
75
|
+
component: bodyElement,
|
|
76
|
+
htmlFor: bodyElement === "label" ? id : void 0,
|
|
71
77
|
className: cx(classes.body)
|
|
72
78
|
}, children, /* @__PURE__ */ React.createElement("div", {
|
|
73
79
|
className: classes.labelWrapper
|
|
74
|
-
}, label != null && /* @__PURE__ */ React.createElement(
|
|
80
|
+
}, label != null && /* @__PURE__ */ React.createElement(Box, {
|
|
81
|
+
component: labelElement,
|
|
82
|
+
htmlFor: labelElement === "label" ? id : void 0,
|
|
75
83
|
className: classes.label,
|
|
76
|
-
"data-disabled": disabled || void 0
|
|
77
|
-
htmlFor: id
|
|
84
|
+
"data-disabled": disabled || void 0
|
|
78
85
|
}, label), description && /* @__PURE__ */ React.createElement(Input.Description, {
|
|
79
86
|
className: classes.description
|
|
80
87
|
}, description), error && error !== "boolean" && /* @__PURE__ */ React.createElement(Input.Error, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.js","sources":["../../src/InlineInput/InlineInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, Selectors } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Input } from '../Input';\nimport useStyles from './InlineInput.styles';\n\nexport type InlineInputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InlineInputProps\n extends DefaultProps<InlineInputStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector: string;\n label: React.ReactNode;\n description: React.ReactNode;\n id: string;\n disabled: boolean;\n error: React.ReactNode;\n size: MantineNumberSize;\n labelPosition: 'left' | 'right';\n}\n\nexport const InlineInput = forwardRef<HTMLDivElement, InlineInputProps>(\n (\n {\n __staticSelector,\n className,\n classNames,\n styles,\n unstyled,\n children,\n label,\n description,\n id,\n disabled,\n error,\n size,\n labelPosition,\n variant,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useStyles(\n { labelPosition },\n { name: __staticSelector, styles, classNames, unstyled, variant, size }\n );\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <
|
|
1
|
+
{"version":3,"file":"InlineInput.js","sources":["../../src/InlineInput/InlineInput.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, MantineNumberSize, Selectors } from '@mantine/styles';\nimport { Box } from '../Box';\nimport { Input } from '../Input';\nimport useStyles from './InlineInput.styles';\n\nexport type InlineInputStylesNames = Selectors<typeof useStyles>;\n\nexport interface InlineInputProps\n extends DefaultProps<InlineInputStylesNames>,\n React.ComponentPropsWithoutRef<'div'> {\n variant?: string;\n __staticSelector: string;\n label: React.ReactNode;\n description: React.ReactNode;\n id: string;\n disabled: boolean;\n error: React.ReactNode;\n size: MantineNumberSize;\n labelPosition: 'left' | 'right';\n bodyElement?: any;\n labelElement?: any;\n}\n\nexport const InlineInput = forwardRef<HTMLDivElement, InlineInputProps>(\n (\n {\n __staticSelector,\n className,\n classNames,\n styles,\n unstyled,\n children,\n label,\n description,\n id,\n disabled,\n error,\n size,\n labelPosition,\n bodyElement = 'div',\n labelElement = 'label',\n variant,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useStyles(\n { labelPosition },\n { name: __staticSelector, styles, classNames, unstyled, variant, size }\n );\n\n return (\n <Box className={cx(classes.root, className)} ref={ref} {...others}>\n <Box\n component={bodyElement}\n htmlFor={bodyElement === 'label' ? id : undefined}\n className={cx(classes.body)}\n >\n {children}\n\n <div className={classes.labelWrapper}>\n {label != null && (\n <Box\n component={labelElement}\n htmlFor={labelElement === 'label' ? id : undefined}\n className={classes.label}\n data-disabled={disabled || undefined}\n >\n {label}\n </Box>\n )}\n\n {description && (\n <Input.Description className={classes.description}>{description}</Input.Description>\n )}\n\n {error && error !== 'boolean' && (\n <Input.Error className={classes.error}>{error}</Input.Error>\n )}\n </div>\n </Box>\n </Box>\n );\n }\n);\n\nInlineInput.displayName = '@mantine/core/InlineInput';\n"],"names":[],"mappings":";;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,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,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;AAKU,MAAC,WAAW,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK;AACnD,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;AACf,IAAI,gBAAgB;AACpB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,WAAW;AACf,IAAI,EAAE;AACN,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,YAAY,GAAG,OAAO;AAC1B,IAAI,OAAO;AACX,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,kBAAkB;AACtB,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,aAAa;AACjB,IAAI,IAAI;AACR,IAAI,UAAU;AACd,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,aAAa;AACjB,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAChI,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC;AACjE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;AAC1C,IAAI,GAAG;AACP,GAAG,EAAE,MAAM,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AACvD,IAAI,SAAS,EAAE,WAAW;AAC1B,IAAI,OAAO,EAAE,WAAW,KAAK,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;AAClD,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/B,GAAG,EAAE,QAAQ,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1D,IAAI,SAAS,EAAE,OAAO,CAAC,YAAY;AACnC,GAAG,EAAE,KAAK,IAAI,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC/D,IAAI,SAAS,EAAE,YAAY;AAC3B,IAAI,OAAO,EAAE,YAAY,KAAK,OAAO,GAAG,EAAE,GAAG,KAAK,CAAC;AACnD,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,IAAI,eAAe,EAAE,QAAQ,IAAI,KAAK,CAAC;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,WAAW,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE;AACnF,IAAI,SAAS,EAAE,OAAO,CAAC,WAAW;AAClC,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,IAAI,KAAK,KAAK,SAAS,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE;AACpG,IAAI,SAAS,EAAE,OAAO,CAAC,KAAK;AAC5B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACf,CAAC,EAAE;AACH,WAAW,CAAC,WAAW,GAAG,2BAA2B;;;;"}
|
package/esm/Menu/Menu.js
CHANGED
|
@@ -134,7 +134,7 @@ function Menu(props) {
|
|
|
134
134
|
opened: _opened,
|
|
135
135
|
onChange: toggleDropdown,
|
|
136
136
|
defaultOpened,
|
|
137
|
-
trapFocus: trigger === "click",
|
|
137
|
+
trapFocus: trigger === "click" && _opened,
|
|
138
138
|
closeOnEscape: closeOnEscape && trigger === "click",
|
|
139
139
|
__staticSelector: "Menu",
|
|
140
140
|
classNames: __spreadProps(__spreadValues({}, classNames), { dropdown: cx(classes.dropdown, classNames == null ? void 0 : classNames.dropdown) }),
|
package/esm/Menu/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport { getContextItemIndex, useHovered } from '@mantine/utils';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport { ClassNames, Styles, useComponentDefaultProps } from '@mantine/styles';\nimport { useDelayedHover } from '../Floating';\nimport { Popover, PopoverBaseProps, PopoverStylesNames } from '../Popover';\nimport { MenuDivider, MenuDividerStylesNames } from './MenuDivider/MenuDivider';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesName } from './MenuLabel/MenuLabel';\nimport { MenuTarget } from './MenuTarget/MenuTarget';\nimport { MenuContextProvider } from './Menu.context';\nimport { MenuTriggerEvent } from './Menu.types';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | MenuItemStylesNames\n | MenuLabelStylesName\n | MenuDividerStylesNames\n | PopoverStylesNames;\n\nexport interface MenuProps extends PopoverBaseProps {\n variant?: string;\n\n /** Menu content */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** Called when menu opened state changes */\n onChange?(opened: boolean): void;\n\n /** Called when Menu is opened */\n onOpen?(): void;\n\n /** Called when Menu is closed */\n onClose?(): void;\n\n /** Determines whether Menu should be closed when item is clicked */\n closeOnItemClick?: boolean;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** Event which should open menu */\n trigger?: MenuTriggerEvent;\n\n /** Open delay in ms, applicable only to trigger=\"hover\" variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to trigger=\"hover\" variant */\n closeDelay?: number;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** id base to create accessibility connections */\n id?: string;\n\n unstyled?: boolean;\n classNames?: ClassNames<MenuStylesNames>;\n styles?: Styles<MenuStylesNames>;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n closeOnItemClick: true,\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n};\nexport function Menu(props: MenuProps) {\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n radius,\n variant,\n ...others\n } = useComponentDefaultProps('Menu', defaultProps, props);\n const { classes, cx } = useStyles();\n\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const close = () => {\n setOpened(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => (_opened ? close() : open());\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n\n return (\n <MenuContextProvider\n value={{\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n radius,\n classNames,\n styles,\n unstyled,\n variant,\n }}\n >\n <Popover\n {...others}\n radius={radius}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={trigger === 'click'}\n closeOnEscape={closeOnEscape && trigger === 'click'}\n __staticSelector=\"Menu\"\n classNames={{ ...classNames, dropdown: cx(classes.dropdown, classNames?.dropdown) }}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n}\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n"],"names":[],"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;AAcF,MAAM,YAAY,GAAG;AACrB,EAAE,gBAAgB,EAAE,IAAI;AACxB,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,SAAS,EAAE,CAAC;AACd,EAAE,UAAU,EAAE,GAAG;AACjB,CAAC,CAAC;AACK,SAAS,IAAI,CAAC,KAAK,EAAE;AAC5B,EAAE,MAAM,EAAE,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;AACpE,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,aAAa;AACjB,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,IAAI;AACR,IAAI,aAAa;AACjB,IAAI,OAAO;AACX,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,UAAU;AACd,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,GAAG,GAAG,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,EAAE,EAAE;AACjC,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,eAAe;AACnB,IAAI,UAAU;AACd,IAAI,kBAAkB;AACtB,IAAI,MAAM;AACV,IAAI,eAAe;AACnB,IAAI,SAAS;AACb,IAAI,WAAW;AACf,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAC;AACtC,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;AAC/D,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAC/C,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,YAAY,EAAE,aAAa;AAC/B,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACrB,IAAI,OAAO,KAAK,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;AACtD,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,MAAM;AACrB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;AACpB,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;AACrD,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM,OAAO,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,CAAC;AAC1D,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;AAClG,EAAE,MAAM,YAAY,GAAG,CAAC,IAAI,KAAK,mBAAmB,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;AACvG,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,YAAY,EAAE,CAAC;AACnB,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;AAChB,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE;AAClE,IAAI,KAAK,EAAE;AACX,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,OAAO;AACb,MAAM,UAAU;AAChB,MAAM,gBAAgB;AACtB,MAAM,aAAa,EAAE,OAAO,KAAK,OAAO,GAAG,KAAK,GAAG,aAAa;AAChE,MAAM,YAAY,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAAG,YAAY;AAC7D,MAAM,wBAAwB,EAAE,KAAK;AACrC,MAAM,IAAI;AACV,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,KAAK;AACL,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;AAC5F,IAAI,MAAM;AACV,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,QAAQ,EAAE,cAAc;AAC5B,IAAI,aAAa;AACjB,IAAI,SAAS,EAAE,OAAO,KAAK,OAAO;
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":["../../src/Menu/Menu.tsx"],"sourcesContent":["import React from 'react';\nimport { getContextItemIndex, useHovered } from '@mantine/utils';\nimport { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport { ClassNames, Styles, useComponentDefaultProps } from '@mantine/styles';\nimport { useDelayedHover } from '../Floating';\nimport { Popover, PopoverBaseProps, PopoverStylesNames } from '../Popover';\nimport { MenuDivider, MenuDividerStylesNames } from './MenuDivider/MenuDivider';\nimport { MenuDropdown } from './MenuDropdown/MenuDropdown';\nimport { MenuItem, MenuItemStylesNames } from './MenuItem/MenuItem';\nimport { MenuLabel, MenuLabelStylesName } from './MenuLabel/MenuLabel';\nimport { MenuTarget } from './MenuTarget/MenuTarget';\nimport { MenuContextProvider } from './Menu.context';\nimport { MenuTriggerEvent } from './Menu.types';\nimport useStyles from './Menu.styles';\n\nexport type MenuStylesNames =\n | MenuItemStylesNames\n | MenuLabelStylesName\n | MenuDividerStylesNames\n | PopoverStylesNames;\n\nexport interface MenuProps extends PopoverBaseProps {\n variant?: string;\n\n /** Menu content */\n children?: React.ReactNode;\n\n /** Controlled menu opened state */\n opened?: boolean;\n\n /** Uncontrolled menu initial opened state */\n defaultOpened?: boolean;\n\n /** Called when menu opened state changes */\n onChange?(opened: boolean): void;\n\n /** Called when Menu is opened */\n onOpen?(): void;\n\n /** Called when Menu is closed */\n onClose?(): void;\n\n /** Determines whether Menu should be closed when item is clicked */\n closeOnItemClick?: boolean;\n\n /** Determines whether arrow key presses should loop though items (first to last and last to first) */\n loop?: boolean;\n\n /** Determines whether dropdown should be closed when Escape key is pressed, defaults to true */\n closeOnEscape?: boolean;\n\n /** Event which should open menu */\n trigger?: MenuTriggerEvent;\n\n /** Open delay in ms, applicable only to trigger=\"hover\" variant */\n openDelay?: number;\n\n /** Close delay in ms, applicable only to trigger=\"hover\" variant */\n closeDelay?: number;\n\n /** Determines whether dropdown should be closed on outside clicks, default to true */\n closeOnClickOutside?: boolean;\n\n /** Events that trigger outside clicks */\n clickOutsideEvents?: string[];\n\n /** id base to create accessibility connections */\n id?: string;\n\n unstyled?: boolean;\n classNames?: ClassNames<MenuStylesNames>;\n styles?: Styles<MenuStylesNames>;\n}\n\nconst defaultProps: Partial<MenuProps> = {\n closeOnItemClick: true,\n loop: true,\n trigger: 'click',\n openDelay: 0,\n closeDelay: 100,\n};\nexport function Menu(props: MenuProps) {\n const {\n children,\n onOpen,\n onClose,\n opened,\n defaultOpened,\n onChange,\n closeOnItemClick,\n loop,\n closeOnEscape,\n trigger,\n openDelay,\n closeDelay,\n classNames,\n styles,\n unstyled,\n radius,\n variant,\n ...others\n } = useComponentDefaultProps('Menu', defaultProps, props);\n const { classes, cx } = useStyles();\n\n const [hovered, { setHovered, resetHovered }] = useHovered();\n const [_opened, setOpened] = useUncontrolled({\n value: opened,\n defaultValue: defaultOpened,\n finalValue: false,\n onChange,\n });\n\n const close = () => {\n setOpened(false);\n _opened && onClose?.();\n };\n\n const open = () => {\n setOpened(true);\n !_opened && onOpen?.();\n };\n\n const toggleDropdown = () => (_opened ? close() : open());\n\n const { openDropdown, closeDropdown } = useDelayedHover({ open, close, closeDelay, openDelay });\n\n const getItemIndex = (node: HTMLButtonElement) =>\n getContextItemIndex('[data-menu-item]', '[data-menu-dropdown]', node);\n\n useDidUpdate(() => {\n resetHovered();\n }, [_opened]);\n\n return (\n <MenuContextProvider\n value={{\n opened: _opened,\n toggleDropdown,\n getItemIndex,\n hovered,\n setHovered,\n closeOnItemClick,\n closeDropdown: trigger === 'click' ? close : closeDropdown,\n openDropdown: trigger === 'click' ? open : openDropdown,\n closeDropdownImmediately: close,\n loop,\n trigger,\n radius,\n classNames,\n styles,\n unstyled,\n variant,\n }}\n >\n <Popover\n {...others}\n radius={radius}\n opened={_opened}\n onChange={toggleDropdown}\n defaultOpened={defaultOpened}\n trapFocus={trigger === 'click' && _opened}\n closeOnEscape={closeOnEscape && trigger === 'click'}\n __staticSelector=\"Menu\"\n classNames={{ ...classNames, dropdown: cx(classes.dropdown, classNames?.dropdown) }}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n >\n {children}\n </Popover>\n </MenuContextProvider>\n );\n}\n\nMenu.displayName = '@mantine/core/Menu';\nMenu.Item = MenuItem;\nMenu.Label = MenuLabel;\nMenu.Dropdown = MenuDropdown;\nMenu.Target = MenuTarget;\nMenu.Divider = MenuDivider;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useUncontrolled, useDidUpdate } from '@mantine/hooks';
|
|
2
|
-
import { useFloating,
|
|
2
|
+
import { useFloating, offset, shift, limitShift, flip, inline, arrow, size } from '@floating-ui/react';
|
|
3
3
|
import { useFloatingAutoUpdate } from '../Floating/use-floating-auto-update.js';
|
|
4
4
|
|
|
5
|
-
function getPopoverMiddlewares(options) {
|
|
5
|
+
function getPopoverMiddlewares(options, getFloating) {
|
|
6
6
|
const middlewares = [offset(options.offset)];
|
|
7
7
|
if (options.middlewares.shift) {
|
|
8
8
|
middlewares.push(shift({ limiter: limitShift() }));
|
|
@@ -14,6 +14,26 @@ function getPopoverMiddlewares(options) {
|
|
|
14
14
|
middlewares.push(inline());
|
|
15
15
|
}
|
|
16
16
|
middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));
|
|
17
|
+
if (options.middlewares.size || options.width === "target") {
|
|
18
|
+
middlewares.push(size({
|
|
19
|
+
apply({ rects, availableWidth, availableHeight }) {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
const floating = getFloating();
|
|
22
|
+
const styles = (_b = (_a = floating.refs.floating.current) == null ? void 0 : _a.style) != null ? _b : {};
|
|
23
|
+
if (options.middlewares.size) {
|
|
24
|
+
Object.assign(styles, {
|
|
25
|
+
maxWidth: `${availableWidth}px`,
|
|
26
|
+
maxHeight: `${availableHeight}px`
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (options.width === "target") {
|
|
30
|
+
Object.assign(styles, {
|
|
31
|
+
width: `${rects.reference.width}px`
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
17
37
|
return middlewares;
|
|
18
38
|
}
|
|
19
39
|
function usePopover(options) {
|
|
@@ -40,19 +60,7 @@ function usePopover(options) {
|
|
|
40
60
|
};
|
|
41
61
|
const floating = useFloating({
|
|
42
62
|
placement: options.position,
|
|
43
|
-
middleware:
|
|
44
|
-
...getPopoverMiddlewares(options),
|
|
45
|
-
...options.width === "target" ? [
|
|
46
|
-
size({
|
|
47
|
-
apply({ rects }) {
|
|
48
|
-
var _a, _b;
|
|
49
|
-
Object.assign((_b = (_a = floating.refs.floating.current) == null ? void 0 : _a.style) != null ? _b : {}, {
|
|
50
|
-
width: `${rects.reference.width}px`
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
})
|
|
54
|
-
] : []
|
|
55
|
-
]
|
|
63
|
+
middleware: getPopoverMiddlewares(options, () => floating)
|
|
56
64
|
});
|
|
57
65
|
useFloatingAutoUpdate({
|
|
58
66
|
opened: options.opened,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n arrowOffset: number;\n}\n\nfunction getPopoverMiddlewares(options: UsePopoverOptions) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating = useFloating({\n placement: options.position,\n middleware:
|
|
1
|
+
{"version":3,"file":"use-popover.js","sources":["../../src/Popover/use-popover.ts"],"sourcesContent":["import { useDidUpdate, useUncontrolled } from '@mantine/hooks';\nimport {\n useFloating,\n shift,\n flip,\n arrow,\n offset,\n size,\n Middleware,\n inline,\n limitShift,\n UseFloatingReturn,\n} from '@floating-ui/react';\nimport { FloatingAxesOffsets, FloatingPosition, useFloatingAutoUpdate } from '../Floating';\nimport { PopoverWidth, PopoverMiddlewares } from './Popover.types';\n\ninterface UsePopoverOptions {\n offset: number | FloatingAxesOffsets;\n position: FloatingPosition;\n positionDependencies: any[];\n onPositionChange?(position: FloatingPosition): void;\n opened: boolean;\n defaultOpened: boolean;\n onChange(opened: boolean): void;\n onClose?(): void;\n onOpen?(): void;\n width: PopoverWidth;\n middlewares: PopoverMiddlewares;\n arrowRef: React.RefObject<HTMLDivElement>;\n arrowOffset: number;\n}\n\nfunction getPopoverMiddlewares(\n options: UsePopoverOptions,\n getFloating: () => UseFloatingReturn<Element>\n) {\n const middlewares: Middleware[] = [offset(options.offset)];\n\n if (options.middlewares.shift) {\n middlewares.push(shift({ limiter: limitShift() }));\n }\n\n if (options.middlewares.flip) {\n middlewares.push(flip());\n }\n\n if (options.middlewares.inline) {\n middlewares.push(inline());\n }\n\n middlewares.push(arrow({ element: options.arrowRef, padding: options.arrowOffset }));\n\n if (options.middlewares.size || options.width === 'target') {\n middlewares.push(\n size({\n apply({ rects, availableWidth, availableHeight }) {\n const floating = getFloating();\n const styles = floating.refs.floating.current?.style ?? {};\n\n if (options.middlewares.size) {\n Object.assign(styles, {\n maxWidth: `${availableWidth}px`,\n maxHeight: `${availableHeight}px`,\n });\n }\n\n if (options.width === 'target') {\n Object.assign(styles, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n })\n );\n }\n\n return middlewares;\n}\n\nexport function usePopover(options: UsePopoverOptions) {\n const [_opened, setOpened] = useUncontrolled({\n value: options.opened,\n defaultValue: options.defaultOpened,\n finalValue: false,\n onChange: options.onChange,\n });\n\n const onClose = () => {\n options.onClose?.();\n setOpened(false);\n };\n\n const onToggle = () => {\n if (_opened) {\n options.onClose?.();\n setOpened(false);\n } else {\n options.onOpen?.();\n setOpened(true);\n }\n };\n\n const floating: UseFloatingReturn<Element> = useFloating({\n placement: options.position,\n middleware: getPopoverMiddlewares(options, () => floating),\n });\n\n useFloatingAutoUpdate({\n opened: options.opened,\n position: options.position,\n positionDependencies: options.positionDependencies,\n floating,\n });\n\n useDidUpdate(() => {\n options.onPositionChange?.(floating.placement);\n }, [floating.placement]);\n\n useDidUpdate(() => {\n if (!options.opened) {\n options.onClose?.();\n } else {\n options.onOpen?.();\n }\n }, [options.opened]);\n\n return {\n floating,\n controlled: typeof options.opened === 'boolean',\n opened: _opened,\n onClose,\n onToggle,\n };\n}\n"],"names":[],"mappings":";;;;AAYA,SAAS,qBAAqB,CAAC,OAAO,EAAE,WAAW,EAAE;AACrD,EAAE,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/C,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE;AACjC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,GAAG;AACH,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;AAChC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7B,GAAG;AACH,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE;AAClC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACvF,EAAE,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC9D,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1B,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE;AACxD,QAAQ,IAAI,EAAE,EAAE,EAAE,CAAC;AACnB,QAAQ,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;AACvC,QAAQ,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAClH,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE;AACtC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AAChC,YAAY,QAAQ,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;AAC3C,YAAY,SAAS,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC;AAC7C,WAAW,CAAC,CAAC;AACb,SAAS;AACT,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;AACxC,UAAU,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AAChC,YAAY,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AAC/C,WAAW,CAAC,CAAC;AACb,SAAS;AACT,OAAO;AACP,KAAK,CAAC,CAAC,CAAC;AACR,GAAG;AACH,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACM,SAAS,UAAU,CAAC,OAAO,EAAE;AACpC,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,eAAe,CAAC;AAC/C,IAAI,KAAK,EAAE,OAAO,CAAC,MAAM;AACzB,IAAI,YAAY,EAAE,OAAO,CAAC,aAAa;AACvC,IAAI,UAAU,EAAE,KAAK;AACrB,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,OAAO,GAAG,MAAM;AACxB,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/D,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,MAAM;AACzB,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,IAAI,OAAO,EAAE;AACjB,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjE,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;AACvB,KAAK,MAAM;AACX,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;AACtB,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC/B,IAAI,SAAS,EAAE,OAAO,CAAC,QAAQ;AAC/B,IAAI,UAAU,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC9D,GAAG,CAAC,CAAC;AACL,EAAE,qBAAqB,CAAC;AACxB,IAAI,MAAM,EAAE,OAAO,CAAC,MAAM;AAC1B,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC9B,IAAI,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;AACtD,IAAI,QAAQ;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,gBAAgB,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC5F,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3B,EAAE,YAAY,CAAC,MAAM;AACrB,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACzB,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,MAAM;AACX,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,KAAK;AACL,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACvB,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,UAAU,EAAE,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS;AACnD,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
|
package/esm/Switch/Switch.js
CHANGED
|
@@ -123,6 +123,8 @@ const Switch = forwardRef((props, ref) => {
|
|
|
123
123
|
description,
|
|
124
124
|
error,
|
|
125
125
|
disabled,
|
|
126
|
+
bodyElement: "label",
|
|
127
|
+
labelElement: "span",
|
|
126
128
|
__staticSelector: "Switch",
|
|
127
129
|
classNames,
|
|
128
130
|
styles,
|
|
@@ -139,10 +141,11 @@ const Switch = forwardRef((props, ref) => {
|
|
|
139
141
|
id: uuid,
|
|
140
142
|
ref,
|
|
141
143
|
type: "checkbox",
|
|
144
|
+
role: "switch",
|
|
142
145
|
className: classes.input
|
|
143
|
-
})), /* @__PURE__ */ React.createElement("
|
|
144
|
-
|
|
145
|
-
|
|
146
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
147
|
+
className: classes.track,
|
|
148
|
+
"aria-hidden": true
|
|
146
149
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
147
150
|
className: classes.thumb
|
|
148
151
|
}, thumbIcon), /* @__PURE__ */ React.createElement("div", {
|
package/esm/Switch/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n variant?: string;\n\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n const _size = ctx?.size || size;\n\n const { classes, cx } = useStyles(\n { color, radius, labelPosition, error: !!error },\n { name: 'Switch', classNames, styles, unstyled, size: _size, variant }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n className={cx(className, classes.root)}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n __staticSelector=\"Switch\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={contextProps.checked || undefined}\n variant={variant}\n {...systemStyles}\n {...wrapperProps}\n >\n <input\n {...rest}\n disabled={disabled}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n className={classes.input}\n />\n\n <
|
|
1
|
+
{"version":3,"file":"Switch.js","sources":["../../src/Switch/Switch.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useId, useUncontrolled } from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n} from '@mantine/styles';\nimport { ForwardRefWithStaticComponents } from '@mantine/utils';\nimport { extractSystemStyles } from '../Box';\nimport { SwitchGroup } from './SwitchGroup/SwitchGroup';\nimport { useSwitchGroupContext } from './SwitchGroup.context';\nimport { InlineInput, InlineInputStylesNames } from '../InlineInput';\nimport useStyles, { SwitchStylesParams } from './Switch.styles';\n\nexport type SwitchStylesNames = Selectors<typeof useStyles> | InlineInputStylesNames;\n\nexport interface SwitchProps\n extends DefaultProps<SwitchStylesNames, SwitchStylesParams>,\n Omit<React.ComponentPropsWithRef<'input'>, 'type' | 'size'> {\n variant?: string;\n\n /** Id is used to bind input and label, if not passed unique id will be generated for each input */\n id?: string;\n\n /** Switch label */\n label?: React.ReactNode;\n\n /** Inner label when Switch is in unchecked state */\n offLabel?: React.ReactNode;\n\n /** Inner label when Switch is in checked state */\n onLabel?: React.ReactNode;\n\n /** Switch checked state color from theme.colors, defaults to theme.primaryColor */\n color?: MantineColor;\n\n /** Predefined size value */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, \"xl\" by default */\n radius?: MantineNumberSize;\n\n /** Props spread to wrapper element */\n wrapperProps?: Record<string, any>;\n\n /** Icon inside the thumb of switch */\n thumbIcon?: React.ReactNode;\n\n /** Position of label */\n labelPosition?: 'left' | 'right';\n\n /** description, displayed after label */\n description?: React.ReactNode;\n\n /** Displays error message after input */\n error?: React.ReactNode;\n}\n\nconst defaultProps: Partial<SwitchProps> = {\n offLabel: '',\n onLabel: '',\n size: 'sm',\n radius: 'xl',\n error: false,\n};\n\ntype SwitchComponent = ForwardRefWithStaticComponents<SwitchProps, { Group: typeof SwitchGroup }>;\n\nexport const Switch: SwitchComponent = forwardRef<HTMLInputElement, SwitchProps>((props, ref) => {\n const {\n className,\n color,\n label,\n offLabel,\n onLabel,\n id,\n style,\n size,\n radius,\n wrapperProps,\n children,\n unstyled,\n styles,\n classNames,\n thumbIcon,\n sx,\n checked,\n defaultChecked,\n onChange,\n labelPosition,\n description,\n error,\n disabled,\n variant,\n ...others\n } = useComponentDefaultProps('Switch', defaultProps, props);\n\n const ctx = useSwitchGroupContext();\n const _size = ctx?.size || size;\n\n const { classes, cx } = useStyles(\n { color, radius, labelPosition, error: !!error },\n { name: 'Switch', classNames, styles, unstyled, size: _size, variant }\n );\n\n const { systemStyles, rest } = extractSystemStyles(others);\n const uuid = useId(id);\n\n const contextProps = ctx\n ? {\n checked: ctx.value.includes(rest.value as string),\n onChange: ctx.onChange,\n }\n : {};\n\n const [_checked, handleChange] = useUncontrolled({\n value: contextProps.checked ?? checked,\n defaultValue: defaultChecked,\n finalValue: false,\n });\n\n return (\n <InlineInput\n className={cx(className, classes.root)}\n sx={sx}\n style={style}\n id={uuid}\n size={ctx?.size || size}\n labelPosition={labelPosition}\n label={label}\n description={description}\n error={error}\n disabled={disabled}\n bodyElement=\"label\"\n labelElement=\"span\"\n __staticSelector=\"Switch\"\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n data-checked={contextProps.checked || undefined}\n variant={variant}\n {...systemStyles}\n {...wrapperProps}\n >\n <input\n {...rest}\n disabled={disabled}\n checked={_checked}\n onChange={(event) => {\n ctx ? contextProps.onChange(event) : onChange?.(event);\n handleChange(event.currentTarget.checked);\n }}\n id={uuid}\n ref={ref}\n type=\"checkbox\"\n role=\"switch\"\n className={classes.input}\n />\n\n <div className={classes.track} aria-hidden>\n <div className={classes.thumb}>{thumbIcon}</div>\n <div className={classes.trackLabel}>{_checked ? onLabel : offLabel}</div>\n </div>\n </InlineInput>\n );\n}) as any;\n\nSwitch.displayName = '@mantine/core/Switch';\nSwitch.Group = SwitchGroup;\n"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export interface InlineInputProps extends DefaultProps<InlineInputStylesNames>,
|
|
|
12
12
|
error: React.ReactNode;
|
|
13
13
|
size: MantineNumberSize;
|
|
14
14
|
labelPosition: 'left' | 'right';
|
|
15
|
+
bodyElement?: any;
|
|
16
|
+
labelElement?: any;
|
|
15
17
|
}
|
|
16
18
|
export declare const InlineInput: React.ForwardRefExoticComponent<InlineInputProps & React.RefAttributes<HTMLDivElement>>;
|
|
17
19
|
//# sourceMappingURL=InlineInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineInput.d.ts","sourceRoot":"","sources":["../../src/InlineInput/InlineInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG7E,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,gBACf,SAAQ,YAAY,CAAC,sBAAsB,CAAC,EAC1C,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InlineInput.d.ts","sourceRoot":"","sources":["../../src/InlineInput/InlineInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG7E,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAEjE,MAAM,WAAW,gBACf,SAAQ,YAAY,CAAC,sBAAsB,CAAC,EAC1C,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,EAAE,iBAAiB,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,yFA6DvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.types.d.ts","sourceRoot":"","sources":["../../src/Popover/Popover.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,SAAS,MAAM,0CAA0C,CAAC;AAEjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Popover.types.d.ts","sourceRoot":"","sources":["../../src/Popover/Popover.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,SAAS,MAAM,0CAA0C,CAAC;AAEjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { UseFloatingReturn } from '@floating-ui/react';
|
|
2
3
|
import { FloatingAxesOffsets, FloatingPosition } from '../Floating';
|
|
3
4
|
import { PopoverWidth, PopoverMiddlewares } from './Popover.types';
|
|
4
5
|
interface UsePopoverOptions {
|
|
@@ -17,7 +18,7 @@ interface UsePopoverOptions {
|
|
|
17
18
|
arrowOffset: number;
|
|
18
19
|
}
|
|
19
20
|
export declare function usePopover(options: UsePopoverOptions): {
|
|
20
|
-
floating:
|
|
21
|
+
floating: UseFloatingReturn<Element>;
|
|
21
22
|
controlled: boolean;
|
|
22
23
|
opened: boolean;
|
|
23
24
|
onClose: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../src/Popover/use-popover.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../src/Popover/use-popover.ts"],"names":[],"mappings":";AACA,OAAO,EAUL,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAyB,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,EAAE,GAAG,EAAE,CAAC;IAC5B,gBAAgB,CAAC,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAChC,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,WAAW,EAAE,kBAAkB,CAAC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAiDD,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB;;;;;;EAsDpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,sBAAsB,CAAC;AAErF,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EACzD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mGAAmG;IACnG,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kDAAkD;IAClD,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,mFAAmF;IACnF,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,uFAAuF;IACvF,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnC,sCAAsC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,yCAAyC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAUD,KAAK,eAAe,GAAG,8BAA8B,CAAC,WAAW,EAAE;IAAE,KAAK,EAAE,OAAO,WAAW,CAAA;CAAE,CAAC,CAAC;AAElG,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/Switch/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,SAAS,EAEV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAe,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,SAAS,CAAC,GAAG,sBAAsB,CAAC;AAErF,MAAM,WAAW,WACf,SAAQ,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,EACzD,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,mGAAmG;IACnG,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,mBAAmB;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kDAAkD;IAClD,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,mFAAmF;IACnF,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,uFAAuF;IACvF,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEnC,sCAAsC;IACtC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE5B,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEjC,yCAAyC;IACzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B,yCAAyC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAUD,KAAK,eAAe,GAAG,8BAA8B,CAAC,WAAW,EAAE;IAAE,KAAK,EAAE,OAAO,WAAW,CAAA;CAAE,CAAC,CAAC;AAElG,eAAO,MAAM,MAAM,EAAE,eAiGZ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/core",
|
|
3
3
|
"description": "React components library focused on usability, accessibility and developer experience",
|
|
4
|
-
"version": "6.0.
|
|
4
|
+
"version": "6.0.22",
|
|
5
5
|
"main": "cjs/index.js",
|
|
6
6
|
"module": "esm/index.js",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"emotion"
|
|
28
28
|
],
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@mantine/hooks": "6.0.
|
|
30
|
+
"@mantine/hooks": "6.0.22",
|
|
31
31
|
"react": ">=16.8.0",
|
|
32
32
|
"react-dom": ">=16.8.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@mantine/utils": "6.0.
|
|
36
|
-
"@mantine/styles": "6.0.
|
|
35
|
+
"@mantine/utils": "6.0.22",
|
|
36
|
+
"@mantine/styles": "6.0.22",
|
|
37
37
|
"@radix-ui/react-scroll-area": "1.0.2",
|
|
38
38
|
"react-textarea-autosize": "8.3.4",
|
|
39
39
|
"react-remove-scroll": "^2.5.5",
|