@mantine/core 8.0.0-alpha.2 → 8.0.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 (123) hide show
  1. package/cjs/components/AppShell/AppShell.cjs.map +1 -1
  2. package/cjs/components/Autocomplete/Autocomplete.cjs +7 -3
  3. package/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
  4. package/cjs/components/Checkbox/Checkbox.cjs +9 -2
  5. package/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
  6. package/cjs/components/Drawer/DrawerRoot.cjs +2 -0
  7. package/cjs/components/Drawer/DrawerRoot.cjs.map +1 -1
  8. package/cjs/components/Flex/Flex.cjs.map +1 -1
  9. package/cjs/components/Input/InputDescription/InputDescription.cjs.map +1 -1
  10. package/cjs/components/Input/InputError/InputError.cjs.map +1 -1
  11. package/cjs/components/Input/InputLabel/InputLabel.cjs.map +1 -1
  12. package/cjs/components/Input/InputWrapper/InputWrapper.cjs.map +1 -1
  13. package/cjs/components/Modal/ModalRoot.cjs +2 -0
  14. package/cjs/components/Modal/ModalRoot.cjs.map +1 -1
  15. package/cjs/components/ModalBase/use-modal.cjs +1 -1
  16. package/cjs/components/ModalBase/use-modal.cjs.map +1 -1
  17. package/cjs/components/MultiSelect/MultiSelect.cjs +9 -6
  18. package/cjs/components/MultiSelect/MultiSelect.cjs.map +1 -1
  19. package/cjs/components/NavLink/NavLink.cjs +2 -2
  20. package/cjs/components/NavLink/NavLink.cjs.map +1 -1
  21. package/cjs/components/Notification/Notification.cjs +2 -1
  22. package/cjs/components/Notification/Notification.cjs.map +1 -1
  23. package/cjs/components/NumberInput/NumberInput.cjs +12 -5
  24. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  25. package/cjs/components/Pagination/Pagination.cjs.map +1 -1
  26. package/cjs/components/Pill/Pill.cjs.map +1 -1
  27. package/cjs/components/PillsInput/PillsInput.cjs.map +1 -1
  28. package/cjs/components/ScrollArea/ScrollArea.cjs +2 -2
  29. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  30. package/cjs/components/SegmentedControl/SegmentedControl.cjs +6 -1
  31. package/cjs/components/SegmentedControl/SegmentedControl.cjs.map +1 -1
  32. package/cjs/components/Select/Select.cjs +16 -7
  33. package/cjs/components/Select/Select.cjs.map +1 -1
  34. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs +91 -74
  35. package/cjs/components/Slider/RangeSlider/RangeSlider.cjs.map +1 -1
  36. package/cjs/components/Slider/Slider/Slider.cjs +32 -22
  37. package/cjs/components/Slider/Slider/Slider.cjs.map +1 -1
  38. package/cjs/components/Table/TableScrollContainer.cjs +11 -7
  39. package/cjs/components/Table/TableScrollContainer.cjs.map +1 -1
  40. package/cjs/components/TagsInput/TagsInput.cjs +10 -7
  41. package/cjs/components/TagsInput/TagsInput.cjs.map +1 -1
  42. package/cjs/components/Text/Text.cjs.map +1 -1
  43. package/cjs/components/Title/Title.cjs.map +1 -1
  44. package/esm/components/AppShell/AppShell.mjs.map +1 -1
  45. package/esm/components/Autocomplete/Autocomplete.mjs +7 -3
  46. package/esm/components/Autocomplete/Autocomplete.mjs.map +1 -1
  47. package/esm/components/Checkbox/Checkbox.mjs +9 -2
  48. package/esm/components/Checkbox/Checkbox.mjs.map +1 -1
  49. package/esm/components/Drawer/DrawerRoot.mjs +2 -0
  50. package/esm/components/Drawer/DrawerRoot.mjs.map +1 -1
  51. package/esm/components/Flex/Flex.mjs.map +1 -1
  52. package/esm/components/Input/InputDescription/InputDescription.mjs.map +1 -1
  53. package/esm/components/Input/InputError/InputError.mjs.map +1 -1
  54. package/esm/components/Input/InputLabel/InputLabel.mjs.map +1 -1
  55. package/esm/components/Input/InputWrapper/InputWrapper.mjs.map +1 -1
  56. package/esm/components/Modal/ModalRoot.mjs +2 -0
  57. package/esm/components/Modal/ModalRoot.mjs.map +1 -1
  58. package/esm/components/ModalBase/use-modal.mjs +1 -1
  59. package/esm/components/ModalBase/use-modal.mjs.map +1 -1
  60. package/esm/components/MultiSelect/MultiSelect.mjs +9 -6
  61. package/esm/components/MultiSelect/MultiSelect.mjs.map +1 -1
  62. package/esm/components/NavLink/NavLink.mjs +2 -2
  63. package/esm/components/NavLink/NavLink.mjs.map +1 -1
  64. package/esm/components/Notification/Notification.mjs +2 -1
  65. package/esm/components/Notification/Notification.mjs.map +1 -1
  66. package/esm/components/NumberInput/NumberInput.mjs +12 -5
  67. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  68. package/esm/components/Pagination/Pagination.mjs.map +1 -1
  69. package/esm/components/Pill/Pill.mjs.map +1 -1
  70. package/esm/components/PillsInput/PillsInput.mjs.map +1 -1
  71. package/esm/components/ScrollArea/ScrollArea.mjs +2 -2
  72. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  73. package/esm/components/SegmentedControl/SegmentedControl.mjs +7 -2
  74. package/esm/components/SegmentedControl/SegmentedControl.mjs.map +1 -1
  75. package/esm/components/Select/Select.mjs +16 -7
  76. package/esm/components/Select/Select.mjs.map +1 -1
  77. package/esm/components/Slider/RangeSlider/RangeSlider.mjs +92 -75
  78. package/esm/components/Slider/RangeSlider/RangeSlider.mjs.map +1 -1
  79. package/esm/components/Slider/Slider/Slider.mjs +33 -23
  80. package/esm/components/Slider/Slider/Slider.mjs.map +1 -1
  81. package/esm/components/Table/TableScrollContainer.mjs +11 -7
  82. package/esm/components/Table/TableScrollContainer.mjs.map +1 -1
  83. package/esm/components/TagsInput/TagsInput.mjs +10 -7
  84. package/esm/components/TagsInput/TagsInput.mjs.map +1 -1
  85. package/esm/components/Text/Text.mjs.map +1 -1
  86. package/esm/components/Title/Title.mjs.map +1 -1
  87. package/lib/components/AppShell/AppShell.d.ts +1 -1
  88. package/lib/components/Flex/Flex.d.ts +4 -4
  89. package/lib/components/Input/InputDescription/InputDescription.d.ts +2 -2
  90. package/lib/components/Input/InputError/InputError.d.ts +2 -2
  91. package/lib/components/Input/InputLabel/InputLabel.d.ts +2 -2
  92. package/lib/components/Input/InputWrapper/InputWrapper.d.ts +2 -2
  93. package/lib/components/Input/use-input-props.d.ts +26 -26
  94. package/lib/components/NavLink/NavLink.d.ts +2 -2
  95. package/lib/components/Pagination/Pagination.d.ts +2 -2
  96. package/lib/components/Pill/Pill.d.ts +2 -1
  97. package/lib/components/PillsInput/PillsInput.d.ts +0 -1
  98. package/lib/components/Table/TableScrollContainer.d.ts +3 -1
  99. package/lib/components/Table/index.d.ts +1 -0
  100. package/lib/components/Text/Text.d.ts +2 -2
  101. package/lib/components/Title/Title.d.ts +2 -2
  102. package/lib/core/MantineProvider/theme.types.d.ts +30 -12
  103. package/lib/core/MantineProvider/use-mantine-color-scheme/use-computed-color-scheme.d.ts +1 -1
  104. package/package.json +3 -3
  105. package/styles/AppShell.css +2 -0
  106. package/styles/AppShell.layer.css +2 -0
  107. package/styles/ModalBase.css +1 -1
  108. package/styles/ModalBase.layer.css +1 -1
  109. package/styles/Notification.css +0 -4
  110. package/styles/Notification.layer.css +0 -4
  111. package/styles/Paper.css +8 -4
  112. package/styles/Paper.layer.css +8 -4
  113. package/styles/Table.css +11 -1
  114. package/styles/Table.layer.css +11 -1
  115. package/styles/TypographyStylesProvider.css +1 -0
  116. package/styles/TypographyStylesProvider.layer.css +1 -0
  117. package/styles.css +23 -10
  118. package/styles.layer.css +23 -10
  119. package/cjs/core/MantineProvider/suppress-nextjs-warning.cjs +0 -14
  120. package/cjs/core/MantineProvider/suppress-nextjs-warning.cjs.map +0 -1
  121. package/esm/core/MantineProvider/suppress-nextjs-warning.mjs +0 -12
  122. package/esm/core/MantineProvider/suppress-nextjs-warning.mjs.map +0 -1
  123. package/lib/core/MantineProvider/suppress-nextjs-warning.d.ts +0 -1
@@ -8,18 +8,23 @@ interface BaseProps extends __BaseInputProps, BoxProps, StylesApiProps<{
8
8
  __stylesApiProps?: Record<string, any>;
9
9
  id?: string;
10
10
  }
11
- export declare function useInputProps<T extends BaseProps, U extends Partial<T>>(component: string, defaultProps: U, _props: T): Omit<T & { [Key in Extract<keyof T, never>]-?: {}[Key] | NonNullable<T[Key]>; }, "variant" | "style" | "size" | "label" | "required" | "className" | "id" | "description" | "error" | "__staticSelector" | "__stylesApiProps" | "withAsterisk" | "labelProps" | "descriptionProps" | "errorProps" | "inputContainer" | "inputWrapperOrder" | "mod" | "unstyled" | "classNames" | "styles" | "vars" | "wrapperProps"> & {
11
+ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>(component: string, defaultProps: U, _props: T): Omit<T & { [Key in Extract<keyof T, never>]-?: {}[Key] | NonNullable<T[Key]>; }, "label" | "style" | "size" | "styles" | "className" | "id" | "vars" | "variant" | "unstyled" | "classNames" | "mod" | "error" | "description" | "__staticSelector" | "required" | "__stylesApiProps" | "withAsterisk" | "labelProps" | "descriptionProps" | "errorProps" | "inputContainer" | "inputWrapperOrder" | "wrapperProps"> & {
12
12
  classNames: Partial<Record<string, string>> | ((theme: import("../../core").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, string>>) | undefined;
13
13
  styles: Partial<Record<string, import("../../core").CSSProperties>> | ((theme: import("../../core").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, import("../../core").CSSProperties>>) | undefined;
14
14
  unstyled: boolean | undefined;
15
15
  wrapperProps: {
16
- color?: string | undefined;
17
16
  children?: import("react").ReactNode | undefined;
18
- style: import("react").CSSProperties | ((theme: import("../../core").MantineTheme) => import("../../core").CSSProperties) | import("../../core").MantineStyleProp[] | undefined;
17
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
18
+ dir?: string | undefined;
19
19
  slot?: string | undefined;
20
+ style: import("react").CSSProperties | ((theme: import("../../core").MantineTheme) => import("../../core").CSSProperties) | import("../../core").MantineStyleProp[] | undefined;
20
21
  title?: string | undefined;
22
+ popover?: "" | "auto" | "manual" | undefined;
23
+ hidden?: boolean | undefined;
24
+ color?: string | undefined;
25
+ content?: string | undefined;
26
+ translate?: "yes" | "no" | undefined;
21
27
  key?: import("react").Key | null | undefined;
22
- onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
23
28
  defaultChecked?: boolean | undefined;
24
29
  defaultValue?: string | number | readonly string[] | undefined;
25
30
  suppressContentEditableWarning?: boolean | undefined;
@@ -28,22 +33,18 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
28
33
  autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
29
34
  autoFocus?: boolean | undefined;
30
35
  className: string | undefined;
31
- contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
36
+ contentEditable?: (boolean | "false" | "true") | "inherit" | "plaintext-only" | undefined;
32
37
  contextMenu?: string | undefined;
33
- dir?: string | undefined;
34
- draggable?: (boolean | "true" | "false") | undefined;
38
+ draggable?: (boolean | "false" | "true") | undefined;
35
39
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
36
- hidden?: boolean | undefined;
37
40
  id: string | undefined;
38
41
  lang?: string | undefined;
39
42
  nonce?: string | undefined;
40
- spellCheck?: (boolean | "true" | "false") | undefined;
43
+ spellCheck?: (boolean | "false" | "true") | undefined;
41
44
  tabIndex?: number | undefined;
42
- translate?: "yes" | "no" | undefined;
43
45
  radioGroup?: string | undefined;
44
46
  role?: import("react").AriaRole | undefined;
45
47
  about?: string | undefined;
46
- content?: string | undefined;
47
48
  datatype?: string | undefined;
48
49
  inlist?: any;
49
50
  prefix?: string | undefined;
@@ -63,18 +64,17 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
63
64
  results?: number | undefined;
64
65
  security?: string | undefined;
65
66
  unselectable?: "on" | "off" | undefined;
66
- popover?: "" | "auto" | "manual" | undefined;
67
67
  popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
68
68
  popoverTarget?: string | undefined;
69
69
  inert?: boolean | undefined;
70
70
  inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
71
71
  is?: string | undefined;
72
72
  "aria-activedescendant"?: string | undefined;
73
- "aria-atomic"?: (boolean | "true" | "false") | undefined;
73
+ "aria-atomic"?: (boolean | "false" | "true") | undefined;
74
74
  "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
75
75
  "aria-braillelabel"?: string | undefined;
76
76
  "aria-brailleroledescription"?: string | undefined;
77
- "aria-busy"?: (boolean | "true" | "false") | undefined;
77
+ "aria-busy"?: (boolean | "false" | "true") | undefined;
78
78
  "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
79
79
  "aria-colcount"?: number | undefined;
80
80
  "aria-colindex"?: number | undefined;
@@ -85,37 +85,37 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
85
85
  "aria-describedby"?: string | undefined;
86
86
  "aria-description"?: string | undefined;
87
87
  "aria-details"?: string | undefined;
88
- "aria-disabled"?: (boolean | "true" | "false") | undefined;
88
+ "aria-disabled"?: (boolean | "false" | "true") | undefined;
89
89
  "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
90
90
  "aria-errormessage"?: string | undefined;
91
- "aria-expanded"?: (boolean | "true" | "false") | undefined;
91
+ "aria-expanded"?: (boolean | "false" | "true") | undefined;
92
92
  "aria-flowto"?: string | undefined;
93
- "aria-grabbed"?: (boolean | "true" | "false") | undefined;
93
+ "aria-grabbed"?: (boolean | "false" | "true") | undefined;
94
94
  "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
95
- "aria-hidden"?: (boolean | "true" | "false") | undefined;
95
+ "aria-hidden"?: (boolean | "false" | "true") | undefined;
96
96
  "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
97
97
  "aria-keyshortcuts"?: string | undefined;
98
98
  "aria-label"?: string | undefined;
99
99
  "aria-labelledby"?: string | undefined;
100
100
  "aria-level"?: number | undefined;
101
101
  "aria-live"?: "off" | "assertive" | "polite" | undefined;
102
- "aria-modal"?: (boolean | "true" | "false") | undefined;
103
- "aria-multiline"?: (boolean | "true" | "false") | undefined;
104
- "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
102
+ "aria-modal"?: (boolean | "false" | "true") | undefined;
103
+ "aria-multiline"?: (boolean | "false" | "true") | undefined;
104
+ "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
105
105
  "aria-orientation"?: "horizontal" | "vertical" | undefined;
106
106
  "aria-owns"?: string | undefined;
107
107
  "aria-placeholder"?: string | undefined;
108
108
  "aria-posinset"?: number | undefined;
109
109
  "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
110
- "aria-readonly"?: (boolean | "true" | "false") | undefined;
110
+ "aria-readonly"?: (boolean | "false" | "true") | undefined;
111
111
  "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
112
- "aria-required"?: (boolean | "true" | "false") | undefined;
112
+ "aria-required"?: (boolean | "false" | "true") | undefined;
113
113
  "aria-roledescription"?: string | undefined;
114
114
  "aria-rowcount"?: number | undefined;
115
115
  "aria-rowindex"?: number | undefined;
116
116
  "aria-rowindextext"?: string | undefined;
117
117
  "aria-rowspan"?: number | undefined;
118
- "aria-selected"?: (boolean | "true" | "false") | undefined;
118
+ "aria-selected"?: (boolean | "false" | "true") | undefined;
119
119
  "aria-setsize"?: number | undefined;
120
120
  "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
121
121
  "aria-valuemax"?: number | undefined;
@@ -141,6 +141,7 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
141
141
  onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
142
142
  onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
143
143
  onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
144
+ onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
144
145
  onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
145
146
  onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
146
147
  onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
@@ -156,7 +157,6 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
156
157
  onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
157
158
  onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
158
159
  onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
159
- onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
160
160
  onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
161
161
  onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
162
162
  onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
@@ -306,7 +306,7 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>>
306
306
  styles: Partial<Record<string, import("../../core").CSSProperties>> | ((theme: import("../../core").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, import("../../core").CSSProperties>>) | undefined;
307
307
  size: (string & {}) | import("../../core").MantineSize | undefined;
308
308
  inputContainer: ((children: React.ReactNode) => React.ReactNode) | undefined;
309
- inputWrapperOrder: ("input" | "label" | "description" | "error")[] | undefined;
309
+ inputWrapperOrder: ("input" | "label" | "error" | "description")[] | undefined;
310
310
  withAsterisk: boolean | undefined;
311
311
  variant: string | undefined;
312
312
  mod: import("../../core").BoxMod | undefined;
@@ -1,4 +1,4 @@
1
- import { BoxProps, MantineColor, MantineSize, PolymorphicFactory, StylesApiProps } from '../../core';
1
+ import { BoxProps, MantineColor, MantineSpacing, PolymorphicFactory, StylesApiProps } from '../../core';
2
2
  export type NavLinkStylesNames = 'root' | 'section' | 'body' | 'label' | 'description' | 'chevron' | 'collapse' | 'children';
3
3
  export type NavLinkVariant = 'filled' | 'light' | 'subtle';
4
4
  export type NavLinkCssVariables = {
@@ -31,7 +31,7 @@ export interface NavLinkProps extends BoxProps, StylesApiProps<NavLinkFactory> {
31
31
  /** If set, right section will not be rotated when collapse is opened, `false` by default */
32
32
  disableRightSectionRotation?: boolean;
33
33
  /** Key of `theme.spacing` or any valid CSS value to set collapsed links `padding-left`, `'lg'` by default */
34
- childrenOffset?: MantineSize | (string & {}) | number;
34
+ childrenOffset?: MantineSpacing;
35
35
  /** If set, disabled styles will be added to the root element, `false` by default */
36
36
  disabled?: boolean;
37
37
  /** Called when the link is clicked */
@@ -1,4 +1,4 @@
1
- import { Factory, MantineSize } from '../../core';
1
+ import { Factory, MantineSpacing } from '../../core';
2
2
  import { PaginationIcon } from './Pagination.icons';
3
3
  import { PaginationControl } from './PaginationControl/PaginationControl';
4
4
  import { PaginationDots } from './PaginationDots/PaginationDots';
@@ -25,7 +25,7 @@ export interface PaginationProps extends PaginationRootProps {
25
25
  /** Dots icon component */
26
26
  dotsIcon?: PaginationIcon;
27
27
  /** Key of `theme.spacing`, gap between controls, `8` by default */
28
- gap?: MantineSize | (string & {}) | number;
28
+ gap?: MantineSpacing;
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
31
  /** Determines whether pages controls should be displayed, `true` by default */
@@ -1,4 +1,5 @@
1
1
  import { BoxProps, ElementProps, Factory, MantineRadius, MantineSize, StylesApiProps } from '../../core';
2
+ import { CloseButtonProps } from '../CloseButton';
2
3
  import { PillGroup } from './PillGroup/PillGroup';
3
4
  export type PillStylesNames = 'root' | 'label' | 'remove';
4
5
  export type PillVariant = 'default' | 'contrast';
@@ -13,7 +14,7 @@ export interface PillProps extends BoxProps, StylesApiProps<PillFactory>, Elemen
13
14
  /** Called when the remove button is clicked */
14
15
  onRemove?: () => void;
15
16
  /** Props passed down to the remove button */
16
- removeButtonProps?: React.ComponentPropsWithoutRef<'button'>;
17
+ removeButtonProps?: CloseButtonProps & React.ComponentPropsWithoutRef<'button'>;
17
18
  /** Key of `theme.radius` or any valid CSS value to set border-radius. Numbers are converted to rem. `'xl'` by default. */
18
19
  radius?: MantineRadius;
19
20
  /** If pill is disabled it has higher contrast to be visible on the disabled input background and the remove button is hidden */
@@ -4,7 +4,6 @@ import { PillsInputField } from './PillsInputField/PillsInputField';
4
4
  export interface PillsInputProps extends BoxProps, __BaseInputProps, StylesApiProps<PillsInputFactory>, ElementProps<'div', 'size'> {
5
5
  __stylesApiProps?: Record<string, any>;
6
6
  __staticSelector?: string;
7
- multiline?: boolean;
8
7
  }
9
8
  export type PillsInputFactory = Factory<{
10
9
  props: PillsInputProps;
@@ -1,11 +1,13 @@
1
1
  import { BoxProps, ElementProps, Factory, StylesApiProps } from '../../core';
2
2
  export type TableScrollContainerStylesNames = 'scrollContainer' | 'scrollContainerInner';
3
3
  export type TableScrollContainerCssVariables = {
4
- scrollContainer: '--table-min-width' | '--table-overflow';
4
+ scrollContainer: '--table-min-width' | '--table-max-height' | '--table-overflow';
5
5
  };
6
6
  export interface TableScrollContainerProps extends BoxProps, StylesApiProps<TableScrollContainerFactory>, ElementProps<'div'> {
7
7
  /** `min-width` of the `Table` at which it should become scrollable */
8
8
  minWidth: React.CSSProperties['minWidth'];
9
+ /** `max-height` of the `Table` at which it should become scrollable */
10
+ maxHeight?: React.CSSProperties['maxHeight'];
9
11
  /** Type of the scroll container, `native` to use native scrollbars, `scrollarea` to use `ScrollArea` component, `scrollarea` by default */
10
12
  type?: 'native' | 'scrollarea';
11
13
  }
@@ -3,3 +3,4 @@ export { TableCaption, TableTbody, TableTd, TableTfoot, TableTr, TableTh, TableT
3
3
  export { TableScrollContainer } from './TableScrollContainer';
4
4
  export type { TableProps, TableStylesNames, TableCssVariables, TableFactory, TableData, } from './Table';
5
5
  export type { TableTbodyProps, TableTdProps, TableThProps, TableTrProps, TableCaptionProps, TableTfootProps, TableTheadProps, } from './Table.components';
6
+ export type { TableScrollContainerProps } from './TableScrollContainer';
@@ -1,4 +1,4 @@
1
- import { BoxProps, MantineColor, MantineGradient, MantineSize, PolymorphicFactory, StylesApiProps } from '../../core';
1
+ import { BoxProps, MantineColor, MantineFontSize, MantineGradient, MantineLineHeight, PolymorphicFactory, StylesApiProps } from '../../core';
2
2
  type TextTruncate = 'end' | 'start' | boolean;
3
3
  export type TextStylesNames = 'root';
4
4
  export type TextVariant = 'text' | 'gradient';
@@ -8,7 +8,7 @@ export type TextCssVariables = {
8
8
  export interface TextProps extends BoxProps, StylesApiProps<TextFactory> {
9
9
  __staticSelector?: string;
10
10
  /** Controls `font-size` and `line-height`, `'md'` by default */
11
- size?: MantineSize | (string & {});
11
+ size?: MantineFontSize & MantineLineHeight;
12
12
  /** Number of lines after which Text will be truncated */
13
13
  lineClamp?: number;
14
14
  /** Side on which Text must be truncated, if `true`, text is truncated from the start */
@@ -1,6 +1,6 @@
1
- import { BoxProps, ElementProps, Factory, MantineSize, StylesApiProps } from '../../core';
1
+ import { BoxProps, ElementProps, Factory, MantineFontSize, StylesApiProps } from '../../core';
2
2
  export type TitleOrder = 1 | 2 | 3 | 4 | 5 | 6;
3
- export type TitleSize = `h${TitleOrder}` | React.CSSProperties['fontSize'] | MantineSize;
3
+ export type TitleSize = `h${TitleOrder}` | React.CSSProperties['fontSize'] | MantineFontSize;
4
4
  export type TitleStylesNames = 'root';
5
5
  export type TitleCssVariables = {
6
6
  root: '--title-fw' | '--title-lh' | '--title-fz' | '--title-line-clamp' | '--title-text-wrap';
@@ -119,18 +119,35 @@ export interface HeadingStyle {
119
119
  lineHeight: string;
120
120
  }
121
121
  export type MantineSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
122
- export type MantineBreakpointsValues = Record<MantineSize | (string & {}), string>;
123
- export type MantineFontSizesValues = Record<MantineSize | (string & {}), string>;
124
- export type MantineRadiusValues = Record<MantineSize | (string & {}), string>;
125
- export type MantineSpacingValues = Record<MantineSize | (string & {}), string>;
126
- export type MantineShadowsValues = Record<MantineSize | (string & {}), string>;
127
- export type MantineLineHeightValues = Record<MantineSize | (string & {}), string>;
128
- export type MantineBreakpoint = keyof MantineBreakpointsValues;
129
- export type MantineFontSize = keyof MantineFontSizesValues;
130
- export type MantineRadius = keyof MantineRadiusValues | (string & {}) | number;
131
- export type MantineSpacing = keyof MantineSpacingValues | (string & {}) | number;
132
- export type MantineShadow = keyof MantineShadowsValues | (string & {});
133
- export type MantineLineHeight = keyof MantineLineHeightValues;
122
+ export type DefaultMantineSize = MantineSize;
123
+ export interface MantineThemeSizesOverride {
124
+ }
125
+ export type MantineBreakpoint = (MantineThemeSizesOverride extends {
126
+ breakpoints: Record<infer CustomBreakpoints, string>;
127
+ } ? CustomBreakpoints : MantineSize) | (string & {});
128
+ export type MantineBreakpointsValues = Record<MantineBreakpoint, string>;
129
+ export type MantineFontSize = (MantineThemeSizesOverride extends {
130
+ fontSizes: Record<infer CustomFontSizes, string>;
131
+ } ? CustomFontSizes : MantineSize) | (string & {});
132
+ export type MantineFontSizesValues = Record<MantineFontSize, string>;
133
+ type _MantineRadius = (MantineThemeSizesOverride extends {
134
+ radius: Record<infer CustomRadius, string>;
135
+ } ? CustomRadius : MantineSize) | (string & {});
136
+ export type MantineRadius = _MantineRadius | number;
137
+ export type MantineRadiusValues = Record<_MantineRadius, string>;
138
+ type _MantineSpacing = (MantineThemeSizesOverride extends {
139
+ spacing: Record<infer CustomSpacing, string>;
140
+ } ? CustomSpacing : MantineSize) | (string & {});
141
+ export type MantineSpacing = _MantineSpacing | number;
142
+ export type MantineSpacingValues = Record<MantineSpacing, string>;
143
+ export type MantineShadow = (MantineThemeSizesOverride extends {
144
+ shadows: Record<infer CustomShadow, string>;
145
+ } ? CustomShadow : MantineSize) | (string & {});
146
+ export type MantineShadowsValues = Record<MantineShadow, string>;
147
+ export type MantineLineHeight = (MantineThemeSizesOverride extends {
148
+ lineHeights: Record<infer CustomLineHeight, string>;
149
+ } ? CustomLineHeight : MantineSize) | (string & {});
150
+ export type MantineLineHeightValues = Record<MantineLineHeight, string>;
134
151
  export interface MantineThemeOther {
135
152
  [key: string]: any;
136
153
  }
@@ -164,3 +181,4 @@ export type MantineThemeColors = MantineThemeColorsOverride extends {
164
181
  colors: Record<infer CustomColors, MantineColorsTuple>;
165
182
  } ? Record<CustomColors, MantineColorsTuple> : Record<DefaultMantineColor, MantineColorsTuple>;
166
183
  export type MantineColor = keyof MantineThemeColors;
184
+ export {};
@@ -1,2 +1,2 @@
1
1
  import { UseMediaQueryOptions } from '@mantine/hooks';
2
- export declare function useComputedColorScheme(defaultValue?: 'light' | 'dark', options?: UseMediaQueryOptions): "dark" | "light";
2
+ export declare function useComputedColorScheme(defaultValue?: 'light' | 'dark', options?: UseMediaQueryOptions): "light" | "dark";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/core",
3
- "version": "8.0.0-alpha.2",
3
+ "version": "8.0.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": "8.0.0-alpha.2",
46
+ "@mantine/hooks": "8.0.0",
47
47
  "react": "^18.x || ^19.x",
48
48
  "react-dom": "^18.x || ^19.x"
49
49
  },
@@ -52,7 +52,7 @@
52
52
  "clsx": "^2.1.1",
53
53
  "react-number-format": "^5.4.3",
54
54
  "react-remove-scroll": "^2.6.2",
55
- "react-textarea-autosize": "8.5.6",
55
+ "react-textarea-autosize": "8.5.9",
56
56
  "type-fest": "^4.27.0"
57
57
  },
58
58
  "devDependencies": {
@@ -4,6 +4,8 @@
4
4
  .m_89ab340[data-disabled] {
5
5
  --app-shell-header-offset: 0rem !important;
6
6
  --app-shell-navbar-offset: 0rem !important;
7
+ --app-shell-aside-offset: 0rem !important;
8
+ --app-shell-footer-offset: 0rem !important;
7
9
  }
8
10
  [data-mantine-color-scheme='light'] .m_89ab340 {
9
11
  --app-shell-border-color: var(--mantine-color-gray-3);
@@ -4,6 +4,8 @@
4
4
  .m_89ab340[data-disabled] {
5
5
  --app-shell-header-offset: 0rem !important;
6
6
  --app-shell-navbar-offset: 0rem !important;
7
+ --app-shell-aside-offset: 0rem !important;
8
+ --app-shell-footer-offset: 0rem !important;
7
9
  }
8
10
  [data-mantine-color-scheme='light'] .m_89ab340 {
9
11
  --app-shell-border-color: var(--mantine-color-gray-3);
@@ -38,7 +38,7 @@
38
38
  z-index: 1001;
39
39
  }
40
40
 
41
- .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
41
+ [data-offset-scrollbars] .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
42
42
  padding-inline-end: calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(0.3125rem * var(--mantine-scale)));
43
43
  }
44
44
 
@@ -38,7 +38,7 @@
38
38
  z-index: 1001;
39
39
  }
40
40
 
41
- .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
41
+ [data-offset-scrollbars] .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
42
42
  padding-inline-end: calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(0.3125rem * var(--mantine-scale)));
43
43
  }
44
44
 
@@ -35,10 +35,6 @@
35
35
  background-color: var(--mantine-color-dark-6);
36
36
  }
37
37
 
38
- .m_a513464:where([data-with-icon]) {
39
- padding-inline-start: var(--mantine-spacing-xs);
40
- }
41
-
42
38
  .m_a513464:where([data-with-icon])::before {
43
39
  display: none;
44
40
  }
@@ -35,10 +35,6 @@
35
35
  background-color: var(--mantine-color-dark-6);
36
36
  }
37
37
 
38
- .m_a513464:where([data-with-icon]) {
39
- padding-inline-start: var(--mantine-spacing-xs);
40
- }
41
-
42
38
  .m_a513464:where([data-with-icon])::before {
43
39
  display: none;
44
40
  }
package/styles/Paper.css CHANGED
@@ -11,10 +11,14 @@
11
11
  background-color: var(--mantine-color-body);
12
12
  }
13
13
 
14
- :where([data-mantine-color-scheme='light']) .m_1b7284a3:where([data-with-border]) {
15
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-gray-3);
14
+ [data-mantine-color-scheme='light'] .m_1b7284a3 {
15
+ --paper-border-color: var(--mantine-color-gray-3);
16
16
  }
17
17
 
18
- :where([data-mantine-color-scheme='dark']) .m_1b7284a3:where([data-with-border]) {
19
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4);
18
+ [data-mantine-color-scheme='dark'] .m_1b7284a3 {
19
+ --paper-border-color: var(--mantine-color-dark-4);
20
20
  }
21
+
22
+ .m_1b7284a3:where([data-with-border]) {
23
+ border: calc(0.0625rem * var(--mantine-scale)) solid var(--paper-border-color);
24
+ }
@@ -11,11 +11,15 @@
11
11
  background-color: var(--mantine-color-body);
12
12
  }
13
13
 
14
- :where([data-mantine-color-scheme='light']) .m_1b7284a3:where([data-with-border]) {
15
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-gray-3);
14
+ [data-mantine-color-scheme='light'] .m_1b7284a3 {
15
+ --paper-border-color: var(--mantine-color-gray-3);
16
16
  }
17
17
 
18
- :where([data-mantine-color-scheme='dark']) .m_1b7284a3:where([data-with-border]) {
19
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4);
18
+ [data-mantine-color-scheme='dark'] .m_1b7284a3 {
19
+ --paper-border-color: var(--mantine-color-dark-4);
20
20
  }
21
+
22
+ .m_1b7284a3:where([data-with-border]) {
23
+ border: calc(0.0625rem * var(--mantine-scale)) solid var(--paper-border-color);
24
+ }
21
25
  }
package/styles/Table.css CHANGED
@@ -102,9 +102,18 @@
102
102
 
103
103
  .m_b242d975:where([data-sticky]) {
104
104
  position: sticky;
105
- background-color: var(--mantine-color-body);
106
105
  }
107
106
 
107
+ .m_b242d975:where([data-sticky]) :where(.m_4e7aa4f3) {
108
+ position: sticky;
109
+ top: var(--table-sticky-header-offset, 0);
110
+ background-color: var(--mantine-color-body);
111
+ }
112
+
113
+ :where([data-with-table-border]) .m_b242d975[data-sticky] .m_4e7aa4f3 {
114
+ top: initial;
115
+ }
116
+
108
117
  .m_9e5a3ac7 {
109
118
  color: var(--mantine-color-dimmed);
110
119
  }
@@ -123,4 +132,5 @@
123
132
 
124
133
  .m_62259741 {
125
134
  min-width: var(--table-min-width);
135
+ max-height: var(--table-max-height);
126
136
  }
@@ -102,9 +102,18 @@
102
102
 
103
103
  .m_b242d975:where([data-sticky]) {
104
104
  position: sticky;
105
- background-color: var(--mantine-color-body);
106
105
  }
107
106
 
107
+ .m_b242d975:where([data-sticky]) :where(.m_4e7aa4f3) {
108
+ position: sticky;
109
+ top: var(--table-sticky-header-offset, 0);
110
+ background-color: var(--mantine-color-body);
111
+ }
112
+
113
+ :where([data-with-table-border]) .m_b242d975[data-sticky] .m_4e7aa4f3 {
114
+ top: initial;
115
+ }
116
+
108
117
  .m_9e5a3ac7 {
109
118
  color: var(--mantine-color-dimmed);
110
119
  }
@@ -123,5 +132,6 @@
123
132
 
124
133
  .m_62259741 {
125
134
  min-width: var(--table-min-width);
135
+ max-height: var(--table-max-height);
126
136
  }
127
137
  }
@@ -7,6 +7,7 @@
7
7
  .m_d6493fad :where(h1, h2, h3, h4, h5, h6) {
8
8
  margin-bottom: var(--mantine-spacing-xs);
9
9
  text-wrap: var(--mantine-heading-text-wrap);
10
+ font-family: var(--mantine-font-family-headings);
10
11
  }
11
12
  .m_d6493fad :where(h1) {
12
13
  margin-top: calc(1.5 * var(--mantine-spacing-xl));
@@ -7,6 +7,7 @@
7
7
  .m_d6493fad :where(h1, h2, h3, h4, h5, h6) {
8
8
  margin-bottom: var(--mantine-spacing-xs);
9
9
  text-wrap: var(--mantine-heading-text-wrap);
10
+ font-family: var(--mantine-font-family-headings);
10
11
  }
11
12
  .m_d6493fad :where(h1) {
12
13
  margin-top: calc(1.5 * var(--mantine-spacing-xl));
package/styles.css CHANGED
@@ -817,14 +817,18 @@ fieldset:disabled .mantine-active:active {
817
817
  background-color: var(--mantine-color-body);
818
818
  }
819
819
 
820
- :where([data-mantine-color-scheme='light']) .m_1b7284a3:where([data-with-border]) {
821
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-gray-3);
820
+ [data-mantine-color-scheme='light'] .m_1b7284a3 {
821
+ --paper-border-color: var(--mantine-color-gray-3);
822
822
  }
823
823
 
824
- :where([data-mantine-color-scheme='dark']) .m_1b7284a3:where([data-with-border]) {
825
- border: calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-dark-4);
824
+ [data-mantine-color-scheme='dark'] .m_1b7284a3 {
825
+ --paper-border-color: var(--mantine-color-dark-4);
826
826
  }
827
827
 
828
+ .m_1b7284a3:where([data-with-border]) {
829
+ border: calc(0.0625rem * var(--mantine-scale)) solid var(--paper-border-color);
830
+ }
831
+
828
832
  .m_9814e45f {
829
833
  inset: 0;
830
834
  position: absolute;
@@ -1307,7 +1311,7 @@ fieldset:disabled .mantine-active:active {
1307
1311
  z-index: 1001;
1308
1312
  }
1309
1313
 
1310
- .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
1314
+ [data-offset-scrollbars] .m_fd1ab0aa:has([data-mantine-scrollbar][data-state='visible']) .m_b5489c3c {
1311
1315
  padding-inline-end: calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(0.3125rem * var(--mantine-scale)));
1312
1316
  }
1313
1317
 
@@ -2149,6 +2153,8 @@ fieldset:disabled .mantine-active:active {
2149
2153
  .m_89ab340[data-disabled] {
2150
2154
  --app-shell-header-offset: 0rem !important;
2151
2155
  --app-shell-navbar-offset: 0rem !important;
2156
+ --app-shell-aside-offset: 0rem !important;
2157
+ --app-shell-footer-offset: 0rem !important;
2152
2158
  }
2153
2159
  [data-mantine-color-scheme='light'] .m_89ab340 {
2154
2160
  --app-shell-border-color: var(--mantine-color-gray-3);
@@ -4828,10 +4834,6 @@ fieldset:disabled .m_d3ea56bb,
4828
4834
  background-color: var(--mantine-color-dark-6);
4829
4835
  }
4830
4836
 
4831
- .m_a513464:where([data-with-icon]) {
4832
- padding-inline-start: var(--mantine-spacing-xs);
4833
- }
4834
-
4835
4837
  .m_a513464:where([data-with-icon])::before {
4836
4838
  display: none;
4837
4839
  }
@@ -6797,9 +6799,18 @@ fieldset:disabled .m_c9ade57f:where([data-inverted]),
6797
6799
 
6798
6800
  .m_b242d975:where([data-sticky]) {
6799
6801
  position: sticky;
6800
- background-color: var(--mantine-color-body);
6801
6802
  }
6802
6803
 
6804
+ .m_b242d975:where([data-sticky]) :where(.m_4e7aa4f3) {
6805
+ position: sticky;
6806
+ top: var(--table-sticky-header-offset, 0);
6807
+ background-color: var(--mantine-color-body);
6808
+ }
6809
+
6810
+ :where([data-with-table-border]) .m_b242d975[data-sticky] .m_4e7aa4f3 {
6811
+ top: initial;
6812
+ }
6813
+
6803
6814
  .m_9e5a3ac7 {
6804
6815
  color: var(--mantine-color-dimmed);
6805
6816
  }
@@ -6818,6 +6829,7 @@ fieldset:disabled .m_c9ade57f:where([data-inverted]),
6818
6829
 
6819
6830
  .m_62259741 {
6820
6831
  min-width: var(--table-min-width);
6832
+ max-height: var(--table-max-height);
6821
6833
  }
6822
6834
 
6823
6835
  .m_bcaa9990 {
@@ -7485,6 +7497,7 @@ fieldset:disabled .m_c9ade57f:where([data-inverted]),
7485
7497
  .m_d6493fad :where(h1, h2, h3, h4, h5, h6) {
7486
7498
  margin-bottom: var(--mantine-spacing-xs);
7487
7499
  text-wrap: var(--mantine-heading-text-wrap);
7500
+ font-family: var(--mantine-font-family-headings);
7488
7501
  }
7489
7502
  .m_d6493fad :where(h1) {
7490
7503
  margin-top: calc(1.5 * var(--mantine-spacing-xl));