@mantine/core 6.0.9 → 6.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/cjs/ColorInput/ColorInput.js +1 -1
  2. package/cjs/ColorInput/ColorInput.js.map +1 -1
  3. package/cjs/Input/Input.styles.js +6 -1
  4. package/cjs/Input/Input.styles.js.map +1 -1
  5. package/cjs/JsonInput/JsonInput.js +1 -1
  6. package/cjs/JsonInput/JsonInput.js.map +1 -1
  7. package/cjs/MultiSelect/MultiSelect.js +2 -4
  8. package/cjs/MultiSelect/MultiSelect.js.map +1 -1
  9. package/cjs/Popover/Popover.js +1 -4
  10. package/cjs/Popover/Popover.js.map +1 -1
  11. package/cjs/SegmentedControl/SegmentedControl.js.map +1 -1
  12. package/cjs/Tabs/Tab/Tab.js +3 -1
  13. package/cjs/Tabs/Tab/Tab.js.map +1 -1
  14. package/cjs/Tabs/Tabs.context.js.map +1 -1
  15. package/cjs/Tabs/TabsPanel/TabsPanel.js +6 -1
  16. package/cjs/Tabs/TabsPanel/TabsPanel.js.map +1 -1
  17. package/cjs/Tabs/TabsProvider.js +3 -0
  18. package/cjs/Tabs/TabsProvider.js.map +1 -1
  19. package/esm/ColorInput/ColorInput.js +1 -1
  20. package/esm/ColorInput/ColorInput.js.map +1 -1
  21. package/esm/Input/Input.styles.js +6 -1
  22. package/esm/Input/Input.styles.js.map +1 -1
  23. package/esm/JsonInput/JsonInput.js +1 -1
  24. package/esm/JsonInput/JsonInput.js.map +1 -1
  25. package/esm/MultiSelect/MultiSelect.js +2 -4
  26. package/esm/MultiSelect/MultiSelect.js.map +1 -1
  27. package/esm/Popover/Popover.js +1 -4
  28. package/esm/Popover/Popover.js.map +1 -1
  29. package/esm/SegmentedControl/SegmentedControl.js.map +1 -1
  30. package/esm/Tabs/Tab/Tab.js +3 -1
  31. package/esm/Tabs/Tab/Tab.js.map +1 -1
  32. package/esm/Tabs/Tabs.context.js.map +1 -1
  33. package/esm/Tabs/TabsPanel/TabsPanel.js +7 -2
  34. package/esm/Tabs/TabsPanel/TabsPanel.js.map +1 -1
  35. package/esm/Tabs/TabsProvider.js +4 -1
  36. package/esm/Tabs/TabsProvider.js.map +1 -1
  37. package/lib/Input/Input.styles.d.ts.map +1 -1
  38. package/lib/MultiSelect/MultiSelect.d.ts.map +1 -1
  39. package/lib/Popover/Popover.d.ts.map +1 -1
  40. package/lib/SegmentedControl/SegmentedControl.d.ts +2 -2
  41. package/lib/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  42. package/lib/Tabs/Tab/Tab.d.ts.map +1 -1
  43. package/lib/Tabs/Tabs.context.d.ts +2 -0
  44. package/lib/Tabs/Tabs.context.d.ts.map +1 -1
  45. package/lib/Tabs/TabsPanel/TabsPanel.d.ts.map +1 -1
  46. package/lib/Tabs/TabsProvider.d.ts.map +1 -1
  47. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.js","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, forwardRef } from 'react';\nimport {\n useReducedMotion,\n useResizeObserver,\n useUncontrolled,\n useId,\n useMergedRef,\n useIsomorphicEffect,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n useMantineTheme,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, {\n WRAPPER_PADDING,\n SegmentedControlStylesParams,\n} from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport type SegmentedControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface SegmentedControlProps\n extends DefaultProps<SegmentedControlStylesNames, SegmentedControlStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n variant?: string;\n\n /** Data based on which controls are rendered */\n data: string[] | SegmentedControlItem[];\n\n /** Current selected value */\n value?: string;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n\n /** Display Vertically */\n orientation?: 'vertical' | 'horizontal';\n\n /** Determines whether the user can change value */\n readOnly?: boolean;\n}\n\nconst defaultProps = {\n disabled: false,\n size: 'sm' as const,\n transitionDuration: 200,\n};\n\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>((props, ref) => {\n const {\n className,\n disabled,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius,\n size,\n transitionDuration,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n orientation,\n unstyled,\n variant,\n readOnly,\n ...others\n } = useComponentDefaultProps('SegmentedControl', defaultProps, props);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n\n const data = _data.map(\n (item: string | SegmentedControlItem): SegmentedControlItem =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n const mounted = useRef<Boolean>();\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? data.find((item) => !item.disabled)?.value ?? data[0]?.value ?? null\n : null,\n onChange,\n });\n\n const { classes, cx } = useStyles(\n {\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation,\n },\n { name: 'SegmentedControl', classNames, styles, unstyled, variant, size }\n );\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useIsomorphicEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n setShouldAnimate(false);\n } else {\n setShouldAnimate(true);\n }\n });\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = elementRect.width * scaledValue || 0;\n const height = elementRect.height * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n theme.dir === 'rtl' ? offsetRight : offsetLeft,\n element.parentElement.offsetTop - WRAPPER_PADDING,\n ],\n });\n }\n }, [_value, containerRect]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => !readOnly && handleValueChange(item.value)}\n />\n\n <label\n className={classes.label}\n data-active={(_value === item.value && !(disabled || item.disabled)) || undefined}\n data-disabled={disabled || item.disabled || undefined}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n const mergedRef = useMergedRef(observerRef, ref);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box className={cx(classes.root, className)} ref={mergedRef} {...others}>\n {typeof _value === 'string' && shouldAnimate && (\n <Box\n component=\"span\"\n className={classes.indicator}\n sx={{\n width: activePosition.width,\n height: activePosition.height,\n transform: `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px)`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useMantineTheme","useReducedMotion","useRef","useState","useUncontrolled","useStyles","useId","useResizeObserver","useIsomorphicEffect","useEffect","WRAPPER_PADDING","React","useMergedRef","Box"],"mappings":"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"}
1
+ {"version":3,"file":"SegmentedControl.js","sources":["../../src/SegmentedControl/SegmentedControl.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState, forwardRef } from 'react';\nimport {\n useReducedMotion,\n useResizeObserver,\n useUncontrolled,\n useId,\n useMergedRef,\n useIsomorphicEffect,\n} from '@mantine/hooks';\nimport {\n DefaultProps,\n MantineNumberSize,\n MantineSize,\n MantineColor,\n Selectors,\n useComponentDefaultProps,\n useMantineTheme,\n} from '@mantine/styles';\nimport { Box } from '../Box';\nimport useStyles, {\n WRAPPER_PADDING,\n SegmentedControlStylesParams,\n} from './SegmentedControl.styles';\n\nexport interface SegmentedControlItem {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n}\n\nexport type SegmentedControlStylesNames = Selectors<typeof useStyles>;\n\nexport interface SegmentedControlProps\n extends DefaultProps<SegmentedControlStylesNames, SegmentedControlStylesParams>,\n Omit<React.ComponentPropsWithoutRef<'div'>, 'value' | 'onChange'> {\n variant?: string;\n\n /** Segments to render */\n data: string[] | SegmentedControlItem[];\n\n /** Current selected value */\n value?: string;\n\n /** Disabled input state */\n disabled?: boolean;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Name of the radio group, default to random id */\n name?: string;\n\n /** True if component should have 100% width */\n fullWidth?: boolean;\n\n /** Active control color from theme.colors, defaults to white in light color scheme and theme.colors.dark[9] in dark */\n color?: MantineColor;\n\n /** Controls font-size, paddings and height */\n size?: MantineSize;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Transition duration in ms, set to 0 to turn off transitions */\n transitionDuration?: number;\n\n /** Transition timing function for all transitions, defaults to theme.transitionTimingFunction */\n transitionTimingFunction?: string;\n\n /** Default value for uncontrolled component */\n defaultValue?: string;\n\n /** The orientation of the component */\n orientation?: 'vertical' | 'horizontal';\n\n /** Determines whether the user can change value */\n readOnly?: boolean;\n}\n\nconst defaultProps = {\n disabled: false,\n size: 'sm' as const,\n transitionDuration: 200,\n};\n\nexport const SegmentedControl = forwardRef<HTMLDivElement, SegmentedControlProps>((props, ref) => {\n const {\n className,\n disabled,\n data: _data,\n name,\n value,\n onChange,\n color,\n fullWidth,\n radius,\n size,\n transitionDuration,\n transitionTimingFunction,\n classNames,\n styles,\n defaultValue,\n orientation,\n unstyled,\n variant,\n readOnly,\n ...others\n } = useComponentDefaultProps('SegmentedControl', defaultProps, props);\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reduceMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n\n const data = _data.map(\n (item: string | SegmentedControlItem): SegmentedControlItem =>\n typeof item === 'string' ? { label: item, value: item } : item\n );\n const mounted = useRef<Boolean>();\n\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [_value, handleValueChange] = useUncontrolled({\n value,\n defaultValue,\n finalValue: Array.isArray(data)\n ? data.find((item) => !item.disabled)?.value ?? data[0]?.value ?? null\n : null,\n onChange,\n });\n\n const { classes, cx } = useStyles(\n {\n fullWidth,\n color,\n radius,\n shouldAnimate: reduceMotion || !shouldAnimate,\n transitionDuration,\n transitionTimingFunction,\n orientation,\n },\n { name: 'SegmentedControl', classNames, styles, unstyled, variant, size }\n );\n\n const [activePosition, setActivePosition] = useState({\n width: 0,\n height: 0,\n translate: [0, 0],\n });\n const uuid = useId(name);\n const refs = useRef<Record<string, HTMLLabelElement>>({});\n const [observerRef, containerRect] = useResizeObserver();\n\n useIsomorphicEffect(() => {\n if (!mounted.current) {\n mounted.current = true;\n setShouldAnimate(false);\n } else {\n setShouldAnimate(true);\n }\n });\n\n useEffect(() => {\n if (_value in refs.current && observerRef.current) {\n const element = refs.current[_value];\n const elementRect = element.getBoundingClientRect();\n const scaledValue = element.offsetWidth / elementRect.width;\n const width = elementRect.width * scaledValue || 0;\n const height = elementRect.height * scaledValue || 0;\n\n const offsetRight =\n containerRect.width - element.parentElement.offsetLeft + WRAPPER_PADDING - width;\n const offsetLeft = element.parentElement.offsetLeft - WRAPPER_PADDING;\n\n setActivePosition({\n width,\n height,\n translate: [\n theme.dir === 'rtl' ? offsetRight : offsetLeft,\n element.parentElement.offsetTop - WRAPPER_PADDING,\n ],\n });\n }\n }, [_value, containerRect]);\n\n const controls = data.map((item) => (\n <div\n className={cx(classes.control, { [classes.controlActive]: _value === item.value })}\n key={item.value}\n >\n <input\n className={classes.input}\n disabled={disabled || item.disabled}\n type=\"radio\"\n name={uuid}\n value={item.value}\n id={`${uuid}-${item.value}`}\n checked={_value === item.value}\n onChange={() => !readOnly && handleValueChange(item.value)}\n />\n\n <label\n className={classes.label}\n data-active={(_value === item.value && !(disabled || item.disabled)) || undefined}\n data-disabled={disabled || item.disabled || undefined}\n htmlFor={`${uuid}-${item.value}`}\n ref={(node) => {\n refs.current[item.value] = node;\n }}\n >\n {item.label}\n </label>\n </div>\n ));\n\n const mergedRef = useMergedRef(observerRef, ref);\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n <Box className={cx(classes.root, className)} ref={mergedRef} {...others}>\n {typeof _value === 'string' && shouldAnimate && (\n <Box\n component=\"span\"\n className={classes.indicator}\n sx={{\n width: activePosition.width,\n height: activePosition.height,\n transform: `translate(${activePosition.translate[0]}px, ${activePosition.translate[1]}px)`,\n }}\n />\n )}\n\n {controls}\n </Box>\n );\n});\n\nSegmentedControl.displayName = '@mantine/core/SegmentedControl';\n"],"names":["forwardRef","useComponentDefaultProps","styles","useMantineTheme","useReducedMotion","useRef","useState","useUncontrolled","useStyles","useId","useResizeObserver","useIsomorphicEffect","useEffect","WRAPPER_PADDING","React","useMergedRef","Box"],"mappings":"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"}
@@ -66,6 +66,8 @@ const Tab = React.forwardRef((props, ref) => {
66
66
  variant: ctx.variant
67
67
  });
68
68
  const isActive = value === ctx.value;
69
+ const panelId = ctx.getPanelId(value);
70
+ const ariaControls = ctx.mountedPanelIds.includes(value) ? panelId : void 0;
69
71
  const activateTab = (event) => {
70
72
  ctx.onTabChange(ctx.allowTabDeactivation ? value === ctx.value ? null : value : value);
71
73
  onClick == null ? void 0 : onClick(event);
@@ -80,7 +82,7 @@ const Tab = React.forwardRef((props, ref) => {
80
82
  id: ctx.getTabId(value),
81
83
  "aria-selected": isActive,
82
84
  tabIndex: isActive || ctx.value === null ? 0 : -1,
83
- "aria-controls": ctx.getPanelId(value),
85
+ "aria-controls": ariaControls,
84
86
  onClick: activateTab,
85
87
  onKeyDown: utils.createScopedKeydownHandler({
86
88
  siblingSelector: '[role="tab"]',
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, MantineColor, useComponentDefaultProps } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './Tab.styles';\n\nexport type TabStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabProps extends DefaultProps, React.ComponentPropsWithoutRef<'button'> {\n /** Value that is used to connect Tab with associated panel */\n value: string;\n\n /** Tab label */\n children?: React.ReactNode;\n\n /** Section of content displayed after label */\n rightSection?: React.ReactNode;\n\n /** Section of content displayed before label */\n icon?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n}\n\nconst defaultProps: Partial<TabProps> = {};\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>((props, ref) => {\n const { value, children, onKeyDown, onClick, className, icon, rightSection, color, ...others } =\n useComponentDefaultProps('TabsTab', defaultProps, props);\n const ctx = useTabsContext();\n\n const hasIcon = !!icon;\n const hasRightSection = !!rightSection;\n\n const { theme, classes, cx } = useStyles(\n {\n withIcon: hasIcon || (hasRightSection && !children),\n withRightSection: hasRightSection || (hasIcon && !children),\n orientation: ctx.orientation,\n color: color || ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement,\n },\n {\n name: 'Tabs',\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant,\n }\n );\n\n const isActive = value === ctx.value;\n const activateTab = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n ctx.onTabChange(ctx.allowTabDeactivation ? (value === ctx.value ? null : value) : value);\n onClick?.(event);\n };\n\n return (\n <UnstyledButton<'button'>\n {...others}\n unstyled={ctx.unstyled}\n className={cx(classes.tab, className)}\n data-active={isActive || undefined}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n id={ctx.getTabId(value)}\n aria-selected={isActive}\n tabIndex={isActive || ctx.value === null ? 0 : -1}\n aria-controls={ctx.getPanelId(value)}\n onClick={activateTab}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[role=\"tab\"]',\n parentSelector: '[role=\"tablist\"]',\n activateOnFocus: ctx.activateTabWithKeyboard,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: ctx.orientation,\n onKeyDown,\n })}\n >\n {icon && <span className={classes.tabIcon}>{icon}</span>}\n {children && <span className={classes.tabLabel}>{children}</span>}\n {rightSection && <span className={classes.tabRightSection}>{rightSection}</span>}\n </UnstyledButton>\n );\n});\n\nTab.displayName = '@mantine/core/Tab';\n"],"names":["forwardRef","useComponentDefaultProps","useTabsContext","useStyles","React","UnstyledButton","createScopedKeydownHandler"],"mappings":"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"}
1
+ {"version":3,"file":"Tab.js","sources":["../../../src/Tabs/Tab/Tab.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { DefaultProps, Selectors, MantineColor, useComponentDefaultProps } from '@mantine/styles';\nimport { createScopedKeydownHandler } from '@mantine/utils';\nimport { UnstyledButton } from '../../UnstyledButton';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './Tab.styles';\n\nexport type TabStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabProps extends DefaultProps, React.ComponentPropsWithoutRef<'button'> {\n /** Value that is used to connect Tab with associated panel */\n value: string;\n\n /** Tab label */\n children?: React.ReactNode;\n\n /** Section of content displayed after label */\n rightSection?: React.ReactNode;\n\n /** Section of content displayed before label */\n icon?: React.ReactNode;\n\n /** Key of theme.colors */\n color?: MantineColor;\n}\n\nconst defaultProps: Partial<TabProps> = {};\n\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>((props, ref) => {\n const { value, children, onKeyDown, onClick, className, icon, rightSection, color, ...others } =\n useComponentDefaultProps('TabsTab', defaultProps, props);\n const ctx = useTabsContext();\n\n const hasIcon = !!icon;\n const hasRightSection = !!rightSection;\n\n const { theme, classes, cx } = useStyles(\n {\n withIcon: hasIcon || (hasRightSection && !children),\n withRightSection: hasRightSection || (hasIcon && !children),\n orientation: ctx.orientation,\n color: color || ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement,\n },\n {\n name: 'Tabs',\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant,\n }\n );\n\n const isActive = value === ctx.value;\n const panelId = ctx.getPanelId(value);\n const ariaControls = ctx.mountedPanelIds.includes(value) ? panelId : undefined;\n const activateTab = (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n ctx.onTabChange(ctx.allowTabDeactivation ? (value === ctx.value ? null : value) : value);\n onClick?.(event);\n };\n\n return (\n <UnstyledButton<'button'>\n {...others}\n unstyled={ctx.unstyled}\n className={cx(classes.tab, className)}\n data-active={isActive || undefined}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n id={ctx.getTabId(value)}\n aria-selected={isActive}\n tabIndex={isActive || ctx.value === null ? 0 : -1}\n aria-controls={ariaControls}\n onClick={activateTab}\n onKeyDown={createScopedKeydownHandler({\n siblingSelector: '[role=\"tab\"]',\n parentSelector: '[role=\"tablist\"]',\n activateOnFocus: ctx.activateTabWithKeyboard,\n loop: ctx.loop,\n dir: theme.dir,\n orientation: ctx.orientation,\n onKeyDown,\n })}\n >\n {icon && <span className={classes.tabIcon}>{icon}</span>}\n {children && <span className={classes.tabLabel}>{children}</span>}\n {rightSection && <span className={classes.tabRightSection}>{rightSection}</span>}\n </UnstyledButton>\n );\n});\n\nTab.displayName = '@mantine/core/Tab';\n"],"names":["forwardRef","useComponentDefaultProps","useTabsContext","useStyles","React","UnstyledButton","createScopedKeydownHandler"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.context.js","sources":["../../src/Tabs/Tabs.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/utils';\nimport { MantineColor, MantineNumberSize, ClassNames, Styles } from '@mantine/styles';\nimport {\n TabsOrientation,\n TabsPlacement,\n TabsValue,\n TabsVariant,\n TabsStylesParams,\n} from './Tabs.types';\nimport { TABS_ERRORS } from './Tabs.errors';\nimport type { TabsStylesNames } from './Tabs';\n\ninterface TabsContext {\n id: string;\n value: TabsValue;\n orientation: TabsOrientation;\n loop: boolean;\n activateTabWithKeyboard: boolean;\n allowTabDeactivation: boolean;\n onTabChange(value: TabsValue): void;\n getTabId(value: string): string;\n getPanelId(value: string): string;\n variant: TabsVariant;\n color: MantineColor;\n radius: MantineNumberSize;\n inverted: boolean;\n keepMounted: boolean;\n placement: TabsPlacement;\n classNames: ClassNames<TabsStylesNames>;\n styles: Styles<TabsStylesNames, TabsStylesParams>;\n unstyled: boolean;\n}\n\nexport const [TabsContextProvider, useTabsContext] = createSafeContext<TabsContext>(\n TABS_ERRORS.context\n);\n"],"names":["createSafeContext","TABS_ERRORS"],"mappings":";;;;;;;AAEY,MAAC,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAGA,uBAAiB,CAACC,uBAAW,CAAC,OAAO;;;;;"}
1
+ {"version":3,"file":"Tabs.context.js","sources":["../../src/Tabs/Tabs.context.ts"],"sourcesContent":["import { createSafeContext } from '@mantine/utils';\nimport { MantineColor, MantineNumberSize, ClassNames, Styles } from '@mantine/styles';\nimport {\n TabsOrientation,\n TabsPlacement,\n TabsValue,\n TabsVariant,\n TabsStylesParams,\n} from './Tabs.types';\nimport { TABS_ERRORS } from './Tabs.errors';\nimport type { TabsStylesNames } from './Tabs';\n\ninterface TabsContext {\n id: string;\n value: TabsValue;\n orientation: TabsOrientation;\n loop: boolean;\n activateTabWithKeyboard: boolean;\n allowTabDeactivation: boolean;\n onTabChange(value: TabsValue): void;\n getTabId(value: string): string;\n getPanelId(value: string): string;\n setMountedPanelIds(values: string[] | ((oldValue: string[]) => string[])): void;\n mountedPanelIds: string[];\n variant: TabsVariant;\n color: MantineColor;\n radius: MantineNumberSize;\n inverted: boolean;\n keepMounted: boolean;\n placement: TabsPlacement;\n classNames: ClassNames<TabsStylesNames>;\n styles: Styles<TabsStylesNames, TabsStylesParams>;\n unstyled: boolean;\n}\n\nexport const [TabsContextProvider, useTabsContext] = createSafeContext<TabsContext>(\n TABS_ERRORS.context\n);\n"],"names":["createSafeContext","TABS_ERRORS"],"mappings":";;;;;;;AAEY,MAAC,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAGA,uBAAiB,CAACC,uBAAW,CAAC,OAAO;;;;;"}
@@ -61,14 +61,19 @@ const TabsPanel = React.forwardRef((props, ref) => {
61
61
  styles: ctx.styles,
62
62
  variant: ctx.variant
63
63
  });
64
+ const panelId = ctx.getPanelId(value);
64
65
  const active = ctx.value === value;
65
66
  const content = ctx.keepMounted ? children : active ? children : null;
67
+ React.useEffect(() => {
68
+ ctx.setMountedPanelIds((prev) => [...prev, panelId]);
69
+ return ctx.setMountedPanelIds((prev) => prev.filter((id) => id !== panelId));
70
+ }, [panelId]);
66
71
  return /* @__PURE__ */ React__default.createElement(Box.Box, __spreadProps(__spreadValues({}, others), {
67
72
  ref,
68
73
  sx: [{ display: !active ? "none" : void 0 }, ...utils.packSx(sx)],
69
74
  className: cx(classes.panel, className),
70
75
  role: "tabpanel",
71
- id: ctx.getPanelId(value),
76
+ id: panelId,
72
77
  "aria-labelledby": ctx.getTabId(value)
73
78
  }), content);
74
79
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TabsPanel.js","sources":["../../../src/Tabs/TabsPanel/TabsPanel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { Selectors, DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport { Box } from '../../Box';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './TabsPanel.styles';\n\nexport type TabsPanelStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabsPanelProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Panel content */\n children: React.ReactNode;\n\n /** Value of associated control */\n value: string;\n}\n\nconst defaultProps: Partial<TabsPanelProps> = {};\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>((props, ref) => {\n const { value, children, sx, className, ...others } = useComponentDefaultProps(\n 'TabsPanel',\n defaultProps,\n props\n );\n\n const ctx = useTabsContext();\n const { classes, cx } = useStyles(\n {\n orientation: ctx.orientation,\n color: ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement,\n },\n {\n name: 'Tabs',\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant,\n }\n );\n\n const active = ctx.value === value;\n const content = ctx.keepMounted ? children : active ? children : null;\n\n return (\n <Box\n {...others}\n ref={ref}\n sx={[{ display: !active ? 'none' : undefined }, ...packSx(sx)]}\n className={cx(classes.panel, className)}\n role=\"tabpanel\"\n id={ctx.getPanelId(value)}\n aria-labelledby={ctx.getTabId(value)}\n >\n {content}\n </Box>\n );\n});\n\nTabsPanel.displayName = '@mantine/core/TabsPanel';\n"],"names":["forwardRef","useComponentDefaultProps","useTabsContext","useStyles","React","Box","packSx"],"mappings":"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"}
1
+ {"version":3,"file":"TabsPanel.js","sources":["../../../src/Tabs/TabsPanel/TabsPanel.tsx"],"sourcesContent":["import React, { forwardRef, useEffect } from 'react';\nimport { Selectors, DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { packSx } from '@mantine/utils';\nimport { Box } from '../../Box';\nimport { useTabsContext } from '../Tabs.context';\nimport useStyles from './TabsPanel.styles';\n\nexport type TabsPanelStylesNames = Selectors<typeof useStyles>;\n\nexport interface TabsPanelProps extends DefaultProps, React.ComponentPropsWithoutRef<'div'> {\n /** Panel content */\n children: React.ReactNode;\n\n /** Value of associated control */\n value: string;\n}\n\nconst defaultProps: Partial<TabsPanelProps> = {};\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>((props, ref) => {\n const { value, children, sx, className, ...others } = useComponentDefaultProps(\n 'TabsPanel',\n defaultProps,\n props\n );\n\n const ctx = useTabsContext();\n const { classes, cx } = useStyles(\n {\n orientation: ctx.orientation,\n color: ctx.color,\n radius: ctx.radius,\n inverted: ctx.inverted,\n placement: ctx.placement,\n },\n {\n name: 'Tabs',\n unstyled: ctx.unstyled,\n classNames: ctx.classNames,\n styles: ctx.styles,\n variant: ctx.variant,\n }\n );\n\n const panelId = ctx.getPanelId(value);\n const active = ctx.value === value;\n const content = ctx.keepMounted ? children : active ? children : null;\n\n /** Set panel as mounted for id referencing */\n useEffect(() => {\n ctx.setMountedPanelIds((prev) => [...prev, panelId]);\n return ctx.setMountedPanelIds((prev) => prev.filter((id) => id !== panelId));\n }, [panelId]);\n\n return (\n <Box\n {...others}\n ref={ref}\n sx={[{ display: !active ? 'none' : undefined }, ...packSx(sx)]}\n className={cx(classes.panel, className)}\n role=\"tabpanel\"\n id={panelId}\n aria-labelledby={ctx.getTabId(value)}\n >\n {content}\n </Box>\n );\n});\n\nTabsPanel.displayName = '@mantine/core/TabsPanel';\n"],"names":["forwardRef","useComponentDefaultProps","useTabsContext","useStyles","useEffect","React","Box","packSx"],"mappings":"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"}
@@ -33,6 +33,7 @@ function TabsProvider({
33
33
  unstyled
34
34
  }) {
35
35
  const uid = hooks.useId(id);
36
+ const [mountedPanelIds, setMountedPanelIds] = React.useState([]);
36
37
  const [_value, onChange] = hooks.useUncontrolled({
37
38
  value,
38
39
  defaultValue,
@@ -50,6 +51,8 @@ function TabsProvider({
50
51
  getTabId: utils.getSafeId(`${uid}-tab`, Tabs_errors.TABS_ERRORS.value),
51
52
  getPanelId: utils.getSafeId(`${uid}-panel`, Tabs_errors.TABS_ERRORS.value),
52
53
  onTabChange: onChange,
54
+ setMountedPanelIds,
55
+ mountedPanelIds,
53
56
  allowTabDeactivation,
54
57
  variant,
55
58
  color,
@@ -1 +1 @@
1
- {"version":3,"file":"TabsProvider.js","sources":["../../src/Tabs/TabsProvider.tsx"],"sourcesContent":["import React from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport { ClassNames, MantineColor, MantineNumberSize, Styles } from '@mantine/styles';\nimport { TabsContextProvider } from './Tabs.context';\nimport { TABS_ERRORS } from './Tabs.errors';\nimport {\n TabsValue,\n TabsOrientation,\n TabsVariant,\n TabsPlacement,\n TabsStylesParams,\n} from './Tabs.types';\nimport type { TabsStylesNames } from './Tabs';\n\nexport interface TabsProviderProps {\n /** Default value for uncontrolled component */\n defaultValue?: TabsValue;\n\n /** Value for controlled component */\n value?: TabsValue;\n\n /** Callback for controlled component */\n onTabChange?(value: TabsValue): void;\n\n /** Tabs orientation, vertical or horizontal */\n orientation?: TabsOrientation;\n\n /** Tabs.List placement relative to Tabs.Panel, applicable only for orientation=\"vertical\", left by default */\n placement?: TabsPlacement;\n\n /** Base id, used to generate ids that connect labels with controls, by default generated randomly */\n id?: string;\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 tab should be activated with arrow key press, defaults to true */\n activateTabWithKeyboard?: boolean;\n\n /** Determines whether tab can be deactivated, defaults to false */\n allowTabDeactivation?: boolean;\n\n /** Tabs content */\n children: React.ReactNode;\n\n /** Controls component visuals */\n variant?: TabsVariant;\n\n /** Key of theme.colors */\n color?: MantineColor;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Determines whether tabs should have inverted styles */\n inverted?: boolean;\n\n /** If set to false, Tabs.Panel content will not stay mounted when tab is not active */\n keepMounted?: boolean;\n}\n\ninterface _TabsProviderProps extends TabsProviderProps {\n classNames?: ClassNames<TabsStylesNames>;\n styles?: Styles<TabsStylesNames, TabsStylesParams>;\n unstyled?: boolean;\n}\n\nexport function TabsProvider({\n defaultValue,\n value,\n onTabChange,\n orientation,\n children,\n loop,\n id,\n activateTabWithKeyboard,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n placement,\n keepMounted = true,\n classNames,\n styles,\n unstyled,\n}: _TabsProviderProps) {\n const uid = useId(id);\n\n const [_value, onChange] = useUncontrolled<TabsValue>({\n value,\n defaultValue,\n finalValue: null,\n onChange: onTabChange,\n });\n\n return (\n <TabsContextProvider\n value={{\n placement,\n value: _value,\n orientation,\n id: uid,\n loop,\n activateTabWithKeyboard,\n getTabId: getSafeId(`${uid}-tab`, TABS_ERRORS.value),\n getPanelId: getSafeId(`${uid}-panel`, TABS_ERRORS.value),\n onTabChange: onChange,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n keepMounted,\n classNames,\n styles,\n unstyled,\n }}\n >\n {children}\n </TabsContextProvider>\n );\n}\n\nTabsProvider.displayName = '@mantine/core/TabsProvider';\n"],"names":["useId","useUncontrolled","React","TabsContextProvider","getSafeId","TABS_ERRORS"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,YAAY,CAAC;AAC7B,EAAE,YAAY;AACd,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,uBAAuB;AACzB,EAAE,oBAAoB;AACtB,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,WAAW,GAAG,IAAI;AACpB,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,GAAG,GAAGA,WAAK,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,WAAW;AACzB,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,gCAAmB,EAAE;AAClE,IAAI,KAAK,EAAE;AACX,MAAM,SAAS;AACf,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,WAAW;AACjB,MAAM,EAAE,EAAE,GAAG;AACb,MAAM,IAAI;AACV,MAAM,uBAAuB;AAC7B,MAAM,QAAQ,EAAEC,eAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAEC,uBAAW,CAAC,KAAK,CAAC;AAC1D,MAAM,UAAU,EAAED,eAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAEC,uBAAW,CAAC,KAAK,CAAC;AAC9D,MAAM,WAAW,EAAE,QAAQ;AAC3B,MAAM,oBAAoB;AAC1B,MAAM,OAAO;AACb,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
1
+ {"version":3,"file":"TabsProvider.js","sources":["../../src/Tabs/TabsProvider.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { getSafeId } from '@mantine/utils';\nimport { useUncontrolled, useId } from '@mantine/hooks';\nimport { ClassNames, MantineColor, MantineNumberSize, Styles } from '@mantine/styles';\nimport { TabsContextProvider } from './Tabs.context';\nimport { TABS_ERRORS } from './Tabs.errors';\nimport {\n TabsValue,\n TabsOrientation,\n TabsVariant,\n TabsPlacement,\n TabsStylesParams,\n} from './Tabs.types';\nimport type { TabsStylesNames } from './Tabs';\n\nexport interface TabsProviderProps {\n /** Default value for uncontrolled component */\n defaultValue?: TabsValue;\n\n /** Value for controlled component */\n value?: TabsValue;\n\n /** Callback for controlled component */\n onTabChange?(value: TabsValue): void;\n\n /** Tabs orientation, vertical or horizontal */\n orientation?: TabsOrientation;\n\n /** Tabs.List placement relative to Tabs.Panel, applicable only for orientation=\"vertical\", left by default */\n placement?: TabsPlacement;\n\n /** Base id, used to generate ids that connect labels with controls, by default generated randomly */\n id?: string;\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 tab should be activated with arrow key press, defaults to true */\n activateTabWithKeyboard?: boolean;\n\n /** Determines whether tab can be deactivated, defaults to false */\n allowTabDeactivation?: boolean;\n\n /** Tabs content */\n children: React.ReactNode;\n\n /** Controls component visuals */\n variant?: TabsVariant;\n\n /** Key of theme.colors */\n color?: MantineColor;\n\n /** Key of theme.radius or any valid CSS value to set border-radius, theme.defaultRadius by default */\n radius?: MantineNumberSize;\n\n /** Determines whether tabs should have inverted styles */\n inverted?: boolean;\n\n /** If set to false, Tabs.Panel content will not stay mounted when tab is not active */\n keepMounted?: boolean;\n}\n\ninterface _TabsProviderProps extends TabsProviderProps {\n classNames?: ClassNames<TabsStylesNames>;\n styles?: Styles<TabsStylesNames, TabsStylesParams>;\n unstyled?: boolean;\n}\n\nexport function TabsProvider({\n defaultValue,\n value,\n onTabChange,\n orientation,\n children,\n loop,\n id,\n activateTabWithKeyboard,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n placement,\n keepMounted = true,\n classNames,\n styles,\n unstyled,\n}: _TabsProviderProps) {\n const uid = useId(id);\n\n const [mountedPanelIds, setMountedPanelIds] = useState([]);\n\n const [_value, onChange] = useUncontrolled<TabsValue>({\n value,\n defaultValue,\n finalValue: null,\n onChange: onTabChange,\n });\n\n return (\n <TabsContextProvider\n value={{\n placement,\n value: _value,\n orientation,\n id: uid,\n loop,\n activateTabWithKeyboard,\n getTabId: getSafeId(`${uid}-tab`, TABS_ERRORS.value),\n getPanelId: getSafeId(`${uid}-panel`, TABS_ERRORS.value),\n onTabChange: onChange,\n setMountedPanelIds,\n mountedPanelIds,\n allowTabDeactivation,\n variant,\n color,\n radius,\n inverted,\n keepMounted,\n classNames,\n styles,\n unstyled,\n }}\n >\n {children}\n </TabsContextProvider>\n );\n}\n\nTabsProvider.displayName = '@mantine/core/TabsProvider';\n"],"names":["useId","useState","useUncontrolled","React","TabsContextProvider","getSafeId","TABS_ERRORS"],"mappings":";;;;;;;;;;;;;;AAKO,SAAS,YAAY,CAAC;AAC7B,EAAE,YAAY;AACd,EAAE,KAAK;AACP,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,QAAQ;AACV,EAAE,IAAI;AACN,EAAE,EAAE;AACJ,EAAE,uBAAuB;AACzB,EAAE,oBAAoB;AACtB,EAAE,OAAO;AACT,EAAE,KAAK;AACP,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,EAAE,SAAS;AACX,EAAE,WAAW,GAAG,IAAI;AACpB,EAAE,UAAU;AACZ,EAAE,MAAM;AACR,EAAE,QAAQ;AACV,CAAC,EAAE;AACH,EAAE,MAAM,GAAG,GAAGA,WAAK,CAAC,EAAE,CAAC,CAAC;AACxB,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAGC,qBAAe,CAAC;AAC7C,IAAI,KAAK;AACT,IAAI,YAAY;AAChB,IAAI,UAAU,EAAE,IAAI;AACpB,IAAI,QAAQ,EAAE,WAAW;AACzB,GAAG,CAAC,CAAC;AACL,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,gCAAmB,EAAE;AAClE,IAAI,KAAK,EAAE;AACX,MAAM,SAAS;AACf,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,WAAW;AACjB,MAAM,EAAE,EAAE,GAAG;AACb,MAAM,IAAI;AACV,MAAM,uBAAuB;AAC7B,MAAM,QAAQ,EAAEC,eAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAEC,uBAAW,CAAC,KAAK,CAAC;AAC1D,MAAM,UAAU,EAAED,eAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAEC,uBAAW,CAAC,KAAK,CAAC;AAC9D,MAAM,WAAW,EAAE,QAAQ;AAC3B,MAAM,kBAAkB;AACxB,MAAM,eAAe;AACrB,MAAM,oBAAoB;AAC1B,MAAM,OAAO;AACb,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,QAAQ;AACd,KAAK;AACL,GAAG,EAAE,QAAQ,CAAC,CAAC;AACf,CAAC;AACD,YAAY,CAAC,WAAW,GAAG,4BAA4B;;;;"}
@@ -197,7 +197,7 @@ const ColorInput = forwardRef((props, ref) => {
197
197
  unstyled,
198
198
  disabled: readOnly || withPicker === false && (!Array.isArray(swatches) || swatches.length === 0)
199
199
  }, /* @__PURE__ */ React.createElement(Popover.Target, null, /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement(Input, __spreadProps(__spreadValues(__spreadValues({
200
- autoComplete: "nope"
200
+ autoComplete: "off"
201
201
  }, others), inputProps), {
202
202
  disabled,
203
203
  ref,
@@ -1 +1 @@
1
- {"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useEyeDropper } from '@mantine/hooks';\nimport {\n DefaultProps,\n getDefaultZIndex,\n MantineShadow,\n useMantineTheme,\n rem,\n getSize,\n} from '@mantine/styles';\nimport { noop } from '@mantine/utils';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popover, PopoverStylesNames } from '../Popover';\nimport { PortalProps } from '../Portal';\nimport { TransitionOverride } from '../Transition';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport { EyeDropperIcon } from './EyeDropperIcon';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | PopoverStylesNames;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputSharedProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Props added to Transition component that used to animate dropdown presence, use to configure duration and animation type, { duration: 0, transition: 'fade' } by default */\n transitionProps?: TransitionOverride;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n\n /** Dropdown box-shadow, key of theme.shadows */\n shadow?: MantineShadow;\n\n /** Determines whether eye dropper button should be displayed in the right section, true by default */\n withEyeDropper?: boolean;\n\n /** Replaces default eye dropper icon */\n eyeDropperIcon?: React.ReactNode;\n\n /** Determines whether the dropdown should be closed when color swatch is clicked, false by default */\n closeOnColorSwatchClick?: boolean;\n}\n\nconst SWATCH_SIZES = {\n xs: rem(16),\n sm: rem(18),\n md: rem(22),\n lg: rem(28),\n xl: rem(36),\n};\n\nconst EYE_DROPPER_SIZES = {\n xs: rem(14),\n sm: rem(16),\n md: rem(18),\n lg: rem(20),\n xl: rem(22),\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transitionProps: { transition: 'fade', duration: 0 },\n dropdownZIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n shadow: 'md',\n withEyeDropper: true,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>((props, ref) => {\n const {\n wrapperProps,\n inputProps,\n format,\n onChange,\n onChangeEnd,\n onFocus,\n onBlur,\n onClick,\n value,\n defaultValue,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transitionProps,\n dropdownZIndex,\n withinPortal,\n portalProps,\n swatches,\n shadow,\n classNames,\n styles,\n unstyled,\n readOnly,\n withEyeDropper,\n eyeDropperIcon,\n rightSection,\n closeOnColorSwatchClick,\n disabled,\n ...others\n } = useInputProps('ColorInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const { supported: eyeDropperSupported, open: openEyeDropper } = useEyeDropper();\n\n const eyeDropper = (\n <ActionIcon\n sx={{ color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black }}\n size={inputProps.size}\n onClick={() =>\n openEyeDropper()\n .then(({ sRGBHex }) => {\n const color = convertHsvaTo(format, parseColor(sRGBHex));\n setValue(color);\n onChangeEnd?.(color);\n })\n .catch(noop)\n }\n >\n {eyeDropperIcon || (\n <EyeDropperIcon size={getSize({ size: inputProps.size, sizes: EYE_DROPPER_SIZES })} />\n )}\n </ActionIcon>\n );\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n fixOnBlur && setValue(lastValidValue);\n onBlur?.(event);\n setDropdownOpened(false);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n useEffect(() => {\n if (isColorValid(_value) || _value.trim() === '') {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"ColorInput\">\n <Popover\n __staticSelector=\"ColorInput\"\n position=\"bottom-start\"\n offset={5}\n zIndex={dropdownZIndex}\n withinPortal={withinPortal}\n portalProps={portalProps}\n transitionProps={transitionProps}\n opened={dropdownOpened}\n shadow={shadow}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n disabled={\n readOnly || (withPicker === false && (!Array.isArray(swatches) || swatches.length === 0))\n }\n >\n <Popover.Target>\n <div>\n <Input<'input'>\n autoComplete=\"nope\"\n {...others}\n {...inputProps}\n disabled={disabled}\n ref={ref}\n __staticSelector=\"ColorInput\"\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onClick={handleInputClick}\n spellCheck={false}\n value={_value}\n onChange={(event) => {\n const inputValue = event.currentTarget.value;\n setValue(inputValue);\n if (isColorValid(inputValue)) {\n onChangeEnd?.(convertHsvaTo(format, parseColor(inputValue)));\n }\n }}\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={getSize({ size: inputProps.size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput || readOnly}\n sx={{ cursor: disallowInput ? 'pointer' : undefined }}\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n rightSection={\n rightSection ||\n (withEyeDropper && !disabled && !readOnly && eyeDropperSupported\n ? eyeDropper\n : null)\n }\n />\n </div>\n </Popover.Target>\n\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} p={inputProps.size}>\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n onChangeEnd={onChangeEnd}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={inputProps.size}\n focusable={false}\n unstyled={unstyled}\n styles={styles}\n classNames={classNames}\n onColorSwatchClick={() => closeOnColorSwatchClick && setDropdownOpened(false)}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n );\n});\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColorInput.js","sources":["../../src/ColorInput/ColorInput.tsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from 'react';\nimport { useUncontrolled, useDidUpdate, useEyeDropper } from '@mantine/hooks';\nimport {\n DefaultProps,\n getDefaultZIndex,\n MantineShadow,\n useMantineTheme,\n rem,\n getSize,\n} from '@mantine/styles';\nimport { noop } from '@mantine/utils';\nimport {\n InputWrapperBaseProps,\n InputWrapperStylesNames,\n Input,\n InputSharedProps,\n InputStylesNames,\n useInputProps,\n} from '../Input';\nimport { ColorSwatch } from '../ColorSwatch';\nimport { ActionIcon } from '../ActionIcon';\nimport { Popover, PopoverStylesNames } from '../Popover';\nimport { PortalProps } from '../Portal';\nimport { TransitionOverride } from '../Transition';\nimport {\n ColorPicker,\n ColorPickerBaseProps,\n ColorPickerStylesNames,\n} from '../ColorPicker/ColorPicker';\nimport { convertHsvaTo, isColorValid, parseColor } from '../ColorPicker/converters';\nimport { EyeDropperIcon } from './EyeDropperIcon';\n\nexport type ColorInputStylesNames =\n | InputWrapperStylesNames\n | InputStylesNames\n | ColorPickerStylesNames\n | PopoverStylesNames;\n\nexport interface ColorInputProps\n extends InputWrapperBaseProps,\n InputSharedProps,\n ColorPickerBaseProps,\n DefaultProps<ColorInputStylesNames>,\n Omit<React.ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'defaultValue' | 'value'> {\n /** Disallow free input */\n disallowInput?: boolean;\n\n /** call onChange with last valid value onBlur */\n fixOnBlur?: boolean;\n\n /** Dropdown element z-index */\n dropdownZIndex?: number;\n\n /** Display swatch with color preview on the left side of input */\n withPreview?: boolean;\n\n /** Props added to Transition component that used to animate dropdown presence, use to configure duration and animation type, { duration: 0, transition: 'fade' } by default */\n transitionProps?: TransitionOverride;\n\n /** Whether to render the dropdown in a Portal */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n\n /** Dropdown box-shadow, key of theme.shadows */\n shadow?: MantineShadow;\n\n /** Determines whether eye dropper button should be displayed in the right section, true by default */\n withEyeDropper?: boolean;\n\n /** Replaces default eye dropper icon */\n eyeDropperIcon?: React.ReactNode;\n\n /** Determines whether the dropdown should be closed when color swatch is clicked, false by default */\n closeOnColorSwatchClick?: boolean;\n}\n\nconst SWATCH_SIZES = {\n xs: rem(16),\n sm: rem(18),\n md: rem(22),\n lg: rem(28),\n xl: rem(36),\n};\n\nconst EYE_DROPPER_SIZES = {\n xs: rem(14),\n sm: rem(16),\n md: rem(18),\n lg: rem(20),\n xl: rem(22),\n};\n\nconst defaultProps: Partial<ColorInputProps> = {\n size: 'sm',\n format: 'hex',\n fixOnBlur: true,\n withPreview: true,\n swatchesPerRow: 10,\n withPicker: true,\n transitionProps: { transition: 'fade', duration: 0 },\n dropdownZIndex: getDefaultZIndex('popover'),\n withinPortal: true,\n shadow: 'md',\n withEyeDropper: true,\n};\n\nexport const ColorInput = forwardRef<HTMLInputElement, ColorInputProps>((props, ref) => {\n const {\n wrapperProps,\n inputProps,\n format,\n onChange,\n onChangeEnd,\n onFocus,\n onBlur,\n onClick,\n value,\n defaultValue,\n disallowInput,\n fixOnBlur,\n withPreview,\n swatchesPerRow,\n withPicker,\n icon,\n transitionProps,\n dropdownZIndex,\n withinPortal,\n portalProps,\n swatches,\n shadow,\n classNames,\n styles,\n unstyled,\n readOnly,\n withEyeDropper,\n eyeDropperIcon,\n rightSection,\n closeOnColorSwatchClick,\n disabled,\n ...others\n } = useInputProps('ColorInput', defaultProps, props);\n\n const theme = useMantineTheme();\n const [dropdownOpened, setDropdownOpened] = useState(false);\n const [lastValidValue, setLastValidValue] = useState('');\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const { supported: eyeDropperSupported, open: openEyeDropper } = useEyeDropper();\n\n const eyeDropper = (\n <ActionIcon\n sx={{ color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black }}\n size={inputProps.size}\n onClick={() =>\n openEyeDropper()\n .then(({ sRGBHex }) => {\n const color = convertHsvaTo(format, parseColor(sRGBHex));\n setValue(color);\n onChangeEnd?.(color);\n })\n .catch(noop)\n }\n >\n {eyeDropperIcon || (\n <EyeDropperIcon size={getSize({ size: inputProps.size, sizes: EYE_DROPPER_SIZES })} />\n )}\n </ActionIcon>\n );\n\n const handleInputFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setDropdownOpened(true);\n };\n\n const handleInputBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n fixOnBlur && setValue(lastValidValue);\n onBlur?.(event);\n setDropdownOpened(false);\n };\n\n const handleInputClick = (event: React.MouseEvent<HTMLInputElement>) => {\n onClick?.(event);\n setDropdownOpened(true);\n };\n\n useEffect(() => {\n if (isColorValid(_value) || _value.trim() === '') {\n setLastValidValue(_value);\n }\n }, [_value]);\n\n useDidUpdate(() => {\n if (isColorValid(_value)) {\n setValue(convertHsvaTo(format, parseColor(_value)));\n }\n }, [format]);\n\n return (\n <Input.Wrapper {...wrapperProps} __staticSelector=\"ColorInput\">\n <Popover\n __staticSelector=\"ColorInput\"\n position=\"bottom-start\"\n offset={5}\n zIndex={dropdownZIndex}\n withinPortal={withinPortal}\n portalProps={portalProps}\n transitionProps={transitionProps}\n opened={dropdownOpened}\n shadow={shadow}\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n disabled={\n readOnly || (withPicker === false && (!Array.isArray(swatches) || swatches.length === 0))\n }\n >\n <Popover.Target>\n <div>\n <Input<'input'>\n autoComplete=\"off\"\n {...others}\n {...inputProps}\n disabled={disabled}\n ref={ref}\n __staticSelector=\"ColorInput\"\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onClick={handleInputClick}\n spellCheck={false}\n value={_value}\n onChange={(event) => {\n const inputValue = event.currentTarget.value;\n setValue(inputValue);\n if (isColorValid(inputValue)) {\n onChangeEnd?.(convertHsvaTo(format, parseColor(inputValue)));\n }\n }}\n icon={\n icon ||\n (withPreview ? (\n <ColorSwatch\n color={isColorValid(_value) ? _value : '#fff'}\n size={getSize({ size: inputProps.size, sizes: SWATCH_SIZES })}\n />\n ) : null)\n }\n readOnly={disallowInput || readOnly}\n sx={{ cursor: disallowInput ? 'pointer' : undefined }}\n unstyled={unstyled}\n classNames={classNames}\n styles={styles}\n rightSection={\n rightSection ||\n (withEyeDropper && !disabled && !readOnly && eyeDropperSupported\n ? eyeDropper\n : null)\n }\n />\n </div>\n </Popover.Target>\n\n <Popover.Dropdown onMouseDown={(event) => event.preventDefault()} p={inputProps.size}>\n <ColorPicker\n __staticSelector=\"ColorInput\"\n value={_value}\n onChange={setValue}\n onChangeEnd={onChangeEnd}\n format={format}\n swatches={swatches}\n swatchesPerRow={swatchesPerRow}\n withPicker={withPicker}\n size={inputProps.size}\n focusable={false}\n unstyled={unstyled}\n styles={styles}\n classNames={classNames}\n onColorSwatchClick={() => closeOnColorSwatchClick && setDropdownOpened(false)}\n />\n </Popover.Dropdown>\n </Popover>\n </Input.Wrapper>\n );\n});\n\nColorInput.displayName = '@mantine/core/ColorInput';\n"],"names":[],"mappings":"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"}
@@ -76,12 +76,17 @@ var useStyles = createStyles((theme, {
76
76
  offsetTop,
77
77
  pointer
78
78
  }, { variant, size }) => {
79
- const invalidColor = theme.fn.variant({ variant: "filled", color: "red" }).background;
79
+ const invalidColor = theme.fn.variant({
80
+ variant: "filled",
81
+ color: "red"
82
+ }).background;
80
83
  const sizeStyles = variant === "default" || variant === "filled" ? {
81
84
  minHeight: getSize({ size, sizes }),
82
85
  paddingLeft: `calc(${getSize({ size, sizes })} / 3)`,
83
86
  paddingRight: withRightSection ? rightSectionWidth || getSize({ size, sizes }) : `calc(${getSize({ size, sizes })} / 3)`,
84
87
  borderRadius: theme.fn.radius(radius)
88
+ } : variant === "unstyled" && withRightSection ? {
89
+ paddingRight: rightSectionWidth || getSize({ size, sizes })
85
90
  } : null;
86
91
  return {
87
92
  wrapper: {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.styles.js","sources":["../../src/Input/Input.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineTheme, rem, getSize } from '@mantine/styles';\n\nexport interface InputStylesParams {\n radius: MantineNumberSize;\n multiline: boolean;\n invalid: boolean;\n rightSectionWidth: string | number;\n withRightSection: boolean;\n iconWidth: string | number;\n offsetBottom: boolean;\n offsetTop: boolean;\n pointer: boolean;\n}\n\nexport const sizes = {\n xs: rem(30),\n sm: rem(36),\n md: rem(42),\n lg: rem(50),\n xl: rem(60),\n};\n\nconst INPUT_VARIANTS = ['default', 'filled', 'unstyled'];\n\ninterface GetVariantStylesInput {\n theme: MantineTheme;\n variant: string;\n}\n\nfunction getVariantStyles({ theme, variant }: GetVariantStylesInput) {\n if (!INPUT_VARIANTS.includes(variant)) {\n return null;\n }\n\n if (variant === 'default') {\n return {\n border: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n transition: 'border-color 100ms ease',\n '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),\n };\n }\n\n if (variant === 'filled') {\n return {\n border: `${rem(1)} solid transparent`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),\n };\n }\n\n return {\n borderWidth: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: 'transparent',\n minHeight: rem(28),\n outline: 0,\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n\n '&:disabled': {\n backgroundColor: 'transparent',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n },\n };\n}\n\nexport default createStyles(\n (\n theme,\n {\n multiline,\n radius,\n invalid,\n rightSectionWidth,\n withRightSection,\n iconWidth,\n offsetBottom,\n offsetTop,\n pointer,\n }: InputStylesParams,\n { variant, size }\n ) => {\n const invalidColor = theme.fn.variant({ variant: 'filled', color: 'red' }).background;\n const sizeStyles =\n variant === 'default' || variant === 'filled'\n ? {\n minHeight: getSize({ size, sizes }),\n paddingLeft: `calc(${getSize({ size, sizes })} / 3)`,\n paddingRight: withRightSection\n ? rightSectionWidth || getSize({ size, sizes })\n : `calc(${getSize({ size, sizes })} / 3)`,\n borderRadius: theme.fn.radius(radius),\n }\n : null;\n\n return {\n wrapper: {\n position: 'relative',\n marginTop: offsetTop ? `calc(${theme.spacing.xs} / 2)` : undefined,\n marginBottom: offsetBottom ? `calc(${theme.spacing.xs} / 2)` : undefined,\n },\n\n input: {\n ...theme.fn.fontStyles(),\n height: multiline\n ? variant === 'unstyled'\n ? undefined\n : 'auto'\n : getSize({ size, sizes }),\n WebkitTapHighlightColor: 'transparent',\n lineHeight: multiline ? theme.lineHeight : `calc(${getSize({ size, sizes })} - ${rem(2)})`,\n appearance: 'none',\n resize: 'none',\n boxSizing: 'border-box',\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n width: '100%',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n display: 'block',\n textAlign: 'left',\n cursor: pointer ? 'pointer' : undefined,\n ...getVariantStyles({ theme, variant }),\n ...sizeStyles,\n\n '&:disabled, &[data-disabled]': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n '&[data-invalid]': {\n color: invalidColor,\n borderColor: invalidColor,\n\n '&::placeholder': {\n opacity: 1,\n color: invalidColor,\n },\n },\n\n '&[data-with-icon]': {\n paddingLeft: typeof iconWidth === 'number' ? rem(iconWidth) : getSize({ size, sizes }),\n },\n\n '&::placeholder': {\n ...theme.fn.placeholderStyles(),\n opacity: 1,\n },\n\n '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':\n {\n appearance: 'none',\n },\n\n '&[type=number]': {\n MozAppearance: 'textfield',\n },\n },\n\n icon: {\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: iconWidth ? rem(iconWidth) : getSize({ size, sizes }),\n color: invalid\n ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[5],\n },\n\n rightSection: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: rightSectionWidth || getSize({ size, sizes }),\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.styles.js","sources":["../../src/Input/Input.styles.ts"],"sourcesContent":["import { createStyles, MantineNumberSize, MantineTheme, rem, getSize } from '@mantine/styles';\n\nexport interface InputStylesParams {\n radius: MantineNumberSize;\n multiline: boolean;\n invalid: boolean;\n rightSectionWidth: string | number;\n withRightSection: boolean;\n iconWidth: string | number;\n offsetBottom: boolean;\n offsetTop: boolean;\n pointer: boolean;\n}\n\nexport const sizes = {\n xs: rem(30),\n sm: rem(36),\n md: rem(42),\n lg: rem(50),\n xl: rem(60),\n};\n\nconst INPUT_VARIANTS = ['default', 'filled', 'unstyled'];\n\ninterface GetVariantStylesInput {\n theme: MantineTheme;\n variant: string;\n}\n\nfunction getVariantStyles({ theme, variant }: GetVariantStylesInput) {\n if (!INPUT_VARIANTS.includes(variant)) {\n return null;\n }\n\n if (variant === 'default') {\n return {\n border: `${rem(1)} solid ${\n theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[4]\n }`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.white,\n transition: 'border-color 100ms ease',\n '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),\n };\n }\n\n if (variant === 'filled') {\n return {\n border: `${rem(1)} solid transparent`,\n backgroundColor: theme.colorScheme === 'dark' ? theme.colors.dark[5] : theme.colors.gray[1],\n '&:focus, &:focus-within': theme.focusRingStyles.inputStyles(theme),\n };\n }\n\n return {\n borderWidth: 0,\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n backgroundColor: 'transparent',\n minHeight: rem(28),\n outline: 0,\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n\n '&:disabled': {\n backgroundColor: 'transparent',\n\n '&:focus, &:focus-within': {\n outline: 'none',\n borderColor: 'transparent',\n },\n },\n };\n}\n\nexport default createStyles(\n (\n theme,\n {\n multiline,\n radius,\n invalid,\n rightSectionWidth,\n withRightSection,\n iconWidth,\n offsetBottom,\n offsetTop,\n pointer,\n }: InputStylesParams,\n { variant, size }\n ) => {\n const invalidColor = theme.fn.variant({\n variant: 'filled',\n color: 'red',\n }).background;\n const sizeStyles =\n variant === 'default' || variant === 'filled'\n ? {\n minHeight: getSize({ size, sizes }),\n paddingLeft: `calc(${getSize({ size, sizes })} / 3)`,\n paddingRight: withRightSection\n ? rightSectionWidth || getSize({ size, sizes })\n : `calc(${getSize({ size, sizes })} / 3)`,\n borderRadius: theme.fn.radius(radius),\n }\n : variant === 'unstyled' && withRightSection\n ? {\n paddingRight: rightSectionWidth || getSize({ size, sizes }),\n }\n : null;\n\n return {\n wrapper: {\n position: 'relative',\n marginTop: offsetTop ? `calc(${theme.spacing.xs} / 2)` : undefined,\n marginBottom: offsetBottom ? `calc(${theme.spacing.xs} / 2)` : undefined,\n },\n\n input: {\n ...theme.fn.fontStyles(),\n height: multiline\n ? variant === 'unstyled'\n ? undefined\n : 'auto'\n : getSize({ size, sizes }),\n WebkitTapHighlightColor: 'transparent',\n lineHeight: multiline ? theme.lineHeight : `calc(${getSize({ size, sizes })} - ${rem(2)})`,\n appearance: 'none',\n resize: 'none',\n boxSizing: 'border-box',\n fontSize: getSize({ size, sizes: theme.fontSizes }),\n width: '100%',\n color: theme.colorScheme === 'dark' ? theme.colors.dark[0] : theme.black,\n display: 'block',\n textAlign: 'left',\n cursor: pointer ? 'pointer' : undefined,\n ...getVariantStyles({ theme, variant }),\n ...sizeStyles,\n\n '&:disabled, &[data-disabled]': {\n backgroundColor:\n theme.colorScheme === 'dark' ? theme.colors.dark[6] : theme.colors.gray[1],\n color: theme.colors.dark[2],\n opacity: 0.6,\n cursor: 'not-allowed',\n\n '&::placeholder': {\n color: theme.colors.dark[2],\n },\n },\n\n '&[data-invalid]': {\n color: invalidColor,\n borderColor: invalidColor,\n\n '&::placeholder': {\n opacity: 1,\n color: invalidColor,\n },\n },\n\n '&[data-with-icon]': {\n paddingLeft: typeof iconWidth === 'number' ? rem(iconWidth) : getSize({ size, sizes }),\n },\n\n '&::placeholder': {\n ...theme.fn.placeholderStyles(),\n opacity: 1,\n },\n\n '&::-webkit-inner-spin-button, &::-webkit-outer-spin-button, &::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration':\n {\n appearance: 'none',\n },\n\n '&[type=number]': {\n MozAppearance: 'textfield',\n },\n },\n\n icon: {\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 1,\n left: 0,\n top: 0,\n bottom: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: iconWidth ? rem(iconWidth) : getSize({ size, sizes }),\n color: invalid\n ? theme.colors.red[theme.colorScheme === 'dark' ? 6 : 7]\n : theme.colorScheme === 'dark'\n ? theme.colors.dark[2]\n : theme.colors.gray[5],\n },\n\n rightSection: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: rightSectionWidth || getSize({ size, sizes }),\n },\n };\n }\n);\n"],"names":[],"mappings":"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"}
@@ -102,7 +102,7 @@ const JsonInput = forwardRef((props, ref) => {
102
102
  error: valid ? error : validationError || true,
103
103
  __staticSelector: "JsonInput",
104
104
  classNames: __spreadProps(__spreadValues({}, classNames), { input: cx(classes.input, classNames == null ? void 0 : classNames.input) }),
105
- autoComplete: "nope",
105
+ autoComplete: "off",
106
106
  ref,
107
107
  unstyled,
108
108
  readOnly,
@@ -1 +1 @@
1
- {"version":3,"file":"JsonInput.js","sources":["../../src/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { validateJson } from './validate-json/validate-json';\nimport { Textarea, TextareaProps } from '../Textarea';\nimport { TextInputStylesNames } from '../TextInput';\nimport useStyles from './JsonInput.styles';\n\nexport type JsonInputStylesNames = TextInputStylesNames;\n\nexport interface JsonInputProps\n extends DefaultProps<JsonInputStylesNames>,\n Omit<TextareaProps, 'onChange'> {\n /** Value for controlled input */\n value?: string;\n\n /** Default value for uncontrolled input */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Format JSON on blur */\n formatOnBlur?: boolean;\n\n /** Error message shown when JSON is not valid */\n validationError?: React.ReactNode;\n\n /** Function to serialize value into a string, used for value formatting, JSON.stringify by default */\n serialize?: typeof JSON.stringify;\n\n /** Function to deserialize string value, used for value formatting and input JSON validation, must throw error if string cannot be processed, JSON.parse by default */\n deserialize?: typeof JSON.parse;\n}\n\nconst defaultProps: Partial<JsonInputProps> = {\n formatOnBlur: false,\n size: 'sm',\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n};\n\nexport const JsonInput = forwardRef<HTMLTextAreaElement, JsonInputProps>((props, ref) => {\n const {\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n error,\n formatOnBlur,\n size,\n validationError,\n classNames,\n unstyled,\n readOnly,\n variant,\n serialize,\n deserialize,\n ...others\n } = useComponentDefaultProps('JsonInput', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { name: 'JsonInput', unstyled, size, variant });\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const [valid, setValid] = useState(validateJson(_value, deserialize));\n\n const handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setValid(true);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const isValid = validateJson(event.currentTarget.value, deserialize);\n formatOnBlur &&\n !readOnly &&\n isValid &&\n event.currentTarget.value.trim() !== '' &&\n setValue(serialize(deserialize(event.currentTarget.value), null, 2));\n setValid(isValid);\n };\n\n return (\n <Textarea\n value={_value}\n onChange={(event) => setValue(event.currentTarget.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n error={valid ? error : validationError || true}\n __staticSelector=\"JsonInput\"\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n autoComplete=\"nope\"\n ref={ref}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n variant={variant}\n {...others}\n />\n );\n});\n\nJsonInput.displayName = '@mantine/core/JsonInput';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonInput.js","sources":["../../src/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { forwardRef, useState } from 'react';\nimport { useUncontrolled } from '@mantine/hooks';\nimport { DefaultProps, useComponentDefaultProps } from '@mantine/styles';\nimport { validateJson } from './validate-json/validate-json';\nimport { Textarea, TextareaProps } from '../Textarea';\nimport { TextInputStylesNames } from '../TextInput';\nimport useStyles from './JsonInput.styles';\n\nexport type JsonInputStylesNames = TextInputStylesNames;\n\nexport interface JsonInputProps\n extends DefaultProps<JsonInputStylesNames>,\n Omit<TextareaProps, 'onChange'> {\n /** Value for controlled input */\n value?: string;\n\n /** Default value for uncontrolled input */\n defaultValue?: string;\n\n /** Called when value changes */\n onChange?(value: string): void;\n\n /** Format JSON on blur */\n formatOnBlur?: boolean;\n\n /** Error message shown when JSON is not valid */\n validationError?: React.ReactNode;\n\n /** Function to serialize value into a string, used for value formatting, JSON.stringify by default */\n serialize?: typeof JSON.stringify;\n\n /** Function to deserialize string value, used for value formatting and input JSON validation, must throw error if string cannot be processed, JSON.parse by default */\n deserialize?: typeof JSON.parse;\n}\n\nconst defaultProps: Partial<JsonInputProps> = {\n formatOnBlur: false,\n size: 'sm',\n serialize: JSON.stringify,\n deserialize: JSON.parse,\n};\n\nexport const JsonInput = forwardRef<HTMLTextAreaElement, JsonInputProps>((props, ref) => {\n const {\n value,\n defaultValue,\n onChange,\n onFocus,\n onBlur,\n error,\n formatOnBlur,\n size,\n validationError,\n classNames,\n unstyled,\n readOnly,\n variant,\n serialize,\n deserialize,\n ...others\n } = useComponentDefaultProps('JsonInput', defaultProps, props);\n\n const { classes, cx } = useStyles(null, { name: 'JsonInput', unstyled, size, variant });\n const [_value, setValue] = useUncontrolled({\n value,\n defaultValue,\n finalValue: '',\n onChange,\n });\n\n const [valid, setValid] = useState(validateJson(_value, deserialize));\n\n const handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onFocus === 'function' && onFocus(event);\n setValid(true);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n typeof onBlur === 'function' && onBlur(event);\n const isValid = validateJson(event.currentTarget.value, deserialize);\n formatOnBlur &&\n !readOnly &&\n isValid &&\n event.currentTarget.value.trim() !== '' &&\n setValue(serialize(deserialize(event.currentTarget.value), null, 2));\n setValid(isValid);\n };\n\n return (\n <Textarea\n value={_value}\n onChange={(event) => setValue(event.currentTarget.value)}\n onFocus={handleFocus}\n onBlur={handleBlur}\n error={valid ? error : validationError || true}\n __staticSelector=\"JsonInput\"\n classNames={{ ...classNames, input: cx(classes.input, classNames?.input) }}\n autoComplete=\"off\"\n ref={ref}\n unstyled={unstyled}\n readOnly={readOnly}\n size={size}\n variant={variant}\n {...others}\n />\n );\n});\n\nJsonInput.displayName = '@mantine/core/JsonInput';\n"],"names":[],"mappings":"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"}
@@ -237,7 +237,7 @@ const MultiSelect = forwardRef((props, ref) => {
237
237
  const itemsRefs = useRef({});
238
238
  const uuid = useId(id);
239
239
  const [dropdownOpened, setDropdownOpened] = useState(initiallyOpened);
240
- const [hovered, setHovered] = useState(-1);
240
+ const [_hovered, setHovered] = useState(-1);
241
241
  const [direction, setDirection] = useState("column");
242
242
  const [_searchValue, handleSearchChange] = useUncontrolled({
243
243
  value: searchValue,
@@ -289,6 +289,7 @@ const MultiSelect = forwardRef((props, ref) => {
289
289
  value: _value,
290
290
  disableSelectedItemFiltering
291
291
  });
292
+ const hovered = Math.min(_hovered, filteredData.length - 1);
292
293
  const getNextIndex = (index, nextItem, compareFn) => {
293
294
  let i = index;
294
295
  while (compareFn(i)) {
@@ -339,9 +340,6 @@ const MultiSelect = forwardRef((props, ref) => {
339
340
  valuesOverflow.current = true;
340
341
  setDropdownOpened(false);
341
342
  }
342
- if (hovered === filteredData.length - 1) {
343
- setHovered(filteredData.length - 2);
344
- }
345
343
  if (filteredData.length === 1) {
346
344
  setDropdownOpened(false);
347
345
  }