@mantine/core 6.0.2 → 6.0.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 (44) hide show
  1. package/cjs/Accordion/AccordionControl/AccordionControl.styles.js +3 -3
  2. package/cjs/Accordion/AccordionControl/AccordionControl.styles.js.map +1 -1
  3. package/cjs/Drawer/DrawerRoot/DrawerRoot.styles.js +3 -0
  4. package/cjs/Drawer/DrawerRoot/DrawerRoot.styles.js.map +1 -1
  5. package/cjs/ModalBase/ModalBase.js +1 -1
  6. package/cjs/ModalBase/ModalBase.js.map +1 -1
  7. package/cjs/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.js +2 -1
  8. package/cjs/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.js.map +1 -1
  9. package/cjs/NumberInput/NumberInput.js +65 -68
  10. package/cjs/NumberInput/NumberInput.js.map +1 -1
  11. package/cjs/Pagination/Pagination.js +1 -1
  12. package/cjs/Pagination/Pagination.js.map +1 -1
  13. package/cjs/Pagination/PaginationEdges/PaginationEdges.js +3 -0
  14. package/cjs/Pagination/PaginationEdges/PaginationEdges.js.map +1 -1
  15. package/cjs/Pagination/PaginationEdges/PaginationEdges.styles.js +14 -0
  16. package/cjs/Pagination/PaginationEdges/PaginationEdges.styles.js.map +1 -0
  17. package/cjs/Select/Select.js +1 -1
  18. package/cjs/Select/Select.js.map +1 -1
  19. package/esm/Accordion/AccordionControl/AccordionControl.styles.js +3 -3
  20. package/esm/Accordion/AccordionControl/AccordionControl.styles.js.map +1 -1
  21. package/esm/Drawer/DrawerRoot/DrawerRoot.styles.js +3 -0
  22. package/esm/Drawer/DrawerRoot/DrawerRoot.styles.js.map +1 -1
  23. package/esm/ModalBase/ModalBase.js +1 -1
  24. package/esm/ModalBase/ModalBase.js.map +1 -1
  25. package/esm/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.js +2 -1
  26. package/esm/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.js.map +1 -1
  27. package/esm/NumberInput/NumberInput.js +66 -69
  28. package/esm/NumberInput/NumberInput.js.map +1 -1
  29. package/esm/Pagination/Pagination.js +1 -1
  30. package/esm/Pagination/Pagination.js.map +1 -1
  31. package/esm/Pagination/PaginationEdges/PaginationEdges.js +3 -0
  32. package/esm/Pagination/PaginationEdges/PaginationEdges.js.map +1 -1
  33. package/esm/Pagination/PaginationEdges/PaginationEdges.styles.js +10 -0
  34. package/esm/Pagination/PaginationEdges/PaginationEdges.styles.js.map +1 -0
  35. package/esm/Select/Select.js +1 -1
  36. package/esm/Select/Select.js.map +1 -1
  37. package/lib/Drawer/DrawerRoot/DrawerRoot.styles.d.ts +1 -0
  38. package/lib/Drawer/DrawerRoot/DrawerRoot.styles.d.ts.map +1 -1
  39. package/lib/ModalBase/ModalBaseHeader/ModalBaseHeader.styles.d.ts.map +1 -1
  40. package/lib/NumberInput/NumberInput.d.ts.map +1 -1
  41. package/lib/Pagination/PaginationEdges/PaginationEdges.d.ts.map +1 -1
  42. package/lib/Pagination/PaginationEdges/PaginationEdges.styles.d.ts +9 -0
  43. package/lib/Pagination/PaginationEdges/PaginationEdges.styles.d.ts.map +1 -0
  44. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef, useState, useRef, useEffect } from 'react';
2
- import { clamp, assignRef, useMergedRef, useOs } from '@mantine/hooks';
2
+ import { useDisclosure, clamp, assignRef, useMergedRef, useOs } from '@mantine/hooks';
3
3
  import { rem, useComponentDefaultProps, getSize } from '@mantine/styles';
4
4
  import { getInputMode } from './get-input-mode/get-input-mode.js';
5
5
  import { Chevron } from './Chevron.js';
@@ -139,10 +139,13 @@ const NumberInput = forwardRef((props, ref) => {
139
139
  "type"
140
140
  ]);
141
141
  const { classes, cx } = useStyles({ radius }, { classNames, styles, unstyled, name: "NumberInput", variant, size });
142
- const parsePrecision = (val) => {
142
+ const parsePrecision = (val, allowHigherPrecision) => {
143
143
  if (val === "")
144
144
  return "";
145
145
  let result = val.toFixed(precision);
146
+ if (allowHigherPrecision && result.length < val.toString().length) {
147
+ result = val.toString();
148
+ }
146
149
  if (removeTrailingZeros && precision > 0) {
147
150
  result = result.replace(new RegExp(`[0]{0,${precision}}$`), "");
148
151
  if (result.endsWith(".") || result.endsWith(decimalSeparator)) {
@@ -151,16 +154,6 @@ const NumberInput = forwardRef((props, ref) => {
151
154
  }
152
155
  return result;
153
156
  };
154
- const [_value, setValue] = useState(typeof value === "number" ? value : typeof defaultValue === "number" ? defaultValue : "");
155
- const finalValue = typeof value === "number" ? value : _value;
156
- const [tempValue, setTempValue] = useState(typeof finalValue === "number" ? parsePrecision(finalValue) : "");
157
- const inputRef = useRef();
158
- const handleValueChange = (val) => {
159
- if (val !== _value && !Number.isNaN(val)) {
160
- typeof onChange === "function" && onChange(val);
161
- setValue(val);
162
- }
163
- };
164
157
  const formatNum = (val = "") => {
165
158
  let parsedStr = typeof val === "number" ? String(val) : val;
166
159
  if (decimalSeparator) {
@@ -175,43 +168,58 @@ const NumberInput = forwardRef((props, ref) => {
175
168
  }
176
169
  return parser(num);
177
170
  };
171
+ const formatInternalValue = (val, allowHigherPrecision) => formatNum(parsePrecision(val, allowHigherPrecision));
172
+ const [resetStateValue, resetStateHandlers] = useDisclosure(false);
173
+ const [internalValue, _setInternalValue] = useState(typeof value === "number" ? value : typeof defaultValue === "number" ? defaultValue : "");
174
+ const [inputValue, setInputValue] = useState(() => formatInternalValue(internalValue));
175
+ const inputRef = useRef();
176
+ const setInternalValue = (val, allowHigherPrecision) => {
177
+ const newInputValue = formatInternalValue(val, allowHigherPrecision);
178
+ if (newInputValue !== inputValue) {
179
+ setInputValue(newInputValue);
180
+ }
181
+ if (val !== internalValue) {
182
+ _setInternalValue(val);
183
+ }
184
+ };
178
185
  const _min = typeof min === "number" ? min : -Infinity;
179
186
  const _max = typeof max === "number" ? max : Infinity;
180
187
  const incrementRef = useRef();
181
188
  incrementRef.current = () => {
182
- var _a2, _b, _c;
183
- if (_value === "") {
184
- handleValueChange((_a2 = startValue != null ? startValue : min) != null ? _a2 : 0);
185
- setTempValue(startValue ? (_c = (_b = parsePrecision(startValue)) != null ? _b : parsePrecision(min)) != null ? _c : "0" : "0");
189
+ var _a2;
190
+ let newInternalValue;
191
+ if (internalValue === "") {
192
+ newInternalValue = (_a2 = startValue != null ? startValue : min) != null ? _a2 : 0;
186
193
  } else {
187
- const result = parsePrecision(clamp(_value + step, _min, _max));
188
- handleValueChange(parseFloat(result));
189
- setTempValue(result);
194
+ newInternalValue = parseFloat(parsePrecision(clamp(internalValue + step, _min, _max)));
190
195
  }
196
+ if (value === void 0) {
197
+ setInternalValue(newInternalValue);
198
+ }
199
+ onChange == null ? void 0 : onChange(newInternalValue);
191
200
  };
192
201
  const decrementRef = useRef();
193
202
  decrementRef.current = () => {
194
- var _a2, _b, _c;
195
- if (_value === "") {
196
- handleValueChange((_a2 = startValue != null ? startValue : min) != null ? _a2 : 0);
197
- setTempValue(startValue ? (_c = (_b = parsePrecision(startValue)) != null ? _b : parsePrecision(min)) != null ? _c : "0" : "0");
203
+ var _a2;
204
+ let newInternalValue;
205
+ if (internalValue === "") {
206
+ newInternalValue = (_a2 = startValue != null ? startValue : min) != null ? _a2 : 0;
198
207
  } else {
199
- const result = parsePrecision(clamp(_value - step, _min, _max));
200
- handleValueChange(parseFloat(result));
201
- setTempValue(result);
208
+ newInternalValue = parseFloat(parsePrecision(clamp(internalValue - step, _min, _max)));
202
209
  }
210
+ if (value === void 0) {
211
+ setInternalValue(newInternalValue);
212
+ }
213
+ onChange == null ? void 0 : onChange(newInternalValue);
203
214
  };
204
215
  assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });
205
216
  useEffect(() => {
206
- if (typeof value === "number") {
207
- setValue(value);
208
- setTempValue(parsePrecision(value));
209
- }
210
- if ((defaultValue === "" || defaultValue === void 0) && value === "") {
211
- setValue(value);
212
- setTempValue("");
217
+ if (typeof value === "number" || value === "") {
218
+ setInternalValue(value, true);
219
+ } else if (value === void 0) {
220
+ setInternalValue(defaultValue != null ? defaultValue : "", true);
213
221
  }
214
- }, [value, precision]);
222
+ }, [value, resetStateValue]);
215
223
  const shouldUseStepInterval = stepHoldDelay !== void 0 && stepHoldInterval !== void 0;
216
224
  const onStepTimeoutRef = useRef(null);
217
225
  const stepCountRef = useRef(0);
@@ -255,7 +263,7 @@ const NumberInput = forwardRef((props, ref) => {
255
263
  type: "button",
256
264
  tabIndex: -1,
257
265
  "aria-hidden": true,
258
- disabled: finalValue >= max,
266
+ disabled: internalValue >= max,
259
267
  className: cx(classes.control, classes.controlUp),
260
268
  onPointerDown: (event) => {
261
269
  onStep(event, true);
@@ -269,7 +277,7 @@ const NumberInput = forwardRef((props, ref) => {
269
277
  type: "button",
270
278
  tabIndex: -1,
271
279
  "aria-hidden": true,
272
- disabled: finalValue <= min,
280
+ disabled: internalValue <= min,
273
281
  className: cx(classes.control, classes.controlDown),
274
282
  onPointerDown: (event) => {
275
283
  onStep(event, false);
@@ -280,46 +288,33 @@ const NumberInput = forwardRef((props, ref) => {
280
288
  size: getSize({ size, sizes: CHEVRON_SIZES }),
281
289
  direction: "down"
282
290
  })));
291
+ const propagateNewValue = () => {
292
+ let normalizedInputValue = inputValue;
293
+ if (normalizedInputValue[0] === `${decimalSeparator}` || normalizedInputValue[0] === ".") {
294
+ normalizedInputValue = `0${normalizedInputValue}`;
295
+ }
296
+ const parsedValue = parseFloat(parsePrecision(parseFloat(parseNum(normalizedInputValue))));
297
+ const clampedValue = !noClampOnBlur ? clamp(parsedValue, _min, _max) : parsedValue;
298
+ const finalValue = Number.isNaN(clampedValue) ? "" : clampedValue;
299
+ if (value === void 0) {
300
+ setInternalValue(finalValue);
301
+ onChange == null ? void 0 : onChange(finalValue);
302
+ } else {
303
+ onChange == null ? void 0 : onChange(finalValue);
304
+ resetStateHandlers.toggle();
305
+ }
306
+ };
283
307
  const handleChange = (event) => {
284
308
  const evt = event.nativeEvent;
285
309
  if (evt.isComposing) {
286
310
  return;
287
311
  }
288
312
  const val = event.target.value;
289
- const parsed = parseNum(val);
290
- setTempValue(parsed);
291
- if (val === "" || val === "-") {
292
- handleValueChange("");
293
- } else {
294
- val.trim() !== "" && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));
295
- }
313
+ setInputValue(val);
296
314
  };
297
315
  const handleBlur = (event) => {
298
- var _a2;
299
- if (typeof value === "number" || value === "") {
300
- setTempValue(parsePrecision(value));
301
- return;
302
- }
303
- if (event.target.value === "") {
304
- setTempValue("");
305
- handleValueChange("");
306
- } else {
307
- let newNumber = event.target.value;
308
- if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === ".") {
309
- newNumber = `0${newNumber}`;
310
- }
311
- const parsedVal = parseNum(newNumber);
312
- const val = clamp(parseFloat(parsedVal), _min, _max);
313
- if (!Number.isNaN(val)) {
314
- if (!noClampOnBlur) {
315
- setTempValue(parsePrecision(val));
316
- handleValueChange(parseFloat(parsePrecision(val)));
317
- }
318
- } else {
319
- setTempValue((_a2 = parsePrecision(finalValue)) != null ? _a2 : "");
320
- }
321
- }
322
- typeof onBlur === "function" && onBlur(event);
316
+ propagateNewValue();
317
+ onBlur == null ? void 0 : onBlur(event);
323
318
  };
324
319
  const handleKeyDown = (event) => {
325
320
  typeof onKeyDown === "function" && onKeyDown(event);
@@ -332,6 +327,8 @@ const NumberInput = forwardRef((props, ref) => {
332
327
  onStep(event, true);
333
328
  } else if (event.key === "ArrowDown") {
334
329
  onStep(event, false);
330
+ } else if (event.key === "Enter" && !event.repeat) {
331
+ propagateNewValue();
335
332
  }
336
333
  }
337
334
  };
@@ -344,7 +341,7 @@ const NumberInput = forwardRef((props, ref) => {
344
341
  return /* @__PURE__ */ React.createElement(TextInput, __spreadProps(__spreadValues({}, others), {
345
342
  type,
346
343
  variant,
347
- value: formatNum(tempValue),
344
+ value: inputValue,
348
345
  disabled,
349
346
  readOnly,
350
347
  ref: useMergedRef(inputRef, ref),
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps, rem, getSize } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | '') => string;\ntype Parser = (value: string | '') => string;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** Called when value changes */\n onChange?(value: number | ''): void;\n\n /** Input value for controlled component */\n value?: number | '';\n\n /** Default value for uncontrolled component */\n defaultValue?: number | '';\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return '';\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: rem(10),\n sm: rem(14),\n md: rem(16),\n lg: rem(18),\n xl: rem(20),\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n readOnly,\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { radius },\n { classNames, styles, unstyled, name: 'NumberInput', variant, size }\n );\n\n const parsePrecision = (val: number | '') => {\n if (val === '') return '';\n\n let result = val.toFixed(precision);\n if (removeTrailingZeros && precision > 0) {\n result = result.replace(new RegExp(`[0]{0,${precision}}$`), '');\n if (result.endsWith('.') || result.endsWith(decimalSeparator)) {\n result = result.slice(0, -1);\n }\n }\n\n return result;\n };\n\n const [_value, setValue] = useState<number | ''>(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : ''\n );\n const finalValue = typeof value === 'number' ? value : _value;\n const [tempValue, setTempValue] = useState(\n typeof finalValue === 'number' ? parsePrecision(finalValue) : ''\n );\n const inputRef = useRef<HTMLInputElement>();\n const handleValueChange = (val: number | '') => {\n if (val !== _value && !Number.isNaN(val)) {\n typeof onChange === 'function' && onChange(val);\n setValue(val);\n }\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | '' => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n if (_value === '') {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue ? parsePrecision(startValue) ?? parsePrecision(min) ?? '0' : '0');\n } else {\n const result = parsePrecision(clamp(_value + step, _min, _max));\n\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n if (_value === '') {\n handleValueChange(startValue ?? min ?? 0);\n setTempValue(startValue ? parsePrecision(startValue) ?? parsePrecision(min) ?? '0' : '0');\n } else {\n const result = parsePrecision(clamp(_value - step, _min, _max));\n handleValueChange(parseFloat(result));\n setTempValue(result);\n }\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number') {\n setValue(value);\n setTempValue(parsePrecision(value));\n }\n if ((defaultValue === '' || defaultValue === undefined) && value === '') {\n setValue(value);\n setTempValue('');\n }\n }, [value, precision]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={finalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n const parsed = parseNum(val);\n\n setTempValue(parsed);\n\n if (val === '' || val === '-') {\n handleValueChange('');\n } else {\n val.trim() !== '' && !Number.isNaN(parsed) && handleValueChange(parseFloat(parsed));\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n if (typeof value === 'number' || value === '') {\n setTempValue(parsePrecision(value));\n return;\n }\n\n if (event.target.value === '') {\n setTempValue('');\n handleValueChange('');\n } else {\n let newNumber = event.target.value;\n\n if (newNumber[0] === `${decimalSeparator}` || newNumber[0] === '.') {\n newNumber = `0${newNumber}`;\n }\n\n const parsedVal = parseNum(newNumber);\n const val = clamp(parseFloat(parsedVal), _min, _max);\n\n if (!Number.isNaN(val)) {\n if (!noClampOnBlur) {\n setTempValue(parsePrecision(val));\n handleValueChange(parseFloat(parsePrecision(val)));\n }\n } else {\n setTempValue(parsePrecision(finalValue) ?? '');\n }\n }\n\n typeof onBlur === 'function' && onBlur(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n if (!readOnly) {\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n }\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={formatNum(tempValue)}\n disabled={disabled}\n readOnly={readOnly}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection ||\n (disabled || readOnly || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={\n rightSectionWidth ?? `calc(${getSize({ size, sizes: CONTROL_SIZES })} + ${rem(1)})`\n }\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sources":["../../src/NumberInput/NumberInput.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef, forwardRef } from 'react';\nimport { useMergedRef, assignRef, useOs, clamp, useDisclosure } from '@mantine/hooks';\nimport { DefaultProps, Selectors, useComponentDefaultProps, rem, getSize } from '@mantine/styles';\nimport { TextInput } from '../TextInput';\nimport { InputStylesNames, InputWrapperStylesNames } from '../Input';\nimport { getInputMode } from './get-input-mode/get-input-mode';\nimport { Chevron } from './Chevron';\nimport useStyles, { CONTROL_SIZES } from './NumberInput.styles';\n\nexport type InnerNumberInputStylesNames = Selectors<typeof useStyles>;\nexport type NumberInputStylesNames =\n | InputStylesNames\n | InputWrapperStylesNames\n | InnerNumberInputStylesNames;\n\nexport interface NumberInputHandlers {\n increment(): void;\n decrement(): void;\n}\n\ntype Formatter = (value: string | '') => string;\ntype Parser = (value: string | '') => string;\n\nexport interface NumberInputProps\n extends DefaultProps<NumberInputStylesNames>,\n Omit<\n React.ComponentPropsWithoutRef<typeof TextInput>,\n 'onChange' | 'value' | 'classNames' | 'styles' | 'type'\n > {\n /** Called when value changes */\n onChange?(value: number | ''): void;\n\n /** Input value for controlled component */\n value?: number | '';\n\n /** Default value for uncontrolled component */\n defaultValue?: number | '';\n\n /** The decimal separator */\n decimalSeparator?: string;\n\n /** Maximum possible value */\n max?: number;\n\n /** Minimal possible value */\n min?: number;\n\n /** First value if no initial value was set and increment/decrement is triggered using controls or up/down arrows */\n startValue?: number;\n\n /** Number by which value will be incremented/decremented with controls and up/down arrows */\n step?: number;\n\n /** Delay before stepping the value. Can be a number of milliseconds or a function that receives the current step count and returns the delay in milliseconds. */\n stepHoldInterval?: number | ((stepCount: number) => number);\n\n /** Initial delay in milliseconds before stepping the value. */\n stepHoldDelay?: number;\n\n /** Removes increment/decrement controls */\n hideControls?: boolean;\n\n /** Amount of digits after the decimal point */\n precision?: number;\n\n /** Only works if a precision is given, removes the trailing zeros, false by default */\n removeTrailingZeros?: boolean;\n\n /** Prevent value clamp on blur */\n noClampOnBlur?: boolean;\n\n /** Get increment/decrement handlers */\n handlersRef?: React.ForwardedRef<NumberInputHandlers | undefined>;\n\n /** Formats the number into the input */\n formatter?: Formatter;\n\n /** Parses the value from formatter, should be used with formatter at the same time */\n parser?: Parser;\n\n /** Input type, defaults to text */\n type?: 'text' | 'number';\n}\n\nconst defaultFormatter: Formatter = (value) => value || '';\nconst defaultParser: Parser = (num) => {\n if (num === '-') {\n return num;\n }\n\n let tempNum = num;\n\n if (tempNum[0] === '.') {\n tempNum = `0${num}`;\n }\n\n const parsedNum = parseFloat(tempNum);\n\n if (Number.isNaN(parsedNum)) {\n return '';\n }\n\n return num;\n};\n\nconst CHEVRON_SIZES = {\n xs: rem(10),\n sm: rem(14),\n md: rem(16),\n lg: rem(18),\n xl: rem(20),\n};\n\nconst defaultProps: Partial<NumberInputProps> = {\n step: 1,\n hideControls: false,\n size: 'sm',\n precision: 0,\n noClampOnBlur: false,\n removeTrailingZeros: false,\n formatter: defaultFormatter,\n parser: defaultParser,\n type: 'text',\n};\n\nexport const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>((props, ref) => {\n const {\n readOnly,\n disabled,\n value,\n onChange,\n decimalSeparator,\n min,\n max,\n startValue,\n step,\n stepHoldInterval,\n stepHoldDelay,\n onBlur,\n onKeyDown,\n onKeyUp,\n hideControls,\n radius,\n variant,\n precision,\n removeTrailingZeros,\n defaultValue,\n noClampOnBlur,\n handlersRef,\n classNames,\n styles,\n size,\n rightSection,\n rightSectionWidth,\n formatter,\n parser,\n inputMode,\n unstyled,\n type,\n ...others\n } = useComponentDefaultProps('NumberInput', defaultProps, props);\n\n const { classes, cx } = useStyles(\n { radius },\n { classNames, styles, unstyled, name: 'NumberInput', variant, size }\n );\n\n const parsePrecision = (val: number | '', allowHigherPrecision?: boolean) => {\n if (val === '') return '';\n\n let result = val.toFixed(precision);\n if (allowHigherPrecision && result.length < val.toString().length) {\n result = val.toString();\n }\n\n if (removeTrailingZeros && precision > 0) {\n result = result.replace(new RegExp(`[0]{0,${precision}}$`), '');\n if (result.endsWith('.') || result.endsWith(decimalSeparator)) {\n result = result.slice(0, -1);\n }\n }\n\n return result;\n };\n\n const formatNum = (val: string | number = '') => {\n let parsedStr = typeof val === 'number' ? String(val) : val;\n\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(/\\./g, decimalSeparator);\n }\n\n return formatter(parsedStr);\n };\n\n const parseNum = (val: string): string | '' => {\n let num = val;\n\n if (decimalSeparator) {\n num = num.replace(new RegExp(`\\\\${decimalSeparator}`, 'g'), '.');\n }\n\n return parser(num);\n };\n\n const formatInternalValue = (val: number | '', allowHigherPrecision?: boolean) =>\n formatNum(parsePrecision(val, allowHigherPrecision));\n\n const [resetStateValue, resetStateHandlers] = useDisclosure(false);\n\n // Parsed value that will be used for uncontrolled state and for setting the inputValue\n const [internalValue, _setInternalValue] = useState<number | ''>(\n typeof value === 'number' ? value : typeof defaultValue === 'number' ? defaultValue : ''\n );\n\n // Value of input field. Gets changed through user input and on internalValue change\n const [inputValue, setInputValue] = useState(() => formatInternalValue(internalValue));\n\n const inputRef = useRef<HTMLInputElement>();\n\n const setInternalValue = (val: number | '', allowHigherPrecision?: boolean) => {\n const newInputValue = formatInternalValue(val, allowHigherPrecision);\n if (newInputValue !== inputValue) {\n // Make sure to update/reset the input value even if the internal value stays the same\n // E. g. this may happen if the internalValue is \"10\" and the user entered \"10abc\"\n setInputValue(newInputValue);\n }\n\n if (val !== internalValue) {\n _setInternalValue(val);\n }\n };\n\n const _min = typeof min === 'number' ? min : -Infinity;\n const _max = typeof max === 'number' ? max : Infinity;\n\n const incrementRef = useRef<() => void>();\n incrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue + step, _min, _max)));\n }\n\n if (value === undefined) {\n setInternalValue(newInternalValue);\n }\n\n onChange?.(newInternalValue);\n };\n\n const decrementRef = useRef<() => void>();\n decrementRef.current = () => {\n let newInternalValue: number;\n if (internalValue === '') {\n newInternalValue = startValue ?? min ?? 0;\n } else {\n newInternalValue = parseFloat(parsePrecision(clamp(internalValue - step, _min, _max)));\n }\n\n if (value === undefined) {\n setInternalValue(newInternalValue);\n }\n\n onChange?.(newInternalValue);\n };\n\n assignRef(handlersRef, { increment: incrementRef.current, decrement: decrementRef.current });\n\n useEffect(() => {\n if (typeof value === 'number' || value === '') {\n setInternalValue(value, true);\n } else if (value === undefined) {\n setInternalValue(defaultValue ?? '', true);\n }\n }, [value, resetStateValue]);\n\n const shouldUseStepInterval = stepHoldDelay !== undefined && stepHoldInterval !== undefined;\n const onStepTimeoutRef = useRef<number>(null);\n const stepCountRef = useRef<number>(0);\n\n const onStepDone = () => {\n if (onStepTimeoutRef.current) {\n window.clearTimeout(onStepTimeoutRef.current);\n }\n onStepTimeoutRef.current = null;\n stepCountRef.current = 0;\n };\n\n const onStepHandleChange = (isIncrement: boolean) => {\n if (isIncrement) {\n incrementRef.current();\n } else {\n decrementRef.current();\n }\n stepCountRef.current += 1;\n };\n\n const onStepLoop = (isIncrement: boolean) => {\n onStepHandleChange(isIncrement);\n\n if (shouldUseStepInterval) {\n const interval =\n typeof stepHoldInterval === 'number'\n ? stepHoldInterval\n : stepHoldInterval(stepCountRef.current);\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), interval);\n }\n };\n\n const onStep = (\n event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement>,\n isIncrement: boolean\n ) => {\n event.preventDefault();\n inputRef.current.focus();\n onStepHandleChange(isIncrement);\n if (shouldUseStepInterval) {\n onStepTimeoutRef.current = window.setTimeout(() => onStepLoop(isIncrement), stepHoldDelay);\n }\n };\n\n useEffect(() => {\n onStepDone();\n return onStepDone;\n }, []);\n\n const controls = (\n <div className={classes.rightSection}>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue >= max}\n className={cx(classes.control, classes.controlUp)}\n onPointerDown={(event) => {\n onStep(event, true);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"up\" />\n </button>\n <button\n type=\"button\"\n tabIndex={-1}\n aria-hidden\n disabled={internalValue <= min}\n className={cx(classes.control, classes.controlDown)}\n onPointerDown={(event) => {\n onStep(event, false);\n }}\n onPointerUp={onStepDone}\n onPointerLeave={onStepDone}\n >\n <Chevron size={getSize({ size, sizes: CHEVRON_SIZES })} direction=\"down\" />\n </button>\n </div>\n );\n\n /**\n * Parse new value and propagate it via `onChange` to parent.\n */\n const propagateNewValue = () => {\n let normalizedInputValue = inputValue;\n if (normalizedInputValue[0] === `${decimalSeparator}` || normalizedInputValue[0] === '.') {\n normalizedInputValue = `0${normalizedInputValue}`;\n }\n\n const parsedValue = parseFloat(parsePrecision(parseFloat(parseNum(normalizedInputValue))));\n const clampedValue = !noClampOnBlur ? clamp(parsedValue, _min, _max) : parsedValue;\n const finalValue = Number.isNaN(clampedValue) ? '' : clampedValue;\n\n if (value === undefined) {\n setInternalValue(finalValue);\n onChange?.(finalValue);\n } else {\n onChange?.(finalValue);\n\n // Force value effect that resets internal value to reformat the input and remove invalid inputs\n resetStateHandlers.toggle();\n }\n };\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const evt = event.nativeEvent as InputEvent;\n if (evt.isComposing) {\n return;\n }\n\n const val = event.target.value;\n setInputValue(val);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n propagateNewValue();\n\n onBlur?.(event);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyDown === 'function' && onKeyDown(event);\n if (\n event.repeat &&\n shouldUseStepInterval &&\n (event.key === 'ArrowUp' || event.key === 'ArrowDown')\n ) {\n event.preventDefault();\n return;\n }\n\n if (!readOnly) {\n if (event.key === 'ArrowUp') {\n onStep(event, true);\n } else if (event.key === 'ArrowDown') {\n onStep(event, false);\n } else if (event.key === 'Enter' && !event.repeat) {\n propagateNewValue();\n }\n }\n };\n\n const handleKeyUp = (event: React.KeyboardEvent<HTMLInputElement>) => {\n typeof onKeyUp === 'function' && onKeyUp(event);\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n onStepDone();\n }\n };\n\n return (\n <TextInput\n {...others}\n type={type}\n variant={variant}\n value={inputValue}\n disabled={disabled}\n readOnly={readOnly}\n ref={useMergedRef(inputRef, ref)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n rightSection={\n rightSection ||\n (disabled || readOnly || hideControls || variant === 'unstyled' ? null : controls)\n }\n rightSectionWidth={\n rightSectionWidth ?? `calc(${getSize({ size, sizes: CONTROL_SIZES })} + ${rem(1)})`\n }\n radius={radius}\n max={max}\n min={min}\n step={step}\n size={size}\n styles={styles}\n classNames={classNames}\n inputMode={inputMode || getInputMode(step, precision, useOs())}\n __staticSelector=\"NumberInput\"\n unstyled={unstyled}\n />\n );\n});\n\nNumberInput.displayName = '@mantine/core/NumberInput';\n"],"names":[],"mappings":"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"}
@@ -125,7 +125,7 @@ function Pagination(props) {
125
125
  onLastPage,
126
126
  getItemProps
127
127
  }, /* @__PURE__ */ React.createElement(Group, __spreadValues({
128
- spacing: spacing || `calc(${getSize({ size, sizes: theme.spacing })} / 2)`
128
+ spacing: spacing != null ? spacing : `calc(${getSize({ size, sizes: theme.spacing })} / 2)`
129
129
  }, others), withEdges && /* @__PURE__ */ React.createElement(PaginationFirst, __spreadValues({
130
130
  icon: firstIcon
131
131
  }, getControlProps == null ? void 0 : getControlProps("first"))), withControls && /* @__PURE__ */ React.createElement(PaginationPrevious, __spreadValues({
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { getSize, useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { Group, GroupProps } from '../Group';\nimport { PaginationRoot, PaginationRootSettings } from './PaginationRoot/PaginationRoot';\nimport { PaginationItems } from './PaginationItems/PaginationItems';\nimport { PaginationControl } from './PaginationControl/PaginationControl';\nimport { PaginationDots } from './PaginationDots/PaginationDots';\nimport { PaginationIcon } from './Pagination.icons';\nimport {\n PaginationNext,\n PaginationFirst,\n PaginationLast,\n PaginationPrevious,\n} from './PaginationEdges/PaginationEdges';\n\nexport interface PaginationProps\n extends PaginationRootSettings,\n Omit<GroupProps, keyof PaginationRootSettings> {\n /** Determines whether first/last controls should be rendered, false by default */\n withEdges?: boolean;\n\n /** Determines whether next/previous controls should be rendered, true by default */\n withControls?: boolean;\n\n /** Adds props to next/previous/first/last controls */\n getControlProps?(control: 'first' | 'previous' | 'last' | 'next'): Record<string, any>;\n\n /** Next control icon component */\n nextIcon?: PaginationIcon;\n\n /** Previous control icon component */\n previousIcon?: PaginationIcon;\n\n /** Last control icon component */\n lastIcon?: PaginationIcon;\n\n /** First control icon component */\n firstIcon?: PaginationIcon;\n\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nconst defaultProps: Partial<PaginationProps> = {\n withControls: true,\n siblings: 1,\n boundaries: 1,\n};\n\nexport function Pagination(props: PaginationProps) {\n const {\n withEdges,\n withControls,\n classNames,\n styles,\n unstyled,\n variant,\n size,\n total,\n value,\n defaultValue,\n onChange,\n disabled,\n siblings,\n boundaries,\n color,\n radius,\n onNextPage,\n onPreviousPage,\n onFirstPage,\n onLastPage,\n getItemProps,\n getControlProps,\n spacing,\n nextIcon,\n previousIcon,\n lastIcon,\n firstIcon,\n dotsIcon,\n ...others\n } = useComponentDefaultProps('Pagination', defaultProps, props);\n const theme = useMantineTheme();\n\n if (total <= 0) {\n return null;\n }\n\n return (\n <PaginationRoot\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n size={size}\n total={total}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n disabled={disabled}\n siblings={siblings}\n boundaries={boundaries}\n color={color}\n radius={radius}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n onFirstPage={onFirstPage}\n onLastPage={onLastPage}\n getItemProps={getItemProps}\n >\n <Group\n spacing={spacing || `calc(${getSize({ size, sizes: theme.spacing })} / 2)`}\n {...others}\n >\n {withEdges && <PaginationFirst icon={firstIcon} {...getControlProps?.('first')} />}\n {withControls && (\n <PaginationPrevious icon={previousIcon} {...getControlProps?.('previous')} />\n )}\n <PaginationItems dotsIcon={dotsIcon} />\n {withControls && <PaginationNext icon={nextIcon} {...getControlProps?.('next')} />}\n {withEdges && <PaginationLast icon={lastIcon} {...getControlProps?.('last')} />}\n </Group>\n </PaginationRoot>\n );\n}\n\nPagination.displayName = '@mantine/core/Pagination';\nPagination.Root = PaginationRoot;\nPagination.Items = PaginationItems;\nPagination.Control = PaginationControl;\nPagination.Dots = PaginationDots;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\nPagination.Last = PaginationLast;\nPagination.First = PaginationFirst;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../src/Pagination/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { getSize, useComponentDefaultProps, useMantineTheme } from '@mantine/styles';\nimport { Group, GroupProps } from '../Group';\nimport { PaginationRoot, PaginationRootSettings } from './PaginationRoot/PaginationRoot';\nimport { PaginationItems } from './PaginationItems/PaginationItems';\nimport { PaginationControl } from './PaginationControl/PaginationControl';\nimport { PaginationDots } from './PaginationDots/PaginationDots';\nimport { PaginationIcon } from './Pagination.icons';\nimport {\n PaginationNext,\n PaginationFirst,\n PaginationLast,\n PaginationPrevious,\n} from './PaginationEdges/PaginationEdges';\n\nexport interface PaginationProps\n extends PaginationRootSettings,\n Omit<GroupProps, keyof PaginationRootSettings> {\n /** Determines whether first/last controls should be rendered, false by default */\n withEdges?: boolean;\n\n /** Determines whether next/previous controls should be rendered, true by default */\n withControls?: boolean;\n\n /** Adds props to next/previous/first/last controls */\n getControlProps?(control: 'first' | 'previous' | 'last' | 'next'): Record<string, any>;\n\n /** Next control icon component */\n nextIcon?: PaginationIcon;\n\n /** Previous control icon component */\n previousIcon?: PaginationIcon;\n\n /** Last control icon component */\n lastIcon?: PaginationIcon;\n\n /** First control icon component */\n firstIcon?: PaginationIcon;\n\n /** Dots icon component */\n dotsIcon?: PaginationIcon;\n}\n\nconst defaultProps: Partial<PaginationProps> = {\n withControls: true,\n siblings: 1,\n boundaries: 1,\n};\n\nexport function Pagination(props: PaginationProps) {\n const {\n withEdges,\n withControls,\n classNames,\n styles,\n unstyled,\n variant,\n size,\n total,\n value,\n defaultValue,\n onChange,\n disabled,\n siblings,\n boundaries,\n color,\n radius,\n onNextPage,\n onPreviousPage,\n onFirstPage,\n onLastPage,\n getItemProps,\n getControlProps,\n spacing,\n nextIcon,\n previousIcon,\n lastIcon,\n firstIcon,\n dotsIcon,\n ...others\n } = useComponentDefaultProps('Pagination', defaultProps, props);\n const theme = useMantineTheme();\n\n if (total <= 0) {\n return null;\n }\n\n return (\n <PaginationRoot\n classNames={classNames}\n styles={styles}\n unstyled={unstyled}\n variant={variant}\n size={size}\n total={total}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n disabled={disabled}\n siblings={siblings}\n boundaries={boundaries}\n color={color}\n radius={radius}\n onNextPage={onNextPage}\n onPreviousPage={onPreviousPage}\n onFirstPage={onFirstPage}\n onLastPage={onLastPage}\n getItemProps={getItemProps}\n >\n <Group\n spacing={spacing ?? `calc(${getSize({ size, sizes: theme.spacing })} / 2)`}\n {...others}\n >\n {withEdges && <PaginationFirst icon={firstIcon} {...getControlProps?.('first')} />}\n {withControls && (\n <PaginationPrevious icon={previousIcon} {...getControlProps?.('previous')} />\n )}\n <PaginationItems dotsIcon={dotsIcon} />\n {withControls && <PaginationNext icon={nextIcon} {...getControlProps?.('next')} />}\n {withEdges && <PaginationLast icon={lastIcon} {...getControlProps?.('last')} />}\n </Group>\n </PaginationRoot>\n );\n}\n\nPagination.displayName = '@mantine/core/Pagination';\nPagination.Root = PaginationRoot;\nPagination.Items = PaginationItems;\nPagination.Control = PaginationControl;\nPagination.Dots = PaginationDots;\nPagination.Next = PaginationNext;\nPagination.Previous = PaginationPrevious;\nPagination.Last = PaginationLast;\nPagination.First = PaginationFirst;\n"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { createPolymorphicComponent } from '@mantine/utils';
4
4
  import { usePaginationContext } from '../Pagination.context.js';
5
5
  import { getIconSize, PaginationNextIcon, PaginationPreviousIcon, PaginationFirstIcon, PaginationLastIcon } from '../Pagination.icons.js';
6
6
  import { PaginationControl } from '../PaginationControl/PaginationControl.js';
7
+ import useStyles from './PaginationEdges.styles.js';
7
8
 
8
9
  var __defProp = Object.defineProperty;
9
10
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -37,6 +38,7 @@ function createEdgeComponent({ icon, name, action, type }) {
37
38
  const defaultProps = { icon };
38
39
  const Component = forwardRef((props, ref) => {
39
40
  const _a = useComponentDefaultProps(name, defaultProps, props), { icon: Icon } = _a, others = __objRest(_a, ["icon"]);
41
+ const { classes } = useStyles();
40
42
  const ctx = usePaginationContext();
41
43
  const disabled = type === "next" ? ctx.active === ctx.total : ctx.active === 1;
42
44
  return /* @__PURE__ */ React.createElement(PaginationControl, __spreadValues({
@@ -45,6 +47,7 @@ function createEdgeComponent({ icon, name, action, type }) {
45
47
  onClick: ctx[action],
46
48
  withPadding: false
47
49
  }, others), /* @__PURE__ */ React.createElement(Icon, {
50
+ className: classes.icon,
48
51
  size: getIconSize(ctx.stylesApi.size)
49
52
  }));
50
53
  });
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationEdges.js","sources":["../../../src/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, DefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationNextIcon,\n PaginationPreviousIcon,\n PaginationFirstIcon,\n PaginationLastIcon,\n PaginationIconProps,\n getIconSize,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends DefaultProps {\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps: Partial<PaginationEdgeProps> = { icon };\n\n const Component = forwardRef<HTMLButtonElement, PaginationEdgeProps>((props, ref) => {\n const { icon: Icon, ...others } = useComponentDefaultProps(name, defaultProps, props);\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n ref={ref}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon size={getIconSize(ctx.stylesApi.size)} />\n </PaginationControl>\n );\n });\n\n Component.displayName = `@mantine/core/${name}`;\n return createPolymorphicComponent<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaginationEdges.js","sources":["../../../src/Pagination/PaginationEdges/PaginationEdges.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useComponentDefaultProps, DefaultProps } from '@mantine/styles';\nimport { createPolymorphicComponent } from '@mantine/utils';\nimport { usePaginationContext } from '../Pagination.context';\nimport {\n PaginationNextIcon,\n PaginationPreviousIcon,\n PaginationFirstIcon,\n PaginationLastIcon,\n PaginationIconProps,\n getIconSize,\n} from '../Pagination.icons';\nimport { PaginationControl } from '../PaginationControl/PaginationControl';\nimport useStyles from './PaginationEdges.styles';\n\nexport interface CreateEdgeComponent {\n icon: React.FC<PaginationIconProps>;\n name: string;\n action: 'onNext' | 'onPrevious' | 'onFirst' | 'onLast';\n type: 'next' | 'previous';\n}\n\nexport interface PaginationEdgeProps extends DefaultProps {\n icon?: React.FC<PaginationIconProps>;\n}\n\nexport function createEdgeComponent({ icon, name, action, type }: CreateEdgeComponent) {\n const defaultProps: Partial<PaginationEdgeProps> = { icon };\n\n const Component = forwardRef<HTMLButtonElement, PaginationEdgeProps>((props, ref) => {\n const { icon: Icon, ...others } = useComponentDefaultProps(name, defaultProps, props);\n const { classes } = useStyles();\n const ctx = usePaginationContext();\n const disabled = type === 'next' ? ctx.active === ctx.total : ctx.active === 1;\n\n return (\n <PaginationControl\n disabled={ctx.disabled || disabled}\n ref={ref}\n onClick={ctx[action]}\n withPadding={false}\n {...others}\n >\n <Icon className={classes.icon} size={getIconSize(ctx.stylesApi.size)} />\n </PaginationControl>\n );\n });\n\n Component.displayName = `@mantine/core/${name}`;\n return createPolymorphicComponent<'button', PaginationEdgeProps>(Component);\n}\n\nexport const PaginationNext = createEdgeComponent({\n icon: PaginationNextIcon,\n name: 'PaginationNext',\n action: 'onNext',\n type: 'next',\n});\n\nexport const PaginationPrevious = createEdgeComponent({\n icon: PaginationPreviousIcon,\n name: 'PaginationPrevious',\n action: 'onPrevious',\n type: 'previous',\n});\n\nexport const PaginationFirst = createEdgeComponent({\n icon: PaginationFirstIcon,\n name: 'PaginationFirst',\n action: 'onFirst',\n type: 'previous',\n});\n\nexport const PaginationLast = createEdgeComponent({\n icon: PaginationLastIcon,\n name: 'PaginationLast',\n action: 'onLast',\n type: 'next',\n});\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { createStyles } from '@mantine/styles';
2
+
3
+ var useStyles = createStyles((theme) => ({
4
+ icon: {
5
+ transform: theme.dir === "rtl" ? "rotate(180deg)" : "unset"
6
+ }
7
+ }));
8
+
9
+ export default useStyles;
10
+ //# sourceMappingURL=PaginationEdges.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationEdges.styles.js","sources":["../../../src/Pagination/PaginationEdges/PaginationEdges.styles.tsx"],"sourcesContent":["import { createStyles } from '@mantine/styles';\n\nexport default createStyles((theme) => ({\n icon: {\n transform: theme.dir === 'rtl' ? 'rotate(180deg)' : 'unset',\n },\n}));\n"],"names":[],"mappings":";;AACA,gBAAe,YAAY,CAAC,CAAC,KAAK,MAAM;AACxC,EAAE,IAAI,EAAE;AACR,IAAI,SAAS,EAAE,KAAK,CAAC,GAAG,KAAK,KAAK,GAAG,gBAAgB,GAAG,OAAO;AAC/D,GAAG;AACH,CAAC,CAAC,CAAC;;;;"}
@@ -442,7 +442,7 @@ const Select = forwardRef((props, ref) => {
442
442
  }), /* @__PURE__ */ React.createElement(SelectPopover, {
443
443
  opened: shouldShowDropdown,
444
444
  transitionProps,
445
- shadow: "sm",
445
+ shadow,
446
446
  withinPortal,
447
447
  portalProps,
448
448
  __staticSelector: "Select",