@mantine/core 7.15.3 → 7.16.0

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 (133) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.cjs +19 -0
  2. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  3. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs +1 -0
  4. package/cjs/components/Checkbox/CheckboxGroup/CheckboxGroup.cjs.map +1 -1
  5. package/cjs/components/CloseButton/CloseButton.cjs +2 -1
  6. package/cjs/components/CloseButton/CloseButton.cjs.map +1 -1
  7. package/cjs/components/ColorInput/ColorInput.cjs +1 -0
  8. package/cjs/components/ColorInput/ColorInput.cjs.map +1 -1
  9. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs +18 -5
  10. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  11. package/cjs/components/FileInput/FileInput.cjs +1 -0
  12. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  13. package/cjs/components/InlineInput/InlineInput.cjs +1 -0
  14. package/cjs/components/InlineInput/InlineInput.cjs.map +1 -1
  15. package/cjs/components/Input/Input.cjs +11 -4
  16. package/cjs/components/Input/Input.cjs.map +1 -1
  17. package/cjs/components/Input/Input.context.cjs +23 -0
  18. package/cjs/components/Input/Input.context.cjs.map +1 -0
  19. package/cjs/components/Input/InputClearButton/InputClearButton.cjs +48 -0
  20. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -0
  21. package/cjs/components/InputBase/InputBase.cjs +1 -0
  22. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  23. package/cjs/components/InputsGroupFieldset/InputsGroupFieldset.cjs +1 -0
  24. package/cjs/components/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  25. package/cjs/components/MultiSelect/MultiSelect.cjs +5 -3
  26. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  27. package/cjs/components/Pagination/Pagination.cjs +3 -1
  28. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  29. package/cjs/components/PasswordInput/PasswordInput.cjs +1 -0
  30. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  31. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs +1 -0
  32. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  33. package/cjs/components/PinInput/PinInput.cjs +1 -0
  34. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  35. package/cjs/components/Popover/Popover.cjs +30 -2
  36. package/cjs/components/Popover/Popover.cjs.map +1 -1
  37. package/cjs/components/Popover/Popover.module.css.cjs +1 -1
  38. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs +1 -0
  39. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  40. package/cjs/components/Select/Select.cjs +8 -3
  41. package/cjs/components/Select/Select.cjs.map +1 -1
  42. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +75 -59
  43. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  44. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs +1 -1
  45. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
  46. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs +1 -0
  47. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  48. package/cjs/components/TableOfContents/TableOfContents.cjs +115 -0
  49. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -0
  50. package/cjs/components/TableOfContents/TableOfContents.module.css.cjs +7 -0
  51. package/cjs/components/TableOfContents/TableOfContents.module.css.cjs.map +1 -0
  52. package/cjs/components/TagsInput/TagsInput.cjs +4 -3
  53. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  54. package/cjs/index.cjs +4 -0
  55. package/cjs/index.cjs.map +1 -1
  56. package/esm/components/Autocomplete/Autocomplete.mjs +20 -1
  57. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  58. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs +1 -0
  59. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  60. package/esm/components/CloseButton/CloseButton.mjs +2 -1
  61. package/esm/components/CloseButton/CloseButton.mjs.map +1 -1
  62. package/esm/components/ColorInput/ColorInput.mjs +1 -0
  63. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  64. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs +18 -5
  65. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
  66. package/esm/components/FileInput/FileInput.mjs +1 -0
  67. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  68. package/esm/components/InlineInput/InlineInput.mjs +1 -0
  69. package/esm/components/InlineInput/InlineInput.mjs.map +1 -1
  70. package/esm/components/Input/Input.context.mjs +20 -0
  71. package/esm/components/Input/Input.context.mjs.map +1 -0
  72. package/esm/components/Input/Input.mjs +12 -5
  73. package/esm/components/Input/Input.mjs.map +1 -1
  74. package/esm/components/Input/InputClearButton/InputClearButton.mjs +46 -0
  75. package/esm/components/Input/InputClearButton/InputClearButton.mjs.map +1 -0
  76. package/esm/components/InputBase/InputBase.mjs +1 -0
  77. package/esm/components/InputBase/InputBase.mjs.map +1 -1
  78. package/esm/components/InputsGroupFieldset/InputsGroupFieldset.mjs +1 -0
  79. package/esm/components/InputsGroupFieldset/InputsGroupFieldset.mjs.map +1 -1
  80. package/esm/components/MultiSelect/MultiSelect.mjs +5 -3
  81. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  82. package/esm/components/Pagination/Pagination.mjs +3 -1
  83. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  84. package/esm/components/PasswordInput/PasswordInput.mjs +1 -0
  85. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  86. package/esm/components/PillsInput/PillsInputField/PillsInputField.mjs +1 -0
  87. package/esm/components/PillsInput/PillsInputField/PillsInputField.mjs.map +1 -1
  88. package/esm/components/PinInput/PinInput.mjs +1 -0
  89. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  90. package/esm/components/Popover/Popover.mjs +31 -3
  91. package/esm/components/Popover/Popover.mjs.map +1 -1
  92. package/esm/components/Popover/Popover.module.css.mjs +1 -1
  93. package/esm/components/Radio/RadioGroup/RadioGroup.mjs +1 -0
  94. package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
  95. package/esm/components/Select/Select.mjs +8 -3
  96. package/esm/components/Select/Select.mjs.map +1 -1
  97. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +75 -59
  98. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  99. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs +1 -1
  100. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
  101. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs +1 -0
  102. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
  103. package/esm/components/TableOfContents/TableOfContents.mjs +113 -0
  104. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -0
  105. package/esm/components/TableOfContents/TableOfContents.module.css.mjs +5 -0
  106. package/esm/components/TableOfContents/TableOfContents.module.css.mjs.map +1 -0
  107. package/esm/components/TagsInput/TagsInput.mjs +4 -3
  108. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  109. package/esm/index.mjs +2 -0
  110. package/esm/index.mjs.map +1 -1
  111. package/lib/components/Autocomplete/Autocomplete.d.ts +7 -1
  112. package/lib/components/CloseButton/CloseButton.d.ts +1 -0
  113. package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +3 -4
  114. package/lib/components/Input/Input.context.d.ts +9 -0
  115. package/lib/components/Input/Input.d.ts +12 -0
  116. package/lib/components/Input/InputClearButton/InputClearButton.d.ts +16 -0
  117. package/lib/components/Input/index.d.ts +2 -0
  118. package/lib/components/MultiSelect/MultiSelect.d.ts +2 -3
  119. package/lib/components/Pagination/Pagination.d.ts +2 -0
  120. package/lib/components/Popover/Popover.d.ts +7 -2
  121. package/lib/components/Select/Select.d.ts +2 -3
  122. package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +2 -0
  123. package/lib/components/TableOfContents/TableOfContents.d.ts +58 -0
  124. package/lib/components/TableOfContents/index.d.ts +2 -0
  125. package/lib/components/TagsInput/TagsInput.d.ts +2 -3
  126. package/lib/components/index.d.ts +1 -0
  127. package/package.json +2 -2
  128. package/styles/Popover.css +5 -0
  129. package/styles/Popover.layer.css +5 -0
  130. package/styles/TableOfContents.css +38 -0
  131. package/styles/TableOfContents.layer.css +39 -0
  132. package/styles.css +64 -20
  133. package/styles.layer.css +64 -20
@@ -4,6 +4,7 @@ export { InputDescription } from './InputDescription/InputDescription';
4
4
  export { InputError } from './InputError/InputError';
5
5
  export { InputLabel } from './InputLabel/InputLabel';
6
6
  export { InputPlaceholder } from './InputPlaceholder/InputPlaceholder';
7
+ export { InputClearButton } from './InputClearButton/InputClearButton';
7
8
  export { useInputProps } from './use-input-props';
8
9
  export { useInputWrapperContext } from './InputWrapper.context';
9
10
  export type { __InputProps, __BaseInputProps, __InputStylesNames, InputCssVariables, InputFactory, InputProps, InputStylesNames, InputVariant, } from './Input';
@@ -12,3 +13,4 @@ export type { InputDescriptionCssVariables, InputDescriptionFactory, InputDescri
12
13
  export type { InputErrorCssVariables, InputErrorFactory, InputErrorProps, InputErrorStylesNames, } from './InputError/InputError';
13
14
  export type { InputLabelCssVariables, InputLabelFactory, InputLabelProps, InputLabelStylesNames, } from './InputLabel/InputLabel';
14
15
  export type { InputPlaceholderFactory, InputPlaceholderProps, InputPlaceholderStylesNames, } from './InputPlaceholder/InputPlaceholder';
16
+ export type { InputClearButtonFactory, InputClearButtonProps, } from './InputClearButton/InputClearButton';
@@ -1,7 +1,6 @@
1
1
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
- import { __CloseButtonProps } from '../CloseButton';
3
2
  import { ComboboxItem, ComboboxLikeProps, ComboboxLikeRenderOptionInput, ComboboxLikeStylesNames } from '../Combobox';
4
- import { __BaseInputProps, __InputStylesNames } from '../Input';
3
+ import { __BaseInputProps, __InputStylesNames, InputClearButtonProps } from '../Input';
5
4
  import { ScrollAreaProps } from '../ScrollArea';
6
5
  export type MultiSelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames | 'pill' | 'pillsList' | 'inputField';
7
6
  export interface MultiSelectProps extends BoxProps, __BaseInputProps, ComboboxLikeProps, StylesApiProps<MultiSelectFactory>, ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {
@@ -36,7 +35,7 @@ export interface MultiSelectProps extends BoxProps, __BaseInputProps, ComboboxLi
36
35
  /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */
37
36
  clearable?: boolean;
38
37
  /** Props passed down to the clear button */
39
- clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;
38
+ clearButtonProps?: InputClearButtonProps & ElementProps<'button'>;
40
39
  /** Props passed down to the hidden input */
41
40
  hiddenInputProps?: Omit<React.ComponentPropsWithoutRef<'input'>, 'value'>;
42
41
  /** Divider used to separate values in the hidden input `value` attribute, `','` by default */
@@ -28,6 +28,8 @@ export interface PaginationProps extends PaginationRootProps {
28
28
  gap?: MantineSize | (string & {}) | number;
29
29
  /** Determines whether the pagination should be hidden when only one page is available (`total={1}`), `false` by default */
30
30
  hideWithOnePage?: boolean;
31
+ /** Determines whether pages controls should be displayed, `true` by default */
32
+ withPages?: boolean;
31
33
  }
32
34
  export type PaginationFactory = Factory<{
33
35
  props: PaginationProps;
@@ -1,9 +1,10 @@
1
- import { ExtendComponent, Factory, MantineRadius, MantineShadow, StylesApiProps } from '../../core';
1
+ import { ElementProps, ExtendComponent, Factory, MantineRadius, MantineShadow, StylesApiProps } from '../../core';
2
2
  import { ArrowPosition, FloatingAxesOffsets, FloatingPosition, FloatingStrategy } from '../Floating';
3
+ import { OverlayProps } from '../Overlay';
3
4
  import { PortalProps } from '../Portal';
4
5
  import { TransitionOverride } from '../Transition';
5
6
  import { PopoverMiddlewares, PopoverWidth } from './Popover.types';
6
- export type PopoverStylesNames = 'dropdown' | 'arrow';
7
+ export type PopoverStylesNames = 'dropdown' | 'arrow' | 'overlay';
7
8
  export type PopoverCssVariables = {
8
9
  dropdown: '--popover-radius' | '--popover-shadow';
9
10
  };
@@ -34,6 +35,10 @@ export interface __PopoverProps {
34
35
  middlewares?: PopoverMiddlewares;
35
36
  /** Determines whether component should have an arrow, `false` by default */
36
37
  withArrow?: boolean;
38
+ /** Determines whether the overlay should be displayed when the dropdown is opened, `false` by default */
39
+ withOverlay?: boolean;
40
+ /** Props passed down to `Overlay` component */
41
+ overlayProps?: OverlayProps & ElementProps<'div'>;
37
42
  /** Arrow size in px, `7` by default */
38
43
  arrowSize?: number;
39
44
  /** Arrow offset in px, `5` by default */
@@ -1,7 +1,6 @@
1
1
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
- import { __CloseButtonProps } from '../CloseButton';
3
2
  import { ComboboxItem, ComboboxLikeProps, ComboboxLikeRenderOptionInput, ComboboxLikeStylesNames } from '../Combobox';
4
- import { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';
3
+ import { __BaseInputProps, __InputStylesNames, InputClearButtonProps, InputVariant } from '../Input';
5
4
  import { ScrollAreaProps } from '../ScrollArea';
6
5
  export type SelectStylesNames = __InputStylesNames | ComboboxLikeStylesNames;
7
6
  export interface SelectProps extends BoxProps, __BaseInputProps, ComboboxLikeProps, StylesApiProps<SelectFactory>, ElementProps<'input', 'onChange' | 'size' | 'value' | 'defaultValue'> {
@@ -32,7 +31,7 @@ export interface SelectProps extends BoxProps, __BaseInputProps, ComboboxLikePro
32
31
  /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */
33
32
  clearable?: boolean;
34
33
  /** Props passed down to the clear button */
35
- clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;
34
+ clearButtonProps?: InputClearButtonProps & ElementProps<'button'>;
36
35
  /** Props passed down to the hidden input */
37
36
  hiddenInputProps?: Omit<React.ComponentPropsWithoutRef<'input'>, 'value'>;
38
37
  /** A function to render content of the option, replaces the default content of the option */
@@ -60,6 +60,8 @@ export interface RangeSliderProps extends BoxProps, StylesApiProps<RangeSliderFa
60
60
  thumbToLabel?: string;
61
61
  /** Props passed down to the hidden input */
62
62
  hiddenInputProps?: React.ComponentPropsWithoutRef<'input'>;
63
+ /** Determines whether the selection should be only allowed from the given marks array, `false` by default */
64
+ restrictToMarks?: boolean;
63
65
  /** Props passed down to thumb element based on the thumb index */
64
66
  thumbProps?: (index: 0 | 1) => React.ComponentPropsWithoutRef<'div'>;
65
67
  }
@@ -0,0 +1,58 @@
1
+ import { UseScrollSpyHeadingData, UseScrollSpyOptions } from '@mantine/hooks';
2
+ import { BoxProps, ElementProps, Factory, MantineColor, MantineRadius, MantineSize, StylesApiProps } from '../../core';
3
+ import { UnstyledButtonProps } from '../UnstyledButton';
4
+ export type TableOfContentsStylesNames = 'root' | 'control';
5
+ export type TableOfContentsVariant = 'filled' | 'light' | 'none';
6
+ export type TableOfContentsCssVariables = {
7
+ root: '--toc-bg' | '--toc-color' | '--toc-size' | '--toc-depth-offset' | '--toc-radius';
8
+ };
9
+ export interface InitialTableOfContentsData {
10
+ /** Heading depth, 1-6 */
11
+ depth: number;
12
+ /** Heading text content value */
13
+ value: string;
14
+ /** Heading id, must be unique, used as `key` */
15
+ id?: string;
16
+ }
17
+ export interface TableOfContentsGetControlPropsPayload {
18
+ /** True if the associated heading is currently the best match in the viewport */
19
+ active: boolean;
20
+ /** Data passed down from `use-scroll-spy` hook: depth, id, value */
21
+ data: UseScrollSpyHeadingData;
22
+ }
23
+ export interface TableOfContentsProps extends BoxProps, StylesApiProps<TableOfContentsFactory>, ElementProps<'div'> {
24
+ /** Key of `theme.colors` or any valid CSS color value, `theme.primaryColor` by default */
25
+ color?: MantineColor;
26
+ /** Controls font-size and padding of all elements, `'md'` by default */
27
+ size?: MantineSize | (string & {}) | number;
28
+ /** Determines whether text color with filled variant should depend on `background-color`. If luminosity of the `color` prop is less than `theme.luminosityThreshold`, then `theme.white` will be used for text color, otherwise `theme.black`. Overrides `theme.autoContrast`. */
29
+ autoContrast?: boolean;
30
+ /** Options passed down to `use-scroll-spy` hook */
31
+ scrollSpyOptions?: UseScrollSpyOptions;
32
+ /** Data used to render content until actual values are retrieved from the DOM, empty array by default */
33
+ initialData?: InitialTableOfContentsData[];
34
+ /** A function to pass props down to controls, accepts values from `use-scroll-spy` hook as an argument and active state. */
35
+ getControlProps?: (payload: TableOfContentsGetControlPropsPayload) => UnstyledButtonProps & ElementProps<'button'> & Record<`data-${string}`, any>;
36
+ /** Minimum `depth` value that requires offset, `1` by default */
37
+ minDepthToOffset?: number;
38
+ /** Controls padding on the left side of control, multiplied by (`depth` - `minDepthToOffset`), `20px` by default */
39
+ depthOffset?: number | string;
40
+ /** Key of `theme.radius` or any valid CSS value to set `border-radius`, `theme.defaultRadius` by default */
41
+ radius?: MantineRadius;
42
+ /** A function to reinitialize headings from `use-scroll-spy` hook */
43
+ reinitializeRef?: React.RefObject<() => void>;
44
+ }
45
+ export type TableOfContentsFactory = Factory<{
46
+ props: TableOfContentsProps;
47
+ ref: HTMLDivElement;
48
+ stylesNames: TableOfContentsStylesNames;
49
+ vars: TableOfContentsCssVariables;
50
+ variant: TableOfContentsVariant;
51
+ }>;
52
+ export declare const TableOfContents: import("../../core").MantineComponent<{
53
+ props: TableOfContentsProps;
54
+ ref: HTMLDivElement;
55
+ stylesNames: TableOfContentsStylesNames;
56
+ vars: TableOfContentsCssVariables;
57
+ variant: TableOfContentsVariant;
58
+ }>;
@@ -0,0 +1,2 @@
1
+ export { TableOfContents } from './TableOfContents';
2
+ export type { TableOfContentsProps, TableOfContentsCssVariables, TableOfContentsFactory, TableOfContentsStylesNames, TableOfContentsVariant, } from './TableOfContents';
@@ -1,7 +1,6 @@
1
1
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
- import { __CloseButtonProps } from '../CloseButton';
3
2
  import { ComboboxLikeProps, ComboboxLikeRenderOptionInput, ComboboxLikeStylesNames, ComboboxStringData, ComboboxStringItem } from '../Combobox';
4
- import { __BaseInputProps, __InputStylesNames } from '../Input';
3
+ import { __BaseInputProps, __InputStylesNames, InputClearButtonProps } from '../Input';
5
4
  import { ScrollAreaProps } from '../ScrollArea';
6
5
  export type TagsInputStylesNames = __InputStylesNames | ComboboxLikeStylesNames | 'pill' | 'pillsList' | 'inputField';
7
6
  export interface TagsInputProps extends BoxProps, __BaseInputProps, Omit<ComboboxLikeProps, 'data'>, StylesApiProps<TagsInputFactory>, ElementProps<'input', 'size' | 'value' | 'defaultValue' | 'onChange'> {
@@ -34,7 +33,7 @@ export interface TagsInputProps extends BoxProps, __BaseInputProps, Omit<Combobo
34
33
  /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */
35
34
  clearable?: boolean;
36
35
  /** Props passed down to the clear button */
37
- clearButtonProps?: __CloseButtonProps & ElementProps<'button'>;
36
+ clearButtonProps?: InputClearButtonProps & ElementProps<'button'>;
38
37
  /** Props passed down to the hidden input */
39
38
  hiddenInputProps?: Omit<React.ComponentPropsWithoutRef<'input'>, 'value'>;
40
39
  /** Divider used to separate values in the hidden input `value` attribute, `','` by default */
@@ -88,6 +88,7 @@ export * from './Stack';
88
88
  export * from './Stepper';
89
89
  export * from './Switch';
90
90
  export * from './Table';
91
+ export * from './TableOfContents';
91
92
  export * from './Tabs';
92
93
  export * from './TagsInput';
93
94
  export * from './Text';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/core",
3
- "version": "7.15.3",
3
+ "version": "7.16.0",
4
4
  "description": "React components library focused on usability, accessibility and developer experience",
5
5
  "homepage": "https://mantine.dev/",
6
6
  "license": "MIT",
@@ -43,7 +43,7 @@
43
43
  "directory": "packages/@mantine/core"
44
44
  },
45
45
  "peerDependencies": {
46
- "@mantine/hooks": "7.15.3",
46
+ "@mantine/hooks": "7.16.0",
47
47
  "react": "^18.x || ^19.x",
48
48
  "react-dom": "^18.x || ^19.x"
49
49
  },
@@ -29,3 +29,8 @@
29
29
  border: 1px solid var(--popover-border-color);
30
30
  z-index: 1;
31
31
  }
32
+
33
+ .m_3d7bc908 {
34
+ position: fixed;
35
+ inset: 0;
36
+ }
@@ -29,4 +29,9 @@
29
29
  border: 1px solid var(--popover-border-color);
30
30
  z-index: 1;
31
31
  }
32
+
33
+ .m_3d7bc908 {
34
+ position: fixed;
35
+ inset: 0;
36
+ }
32
37
  }
@@ -0,0 +1,38 @@
1
+ .m_bcaa9990 {
2
+ display: flex;
3
+ flex-direction: column;
4
+ --toc-depth-offset: 0.8em;
5
+ }
6
+
7
+ .m_375a65ef {
8
+ display: block;
9
+ padding: 0.3em 0.8em;
10
+ font-size: var(--toc-size, var(--mantine-font-size-md));
11
+ border-radius: var(--toc-radius, var(--mantine-radius-default));
12
+ padding-left: max(calc(var(--depth-offset) * var(--toc-depth-offset)), 0.8em);
13
+ }
14
+
15
+ @media (hover: hover) {
16
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
17
+ background-color: var(--mantine-color-gray-1);
18
+ }
19
+
20
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
21
+ background-color: var(--mantine-color-dark-5);
22
+ }
23
+ }
24
+
25
+ @media (hover: none) {
26
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
27
+ background-color: var(--mantine-color-gray-1);
28
+ }
29
+
30
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
31
+ background-color: var(--mantine-color-dark-5);
32
+ }
33
+ }
34
+
35
+ .m_375a65ef:where([data-active]) {
36
+ background-color: var(--toc-bg);
37
+ color: var(--toc-color);
38
+ }
@@ -0,0 +1,39 @@
1
+ @layer mantine {.m_bcaa9990 {
2
+ display: flex;
3
+ flex-direction: column;
4
+ --toc-depth-offset: 0.8em;
5
+ }
6
+
7
+ .m_375a65ef {
8
+ display: block;
9
+ padding: 0.3em 0.8em;
10
+ font-size: var(--toc-size, var(--mantine-font-size-md));
11
+ border-radius: var(--toc-radius, var(--mantine-radius-default));
12
+ padding-left: max(calc(var(--depth-offset) * var(--toc-depth-offset)), 0.8em);
13
+ }
14
+
15
+ @media (hover: hover) {
16
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
17
+ background-color: var(--mantine-color-gray-1);
18
+ }
19
+
20
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
21
+ background-color: var(--mantine-color-dark-5);
22
+ }
23
+ }
24
+
25
+ @media (hover: none) {
26
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
27
+ background-color: var(--mantine-color-gray-1);
28
+ }
29
+
30
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
31
+ background-color: var(--mantine-color-dark-5);
32
+ }
33
+ }
34
+
35
+ .m_375a65ef:where([data-active]) {
36
+ background-color: var(--toc-bg);
37
+ color: var(--toc-color);
38
+ }
39
+ }
package/styles.css CHANGED
@@ -794,6 +794,26 @@ fieldset:disabled .mantine-active:active {
794
794
  border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4);
795
795
  }
796
796
 
797
+ .m_9814e45f {
798
+ inset: 0;
799
+ position: absolute;
800
+ background: var(--overlay-bg, rgba(0, 0, 0, 0.6));
801
+ backdrop-filter: var(--overlay-filter);
802
+ -webkit-backdrop-filter: var(--overlay-filter);
803
+ border-radius: var(--overlay-radius, 0);
804
+ z-index: var(--overlay-z-index);
805
+ }
806
+
807
+ .m_9814e45f:where([data-fixed]) {
808
+ position: fixed;
809
+ }
810
+
811
+ .m_9814e45f:where([data-center]) {
812
+ display: flex;
813
+ align-items: center;
814
+ justify-content: center;
815
+ }
816
+
797
817
  .m_38a85659 {
798
818
  position: absolute;
799
819
  border: 1px solid var(--popover-border-color);
@@ -826,6 +846,11 @@ fieldset:disabled .mantine-active:active {
826
846
  z-index: 1;
827
847
  }
828
848
 
849
+ .m_3d7bc908 {
850
+ position: fixed;
851
+ inset: 0;
852
+ }
853
+
829
854
  .m_5ae2e3c {
830
855
  --loader-size-xs: calc(1.125rem * var(--mantine-scale));
831
856
  --loader-size-sm: calc(1.375rem * var(--mantine-scale));
@@ -1211,26 +1236,6 @@ fieldset:disabled .mantine-active:active {
1211
1236
  max-width: var(--group-child-width);
1212
1237
  }
1213
1238
 
1214
- .m_9814e45f {
1215
- inset: 0;
1216
- position: absolute;
1217
- background: var(--overlay-bg, rgba(0, 0, 0, 0.6));
1218
- backdrop-filter: var(--overlay-filter);
1219
- -webkit-backdrop-filter: var(--overlay-filter);
1220
- border-radius: var(--overlay-radius, 0);
1221
- z-index: var(--overlay-z-index);
1222
- }
1223
-
1224
- .m_9814e45f:where([data-fixed]) {
1225
- position: fixed;
1226
- }
1227
-
1228
- .m_9814e45f:where([data-center]) {
1229
- display: flex;
1230
- align-items: center;
1231
- justify-content: center;
1232
- }
1233
-
1234
1239
  .m_615af6c9 {
1235
1240
  line-height: 1;
1236
1241
  padding: 0;
@@ -6763,6 +6768,45 @@ fieldset:disabled .m_c9ade57f:where([data-inverted]),
6763
6768
  min-width: var(--table-min-width);
6764
6769
  }
6765
6770
 
6771
+ .m_bcaa9990 {
6772
+ display: flex;
6773
+ flex-direction: column;
6774
+ --toc-depth-offset: 0.8em;
6775
+ }
6776
+
6777
+ .m_375a65ef {
6778
+ display: block;
6779
+ padding: 0.3em 0.8em;
6780
+ font-size: var(--toc-size, var(--mantine-font-size-md));
6781
+ border-radius: var(--toc-radius, var(--mantine-radius-default));
6782
+ padding-left: max(calc(var(--depth-offset) * var(--toc-depth-offset)), 0.8em);
6783
+ }
6784
+
6785
+ @media (hover: hover) {
6786
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
6787
+ background-color: var(--mantine-color-gray-1);
6788
+ }
6789
+
6790
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
6791
+ background-color: var(--mantine-color-dark-5);
6792
+ }
6793
+ }
6794
+
6795
+ @media (hover: none) {
6796
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
6797
+ background-color: var(--mantine-color-gray-1);
6798
+ }
6799
+
6800
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
6801
+ background-color: var(--mantine-color-dark-5);
6802
+ }
6803
+ }
6804
+
6805
+ .m_375a65ef:where([data-active]) {
6806
+ background-color: var(--toc-bg);
6807
+ color: var(--toc-color);
6808
+ }
6809
+
6766
6810
  .m_89d60db1 {
6767
6811
  display: var(--tabs-display);
6768
6812
  flex-direction: var(--tabs-flex-direction);
package/styles.layer.css CHANGED
@@ -794,6 +794,26 @@ fieldset:disabled .mantine-active:active {
794
794
  border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4);
795
795
  }
796
796
 
797
+ .m_9814e45f {
798
+ inset: 0;
799
+ position: absolute;
800
+ background: var(--overlay-bg, rgba(0, 0, 0, 0.6));
801
+ backdrop-filter: var(--overlay-filter);
802
+ -webkit-backdrop-filter: var(--overlay-filter);
803
+ border-radius: var(--overlay-radius, 0);
804
+ z-index: var(--overlay-z-index);
805
+ }
806
+
807
+ .m_9814e45f:where([data-fixed]) {
808
+ position: fixed;
809
+ }
810
+
811
+ .m_9814e45f:where([data-center]) {
812
+ display: flex;
813
+ align-items: center;
814
+ justify-content: center;
815
+ }
816
+
797
817
  .m_38a85659 {
798
818
  position: absolute;
799
819
  border: 1px solid var(--popover-border-color);
@@ -826,6 +846,11 @@ fieldset:disabled .mantine-active:active {
826
846
  z-index: 1;
827
847
  }
828
848
 
849
+ .m_3d7bc908 {
850
+ position: fixed;
851
+ inset: 0;
852
+ }
853
+
829
854
  .m_5ae2e3c {
830
855
  --loader-size-xs: calc(1.125rem * var(--mantine-scale));
831
856
  --loader-size-sm: calc(1.375rem * var(--mantine-scale));
@@ -1211,26 +1236,6 @@ fieldset:disabled .mantine-active:active {
1211
1236
  max-width: var(--group-child-width);
1212
1237
  }
1213
1238
 
1214
- .m_9814e45f {
1215
- inset: 0;
1216
- position: absolute;
1217
- background: var(--overlay-bg, rgba(0, 0, 0, 0.6));
1218
- backdrop-filter: var(--overlay-filter);
1219
- -webkit-backdrop-filter: var(--overlay-filter);
1220
- border-radius: var(--overlay-radius, 0);
1221
- z-index: var(--overlay-z-index);
1222
- }
1223
-
1224
- .m_9814e45f:where([data-fixed]) {
1225
- position: fixed;
1226
- }
1227
-
1228
- .m_9814e45f:where([data-center]) {
1229
- display: flex;
1230
- align-items: center;
1231
- justify-content: center;
1232
- }
1233
-
1234
1239
  .m_615af6c9 {
1235
1240
  line-height: 1;
1236
1241
  padding: 0;
@@ -6763,6 +6768,45 @@ fieldset:disabled .m_c9ade57f:where([data-inverted]),
6763
6768
  min-width: var(--table-min-width);
6764
6769
  }
6765
6770
 
6771
+ .m_bcaa9990 {
6772
+ display: flex;
6773
+ flex-direction: column;
6774
+ --toc-depth-offset: 0.8em;
6775
+ }
6776
+
6777
+ .m_375a65ef {
6778
+ display: block;
6779
+ padding: 0.3em 0.8em;
6780
+ font-size: var(--toc-size, var(--mantine-font-size-md));
6781
+ border-radius: var(--toc-radius, var(--mantine-radius-default));
6782
+ padding-left: max(calc(var(--depth-offset) * var(--toc-depth-offset)), 0.8em);
6783
+ }
6784
+
6785
+ @media (hover: hover) {
6786
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
6787
+ background-color: var(--mantine-color-gray-1);
6788
+ }
6789
+
6790
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:hover):where(:not([data-variant='none'])) {
6791
+ background-color: var(--mantine-color-dark-5);
6792
+ }
6793
+ }
6794
+
6795
+ @media (hover: none) {
6796
+ :where([data-mantine-color-scheme='light']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
6797
+ background-color: var(--mantine-color-gray-1);
6798
+ }
6799
+
6800
+ :where([data-mantine-color-scheme='dark']) .m_375a65ef:where(:active):where(:not([data-variant='none'])) {
6801
+ background-color: var(--mantine-color-dark-5);
6802
+ }
6803
+ }
6804
+
6805
+ .m_375a65ef:where([data-active]) {
6806
+ background-color: var(--toc-bg);
6807
+ color: var(--toc-color);
6808
+ }
6809
+
6766
6810
  .m_89d60db1 {
6767
6811
  display: var(--tabs-display);
6768
6812
  flex-direction: var(--tabs-flex-direction);