@nexus-cross/design-system 2.0.5 → 2.0.7
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.
- package/cursor-rules/nexus-ui-api.mdc +4 -2
- package/dist/accordion.js +1 -0
- package/dist/accordion.mjs +1 -0
- package/dist/alert.js +1 -0
- package/dist/alert.mjs +1 -0
- package/dist/avatar.js +1 -0
- package/dist/avatar.mjs +1 -0
- package/dist/badge.js +1 -0
- package/dist/badge.mjs +1 -0
- package/dist/breadcrumb.js +1 -0
- package/dist/breadcrumb.mjs +1 -0
- package/dist/button.js +1 -0
- package/dist/button.mjs +1 -0
- package/dist/carousel.js +1 -0
- package/dist/carousel.mjs +1 -0
- package/dist/checkbox.js +1 -0
- package/dist/checkbox.mjs +1 -0
- package/dist/chip.js +1 -0
- package/dist/chip.mjs +1 -0
- package/dist/chunks/chunk-2JTPRBHZ.mjs +1 -0
- package/dist/chunks/chunk-2MC7XJSE.js +1 -0
- package/dist/chunks/chunk-2RPRCWKV.mjs +1 -0
- package/dist/chunks/chunk-2UPGFY6E.mjs +1 -0
- package/dist/chunks/chunk-2Z52NPWB.js +1 -0
- package/dist/chunks/chunk-3BMVYJCA.js +16 -0
- package/dist/chunks/chunk-3HHJORN7.mjs +1 -0
- package/dist/chunks/chunk-3PCNRCTB.js +1 -0
- package/dist/chunks/chunk-3RK3UT2O.js +1 -0
- package/dist/chunks/chunk-46P52MFM.mjs +1 -0
- package/dist/chunks/chunk-4J3GCZ7W.mjs +1 -0
- package/dist/chunks/chunk-4KBFVIKX.js +1 -0
- package/dist/chunks/chunk-53BHDUID.mjs +1 -0
- package/dist/chunks/chunk-54IA2P2Z.mjs +1 -0
- package/dist/chunks/chunk-5JHJNN2K.js +1 -0
- package/dist/chunks/chunk-5PQ3UCKF.js +1 -0
- package/dist/chunks/chunk-6DBRL6NA.mjs +1 -0
- package/dist/chunks/chunk-6FMDO6TT.mjs +1 -0
- package/dist/chunks/chunk-7WWQ5DS3.mjs +1 -0
- package/dist/chunks/chunk-AAITRHED.mjs +1 -0
- package/dist/chunks/chunk-ADO7PDLY.mjs +1 -0
- package/dist/chunks/chunk-AG2UJPFX.mjs +1 -0
- package/dist/chunks/chunk-AOXXE5UQ.mjs +1 -0
- package/dist/chunks/chunk-ATZE57ZO.mjs +1 -0
- package/dist/chunks/chunk-AZ2URLDD.js +1 -0
- package/dist/chunks/chunk-B5O6W3Z4.mjs +1 -0
- package/dist/chunks/chunk-B6G5TJRO.js +1 -0
- package/dist/chunks/chunk-BBLBTOP4.js +1 -0
- package/dist/chunks/chunk-BJMXZJWO.mjs +1 -0
- package/dist/chunks/chunk-BLGQHR3M.js +1 -0
- package/dist/chunks/chunk-BPUQ2CO2.mjs +1 -0
- package/dist/chunks/chunk-BSZ2LN6E.js +1 -0
- package/dist/chunks/chunk-C2DSAJTL.js +1 -0
- package/dist/chunks/chunk-CA3SOLI3.mjs +1 -0
- package/dist/chunks/chunk-CSJDDREF.js +1 -0
- package/dist/chunks/chunk-CUTMLBC3.mjs +1 -0
- package/dist/chunks/chunk-CZC76ZD5.js +1 -0
- package/dist/chunks/chunk-DDY7ENHX.mjs +1 -0
- package/dist/chunks/chunk-DICN6GKE.js +1 -0
- package/dist/chunks/chunk-DLFV7ZZV.js +1 -0
- package/dist/chunks/chunk-DYPPVXQF.js +1 -0
- package/dist/chunks/{chunk-2BINGHGR.js → chunk-EBMOQIY5.js} +18 -3
- package/dist/chunks/chunk-EHAUUUWB.mjs +1 -0
- package/dist/chunks/chunk-EVOOTSY5.js +1 -0
- package/dist/chunks/chunk-F24AY3HI.js +1 -0
- package/dist/chunks/chunk-FBC53TOS.mjs +1 -0
- package/dist/chunks/{chunk-RL5UAEGQ.mjs → chunk-FMUWSORG.mjs} +18 -3
- package/dist/chunks/chunk-FY2N42XN.mjs +1 -0
- package/dist/chunks/chunk-GX6GSWX3.mjs +1 -0
- package/dist/chunks/chunk-H2G5FMRN.mjs +1 -0
- package/dist/chunks/chunk-H2V7RHYV.mjs +1 -0
- package/dist/chunks/chunk-HU6E2R2T.js +1 -0
- package/dist/chunks/chunk-IE4DGLMH.js +1 -0
- package/dist/chunks/chunk-INP2AH3B.js +1 -0
- package/dist/chunks/chunk-IOSIQLZL.js +1 -0
- package/dist/chunks/chunk-J5ZKGPBY.js +1 -0
- package/dist/chunks/chunk-JBMN6DY3.mjs +1 -0
- package/dist/chunks/chunk-JLDQNDFT.js +1 -0
- package/dist/chunks/chunk-K3CK7NTP.js +1 -0
- package/dist/chunks/chunk-KHCPES3K.mjs +13 -0
- package/dist/chunks/{chunk-4ENXP7WH.js → chunk-L7SGGDY3.js} +5 -12
- package/dist/chunks/chunk-LI7SFBUQ.mjs +1 -0
- package/dist/chunks/chunk-LMMON5AU.mjs +1 -0
- package/dist/chunks/chunk-LOQXCHKL.js +1 -0
- package/dist/chunks/chunk-LTS674LF.js +1 -0
- package/dist/chunks/chunk-LYPBQI3Y.js +1 -0
- package/dist/chunks/chunk-MA2VCCIY.js +1 -0
- package/dist/chunks/chunk-MCKOWMLS.mjs +1 -0
- package/dist/chunks/chunk-MRRKW5QN.mjs +1 -0
- package/dist/chunks/chunk-NFIPQZ4O.js +1 -0
- package/dist/chunks/chunk-NHDGKOAM.js +1 -0
- package/dist/chunks/chunk-NRO7I4EI.js +1 -0
- package/dist/chunks/chunk-OMN5YQCE.js +1 -0
- package/dist/chunks/chunk-OTGS6BDQ.mjs +1 -0
- package/dist/chunks/chunk-P2T72N62.mjs +1 -0
- package/dist/chunks/chunk-P3DZKXG4.js +1 -0
- package/dist/chunks/chunk-P4JV4WRB.mjs +1 -0
- package/dist/chunks/chunk-PDJTSQOC.js +1 -0
- package/dist/chunks/chunk-PIGHBDK5.mjs +1 -0
- package/dist/chunks/{chunk-WGGBE4ZD.mjs → chunk-QBMDWUQU.mjs} +2 -9
- package/dist/chunks/chunk-QK6NCII4.js +1 -0
- package/dist/chunks/chunk-R744EATX.js +1 -0
- package/dist/chunks/chunk-RC2Y4UH7.js +1 -0
- package/dist/chunks/chunk-RCIBLLSF.js +1 -0
- package/dist/chunks/chunk-RS3SBY3I.js +1 -0
- package/dist/chunks/chunk-RSFLNWOM.mjs +1 -0
- package/dist/chunks/chunk-RX5UKRYK.mjs +1 -0
- package/dist/chunks/chunk-S2GMEC43.js +1 -0
- package/dist/chunks/chunk-SGNRVYYQ.mjs +1 -0
- package/dist/chunks/chunk-SJMCPSVH.mjs +1 -0
- package/dist/chunks/chunk-T2IY2TSR.js +1 -0
- package/dist/chunks/chunk-TAHDSSA6.js +1 -0
- package/dist/chunks/chunk-THBE27U3.mjs +1 -0
- package/dist/chunks/chunk-U6OEUBIF.mjs +1 -0
- package/dist/chunks/chunk-UKRU46PH.mjs +1 -0
- package/dist/chunks/chunk-ULGYTBCT.mjs +1 -0
- package/dist/chunks/chunk-USPFWZ7H.js +1 -0
- package/dist/chunks/chunk-VDEB5BMT.js +1 -0
- package/dist/chunks/chunk-VIGRCJAE.mjs +1 -0
- package/dist/chunks/chunk-VVXQZ4XH.mjs +1 -0
- package/dist/chunks/chunk-W4GG5A7K.mjs +1 -0
- package/dist/chunks/chunk-WATCVNBT.js +1 -0
- package/dist/chunks/chunk-WBCXHGRL.mjs +1 -0
- package/dist/chunks/chunk-WKCXACMZ.js +1 -0
- package/dist/chunks/chunk-WZFKTTVX.mjs +1 -0
- package/dist/chunks/chunk-X2SHTVZQ.js +1 -0
- package/dist/chunks/chunk-XG6QG65W.mjs +1 -0
- package/dist/chunks/chunk-XGIJZ3NZ.js +1 -0
- package/dist/chunks/chunk-YB5ZKHVB.js +1 -0
- package/dist/chunks/chunk-YCG4FZC3.js +1 -0
- package/dist/chunks/chunk-YLO4UKSC.mjs +1 -0
- package/dist/chunks/chunk-YMLPMIWX.js +1 -0
- package/dist/chunks/chunk-YO5MSDPX.mjs +1 -0
- package/dist/chunks/chunk-ZI4LN2B2.js +1 -0
- package/dist/chunks/chunk-ZU4AWAFT.mjs +1 -0
- package/dist/chunks/chunk-ZWSIIGA3.mjs +1 -0
- package/dist/client-only.js +1 -0
- package/dist/client-only.mjs +1 -0
- package/dist/combobox.js +1 -0
- package/dist/combobox.mjs +1 -0
- package/dist/components/NumberInput.d.ts +8 -0
- package/dist/components/NumberInput.d.ts.map +1 -1
- package/dist/components/PriceInput.d.ts.map +1 -1
- package/dist/countdown.js +1 -0
- package/dist/countdown.mjs +1 -0
- package/dist/counter.js +1 -0
- package/dist/counter.mjs +1 -0
- package/dist/data-grid.js +1 -0
- package/dist/data-grid.mjs +1 -0
- package/dist/data-list.js +1 -0
- package/dist/data-list.mjs +1 -0
- package/dist/date-picker.js +1 -0
- package/dist/date-picker.mjs +1 -0
- package/dist/divider.js +1 -0
- package/dist/divider.mjs +1 -0
- package/dist/drawer.js +1 -0
- package/dist/drawer.mjs +1 -0
- package/dist/dropdown-menu.js +1 -0
- package/dist/dropdown-menu.mjs +1 -0
- package/dist/ellipsis.js +1 -0
- package/dist/ellipsis.mjs +1 -0
- package/dist/empty-state.js +1 -0
- package/dist/empty-state.mjs +1 -0
- package/dist/error-boundary.js +1 -0
- package/dist/error-boundary.mjs +1 -0
- package/dist/hooks/useCheckDevice.js +1 -0
- package/dist/hooks/useCheckDevice.mjs +1 -0
- package/dist/hooks/useClickOutside.js +1 -0
- package/dist/hooks/useClickOutside.mjs +1 -0
- package/dist/hooks/useDraggableBottomSheet.js +1 -0
- package/dist/hooks/useDraggableBottomSheet.mjs +1 -0
- package/dist/hooks/useDraggableWindow.js +1 -0
- package/dist/hooks/useDraggableWindow.mjs +1 -0
- package/dist/hooks/useInView.js +1 -0
- package/dist/hooks/useInView.mjs +1 -0
- package/dist/hooks/useModal.js +1 -0
- package/dist/hooks/useModal.mjs +1 -0
- package/dist/image-upload.js +1 -0
- package/dist/image-upload.mjs +1 -0
- package/dist/index.js +9 -7
- package/dist/index.mjs +4 -2
- package/dist/infinite-scroll.js +1 -0
- package/dist/infinite-scroll.mjs +1 -0
- package/dist/marquee.js +1 -0
- package/dist/marquee.mjs +1 -0
- package/dist/modal/index.js +1 -0
- package/dist/modal/index.mjs +1 -0
- package/dist/number-input.js +6 -4
- package/dist/number-input.mjs +3 -1
- package/dist/nx-image.js +1 -0
- package/dist/nx-image.mjs +1 -0
- package/dist/pagination.js +1 -0
- package/dist/pagination.mjs +1 -0
- package/dist/popover.js +1 -0
- package/dist/popover.mjs +1 -0
- package/dist/price-input.js +5 -3
- package/dist/price-input.mjs +3 -1
- package/dist/progress.js +1 -0
- package/dist/progress.mjs +1 -0
- package/dist/radio-group.js +1 -0
- package/dist/radio-group.mjs +1 -0
- package/dist/schemas/_all.json +6 -1
- package/dist/schemas/number-input.d.ts +3 -0
- package/dist/schemas/number-input.d.ts.map +1 -1
- package/dist/schemas/numberInput.json +6 -1
- package/dist/schemas.js +7 -2
- package/dist/schemas.mjs +7 -2
- package/dist/select.js +1 -0
- package/dist/select.mjs +1 -0
- package/dist/skeleton.js +1 -0
- package/dist/skeleton.mjs +1 -0
- package/dist/slider.js +1 -0
- package/dist/slider.mjs +1 -0
- package/dist/spinner.js +1 -0
- package/dist/spinner.mjs +1 -0
- package/dist/stepper.js +1 -0
- package/dist/stepper.mjs +1 -0
- package/dist/styles/layer.js +1 -0
- package/dist/styles/layer.mjs +1 -0
- package/dist/styles.js +1 -0
- package/dist/styles.mjs +1 -0
- package/dist/switch.js +1 -0
- package/dist/switch.mjs +1 -0
- package/dist/tab.js +1 -0
- package/dist/tab.mjs +1 -0
- package/dist/table.js +1 -0
- package/dist/table.mjs +1 -0
- package/dist/tag-input.js +1 -0
- package/dist/tag-input.mjs +1 -0
- package/dist/text-area.js +1 -0
- package/dist/text-area.mjs +1 -0
- package/dist/text-input.js +1 -0
- package/dist/text-input.mjs +1 -0
- package/dist/toast.js +1 -0
- package/dist/toast.mjs +1 -0
- package/dist/toggle-group.js +1 -0
- package/dist/toggle-group.mjs +1 -0
- package/dist/tokens/company.css +1 -1
- package/dist/tokens/css.css +1 -1
- package/dist/tokens/index.js +1 -0
- package/dist/tokens/index.mjs +1 -0
- package/dist/tokens/tailwind.js +1 -0
- package/dist/tokens-domains/gamehub-vars.css +1 -1
- package/dist/tokens-domains/gamehub.css +1 -1
- package/dist/tokens-domains/index.js +1 -0
- package/dist/tokens-domains/index.mjs +1 -0
- package/dist/tokens-domains/prediction-vars.css +1 -1
- package/dist/tokens-domains/prediction.css +1 -1
- package/dist/tokens-domains/tailwind.js +1 -0
- package/dist/tooltip.js +1 -0
- package/dist/tooltip.mjs +1 -0
- package/dist/utils/cn.js +1 -0
- package/dist/utils/cn.mjs +1 -0
- package/dist/utils/numberFormat.d.ts +15 -0
- package/dist/utils/numberFormat.d.ts.map +1 -0
- package/dist/utils/scroll.js +1 -0
- package/dist/utils/scroll.mjs +1 -0
- package/dist/virtual-scroll.js +1 -0
- package/dist/virtual-scroll.mjs +1 -0
- package/package.json +3 -3
|
@@ -1769,13 +1769,14 @@ Number input with two variants: basic (chevron arrows) and bind (+/- buttons). S
|
|
|
1769
1769
|
|
|
1770
1770
|
WHEN TO USE:
|
|
1771
1771
|
• Any numeric field — quantity, score, age, count
|
|
1772
|
-
•
|
|
1772
|
+
• Need thousand separators? Set separator={true}
|
|
1773
|
+
• Currency UX (prefix $, balance, maxBalance, click-to-fill balance) → PriceInput instead
|
|
1773
1774
|
• Date / time → DatePicker instead
|
|
1774
1775
|
|
|
1775
1776
|
ANTI-PATTERNS:
|
|
1776
1777
|
✗ <TextInput type="number"> → <NumberInput> (loses keyboard ↑↓, step, accelerated long-press, max click)
|
|
1777
1778
|
✗ Custom +/- buttons + <input> → variant="bind" (or numberInputBind for external)
|
|
1778
|
-
✗ Manual thousand
|
|
1779
|
+
✗ Manual thousand separator string formatting → use separator={true}
|
|
1779
1780
|
✗ Inline unit text inside label/description → use prefixIcon/suffixIcon (e.g. suffixIcon="%")
|
|
1780
1781
|
|
|
1781
1782
|
| Prop | Type | Default | Description |
|
|
@@ -1797,6 +1798,7 @@ ANTI-PATTERNS:
|
|
|
1797
1798
|
| `disabled` | `boolean` | - | Disabled |
|
|
1798
1799
|
| `readOnly` | `boolean` | - | Read-only (includes hiding buttons) |
|
|
1799
1800
|
| `placeholder` | `string` | - | Placeholder (default: "0") |
|
|
1801
|
+
| `separator` | `boolean` | `false` | Display thousand-separator commas (e.g. 1,000). onValueChange still receives raw number without commas. Decimal part is not separated (1,234.567). |
|
|
1800
1802
|
| `name` | `string` | - | Form field name |
|
|
1801
1803
|
| `id` | `string` | - | Element ID |
|
|
1802
1804
|
| `autoFocus` | `boolean` | - | Auto focus |
|
package/dist/accordion.js
CHANGED
package/dist/accordion.mjs
CHANGED
package/dist/alert.js
CHANGED
package/dist/alert.mjs
CHANGED
package/dist/avatar.js
CHANGED
package/dist/avatar.mjs
CHANGED
package/dist/badge.js
CHANGED
package/dist/badge.mjs
CHANGED
package/dist/breadcrumb.js
CHANGED
package/dist/breadcrumb.mjs
CHANGED
package/dist/button.js
CHANGED
package/dist/button.mjs
CHANGED
package/dist/carousel.js
CHANGED
package/dist/carousel.mjs
CHANGED
package/dist/checkbox.js
CHANGED
package/dist/checkbox.mjs
CHANGED
package/dist/chip.js
CHANGED
package/dist/chip.mjs
CHANGED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
// src/utils/numberFormat.ts
|
|
5
|
+
function formatWithComma(value) {
|
|
6
|
+
if (!value) return value;
|
|
7
|
+
const [intPart, decPart] = value.split(".");
|
|
8
|
+
const formatted = intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
9
|
+
return decPart !== void 0 ? `${formatted}.${decPart}` : formatted;
|
|
10
|
+
}
|
|
11
|
+
function stripComma(value) {
|
|
12
|
+
return value.replace(/,/g, "");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.formatWithComma = formatWithComma;
|
|
16
|
+
exports.stripComma = stripComma;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
4
|
+
var chunk3BMVYJCA_js = require('./chunk-3BMVYJCA.js');
|
|
3
5
|
var chunkCZC76ZD5_js = require('./chunk-CZC76ZD5.js');
|
|
4
6
|
var React = require('react');
|
|
5
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
@@ -128,6 +130,7 @@ var NumberInput = React__namespace.forwardRef(
|
|
|
128
130
|
readOnly,
|
|
129
131
|
onValueChange,
|
|
130
132
|
placeholder,
|
|
133
|
+
separator = false,
|
|
131
134
|
...props
|
|
132
135
|
}, ref) => {
|
|
133
136
|
const inputRef = React__namespace.useRef(null);
|
|
@@ -160,12 +163,24 @@ var NumberInput = React__namespace.forwardRef(
|
|
|
160
163
|
);
|
|
161
164
|
const handleInputChange = React__namespace.useCallback(
|
|
162
165
|
(e) => {
|
|
163
|
-
const
|
|
166
|
+
const rawInput = e.target.value;
|
|
167
|
+
const raw = separator ? chunk3BMVYJCA_js.stripComma(rawInput) : rawInput;
|
|
164
168
|
const regex = digit > 0 ? /^-?\d*\.?\d*$/ : /^-?\d*$/;
|
|
165
169
|
if (!regex.test(raw)) return;
|
|
166
170
|
setInternalValue(raw);
|
|
171
|
+
if (separator && inputRef.current) {
|
|
172
|
+
const cursorPos = e.target.selectionStart ?? 0;
|
|
173
|
+
const commasBefore = (rawInput.slice(0, cursorPos).match(/,/g) || []).length;
|
|
174
|
+
const formatted = chunk3BMVYJCA_js.formatWithComma(raw);
|
|
175
|
+
const el = inputRef.current;
|
|
176
|
+
requestAnimationFrame(() => {
|
|
177
|
+
const commasAfter = (formatted.slice(0, cursorPos).match(/,/g) || []).length;
|
|
178
|
+
const newPos = cursorPos + (commasAfter - commasBefore);
|
|
179
|
+
el.setSelectionRange(newPos, newPos);
|
|
180
|
+
});
|
|
181
|
+
}
|
|
167
182
|
},
|
|
168
|
-
[digit]
|
|
183
|
+
[digit, separator]
|
|
169
184
|
);
|
|
170
185
|
const handleBlur = React__namespace.useCallback(() => {
|
|
171
186
|
commitValue(internalValue);
|
|
@@ -318,7 +333,7 @@ var NumberInput = React__namespace.forwardRef(
|
|
|
318
333
|
inputMode: "decimal",
|
|
319
334
|
role: "spinbutton",
|
|
320
335
|
className: chunkCZC76ZD5_js.cn("nexus-number-input__field", inputClassName),
|
|
321
|
-
value: internalValue,
|
|
336
|
+
value: separator ? chunk3BMVYJCA_js.formatWithComma(internalValue) : internalValue,
|
|
322
337
|
disabled,
|
|
323
338
|
readOnly,
|
|
324
339
|
placeholder: placeholder ?? "0",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { stripComma, formatWithComma } from './chunk-KHCPES3K.mjs';
|
|
1
3
|
import { cn } from './chunk-MCKOWMLS.mjs';
|
|
2
4
|
import * as React from 'react';
|
|
3
5
|
import { cva } from 'class-variance-authority';
|
|
@@ -106,6 +108,7 @@ var NumberInput = React.forwardRef(
|
|
|
106
108
|
readOnly,
|
|
107
109
|
onValueChange,
|
|
108
110
|
placeholder,
|
|
111
|
+
separator = false,
|
|
109
112
|
...props
|
|
110
113
|
}, ref) => {
|
|
111
114
|
const inputRef = React.useRef(null);
|
|
@@ -138,12 +141,24 @@ var NumberInput = React.forwardRef(
|
|
|
138
141
|
);
|
|
139
142
|
const handleInputChange = React.useCallback(
|
|
140
143
|
(e) => {
|
|
141
|
-
const
|
|
144
|
+
const rawInput = e.target.value;
|
|
145
|
+
const raw = separator ? stripComma(rawInput) : rawInput;
|
|
142
146
|
const regex = digit > 0 ? /^-?\d*\.?\d*$/ : /^-?\d*$/;
|
|
143
147
|
if (!regex.test(raw)) return;
|
|
144
148
|
setInternalValue(raw);
|
|
149
|
+
if (separator && inputRef.current) {
|
|
150
|
+
const cursorPos = e.target.selectionStart ?? 0;
|
|
151
|
+
const commasBefore = (rawInput.slice(0, cursorPos).match(/,/g) || []).length;
|
|
152
|
+
const formatted = formatWithComma(raw);
|
|
153
|
+
const el = inputRef.current;
|
|
154
|
+
requestAnimationFrame(() => {
|
|
155
|
+
const commasAfter = (formatted.slice(0, cursorPos).match(/,/g) || []).length;
|
|
156
|
+
const newPos = cursorPos + (commasAfter - commasBefore);
|
|
157
|
+
el.setSelectionRange(newPos, newPos);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
145
160
|
},
|
|
146
|
-
[digit]
|
|
161
|
+
[digit, separator]
|
|
147
162
|
);
|
|
148
163
|
const handleBlur = React.useCallback(() => {
|
|
149
164
|
commitValue(internalValue);
|
|
@@ -296,7 +311,7 @@ var NumberInput = React.forwardRef(
|
|
|
296
311
|
inputMode: "decimal",
|
|
297
312
|
role: "spinbutton",
|
|
298
313
|
className: cn("nexus-number-input__field", inputClassName),
|
|
299
|
-
value: internalValue,
|
|
314
|
+
value: separator ? formatWithComma(internalValue) : internalValue,
|
|
300
315
|
disabled,
|
|
301
316
|
readOnly,
|
|
302
317
|
placeholder: placeholder ?? "0",
|