@mantine/core 7.15.3 → 7.16.1

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 (178) 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/ComboboxChevron/ComboboxChevron.cjs +4 -2
  10. package/cjs/components/Combobox/ComboboxChevron/ComboboxChevron.cjs.map +1 -1
  11. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs +18 -5
  12. package/cjs/components/Combobox/ComboboxClearButton/ComboboxClearButton.cjs.map +1 -1
  13. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs +1 -1
  14. package/cjs/components/Combobox/use-combobox-target-props/use-combobox-target-props.cjs.map +1 -1
  15. package/cjs/components/FileInput/FileInput.cjs +1 -0
  16. package/cjs/components/FileInput/FileInput.cjs.map +1 -1
  17. package/cjs/components/InlineInput/InlineInput.cjs +1 -0
  18. package/cjs/components/InlineInput/InlineInput.cjs.map +1 -1
  19. package/cjs/components/Input/Input.cjs +11 -4
  20. package/cjs/components/Input/Input.cjs.map +1 -1
  21. package/cjs/components/Input/Input.context.cjs +23 -0
  22. package/cjs/components/Input/Input.context.cjs.map +1 -0
  23. package/cjs/components/Input/InputClearButton/InputClearButton.cjs +48 -0
  24. package/cjs/components/Input/InputClearButton/InputClearButton.cjs.map +1 -0
  25. package/cjs/components/InputBase/InputBase.cjs +1 -0
  26. package/cjs/components/InputBase/InputBase.cjs.map +1 -1
  27. package/cjs/components/InputsGroupFieldset/InputsGroupFieldset.cjs +1 -0
  28. package/cjs/components/InputsGroupFieldset/InputsGroupFieldset.cjs.map +1 -1
  29. package/cjs/components/Menu/Menu.cjs +4 -1
  30. package/cjs/components/Menu/Menu.cjs.map +1 -1
  31. package/cjs/components/Menu/Menu.context.cjs.map +1 -1
  32. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs +1 -1
  33. package/cjs/components/Menu/MenuDropdown/MenuDropdown.cjs.map +1 -1
  34. package/cjs/components/Menu/MenuItem/MenuItem.cjs +6 -2
  35. package/cjs/components/Menu/MenuItem/MenuItem.cjs.map +1 -1
  36. package/cjs/components/MultiSelect/MultiSelect.cjs +14 -3
  37. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  38. package/cjs/components/NumberInput/NumberInput.cjs +17 -16
  39. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  40. package/cjs/components/Pagination/Pagination.cjs +3 -1
  41. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  42. package/cjs/components/PasswordInput/PasswordInput.cjs +1 -0
  43. package/cjs/components/PasswordInput/PasswordInput.cjs.map +1 -1
  44. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs +1 -0
  45. package/cjs/components/PillsInput/PillsInputField/PillsInputField.cjs.map +1 -1
  46. package/cjs/components/PinInput/PinInput.cjs +1 -0
  47. package/cjs/components/PinInput/PinInput.cjs.map +1 -1
  48. package/cjs/components/Popover/Popover.cjs +30 -2
  49. package/cjs/components/Popover/Popover.cjs.map +1 -1
  50. package/cjs/components/Popover/Popover.module.css.cjs +1 -1
  51. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs +1 -0
  52. package/cjs/components/Radio/RadioGroup/RadioGroup.cjs.map +1 -1
  53. package/cjs/components/Select/Select.cjs +17 -3
  54. package/cjs/components/Select/Select.cjs.map +1 -1
  55. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +76 -60
  56. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  57. package/cjs/components/Slider/Slider/Slider.cjs +1 -1
  58. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  59. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs +1 -1
  60. package/cjs/components/Slider/utils/get-step-mark-value/get-step-mark-value.cjs.map +1 -1
  61. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs +1 -0
  62. package/cjs/components/Switch/SwitchGroup/SwitchGroup.cjs.map +1 -1
  63. package/cjs/components/TableOfContents/TableOfContents.cjs +115 -0
  64. package/cjs/components/TableOfContents/TableOfContents.cjs.map +1 -0
  65. package/cjs/components/TableOfContents/TableOfContents.module.css.cjs +7 -0
  66. package/cjs/components/TableOfContents/TableOfContents.module.css.cjs.map +1 -0
  67. package/cjs/components/TagsInput/TagsInput.cjs +4 -3
  68. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  69. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs +1 -1
  70. package/cjs/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.cjs.map +1 -1
  71. package/cjs/index.cjs +4 -0
  72. package/cjs/index.cjs.map +1 -1
  73. package/esm/components/Autocomplete/Autocomplete.mjs +20 -1
  74. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  75. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs +1 -0
  76. package/esm/components/Checkbox/CheckboxGroup/CheckboxGroup.mjs.map +1 -1
  77. package/esm/components/CloseButton/CloseButton.mjs +2 -1
  78. package/esm/components/CloseButton/CloseButton.mjs.map +1 -1
  79. package/esm/components/ColorInput/ColorInput.mjs +1 -0
  80. package/esm/components/ColorInput/ColorInput.mjs.map +1 -1
  81. package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs +4 -2
  82. package/esm/components/Combobox/ComboboxChevron/ComboboxChevron.mjs.map +1 -1
  83. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs +18 -5
  84. package/esm/components/Combobox/ComboboxClearButton/ComboboxClearButton.mjs.map +1 -1
  85. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs +1 -1
  86. package/esm/components/Combobox/use-combobox-target-props/use-combobox-target-props.mjs.map +1 -1
  87. package/esm/components/FileInput/FileInput.mjs +1 -0
  88. package/esm/components/FileInput/FileInput.mjs.map +1 -1
  89. package/esm/components/InlineInput/InlineInput.mjs +1 -0
  90. package/esm/components/InlineInput/InlineInput.mjs.map +1 -1
  91. package/esm/components/Input/Input.context.mjs +20 -0
  92. package/esm/components/Input/Input.context.mjs.map +1 -0
  93. package/esm/components/Input/Input.mjs +12 -5
  94. package/esm/components/Input/Input.mjs.map +1 -1
  95. package/esm/components/Input/InputClearButton/InputClearButton.mjs +46 -0
  96. package/esm/components/Input/InputClearButton/InputClearButton.mjs.map +1 -0
  97. package/esm/components/InputBase/InputBase.mjs +1 -0
  98. package/esm/components/InputBase/InputBase.mjs.map +1 -1
  99. package/esm/components/InputsGroupFieldset/InputsGroupFieldset.mjs +1 -0
  100. package/esm/components/InputsGroupFieldset/InputsGroupFieldset.mjs.map +1 -1
  101. package/esm/components/Menu/Menu.context.mjs.map +1 -1
  102. package/esm/components/Menu/Menu.mjs +4 -1
  103. package/esm/components/Menu/Menu.mjs.map +1 -1
  104. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs +1 -1
  105. package/esm/components/Menu/MenuDropdown/MenuDropdown.mjs.map +1 -1
  106. package/esm/components/Menu/MenuItem/MenuItem.mjs +6 -2
  107. package/esm/components/Menu/MenuItem/MenuItem.mjs.map +1 -1
  108. package/esm/components/MultiSelect/MultiSelect.mjs +14 -3
  109. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  110. package/esm/components/NumberInput/NumberInput.mjs +17 -16
  111. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  112. package/esm/components/Pagination/Pagination.mjs +3 -1
  113. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  114. package/esm/components/PasswordInput/PasswordInput.mjs +1 -0
  115. package/esm/components/PasswordInput/PasswordInput.mjs.map +1 -1
  116. package/esm/components/PillsInput/PillsInputField/PillsInputField.mjs +1 -0
  117. package/esm/components/PillsInput/PillsInputField/PillsInputField.mjs.map +1 -1
  118. package/esm/components/PinInput/PinInput.mjs +1 -0
  119. package/esm/components/PinInput/PinInput.mjs.map +1 -1
  120. package/esm/components/Popover/Popover.mjs +31 -3
  121. package/esm/components/Popover/Popover.mjs.map +1 -1
  122. package/esm/components/Popover/Popover.module.css.mjs +1 -1
  123. package/esm/components/Radio/RadioGroup/RadioGroup.mjs +1 -0
  124. package/esm/components/Radio/RadioGroup/RadioGroup.mjs.map +1 -1
  125. package/esm/components/Select/Select.mjs +17 -3
  126. package/esm/components/Select/Select.mjs.map +1 -1
  127. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +76 -60
  128. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  129. package/esm/components/Slider/Slider/Slider.mjs +1 -1
  130. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  131. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs +1 -1
  132. package/esm/components/Slider/utils/get-step-mark-value/get-step-mark-value.mjs.map +1 -1
  133. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs +1 -0
  134. package/esm/components/Switch/SwitchGroup/SwitchGroup.mjs.map +1 -1
  135. package/esm/components/TableOfContents/TableOfContents.mjs +113 -0
  136. package/esm/components/TableOfContents/TableOfContents.mjs.map +1 -0
  137. package/esm/components/TableOfContents/TableOfContents.module.css.mjs +5 -0
  138. package/esm/components/TableOfContents/TableOfContents.module.css.mjs.map +1 -0
  139. package/esm/components/TagsInput/TagsInput.mjs +4 -3
  140. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  141. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs +1 -1
  142. package/esm/core/MantineProvider/use-mantine-color-scheme/use-provider-color-scheme.mjs.map +1 -1
  143. package/esm/index.mjs +2 -0
  144. package/esm/index.mjs.map +1 -1
  145. package/lib/components/Autocomplete/Autocomplete.d.ts +7 -1
  146. package/lib/components/CloseButton/CloseButton.d.ts +1 -0
  147. package/lib/components/Combobox/ComboboxChevron/ComboboxChevron.d.ts +3 -2
  148. package/lib/components/Combobox/ComboboxClearButton/ComboboxClearButton.d.ts +3 -4
  149. package/lib/components/Input/Input.context.d.ts +9 -0
  150. package/lib/components/Input/Input.d.ts +12 -0
  151. package/lib/components/Input/InputClearButton/InputClearButton.d.ts +16 -0
  152. package/lib/components/Input/index.d.ts +2 -0
  153. package/lib/components/Menu/Menu.context.d.ts +1 -0
  154. package/lib/components/Menu/Menu.d.ts +2 -0
  155. package/lib/components/Menu/MenuItem/MenuItem.d.ts +1 -0
  156. package/lib/components/MultiSelect/MultiSelect.d.ts +5 -4
  157. package/lib/components/NumberInput/NumberInput.d.ts +1 -0
  158. package/lib/components/Pagination/Pagination.d.ts +2 -0
  159. package/lib/components/Popover/Popover.d.ts +7 -2
  160. package/lib/components/Select/Select.d.ts +5 -4
  161. package/lib/components/Slider/RangeSlider/RangeSlider.d.ts +2 -0
  162. package/lib/components/TableOfContents/TableOfContents.d.ts +58 -0
  163. package/lib/components/TableOfContents/index.d.ts +2 -0
  164. package/lib/components/TagsInput/TagsInput.d.ts +2 -3
  165. package/lib/components/index.d.ts +1 -0
  166. package/package.json +2 -2
  167. package/styles/Combobox.css +9 -6
  168. package/styles/Combobox.layer.css +9 -6
  169. package/styles/Menu.css +5 -5
  170. package/styles/Menu.layer.css +5 -5
  171. package/styles/Popover.css +5 -0
  172. package/styles/Popover.layer.css +5 -0
  173. package/styles/Table.css +4 -4
  174. package/styles/Table.layer.css +4 -4
  175. package/styles/TableOfContents.css +38 -0
  176. package/styles/TableOfContents.layer.css +39 -0
  177. package/styles.css +82 -35
  178. package/styles.layer.css +82 -35
@@ -1,6 +1,6 @@
1
1
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
2
  import { ComboboxLikeProps, ComboboxLikeRenderOptionInput, ComboboxLikeStylesNames, ComboboxStringData, ComboboxStringItem } from '../Combobox';
3
- import { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';
3
+ import { __BaseInputProps, __InputStylesNames, InputClearButtonProps, InputVariant } from '../Input';
4
4
  import { ScrollAreaProps } from '../ScrollArea';
5
5
  export type AutocompleteStylesNames = __InputStylesNames | ComboboxLikeStylesNames;
6
6
  export interface AutocompleteProps extends BoxProps, __BaseInputProps, Omit<ComboboxLikeProps, 'data'>, StylesApiProps<AutocompleteFactory>, ElementProps<'input', 'onChange' | 'size'> {
@@ -16,6 +16,12 @@ export interface AutocompleteProps extends BoxProps, __BaseInputProps, Omit<Comb
16
16
  renderOption?: (input: ComboboxLikeRenderOptionInput<ComboboxStringItem>) => React.ReactNode;
17
17
  /** Props passed down to the underlying `ScrollArea` component in the dropdown */
18
18
  scrollAreaProps?: ScrollAreaProps;
19
+ /** Called when the clear button is clicked */
20
+ onClear?: () => void;
21
+ /** Props passed down to the clear button */
22
+ clearButtonProps?: InputClearButtonProps & ElementProps<'button'>;
23
+ /** Determines whether the clear button should be displayed in the right section when the component has value, `false` by default */
24
+ clearable?: boolean;
19
25
  }
20
26
  export type AutocompleteFactory = Factory<{
21
27
  props: AutocompleteProps;
@@ -20,6 +20,7 @@ export interface __CloseButtonProps {
20
20
  icon?: React.ReactNode;
21
21
  }
22
22
  export interface CloseButtonProps extends __CloseButtonProps, BoxProps, StylesApiProps<CloseButtonFactory> {
23
+ __staticSelector?: string;
23
24
  }
24
25
  export type CloseButtonFactory = PolymorphicFactory<{
25
26
  props: CloseButtonProps;
@@ -1,11 +1,12 @@
1
- import { BoxProps, ElementProps, Factory, MantineSize, StylesApiProps } from '../../../core';
1
+ import { BoxProps, ElementProps, Factory, MantineColor, MantineSize, StylesApiProps } from '../../../core';
2
2
  export type ComboboxChevronStylesNames = 'chevron';
3
3
  export type ComboboxChevronCSSVariables = {
4
- chevron: '--combobox-chevron-size';
4
+ chevron: '--combobox-chevron-size' | '--combobox-chevron-color';
5
5
  };
6
6
  export interface ComboboxChevronProps extends BoxProps, StylesApiProps<ComboboxChevronFactory>, ElementProps<'svg', 'opacity' | 'display'> {
7
7
  size?: MantineSize | (string & {});
8
8
  error?: React.ReactNode;
9
+ color?: MantineColor;
9
10
  }
10
11
  export type ComboboxChevronFactory = Factory<{
11
12
  props: ComboboxChevronProps;
@@ -1,7 +1,6 @@
1
- import { ElementProps, MantineSize } from '../../../core';
2
- import { __CloseButtonProps } from '../../CloseButton';
3
- export interface ComboboxClearButtonProps extends __CloseButtonProps, ElementProps<'button'> {
4
- size?: MantineSize | (string & {}) | number;
1
+ import { ElementProps } from '../../../core';
2
+ import { InputClearButtonProps } from '../../Input';
3
+ export interface ComboboxClearButtonProps extends InputClearButtonProps, ElementProps<'button'> {
5
4
  onClear: () => void;
6
5
  }
7
6
  export declare const ComboboxClearButton: import("react").ForwardRefExoticComponent<ComboboxClearButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,9 @@
1
+ import { MantineSize } from '../../core';
2
+ interface InputContext {
3
+ size: MantineSize | (string & {});
4
+ }
5
+ export declare const InputContext: ({ children, value }: {
6
+ value: InputContext;
7
+ children: React.ReactNode;
8
+ }) => import("react/jsx-runtime").JSX.Element, useInputContext: () => InputContext | null;
9
+ export {};
@@ -1,4 +1,5 @@
1
1
  import { BoxProps, MantineRadius, MantineSize, PolymorphicFactory, StylesApiProps } from '../../core';
2
+ import { InputClearButton } from './InputClearButton/InputClearButton';
2
3
  import { InputDescription } from './InputDescription/InputDescription';
3
4
  import { InputError } from './InputError/InputError';
4
5
  import { InputLabel } from './InputLabel/InputLabel';
@@ -51,6 +52,12 @@ export interface __InputProps {
51
52
  withErrorStyles?: boolean;
52
53
  /** `size` prop added to the input element */
53
54
  inputSize?: string;
55
+ /** Section to be displayed when the input is `__clearable` and `rightSection` is not defined */
56
+ __clearSection?: React.ReactNode;
57
+ /** Determines whether the `__clearSection` should be displayed if it is passed to the component, has no effect if `rightSection` is defined */
58
+ __clearable?: boolean;
59
+ /** Right section displayed when both `__clearSection` and `rightSection` are not defined */
60
+ __defaultRightSection?: React.ReactNode;
54
61
  }
55
62
  export interface InputProps extends BoxProps, __InputProps, StylesApiProps<InputFactory> {
56
63
  __staticSelector?: string;
@@ -79,6 +86,7 @@ export type InputFactory = PolymorphicFactory<{
79
86
  Description: typeof InputDescription;
80
87
  Placeholder: typeof InputPlaceholder;
81
88
  Wrapper: typeof InputWrapper;
89
+ ClearButton: typeof InputClearButton;
82
90
  };
83
91
  }>;
84
92
  export declare const Input: (<C = "input">(props: import("../../core").PolymorphicComponentProps<C, InputProps>) => React.ReactElement) & Omit<import("react").FunctionComponent<(InputProps & {
@@ -103,6 +111,7 @@ export declare const Input: (<C = "input">(props: import("../../core").Polymorph
103
111
  Description: typeof InputDescription;
104
112
  Placeholder: typeof InputPlaceholder;
105
113
  Wrapper: typeof InputWrapper;
114
+ ClearButton: typeof InputClearButton;
106
115
  };
107
116
  }> & import("../../core/factory/factory").ComponentClasses<{
108
117
  props: InputProps;
@@ -118,6 +127,7 @@ export declare const Input: (<C = "input">(props: import("../../core").Polymorph
118
127
  Description: typeof InputDescription;
119
128
  Placeholder: typeof InputPlaceholder;
120
129
  Wrapper: typeof InputWrapper;
130
+ ClearButton: typeof InputClearButton;
121
131
  };
122
132
  }> & import("../../core/factory/polymorphic-factory").PolymorphicComponentWithProps<{
123
133
  props: InputProps;
@@ -133,6 +143,7 @@ export declare const Input: (<C = "input">(props: import("../../core").Polymorph
133
143
  Description: typeof InputDescription;
134
144
  Placeholder: typeof InputPlaceholder;
135
145
  Wrapper: typeof InputWrapper;
146
+ ClearButton: typeof InputClearButton;
136
147
  };
137
148
  }> & {
138
149
  Label: typeof InputLabel;
@@ -140,4 +151,5 @@ export declare const Input: (<C = "input">(props: import("../../core").Polymorph
140
151
  Description: typeof InputDescription;
141
152
  Placeholder: typeof InputPlaceholder;
142
153
  Wrapper: typeof InputWrapper;
154
+ ClearButton: typeof InputClearButton;
143
155
  };
@@ -0,0 +1,16 @@
1
+ import { BoxProps, ElementProps, Factory, MantineSize, StylesApiProps } from '../../../core';
2
+ import { CloseButtonStylesNames } from '../../CloseButton';
3
+ export interface InputClearButtonProps extends BoxProps, StylesApiProps<InputClearButtonFactory>, ElementProps<'button'> {
4
+ /** Size of the button, by default value is based on input context */
5
+ size?: MantineSize | (string & {});
6
+ }
7
+ export type InputClearButtonFactory = Factory<{
8
+ props: InputClearButtonProps;
9
+ ref: HTMLButtonElement;
10
+ stylesNames: CloseButtonStylesNames;
11
+ }>;
12
+ export declare const InputClearButton: import("../../../core").MantineComponent<{
13
+ props: InputClearButtonProps;
14
+ ref: HTMLButtonElement;
15
+ stylesNames: CloseButtonStylesNames;
16
+ }>;
@@ -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';
@@ -17,6 +17,7 @@ interface MenuContext {
17
17
  menuItemTabIndex: -1 | 0 | undefined;
18
18
  openedViaClick: boolean;
19
19
  setOpenedViaClick: (value: boolean) => void;
20
+ withInitialFocusPlaceholder: boolean | undefined;
20
21
  }
21
22
  export declare const MenuContextProvider: ({ children, value }: {
22
23
  value: MenuContext;
@@ -42,6 +42,8 @@ export interface MenuProps extends __PopoverProps, StylesApiProps<MenuFactory> {
42
42
  id?: string;
43
43
  /** Set the `tabindex` on all menu items. Defaults to -1 */
44
44
  menuItemTabIndex?: -1 | 0;
45
+ /** Determines whether focus placeholder element should be added before items, `true` by default */
46
+ withInitialFocusPlaceholder?: boolean;
45
47
  }
46
48
  export declare function Menu(_props: MenuProps): import("react/jsx-runtime").JSX.Element;
47
49
  export declare namespace Menu {
@@ -1,6 +1,7 @@
1
1
  import { BoxProps, CompoundStylesApiProps, MantineColor, PolymorphicFactory } from '../../../core';
2
2
  export type MenuItemStylesNames = 'item' | 'itemLabel' | 'itemSection';
3
3
  export interface MenuItemProps extends BoxProps, CompoundStylesApiProps<MenuItemFactory> {
4
+ 'data-disabled'?: boolean;
4
5
  /** Item label */
5
6
  children?: React.ReactNode;
6
7
  /** Key of `theme.colors` or any valid CSS color */
@@ -1,7 +1,6 @@
1
- import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
- import { __CloseButtonProps } from '../CloseButton';
1
+ import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '../../core';
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 */
@@ -45,6 +44,8 @@ export interface MultiSelectProps extends BoxProps, __BaseInputProps, ComboboxLi
45
44
  renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem>) => React.ReactNode;
46
45
  /** Props passed down to the underlying `ScrollArea` component in the dropdown */
47
46
  scrollAreaProps?: ScrollAreaProps;
47
+ /** Controls color of the default chevron, by default depends on the color scheme */
48
+ chevronColor?: MantineColor;
48
49
  }
49
50
  export type MultiSelectFactory = Factory<{
50
51
  props: MultiSelectProps;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { NumberFormatValues, OnValueChange } from 'react-number-format';
2
3
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
3
4
  import { __BaseInputProps, __InputStylesNames, InputVariant } from '../Input';
@@ -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
- import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
- import { __CloseButtonProps } from '../CloseButton';
1
+ import { BoxProps, ElementProps, Factory, MantineColor, StylesApiProps } from '../../core';
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,13 +31,15 @@ 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 */
39
38
  renderOption?: (item: ComboboxLikeRenderOptionInput<ComboboxItem>) => React.ReactNode;
40
39
  /** Props passed down to the underlying `ScrollArea` component in the dropdown */
41
40
  scrollAreaProps?: ScrollAreaProps;
41
+ /** Controls color of the default chevron, by default depends on the color scheme */
42
+ chevronColor?: MantineColor;
42
43
  }
43
44
  export type SelectFactory = Factory<{
44
45
  props: SelectProps;
@@ -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.1",
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.1",
47
47
  "react": "^18.x || ^19.x",
48
48
  "react-dom": "^18.x || ^19.x"
49
49
  },
@@ -171,18 +171,21 @@
171
171
  --combobox-chevron-size-lg: 24px;
172
172
  --combobox-chevron-size-xl: 28px;
173
173
  --combobox-chevron-size: var(--combobox-chevron-size-sm);
174
-
175
- width: var(--combobox-chevron-size);
176
- height: var(--combobox-chevron-size);
177
174
  }
178
175
  :where([data-mantine-color-scheme='light']) .m_2943220b {
179
- color: var(--mantine-color-gray-6);
176
+ --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-gray-6));
180
177
  }
181
178
  :where([data-mantine-color-scheme='dark']) .m_2943220b {
182
- color: var(--mantine-color-dark-3);
179
+ --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-dark-3));
180
+ }
181
+ .m_2943220b {
182
+
183
+ width: var(--combobox-chevron-size);
184
+ height: var(--combobox-chevron-size);
185
+ color: var(--_combobox-chevron-color);
183
186
  }
184
187
  .m_2943220b:where([data-error]) {
185
- color: var(--mantine-color-error);
188
+ color: var(--combobox-chevron-color, var(--mantine-color-error));
186
189
  }
187
190
 
188
191
  /* ------- OptionsDropdown ------- */
@@ -171,18 +171,21 @@
171
171
  --combobox-chevron-size-lg: 24px;
172
172
  --combobox-chevron-size-xl: 28px;
173
173
  --combobox-chevron-size: var(--combobox-chevron-size-sm);
174
-
175
- width: var(--combobox-chevron-size);
176
- height: var(--combobox-chevron-size);
177
174
  }
178
175
  :where([data-mantine-color-scheme='light']) .m_2943220b {
179
- color: var(--mantine-color-gray-6);
176
+ --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-gray-6));
180
177
  }
181
178
  :where([data-mantine-color-scheme='dark']) .m_2943220b {
182
- color: var(--mantine-color-dark-3);
179
+ --_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-dark-3));
180
+ }
181
+ .m_2943220b {
182
+
183
+ width: var(--combobox-chevron-size);
184
+ height: var(--combobox-chevron-size);
185
+ color: var(--_combobox-chevron-color);
183
186
  }
184
187
  .m_2943220b:where([data-error]) {
185
- color: var(--mantine-color-error);
188
+ color: var(--combobox-chevron-color, var(--mantine-color-error));
186
189
  }
187
190
 
188
191
  /* ------- OptionsDropdown ------- */
package/styles/Menu.css CHANGED
@@ -38,15 +38,15 @@
38
38
  .m_99ac2aa1:where([data-disabled], :disabled) {
39
39
  color: var(--mantine-color-dimmed);
40
40
  opacity: 0.6;
41
- pointer-events: none;
41
+ cursor: not-allowed;
42
42
  }
43
43
 
44
- :where([data-mantine-color-scheme='light']) .m_99ac2aa1:where([data-hovered]) {
45
- background-color: var(--menu-item-hover, var(--mantine-color-gray-1));
44
+ :where([data-mantine-color-scheme='light']) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled, [data-disabled])) {
45
+ background-color: var(--menu-item-hover, var(--mantine-color-gray-1));
46
46
  }
47
47
 
48
- :where([data-mantine-color-scheme='dark']) .m_99ac2aa1:where([data-hovered]) {
49
- background-color: var(--menu-item-hover, var(--mantine-color-dark-4));
48
+ :where([data-mantine-color-scheme='dark']) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled, [data-disabled])) {
49
+ background-color: var(--menu-item-hover, var(--mantine-color-dark-4));
50
50
  }
51
51
 
52
52
  .m_5476e0d3 {
@@ -38,15 +38,15 @@
38
38
  .m_99ac2aa1:where([data-disabled], :disabled) {
39
39
  color: var(--mantine-color-dimmed);
40
40
  opacity: 0.6;
41
- pointer-events: none;
41
+ cursor: not-allowed;
42
42
  }
43
43
 
44
- :where([data-mantine-color-scheme='light']) .m_99ac2aa1:where([data-hovered]) {
45
- background-color: var(--menu-item-hover, var(--mantine-color-gray-1));
44
+ :where([data-mantine-color-scheme='light']) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled, [data-disabled])) {
45
+ background-color: var(--menu-item-hover, var(--mantine-color-gray-1));
46
46
  }
47
47
 
48
- :where([data-mantine-color-scheme='dark']) .m_99ac2aa1:where([data-hovered]) {
49
- background-color: var(--menu-item-hover, var(--mantine-color-dark-4));
48
+ :where([data-mantine-color-scheme='dark']) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled, [data-disabled])) {
49
+ background-color: var(--menu-item-hover, var(--mantine-color-dark-4));
50
50
  }
51
51
 
52
52
  .m_5476e0d3 {
@@ -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
  }
package/styles/Table.css CHANGED
@@ -79,19 +79,19 @@
79
79
  border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--table-border-color);
80
80
  }
81
81
 
82
- .m_b2404537 :where(tr):where([data-with-row-border]:last-of-type) {
82
+ .m_b2404537 > :where(tr):where([data-with-row-border]:last-of-type) {
83
83
  border-bottom: none;
84
84
  }
85
85
 
86
- .m_b2404537 :where(tr):where([data-striped='odd']:nth-of-type(odd)) {
86
+ .m_b2404537 > :where(tr):where([data-striped='odd']:nth-of-type(odd)) {
87
87
  background-color: var(--table-striped-color);
88
88
  }
89
89
 
90
- .m_b2404537 :where(tr):where([data-striped='even']:nth-of-type(even)) {
90
+ .m_b2404537 > :where(tr):where([data-striped='even']:nth-of-type(even)) {
91
91
  background-color: var(--table-striped-color);
92
92
  }
93
93
 
94
- .m_b2404537 :where(tr)[data-hover] {
94
+ .m_b2404537 > :where(tr)[data-hover] {
95
95
  --tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color));
96
96
  }
97
97
 
@@ -79,19 +79,19 @@
79
79
  border-inline-end: calc(0.0625rem * var(--mantine-scale)) solid var(--table-border-color);
80
80
  }
81
81
 
82
- .m_b2404537 :where(tr):where([data-with-row-border]:last-of-type) {
82
+ .m_b2404537 > :where(tr):where([data-with-row-border]:last-of-type) {
83
83
  border-bottom: none;
84
84
  }
85
85
 
86
- .m_b2404537 :where(tr):where([data-striped='odd']:nth-of-type(odd)) {
86
+ .m_b2404537 > :where(tr):where([data-striped='odd']:nth-of-type(odd)) {
87
87
  background-color: var(--table-striped-color);
88
88
  }
89
89
 
90
- .m_b2404537 :where(tr):where([data-striped='even']:nth-of-type(even)) {
90
+ .m_b2404537 > :where(tr):where([data-striped='even']:nth-of-type(even)) {
91
91
  background-color: var(--table-striped-color);
92
92
  }
93
93
 
94
- .m_b2404537 :where(tr)[data-hover] {
94
+ .m_b2404537 > :where(tr)[data-hover] {
95
95
  --tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color));
96
96
  }
97
97
 
@@ -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
+ }