@mantine/core 9.0.0-alpha.2 → 9.0.0-alpha.4

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 (36) hide show
  1. package/cjs/components/NumberInput/NumberInput.cjs +513 -290
  2. package/cjs/components/NumberInput/NumberInput.cjs.map +1 -1
  3. package/cjs/components/ScrollArea/ScrollArea.cjs +12 -1
  4. package/cjs/components/ScrollArea/ScrollArea.cjs.map +1 -1
  5. package/cjs/components/Tooltip/Tooltip.cjs +3 -1
  6. package/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  7. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.cjs +196 -0
  8. package/cjs/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.cjs.map +1 -0
  9. package/cjs/index.cjs +2 -2
  10. package/esm/components/NumberInput/NumberInput.mjs +514 -291
  11. package/esm/components/NumberInput/NumberInput.mjs.map +1 -1
  12. package/esm/components/ScrollArea/ScrollArea.mjs +12 -1
  13. package/esm/components/ScrollArea/ScrollArea.mjs.map +1 -1
  14. package/esm/components/Tooltip/Tooltip.mjs +3 -1
  15. package/esm/components/Tooltip/Tooltip.mjs.map +1 -1
  16. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.mjs +194 -0
  17. package/esm/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.mjs.map +1 -0
  18. package/esm/index.mjs +1 -1
  19. package/lib/components/Input/use-input-props.d.ts +4 -4
  20. package/lib/components/NumberInput/NumberInput.d.ts +42 -10
  21. package/lib/components/NumberInput/index.d.ts +3 -3
  22. package/lib/components/Popover/use-popover.d.ts +1 -1
  23. package/lib/components/ScrollArea/ScrollArea.d.ts +5 -0
  24. package/lib/core/MantineProvider/MantineCssVariables/index.d.ts +1 -0
  25. package/lib/core/MantineProvider/MantineCssVariables/v8-css-variables-resolver.d.ts +2 -0
  26. package/lib/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.d.ts +2 -0
  27. package/package.json +2 -2
  28. package/styles/AppShell.css +11 -1
  29. package/styles/AppShell.layer.css +11 -1
  30. package/styles.css +11 -1
  31. package/styles.layer.css +11 -1
  32. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs +0 -9
  33. package/cjs/components/Slider/utils/get-floating-value/get-gloating-value.cjs.map +0 -1
  34. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs +0 -7
  35. package/esm/components/Slider/utils/get-floating-value/get-gloating-value.mjs.map +0 -1
  36. package/lib/components/Slider/utils/get-floating-value/get-gloating-value.d.ts +0 -1
@@ -0,0 +1,194 @@
1
+ 'use client';
2
+ import { rem } from '../../../utils/units-converters/rem.mjs';
3
+ import 'react';
4
+ import '@mantine/hooks';
5
+ import { darken } from '../darken/darken.mjs';
6
+ import { getGradient } from '../get-gradient/get-gradient.mjs';
7
+ import { parseThemeColor } from '../parse-theme-color/parse-theme-color.mjs';
8
+ import { rgba } from '../rgba/rgba.mjs';
9
+
10
+ const v8defaultVariantColorsResolver = ({
11
+ color,
12
+ theme,
13
+ variant,
14
+ gradient,
15
+ autoContrast
16
+ }) => {
17
+ const parsed = parseThemeColor({ color, theme });
18
+ const _autoContrast = typeof autoContrast === "boolean" ? autoContrast : theme.autoContrast;
19
+ if (variant === "none") {
20
+ return {
21
+ background: "transparent",
22
+ hover: "transparent",
23
+ color: "inherit",
24
+ border: "none"
25
+ };
26
+ }
27
+ if (variant === "filled") {
28
+ const textColor = _autoContrast ? parsed.isLight ? "var(--mantine-color-black)" : "var(--mantine-color-white)" : "var(--mantine-color-white)";
29
+ if (parsed.isThemeColor) {
30
+ if (parsed.shade === void 0) {
31
+ return {
32
+ background: `var(--mantine-color-${color}-filled)`,
33
+ hover: `var(--mantine-color-${color}-filled-hover)`,
34
+ color: textColor,
35
+ border: `${rem(1)} solid transparent`
36
+ };
37
+ }
38
+ return {
39
+ background: `var(--mantine-color-${parsed.color}-${parsed.shade})`,
40
+ hover: `var(--mantine-color-${parsed.color}-${parsed.shade === 9 ? 8 : parsed.shade + 1})`,
41
+ color: textColor,
42
+ border: `${rem(1)} solid transparent`
43
+ };
44
+ }
45
+ return {
46
+ background: color,
47
+ hover: darken(color, 0.1),
48
+ color: textColor,
49
+ border: `${rem(1)} solid transparent`
50
+ };
51
+ }
52
+ if (variant === "light") {
53
+ if (parsed.isThemeColor) {
54
+ if (parsed.shade === void 0) {
55
+ return {
56
+ background: `var(--mantine-color-${color}-light)`,
57
+ hover: `var(--mantine-color-${color}-light-hover)`,
58
+ color: `var(--mantine-color-${color}-light-color)`,
59
+ border: `${rem(1)} solid transparent`
60
+ };
61
+ }
62
+ const parsedColor = theme.colors[parsed.color][parsed.shade];
63
+ return {
64
+ background: rgba(parsedColor, 0.1),
65
+ hover: rgba(parsedColor, 0.12),
66
+ color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,
67
+ border: `${rem(1)} solid transparent`
68
+ };
69
+ }
70
+ return {
71
+ background: rgba(color, 0.1),
72
+ hover: rgba(color, 0.12),
73
+ color,
74
+ border: `${rem(1)} solid transparent`
75
+ };
76
+ }
77
+ if (variant === "outline") {
78
+ if (parsed.isThemeColor) {
79
+ if (parsed.shade === void 0) {
80
+ return {
81
+ background: "transparent",
82
+ hover: `var(--mantine-color-${color}-outline-hover)`,
83
+ color: `var(--mantine-color-${color}-outline)`,
84
+ border: `${rem(1)} solid var(--mantine-color-${color}-outline)`
85
+ };
86
+ }
87
+ return {
88
+ background: "transparent",
89
+ hover: rgba(theme.colors[parsed.color][parsed.shade], 0.05),
90
+ color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,
91
+ border: `${rem(1)} solid var(--mantine-color-${parsed.color}-${parsed.shade})`
92
+ };
93
+ }
94
+ return {
95
+ background: "transparent",
96
+ hover: rgba(color, 0.05),
97
+ color,
98
+ border: `${rem(1)} solid ${color}`
99
+ };
100
+ }
101
+ if (variant === "subtle") {
102
+ if (parsed.isThemeColor) {
103
+ if (parsed.shade === void 0) {
104
+ return {
105
+ background: "transparent",
106
+ hover: `var(--mantine-color-${color}-light-hover)`,
107
+ color: `var(--mantine-color-${color}-light-color)`,
108
+ border: `${rem(1)} solid transparent`
109
+ };
110
+ }
111
+ const parsedColor = theme.colors[parsed.color][parsed.shade];
112
+ return {
113
+ background: "transparent",
114
+ hover: rgba(parsedColor, 0.12),
115
+ color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,
116
+ border: `${rem(1)} solid transparent`
117
+ };
118
+ }
119
+ return {
120
+ background: "transparent",
121
+ hover: rgba(color, 0.12),
122
+ color,
123
+ border: `${rem(1)} solid transparent`
124
+ };
125
+ }
126
+ if (variant === "transparent") {
127
+ if (parsed.isThemeColor) {
128
+ if (parsed.shade === void 0) {
129
+ return {
130
+ background: "transparent",
131
+ hover: "transparent",
132
+ color: `var(--mantine-color-${color}-light-color)`,
133
+ border: `${rem(1)} solid transparent`
134
+ };
135
+ }
136
+ return {
137
+ background: "transparent",
138
+ hover: "transparent",
139
+ color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,
140
+ border: `${rem(1)} solid transparent`
141
+ };
142
+ }
143
+ return {
144
+ background: "transparent",
145
+ hover: "transparent",
146
+ color,
147
+ border: `${rem(1)} solid transparent`
148
+ };
149
+ }
150
+ if (variant === "white") {
151
+ if (parsed.isThemeColor) {
152
+ if (parsed.shade === void 0) {
153
+ return {
154
+ background: "var(--mantine-color-white)",
155
+ hover: darken(theme.white, 0.01),
156
+ color: `var(--mantine-color-${color}-filled)`,
157
+ border: `${rem(1)} solid transparent`
158
+ };
159
+ }
160
+ return {
161
+ background: "var(--mantine-color-white)",
162
+ hover: darken(theme.white, 0.01),
163
+ color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,
164
+ border: `${rem(1)} solid transparent`
165
+ };
166
+ }
167
+ return {
168
+ background: "var(--mantine-color-white)",
169
+ hover: darken(theme.white, 0.01),
170
+ color,
171
+ border: `${rem(1)} solid transparent`
172
+ };
173
+ }
174
+ if (variant === "gradient") {
175
+ return {
176
+ background: getGradient(gradient, theme),
177
+ hover: getGradient(gradient, theme),
178
+ color: "var(--mantine-color-white)",
179
+ border: "none"
180
+ };
181
+ }
182
+ if (variant === "default") {
183
+ return {
184
+ background: "var(--mantine-color-default)",
185
+ hover: "var(--mantine-color-default-hover)",
186
+ color: "var(--mantine-color-default-color)",
187
+ border: `${rem(1)} solid var(--mantine-color-default-border)`
188
+ };
189
+ }
190
+ return {};
191
+ };
192
+
193
+ export { v8defaultVariantColorsResolver };
194
+ //# sourceMappingURL=v8-default-variant-colors-resolver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v8-default-variant-colors-resolver.mjs","sources":["../../../../../src/core/MantineProvider/color-functions/default-variant-colors-resolver/v8-default-variant-colors-resolver.ts"],"sourcesContent":["import { rem } from '../../../utils';\nimport { darken } from '../darken/darken';\nimport { getGradient } from '../get-gradient/get-gradient';\nimport { parseThemeColor } from '../parse-theme-color/parse-theme-color';\nimport { rgba } from '../rgba/rgba';\nimport {\n VariantColorResolverResult,\n VariantColorsResolver,\n} from './default-variant-colors-resolver';\n\nexport const v8defaultVariantColorsResolver: VariantColorsResolver = ({\n color,\n theme,\n variant,\n gradient,\n autoContrast,\n}) => {\n const parsed = parseThemeColor({ color, theme });\n\n const _autoContrast = typeof autoContrast === 'boolean' ? autoContrast : theme.autoContrast;\n\n if (variant === 'none') {\n return {\n background: 'transparent',\n hover: 'transparent',\n color: 'inherit',\n border: 'none',\n };\n }\n\n if (variant === 'filled') {\n const textColor = _autoContrast\n ? parsed.isLight\n ? 'var(--mantine-color-black)'\n : 'var(--mantine-color-white)'\n : 'var(--mantine-color-white)';\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: `var(--mantine-color-${color}-filled)`,\n hover: `var(--mantine-color-${color}-filled-hover)`,\n color: textColor,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n hover: `var(--mantine-color-${parsed.color}-${parsed.shade === 9 ? 8 : parsed.shade + 1})`,\n color: textColor,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: color!,\n hover: darken(color!, 0.1),\n color: textColor,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n if (variant === 'light') {\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: `var(--mantine-color-${color}-light)`,\n hover: `var(--mantine-color-${color}-light-hover)`,\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n const parsedColor = theme.colors[parsed.color][parsed.shade];\n\n return {\n background: rgba(parsedColor, 0.1),\n hover: rgba(parsedColor, 0.12),\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: rgba(color!, 0.1),\n hover: rgba(color!, 0.12),\n color: color!,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n if (variant === 'outline') {\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: 'transparent',\n hover: `var(--mantine-color-${color}-outline-hover)`,\n color: `var(--mantine-color-${color}-outline)`,\n border: `${rem(1)} solid var(--mantine-color-${color}-outline)`,\n };\n }\n\n return {\n background: 'transparent',\n hover: rgba(theme.colors[parsed.color][parsed.shade], 0.05),\n color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n border: `${rem(1)} solid var(--mantine-color-${parsed.color}-${parsed.shade})`,\n };\n }\n\n return {\n background: 'transparent',\n hover: rgba(color!, 0.05),\n color: color!,\n border: `${rem(1)} solid ${color}`,\n };\n }\n\n if (variant === 'subtle') {\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: 'transparent',\n hover: `var(--mantine-color-${color}-light-hover)`,\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n const parsedColor = theme.colors[parsed.color][parsed.shade];\n\n return {\n background: 'transparent',\n hover: rgba(parsedColor, 0.12),\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: 'transparent',\n hover: rgba(color!, 0.12),\n color: color!,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n if (variant === 'transparent') {\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: 'transparent',\n hover: 'transparent',\n color: `var(--mantine-color-${color}-light-color)`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: 'transparent',\n hover: 'transparent',\n color: `var(--mantine-color-${parsed.color}-${Math.min(parsed.shade, 6)})`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: 'transparent',\n hover: 'transparent',\n color: color!,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n if (variant === 'white') {\n if (parsed.isThemeColor) {\n if (parsed.shade === undefined) {\n return {\n background: 'var(--mantine-color-white)',\n hover: darken(theme.white, 0.01),\n color: `var(--mantine-color-${color}-filled)`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: 'var(--mantine-color-white)',\n hover: darken(theme.white, 0.01),\n color: `var(--mantine-color-${parsed.color}-${parsed.shade})`,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n return {\n background: 'var(--mantine-color-white)',\n hover: darken(theme.white, 0.01),\n color: color!,\n border: `${rem(1)} solid transparent`,\n };\n }\n\n if (variant === 'gradient') {\n return {\n background: getGradient(gradient, theme),\n hover: getGradient(gradient, theme),\n color: 'var(--mantine-color-white)',\n border: 'none',\n };\n }\n\n if (variant === 'default') {\n return {\n background: 'var(--mantine-color-default)',\n hover: 'var(--mantine-color-default-hover)',\n color: 'var(--mantine-color-default-color)',\n border: `${rem(1)} solid var(--mantine-color-default-border)`,\n };\n }\n\n return {} as VariantColorResolverResult;\n};\n"],"names":[],"mappings":"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"}
package/esm/index.mjs CHANGED
@@ -65,8 +65,8 @@ export { createTheme } from './core/MantineProvider/create-theme/create-theme.mj
65
65
  export { mergeThemeOverrides } from './core/MantineProvider/merge-theme-overrides/merge-theme-overrides.mjs';
66
66
  export { defaultCssVariablesResolver } from './core/MantineProvider/MantineCssVariables/default-css-variables-resolver.mjs';
67
67
  import './core/MantineProvider/MantineCssVariables/MantineCssVariables.mjs';
68
- export { getCSSColorVariables } from './core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs';
69
68
  export { isVirtualColor, virtualColor } from './core/MantineProvider/MantineCssVariables/virtual-color/virtual-color.mjs';
69
+ export { getCSSColorVariables } from './core/MantineProvider/MantineCssVariables/get-css-color-variables.mjs';
70
70
  export { useMatches } from './core/MantineProvider/use-matches/use-matches.mjs';
71
71
  export { mantineHtmlProps } from './core/MantineProvider/mantine-html-props.mjs';
72
72
  export { InlineStyles } from './core/InlineStyles/InlineStyles.mjs';
@@ -8,7 +8,7 @@ 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> | null>(component: string, defaultProps: U, _props: T): Omit<T & (U extends null | undefined ? {} : { [Key in Extract<keyof T, keyof U>]-?: U[Key] | NonNullable<T[Key]>; }), "classNames" | "styles" | "vars" | "label" | "style" | "className" | "id" | "variant" | "size" | "unstyled" | "attributes" | "mod" | "error" | "description" | "__staticSelector" | "required" | "__stylesApiProps" | "withAsterisk" | "labelProps" | "descriptionProps" | "errorProps" | "inputContainer" | "inputWrapperOrder" | "wrapperProps"> & {
11
+ export declare function useInputProps<T extends BaseProps, U extends Partial<T> | null>(component: string, defaultProps: U, _props: T): Omit<T & (U extends null | undefined ? {} : { [Key in Extract<keyof T, keyof U>]-?: U[Key] | NonNullable<T[Key]>; }), "wrapperProps" | "label" | "description" | "error" | "required" | "withAsterisk" | "labelProps" | "descriptionProps" | "errorProps" | "inputContainer" | "inputWrapperOrder" | "size" | "style" | "className" | "id" | "unstyled" | "vars" | "variant" | "mod" | "classNames" | "styles" | "attributes" | "__staticSelector" | "__stylesApiProps"> & {
12
12
  classNames: Partial<Record<string, string>> | ((theme: import("../..").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, string>>) | undefined;
13
13
  styles: Partial<Record<string, import("../..").CSSProperties>> | ((theme: import("../..").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, import("../..").CSSProperties>>) | undefined;
14
14
  unstyled: boolean | undefined;
@@ -307,9 +307,9 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>
307
307
  descriptionProps: (import(".").InputDescriptionProps & import("../..").DataAttributes) | undefined;
308
308
  unstyled: boolean | undefined;
309
309
  styles: Partial<Record<string, import("../..").CSSProperties>> | ((theme: import("../..").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, import("../..").CSSProperties>>) | undefined;
310
- size: import("../..").MantineSize | (string & {}) | undefined;
310
+ size: (string & {}) | import("../..").MantineSize | undefined;
311
311
  inputContainer: ((children: React.ReactNode) => React.ReactNode) | undefined;
312
- inputWrapperOrder: ("input" | "label" | "error" | "description")[] | undefined;
312
+ inputWrapperOrder: ("label" | "description" | "error" | "input")[] | undefined;
313
313
  withAsterisk: boolean | undefined;
314
314
  variant: string | undefined;
315
315
  mod: import("../..").BoxMod | undefined;
@@ -322,7 +322,7 @@ export declare function useInputProps<T extends BaseProps, U extends Partial<T>
322
322
  classNames: Partial<Record<string, string>> | ((theme: import("../..").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, string>>) | undefined;
323
323
  styles: Partial<Record<string, import("../..").CSSProperties>> | ((theme: import("../..").MantineTheme, props: any, ctx: unknown) => Partial<Record<string, import("../..").CSSProperties>>) | undefined;
324
324
  unstyled: boolean | undefined;
325
- size: import("../..").MantineSize | (string & {}) | undefined;
325
+ size: (string & {}) | import("../..").MantineSize | undefined;
326
326
  __staticSelector: string | undefined;
327
327
  __stylesApiProps: Record<string, any> | BaseProps;
328
328
  error: import("react").ReactNode;
@@ -6,17 +6,21 @@ export interface NumberInputHandlers {
6
6
  increment: () => void;
7
7
  decrement: () => void;
8
8
  }
9
+ export type NumberInputMode = 'number' | 'bigint';
10
+ export type NumberInputNumericType = number | bigint;
11
+ export type NumberInputValue<T extends NumberInputNumericType = number> = T | string;
12
+ type NumberInputNumericValue<T extends NumberInputNumericType = number> = T;
9
13
  export type NumberInputStylesNames = 'controls' | 'control' | __InputStylesNames;
10
14
  export type NumberInputCssVariables = {
11
15
  controls: '--ni-chevron-size';
12
16
  };
13
- export interface NumberInputProps extends BoxProps, Omit<__BaseInputProps, 'pointer'>, StylesApiProps<NumberInputFactory>, ElementProps<'input', 'size' | 'type' | 'onChange'> {
17
+ export interface NumberInputProps<T extends NumberInputNumericType = number> extends BoxProps, Omit<__BaseInputProps, 'pointer'>, StylesApiProps<NumberInputFactory>, ElementProps<'input', 'size' | 'type' | 'onChange' | 'value' | 'defaultValue' | 'min' | 'max' | 'step'> {
14
18
  /** Controlled component value */
15
- value?: number | string;
19
+ value?: NumberInputValue<T>;
16
20
  /** Uncontrolled component default value */
17
- defaultValue?: number | string;
21
+ defaultValue?: NumberInputValue<T>;
18
22
  /** Called when value changes */
19
- onChange?: (value: number | string) => void;
23
+ onChange?: (value: NumberInputValue<T>) => void;
20
24
  /** Called when value changes with `react-number-format` payload */
21
25
  onValueChange?: OnValueChange;
22
26
  /** Determines whether leading zeros are allowed during input. If `false`, leading zeros are removed as you type (e.g., typing `007` results in `7`). Works in conjunction with `trimLeadingZeroesOnBlur`. @default true */
@@ -46,11 +50,11 @@ export interface NumberInputProps extends BoxProps, Omit<__BaseInputProps, 'poin
46
50
  /** A character used to separate thousands */
47
51
  thousandSeparator?: string | boolean;
48
52
  /** Minimum possible value */
49
- min?: number;
53
+ min?: NumberInputNumericValue<T>;
50
54
  /** Maximum possible value */
51
- max?: number;
55
+ max?: NumberInputNumericValue<T>;
52
56
  /** Number by which value will be incremented/decremented with up/down controls and keyboard arrows @default 1 */
53
- step?: number;
57
+ step?: NumberInputNumericValue<T>;
54
58
  /** If set, the up/down controls are hidden @default false */
55
59
  hideControls?: boolean;
56
60
  /** Controls how values are clamped to the `min`/`max` range:
@@ -64,7 +68,7 @@ export interface NumberInputProps extends BoxProps, Omit<__BaseInputProps, 'poin
64
68
  /** Increment/decrement handlers */
65
69
  handlersRef?: React.Ref<NumberInputHandlers | undefined>;
66
70
  /** Value used when incrementing/decrementing an empty input. If `min` is set and `startValue < min`, `min` is used instead. @default 0 */
67
- startValue?: number;
71
+ startValue?: NumberInputNumericValue<T>;
68
72
  /** Interval in milliseconds between value steps when increment/decrement button is held down. Can be a number or a function `(stepCount) => number` for dynamic intervals. Requires `stepHoldDelay` to be set. @default undefined */
69
73
  stepHoldInterval?: number | ((stepCount: number) => number);
70
74
  /** Initial delay in milliseconds before stepping the value. */
@@ -86,11 +90,39 @@ export type NumberInputFactory = Factory<{
86
90
  stylesNames: NumberInputStylesNames;
87
91
  vars: NumberInputCssVariables;
88
92
  variant: InputVariant;
93
+ signature: <T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element;
89
94
  }>;
90
- export declare const NumberInput: import("../..").MantineComponent<{
95
+ export declare const NumberInput: (<T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element) & import("../..").ThemeExtend<{
91
96
  props: NumberInputProps;
92
97
  ref: HTMLInputElement;
93
98
  stylesNames: NumberInputStylesNames;
94
99
  vars: NumberInputCssVariables;
95
100
  variant: InputVariant;
96
- }>;
101
+ signature: <T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element;
102
+ }> & import("../..").ComponentClasses<{
103
+ props: NumberInputProps;
104
+ ref: HTMLInputElement;
105
+ stylesNames: NumberInputStylesNames;
106
+ vars: NumberInputCssVariables;
107
+ variant: InputVariant;
108
+ signature: <T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element;
109
+ }> & Record<string, never> & {
110
+ varsResolver: import("../..").VarsResolver<{
111
+ props: NumberInputProps;
112
+ ref: HTMLInputElement;
113
+ stylesNames: NumberInputStylesNames;
114
+ vars: NumberInputCssVariables;
115
+ variant: InputVariant;
116
+ signature: <T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element;
117
+ }>;
118
+ } & import("../..").FactoryComponentWithProps<{
119
+ props: NumberInputProps;
120
+ ref: HTMLInputElement;
121
+ stylesNames: NumberInputStylesNames;
122
+ vars: NumberInputCssVariables;
123
+ variant: InputVariant;
124
+ signature: <T extends NumberInputNumericType = number>(props: NumberInputProps<T>) => React.JSX.Element;
125
+ }> & {
126
+ displayName?: string;
127
+ };
128
+ export {};
@@ -1,8 +1,8 @@
1
- import type { NumberInputCssVariables, NumberInputFactory, NumberInputHandlers, NumberInputProps, NumberInputStylesNames } from './NumberInput';
1
+ import type { NumberInputCssVariables, NumberInputFactory, NumberInputHandlers, NumberInputMode, NumberInputNumericType, NumberInputProps, NumberInputStylesNames } from './NumberInput';
2
2
  export { NumberInput } from './NumberInput';
3
- export type { NumberInputProps, NumberInputStylesNames, NumberInputFactory, NumberInputCssVariables, NumberInputHandlers, };
3
+ export type { NumberInputProps, NumberInputStylesNames, NumberInputFactory, NumberInputCssVariables, NumberInputHandlers, NumberInputMode, NumberInputNumericType, };
4
4
  export declare namespace NumberInput {
5
- type Props = NumberInputProps;
5
+ type Props<T extends NumberInputNumericType = number> = NumberInputProps<T>;
6
6
  type StylesNames = NumberInputStylesNames;
7
7
  type Factory = NumberInputFactory;
8
8
  type CssVariables = NumberInputCssVariables;
@@ -45,8 +45,8 @@ export declare function usePopover(options: UsePopoverOptions): {
45
45
  context: {
46
46
  x: number;
47
47
  y: number;
48
- placement: import("@floating-ui/utils").Placement;
49
48
  strategy: import("@floating-ui/utils").Strategy;
49
+ placement: import("@floating-ui/utils").Placement;
50
50
  middlewareData: import("@floating-ui/core").MiddlewareData;
51
51
  isPositioned: boolean;
52
52
  update: () => void;
@@ -57,6 +57,11 @@ export interface ScrollAreaProps extends BoxProps, StylesApiProps<ScrollAreaFact
57
57
  onRightReached?: () => void;
58
58
  /** Defines `overscroll-behavior` of the viewport */
59
59
  overscrollBehavior?: React.CSSProperties['overscrollBehavior'];
60
+ /** Initial scroll position set on mount */
61
+ startScrollPosition?: {
62
+ x?: number;
63
+ y?: number;
64
+ };
60
65
  }
61
66
  export interface ScrollAreaAutosizeProps extends ScrollAreaProps {
62
67
  /** Called when content overflows due to max-height, making the container scrollable */
@@ -1,5 +1,6 @@
1
1
  export { MantineCssVariables } from './MantineCssVariables';
2
2
  export { defaultCssVariablesResolver } from './default-css-variables-resolver';
3
+ export { v8CssVariablesResolver } from './v8-css-variables-resolver';
3
4
  export { getCSSColorVariables } from './get-css-color-variables';
4
5
  export { virtualColor, isVirtualColor } from './virtual-color/virtual-color';
5
6
  export type { CSSVariablesResolver } from './default-css-variables-resolver';
@@ -0,0 +1,2 @@
1
+ import { CSSVariablesResolver } from './default-css-variables-resolver';
2
+ export declare const v8CssVariablesResolver: CSSVariablesResolver;
@@ -0,0 +1,2 @@
1
+ import { VariantColorsResolver } from './default-variant-colors-resolver';
2
+ export declare const v8defaultVariantColorsResolver: VariantColorsResolver;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/core",
3
- "version": "9.0.0-alpha.2",
3
+ "version": "9.0.0-alpha.4",
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": "9.0.0-alpha.2",
46
+ "@mantine/hooks": "9.0.0-alpha.4",
47
47
  "react": "^18.x || ^19.x",
48
48
  "react-dom": "^18.x || ^19.x"
49
49
  },
@@ -56,7 +56,8 @@
56
56
  }
57
57
 
58
58
  :where([data-mode='static'][data-layout='alt']) .m_45252eee, :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
59
- grid-row: var(--app-shell-navbar-grid-row-alt, var(--app-shell-navbar-grid-row, auto));
59
+ grid-row: 1 / -1;
60
+ height: 100%;
60
61
  }
61
62
 
62
63
  .m_45252eee {
@@ -102,6 +103,10 @@
102
103
  border-inline-start: 1px solid var(--app-shell-border-color);
103
104
  }
104
105
 
106
+ :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
107
+ grid-row: 1 / -1;
108
+ }
109
+
105
110
  :where([data-scroll-locked]) .m_9cdde9a {
106
111
  visibility: var(--app-shell-aside-scroll-locked-visibility);
107
112
  }
@@ -144,6 +149,7 @@
144
149
  }
145
150
 
146
151
  :where([data-mode='static'][data-layout='alt']) .m_3b16f56b, :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
152
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
147
153
  margin-inline-start: 0rem;
148
154
  margin-inline-end: 0rem;
149
155
  }
@@ -178,6 +184,10 @@
178
184
  grid-row: var(--app-shell-footer-grid-row, auto);
179
185
  }
180
186
 
187
+ :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
188
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
189
+ }
190
+
181
191
  .m_3840c879:where([data-with-border]) {
182
192
  border-top: 1px solid var(--app-shell-border-color);
183
193
  }
@@ -56,7 +56,8 @@
56
56
  }
57
57
 
58
58
  :where([data-mode='static'][data-layout='alt']) .m_45252eee, :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
59
- grid-row: var(--app-shell-navbar-grid-row-alt, var(--app-shell-navbar-grid-row, auto));
59
+ grid-row: 1 / -1;
60
+ height: 100%;
60
61
  }
61
62
 
62
63
  .m_45252eee {
@@ -102,6 +103,10 @@
102
103
  border-inline-start: 1px solid var(--app-shell-border-color);
103
104
  }
104
105
 
106
+ :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
107
+ grid-row: 1 / -1;
108
+ }
109
+
105
110
  :where([data-scroll-locked]) .m_9cdde9a {
106
111
  visibility: var(--app-shell-aside-scroll-locked-visibility);
107
112
  }
@@ -144,6 +149,7 @@
144
149
  }
145
150
 
146
151
  :where([data-mode='static'][data-layout='alt']) .m_3b16f56b, :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
152
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
147
153
  margin-inline-start: 0rem;
148
154
  margin-inline-end: 0rem;
149
155
  }
@@ -178,6 +184,10 @@
178
184
  grid-row: var(--app-shell-footer-grid-row, auto);
179
185
  }
180
186
 
187
+ :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
188
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
189
+ }
190
+
181
191
  .m_3840c879:where([data-with-border]) {
182
192
  border-top: 1px solid var(--app-shell-border-color);
183
193
  }
package/styles.css CHANGED
@@ -2252,7 +2252,8 @@ fieldset:disabled .mantine-active:active {
2252
2252
  }
2253
2253
 
2254
2254
  :where([data-mode='static'][data-layout='alt']) .m_45252eee, :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
2255
- grid-row: var(--app-shell-navbar-grid-row-alt, var(--app-shell-navbar-grid-row, auto));
2255
+ grid-row: 1 / -1;
2256
+ height: 100%;
2256
2257
  }
2257
2258
 
2258
2259
  .m_45252eee {
@@ -2298,6 +2299,10 @@ fieldset:disabled .mantine-active:active {
2298
2299
  border-inline-start: 1px solid var(--app-shell-border-color);
2299
2300
  }
2300
2301
 
2302
+ :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
2303
+ grid-row: 1 / -1;
2304
+ }
2305
+
2301
2306
  :where([data-scroll-locked]) .m_9cdde9a {
2302
2307
  visibility: var(--app-shell-aside-scroll-locked-visibility);
2303
2308
  }
@@ -2340,6 +2345,7 @@ fieldset:disabled .mantine-active:active {
2340
2345
  }
2341
2346
 
2342
2347
  :where([data-mode='static'][data-layout='alt']) .m_3b16f56b, :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
2348
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
2343
2349
  margin-inline-start: 0rem;
2344
2350
  margin-inline-end: 0rem;
2345
2351
  }
@@ -2374,6 +2380,10 @@ fieldset:disabled .mantine-active:active {
2374
2380
  grid-row: var(--app-shell-footer-grid-row, auto);
2375
2381
  }
2376
2382
 
2383
+ :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
2384
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
2385
+ }
2386
+
2377
2387
  .m_3840c879:where([data-with-border]) {
2378
2388
  border-top: 1px solid var(--app-shell-border-color);
2379
2389
  }
package/styles.layer.css CHANGED
@@ -2252,7 +2252,8 @@ fieldset:disabled .mantine-active:active {
2252
2252
  }
2253
2253
 
2254
2254
  :where([data-mode='static'][data-layout='alt']) .m_45252eee, :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
2255
- grid-row: var(--app-shell-navbar-grid-row-alt, var(--app-shell-navbar-grid-row, auto));
2255
+ grid-row: 1 / -1;
2256
+ height: 100%;
2256
2257
  }
2257
2258
 
2258
2259
  .m_45252eee {
@@ -2298,6 +2299,10 @@ fieldset:disabled .mantine-active:active {
2298
2299
  border-inline-start: 1px solid var(--app-shell-border-color);
2299
2300
  }
2300
2301
 
2302
+ :where([data-mode='static'][data-layout='alt']) .m_9cdde9a {
2303
+ grid-row: 1 / -1;
2304
+ }
2305
+
2301
2306
  :where([data-scroll-locked]) .m_9cdde9a {
2302
2307
  visibility: var(--app-shell-aside-scroll-locked-visibility);
2303
2308
  }
@@ -2340,6 +2345,7 @@ fieldset:disabled .mantine-active:active {
2340
2345
  }
2341
2346
 
2342
2347
  :where([data-mode='static'][data-layout='alt']) .m_3b16f56b, :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
2348
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
2343
2349
  margin-inline-start: 0rem;
2344
2350
  margin-inline-end: 0rem;
2345
2351
  }
@@ -2374,6 +2380,10 @@ fieldset:disabled .mantine-active:active {
2374
2380
  grid-row: var(--app-shell-footer-grid-row, auto);
2375
2381
  }
2376
2382
 
2383
+ :where([data-mode='static'][data-layout='alt']) .m_3840c879 {
2384
+ grid-column: var(--app-shell-main-column-start, 1) / var(--app-shell-main-column-end, -1);
2385
+ }
2386
+
2377
2387
  .m_3840c879:where([data-with-border]) {
2378
2388
  border-top: 1px solid var(--app-shell-border-color);
2379
2389
  }
@@ -1,9 +0,0 @@
1
- 'use client';
2
- 'use strict';
3
-
4
- function getFloatingValue(value, precision) {
5
- return parseFloat(value.toFixed(precision));
6
- }
7
-
8
- exports.getFloatingValue = getFloatingValue;
9
- //# sourceMappingURL=get-gloating-value.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-gloating-value.cjs","sources":["../../../../../src/components/Slider/utils/get-floating-value/get-gloating-value.ts"],"sourcesContent":["export function getFloatingValue(value: number, precision: number) {\n return parseFloat(value.toFixed(precision));\n}\n"],"names":[],"mappings":";;;AAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,GAAe,SAAA,CAAA,CAAmB,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,UAAA,CAAW,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAC,CAAA,CAAA;AAC5C,CAAA;;"}