@nexus-cross/design-system 2.0.4 → 2.0.6
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/chunks/chunk-3BMVYJCA.js +15 -0
- package/dist/chunks/{chunk-2BINGHGR.js → chunk-EBMOQIY5.js} +17 -3
- package/dist/chunks/{chunk-RL5UAEGQ.mjs → chunk-FMUWSORG.mjs} +17 -3
- package/dist/chunks/{chunk-JFZLKFFM.mjs → chunk-JBMN6DY3.mjs} +1 -1
- package/dist/chunks/chunk-KHCPES3K.mjs +12 -0
- package/dist/chunks/{chunk-4ENXP7WH.js → chunk-L7SGGDY3.js} +4 -12
- package/dist/chunks/{chunk-WGGBE4ZD.mjs → chunk-QBMDWUQU.mjs} +1 -9
- package/dist/chunks/{chunk-7G7U4DP2.js → chunk-YMLPMIWX.js} +1 -1
- 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/index.js +8 -7
- package/dist/index.mjs +3 -2
- package/dist/number-input.js +5 -4
- package/dist/number-input.mjs +2 -1
- package/dist/price-input.js +4 -3
- package/dist/price-input.mjs +2 -1
- 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 +6 -2
- package/dist/schemas.mjs +6 -2
- package/dist/styles/.generated/built.d.ts +1 -1
- package/dist/styles/.generated/built.d.ts.map +1 -1
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +8 -8
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +8 -8
- package/dist/styles.mjs +1 -1
- package/dist/tokens/company.css +1 -1
- package/dist/tokens/css.css +1 -1
- package/dist/tokens-domains/gamehub-vars.css +1 -1
- package/dist/tokens-domains/gamehub.css +1 -1
- package/dist/tokens-domains/prediction-vars.css +1 -1
- package/dist/tokens-domains/prediction.css +1 -1
- package/dist/utils/numberFormat.d.ts +15 -0
- package/dist/utils/numberFormat.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -43,6 +43,14 @@ interface NumberInputProps extends Omit<React.InputHTMLAttributes<HTMLInputEleme
|
|
|
43
43
|
containerClassName?: string;
|
|
44
44
|
/** <input> element 자체에 적용 (font-size 같은 텍스트 스타일 오버라이드 시). */
|
|
45
45
|
inputClassName?: string;
|
|
46
|
+
/**
|
|
47
|
+
* 천단위 콤마 구분자를 화면에 표시.
|
|
48
|
+
* - `false` (default): `1000` 그대로 표시
|
|
49
|
+
* - `true`: 화면엔 `1,000` 으로 표시하되, `onValueChange` 로는 콤마 없는 raw 숫자 (1000) 가 전달됨
|
|
50
|
+
*
|
|
51
|
+
* 소수점은 콤마가 들어가지 않는다 (`1234.567` → `1,234.567`).
|
|
52
|
+
*/
|
|
53
|
+
separator?: boolean;
|
|
46
54
|
}
|
|
47
55
|
declare function numberInputBind(ref: React.RefObject<NumberInputRef | null>, direction: 'increment' | 'decrement'): {
|
|
48
56
|
onPointerDown: (e: React.PointerEvent) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../src/components/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../src/components/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,mBAAmB;;;8EAcvB,CAAC;AAqDH,UAAU,cAAc;IACtB,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC;IAChD,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,UAAU,gBACR,SAAQ,IAAI,CACR,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,GAAG,UAAU,GAAG,OAAO,CAC9B,EACD,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAcD,iBAAS,eAAe,CACtB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,EAC3C,SAAS,EAAE,WAAW,GAAG,WAAW;uBAGf,KAAK,CAAC,YAAY;;;EAOxC;AAED,QAAA,MAAM,WAAW,yFAkVhB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceInput.d.ts","sourceRoot":"","sources":["../../src/components/PriceInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"PriceInput.d.ts","sourceRoot":"","sources":["../../src/components/PriceInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,kBAAkB;;;8EAatB,CAAC;AAEH,UAAU,eACR,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC,EACtG,YAAY,CAAC,OAAO,kBAAkB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gGAAgG;IAChG,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;IACnC,sEAAsE;IACtE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2GAA2G;IAC3G,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,iHAAiH;IACjH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2GAA2G;IAC3G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yFAAyF;IACzF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;CACrD;AAED,QAAA,MAAM,UAAU,0FAqMf,CAAC;AAIF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -41,8 +41,9 @@ var chunkJ5ZKGPBY_js = require('./chunks/chunk-J5ZKGPBY.js');
|
|
|
41
41
|
var chunkX2SHTVZQ_js = require('./chunks/chunk-X2SHTVZQ.js');
|
|
42
42
|
var chunkBBLBTOP4_js = require('./chunks/chunk-BBLBTOP4.js');
|
|
43
43
|
var chunkXGIJZ3NZ_js = require('./chunks/chunk-XGIJZ3NZ.js');
|
|
44
|
-
var
|
|
45
|
-
var
|
|
44
|
+
var chunkEBMOQIY5_js = require('./chunks/chunk-EBMOQIY5.js');
|
|
45
|
+
var chunkL7SGGDY3_js = require('./chunks/chunk-L7SGGDY3.js');
|
|
46
|
+
require('./chunks/chunk-3BMVYJCA.js');
|
|
46
47
|
var chunkMA2VCCIY_js = require('./chunks/chunk-MA2VCCIY.js');
|
|
47
48
|
var chunkR744EATX_js = require('./chunks/chunk-R744EATX.js');
|
|
48
49
|
var chunkF24AY3HI_js = require('./chunks/chunk-F24AY3HI.js');
|
|
@@ -766,23 +767,23 @@ Object.defineProperty(exports, "textAreaVariants", {
|
|
|
766
767
|
});
|
|
767
768
|
Object.defineProperty(exports, "NumberInput", {
|
|
768
769
|
enumerable: true,
|
|
769
|
-
get: function () { return
|
|
770
|
+
get: function () { return chunkEBMOQIY5_js.NumberInput; }
|
|
770
771
|
});
|
|
771
772
|
Object.defineProperty(exports, "numberInputBind", {
|
|
772
773
|
enumerable: true,
|
|
773
|
-
get: function () { return
|
|
774
|
+
get: function () { return chunkEBMOQIY5_js.numberInputBind; }
|
|
774
775
|
});
|
|
775
776
|
Object.defineProperty(exports, "numberInputVariants", {
|
|
776
777
|
enumerable: true,
|
|
777
|
-
get: function () { return
|
|
778
|
+
get: function () { return chunkEBMOQIY5_js.numberInputVariants; }
|
|
778
779
|
});
|
|
779
780
|
Object.defineProperty(exports, "PriceInput", {
|
|
780
781
|
enumerable: true,
|
|
781
|
-
get: function () { return
|
|
782
|
+
get: function () { return chunkL7SGGDY3_js.PriceInput; }
|
|
782
783
|
});
|
|
783
784
|
Object.defineProperty(exports, "priceInputVariants", {
|
|
784
785
|
enumerable: true,
|
|
785
|
-
get: function () { return
|
|
786
|
+
get: function () { return chunkL7SGGDY3_js.priceInputVariants; }
|
|
786
787
|
});
|
|
787
788
|
Object.defineProperty(exports, "Avatar", {
|
|
788
789
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -39,8 +39,9 @@ export { CheckBox, checkBoxVariants } from './chunks/chunk-MRRKW5QN.mjs';
|
|
|
39
39
|
export { Switch, switchVariants } from './chunks/chunk-ADO7PDLY.mjs';
|
|
40
40
|
export { TextInput, textInputVariants } from './chunks/chunk-UKRU46PH.mjs';
|
|
41
41
|
export { TextArea, textAreaVariants } from './chunks/chunk-ZU4AWAFT.mjs';
|
|
42
|
-
export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-
|
|
43
|
-
export { PriceInput, priceInputVariants } from './chunks/chunk-
|
|
42
|
+
export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-FMUWSORG.mjs';
|
|
43
|
+
export { PriceInput, priceInputVariants } from './chunks/chunk-QBMDWUQU.mjs';
|
|
44
|
+
import './chunks/chunk-KHCPES3K.mjs';
|
|
44
45
|
export { Avatar, avatarVariants } from './chunks/chunk-YLO4UKSC.mjs';
|
|
45
46
|
export { ModalContainer_default as ModalContainer, ModalPortalTarget_default as ModalPortalTarget, ModalTemplate_default as ModalTemplate, checkModal, closeModal, getModalDefaultOption, openModal as modal, openModal, resetModal } from './chunks/chunk-7WWQ5DS3.mjs';
|
|
46
47
|
export { useDraggableBottomSheet } from './chunks/chunk-WBCXHGRL.mjs';
|
package/dist/number-input.js
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkEBMOQIY5_js = require('./chunks/chunk-EBMOQIY5.js');
|
|
4
|
+
require('./chunks/chunk-3BMVYJCA.js');
|
|
4
5
|
require('./chunks/chunk-CZC76ZD5.js');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
Object.defineProperty(exports, "NumberInput", {
|
|
9
10
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkEBMOQIY5_js.NumberInput; }
|
|
11
12
|
});
|
|
12
13
|
Object.defineProperty(exports, "numberInputBind", {
|
|
13
14
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkEBMOQIY5_js.numberInputBind; }
|
|
15
16
|
});
|
|
16
17
|
Object.defineProperty(exports, "numberInputVariants", {
|
|
17
18
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
19
|
+
get: function () { return chunkEBMOQIY5_js.numberInputVariants; }
|
|
19
20
|
});
|
package/dist/number-input.mjs
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-
|
|
1
|
+
export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-FMUWSORG.mjs';
|
|
2
|
+
import './chunks/chunk-KHCPES3K.mjs';
|
|
2
3
|
import './chunks/chunk-MCKOWMLS.mjs';
|
package/dist/price-input.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkL7SGGDY3_js = require('./chunks/chunk-L7SGGDY3.js');
|
|
4
|
+
require('./chunks/chunk-3BMVYJCA.js');
|
|
4
5
|
require('./chunks/chunk-CZC76ZD5.js');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
Object.defineProperty(exports, "PriceInput", {
|
|
9
10
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkL7SGGDY3_js.PriceInput; }
|
|
11
12
|
});
|
|
12
13
|
Object.defineProperty(exports, "priceInputVariants", {
|
|
13
14
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkL7SGGDY3_js.priceInputVariants; }
|
|
15
16
|
});
|
package/dist/price-input.mjs
CHANGED
package/dist/schemas/_all.json
CHANGED
|
@@ -2101,6 +2101,11 @@
|
|
|
2101
2101
|
"type": "string",
|
|
2102
2102
|
"description": "Placeholder (default: \"0\")"
|
|
2103
2103
|
},
|
|
2104
|
+
"separator": {
|
|
2105
|
+
"type": "boolean",
|
|
2106
|
+
"default": false,
|
|
2107
|
+
"description": "Display thousand-separator commas (e.g. 1,000). onValueChange still receives raw number without commas. Decimal part is not separated (1,234.567)."
|
|
2108
|
+
},
|
|
2104
2109
|
"name": {
|
|
2105
2110
|
"type": "string",
|
|
2106
2111
|
"description": "Form field name"
|
|
@@ -2128,7 +2133,7 @@
|
|
|
2128
2133
|
}
|
|
2129
2134
|
},
|
|
2130
2135
|
"additionalProperties": false,
|
|
2131
|
-
"description": "Number input with two variants: basic (chevron arrows) and bind (+/- buttons). Supports label, description, max display (click to fill), accelerated increment on long press. numberInputBind(ref, direction) binds acceleration to external buttons.\n\nWHEN TO USE:\n • Any numeric field — quantity, score, age, count\n •
|
|
2136
|
+
"description": "Number input with two variants: basic (chevron arrows) and bind (+/- buttons). Supports label, description, max display (click to fill), accelerated increment on long press. numberInputBind(ref, direction) binds acceleration to external buttons.\n\nWHEN TO USE:\n • Any numeric field — quantity, score, age, count\n • Need thousand separators? Set separator={true}\n • Currency UX (prefix $, balance, maxBalance, click-to-fill balance) → PriceInput instead\n • Date / time → DatePicker instead\n\nANTI-PATTERNS:\n ✗ <TextInput type=\"number\"> → <NumberInput> (loses keyboard ↑↓, step, accelerated long-press, max click)\n ✗ Custom +/- buttons + <input> → variant=\"bind\" (or numberInputBind for external)\n ✗ Manual thousand separator string formatting → use separator={true}\n ✗ Inline unit text inside label/description → use prefixIcon/suffixIcon (e.g. suffixIcon=\"%\")"
|
|
2132
2137
|
}
|
|
2133
2138
|
},
|
|
2134
2139
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -17,6 +17,7 @@ export declare const numberInputPropsSchema: z.ZodObject<{
|
|
|
17
17
|
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
18
18
|
readOnly: z.ZodOptional<z.ZodBoolean>;
|
|
19
19
|
placeholder: z.ZodOptional<z.ZodString>;
|
|
20
|
+
separator: z.ZodDefault<z.ZodBoolean>;
|
|
20
21
|
name: z.ZodOptional<z.ZodString>;
|
|
21
22
|
id: z.ZodOptional<z.ZodString>;
|
|
22
23
|
autoFocus: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -25,6 +26,7 @@ export declare const numberInputPropsSchema: z.ZodObject<{
|
|
|
25
26
|
onFocus: z.ZodOptional<z.ZodAny>;
|
|
26
27
|
className: z.ZodOptional<z.ZodString>;
|
|
27
28
|
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
separator: boolean;
|
|
28
30
|
size: "xl" | "lg" | "md";
|
|
29
31
|
variant: "basic" | "bind";
|
|
30
32
|
step: number;
|
|
@@ -55,6 +57,7 @@ export declare const numberInputPropsSchema: z.ZodObject<{
|
|
|
55
57
|
id?: string | undefined;
|
|
56
58
|
error?: boolean | undefined;
|
|
57
59
|
label?: string | undefined;
|
|
60
|
+
separator?: boolean | undefined;
|
|
58
61
|
description?: string | undefined;
|
|
59
62
|
value?: string | number | undefined;
|
|
60
63
|
size?: "xl" | "lg" | "md" | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-input.d.ts","sourceRoot":"","sources":["../../src/schemas/number-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"number-input.d.ts","sourceRoot":"","sources":["../../src/schemas/number-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiFhC,CAAC"}
|
|
@@ -87,6 +87,11 @@
|
|
|
87
87
|
"type": "string",
|
|
88
88
|
"description": "Placeholder (default: \"0\")"
|
|
89
89
|
},
|
|
90
|
+
"separator": {
|
|
91
|
+
"type": "boolean",
|
|
92
|
+
"default": false,
|
|
93
|
+
"description": "Display thousand-separator commas (e.g. 1,000). onValueChange still receives raw number without commas. Decimal part is not separated (1,234.567)."
|
|
94
|
+
},
|
|
90
95
|
"name": {
|
|
91
96
|
"type": "string",
|
|
92
97
|
"description": "Form field name"
|
|
@@ -114,7 +119,7 @@
|
|
|
114
119
|
}
|
|
115
120
|
},
|
|
116
121
|
"additionalProperties": false,
|
|
117
|
-
"description": "Number input with two variants: basic (chevron arrows) and bind (+/- buttons). Supports label, description, max display (click to fill), accelerated increment on long press. numberInputBind(ref, direction) binds acceleration to external buttons.\n\nWHEN TO USE:\n • Any numeric field — quantity, score, age, count\n •
|
|
122
|
+
"description": "Number input with two variants: basic (chevron arrows) and bind (+/- buttons). Supports label, description, max display (click to fill), accelerated increment on long press. numberInputBind(ref, direction) binds acceleration to external buttons.\n\nWHEN TO USE:\n • Any numeric field — quantity, score, age, count\n • Need thousand separators? Set separator={true}\n • Currency UX (prefix $, balance, maxBalance, click-to-fill balance) → PriceInput instead\n • Date / time → DatePicker instead\n\nANTI-PATTERNS:\n ✗ <TextInput type=\"number\"> → <NumberInput> (loses keyboard ↑↓, step, accelerated long-press, max click)\n ✗ Custom +/- buttons + <input> → variant=\"bind\" (or numberInputBind for external)\n ✗ Manual thousand separator string formatting → use separator={true}\n ✗ Inline unit text inside label/description → use prefixIcon/suffixIcon (e.g. suffixIcon=\"%\")"
|
|
118
123
|
}
|
|
119
124
|
},
|
|
120
125
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
package/dist/schemas.js
CHANGED
|
@@ -1186,6 +1186,9 @@ var numberInputPropsSchema = zod.z.object({
|
|
|
1186
1186
|
disabled: zod.z.boolean().optional().describe("Disabled"),
|
|
1187
1187
|
readOnly: zod.z.boolean().optional().describe("Read-only (includes hiding buttons)"),
|
|
1188
1188
|
placeholder: zod.z.string().optional().describe('Placeholder (default: "0")'),
|
|
1189
|
+
separator: zod.z.boolean().default(false).describe(
|
|
1190
|
+
"Display thousand-separator commas (e.g. 1,000). onValueChange still receives raw number without commas. Decimal part is not separated (1,234.567)."
|
|
1191
|
+
),
|
|
1189
1192
|
name: zod.z.string().optional().describe("Form field name"),
|
|
1190
1193
|
id: zod.z.string().optional().describe("Element ID"),
|
|
1191
1194
|
autoFocus: zod.z.boolean().optional().describe("Auto focus"),
|
|
@@ -1198,13 +1201,14 @@ var numberInputPropsSchema = zod.z.object({
|
|
|
1198
1201
|
|
|
1199
1202
|
WHEN TO USE:
|
|
1200
1203
|
\u2022 Any numeric field \u2014 quantity, score, age, count
|
|
1201
|
-
\u2022
|
|
1204
|
+
\u2022 Need thousand separators? Set separator={true}
|
|
1205
|
+
\u2022 Currency UX (prefix $, balance, maxBalance, click-to-fill balance) \u2192 PriceInput instead
|
|
1202
1206
|
\u2022 Date / time \u2192 DatePicker instead
|
|
1203
1207
|
|
|
1204
1208
|
ANTI-PATTERNS:
|
|
1205
1209
|
\u2717 <TextInput type="number"> \u2192 <NumberInput> (loses keyboard \u2191\u2193, step, accelerated long-press, max click)
|
|
1206
1210
|
\u2717 Custom +/- buttons + <input> \u2192 variant="bind" (or numberInputBind for external)
|
|
1207
|
-
\u2717 Manual thousand
|
|
1211
|
+
\u2717 Manual thousand separator string formatting \u2192 use separator={true}
|
|
1208
1212
|
\u2717 Inline unit text inside label/description \u2192 use prefixIcon/suffixIcon (e.g. suffixIcon="%")`
|
|
1209
1213
|
);
|
|
1210
1214
|
var priceInputPropsSchema = zod.z.object({
|
package/dist/schemas.mjs
CHANGED
|
@@ -1184,6 +1184,9 @@ var numberInputPropsSchema = z.object({
|
|
|
1184
1184
|
disabled: z.boolean().optional().describe("Disabled"),
|
|
1185
1185
|
readOnly: z.boolean().optional().describe("Read-only (includes hiding buttons)"),
|
|
1186
1186
|
placeholder: z.string().optional().describe('Placeholder (default: "0")'),
|
|
1187
|
+
separator: z.boolean().default(false).describe(
|
|
1188
|
+
"Display thousand-separator commas (e.g. 1,000). onValueChange still receives raw number without commas. Decimal part is not separated (1,234.567)."
|
|
1189
|
+
),
|
|
1187
1190
|
name: z.string().optional().describe("Form field name"),
|
|
1188
1191
|
id: z.string().optional().describe("Element ID"),
|
|
1189
1192
|
autoFocus: z.boolean().optional().describe("Auto focus"),
|
|
@@ -1196,13 +1199,14 @@ var numberInputPropsSchema = z.object({
|
|
|
1196
1199
|
|
|
1197
1200
|
WHEN TO USE:
|
|
1198
1201
|
\u2022 Any numeric field \u2014 quantity, score, age, count
|
|
1199
|
-
\u2022
|
|
1202
|
+
\u2022 Need thousand separators? Set separator={true}
|
|
1203
|
+
\u2022 Currency UX (prefix $, balance, maxBalance, click-to-fill balance) \u2192 PriceInput instead
|
|
1200
1204
|
\u2022 Date / time \u2192 DatePicker instead
|
|
1201
1205
|
|
|
1202
1206
|
ANTI-PATTERNS:
|
|
1203
1207
|
\u2717 <TextInput type="number"> \u2192 <NumberInput> (loses keyboard \u2191\u2193, step, accelerated long-press, max click)
|
|
1204
1208
|
\u2717 Custom +/- buttons + <input> \u2192 variant="bind" (or numberInputBind for external)
|
|
1205
|
-
\u2717 Manual thousand
|
|
1209
|
+
\u2717 Manual thousand separator string formatting \u2192 use separator={true}
|
|
1206
1210
|
\u2717 Inline unit text inside label/description \u2192 use prefixIcon/suffixIcon (e.g. suffixIcon="%")`
|
|
1207
1211
|
);
|
|
1208
1212
|
var priceInputPropsSchema = z.object({
|