@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.
Files changed (41) hide show
  1. package/cursor-rules/nexus-ui-api.mdc +4 -2
  2. package/dist/chunks/chunk-3BMVYJCA.js +15 -0
  3. package/dist/chunks/{chunk-2BINGHGR.js → chunk-EBMOQIY5.js} +17 -3
  4. package/dist/chunks/{chunk-RL5UAEGQ.mjs → chunk-FMUWSORG.mjs} +17 -3
  5. package/dist/chunks/{chunk-JFZLKFFM.mjs → chunk-JBMN6DY3.mjs} +1 -1
  6. package/dist/chunks/chunk-KHCPES3K.mjs +12 -0
  7. package/dist/chunks/{chunk-4ENXP7WH.js → chunk-L7SGGDY3.js} +4 -12
  8. package/dist/chunks/{chunk-WGGBE4ZD.mjs → chunk-QBMDWUQU.mjs} +1 -9
  9. package/dist/chunks/{chunk-7G7U4DP2.js → chunk-YMLPMIWX.js} +1 -1
  10. package/dist/components/NumberInput.d.ts +8 -0
  11. package/dist/components/NumberInput.d.ts.map +1 -1
  12. package/dist/components/PriceInput.d.ts.map +1 -1
  13. package/dist/index.js +8 -7
  14. package/dist/index.mjs +3 -2
  15. package/dist/number-input.js +5 -4
  16. package/dist/number-input.mjs +2 -1
  17. package/dist/price-input.js +4 -3
  18. package/dist/price-input.mjs +2 -1
  19. package/dist/schemas/_all.json +6 -1
  20. package/dist/schemas/number-input.d.ts +3 -0
  21. package/dist/schemas/number-input.d.ts.map +1 -1
  22. package/dist/schemas/numberInput.json +6 -1
  23. package/dist/schemas.js +6 -2
  24. package/dist/schemas.mjs +6 -2
  25. package/dist/styles/.generated/built.d.ts +1 -1
  26. package/dist/styles/.generated/built.d.ts.map +1 -1
  27. package/dist/styles/layer.js +2 -2
  28. package/dist/styles/layer.mjs +1 -1
  29. package/dist/styles.css +8 -8
  30. package/dist/styles.js +2 -2
  31. package/dist/styles.layered.css +8 -8
  32. package/dist/styles.mjs +1 -1
  33. package/dist/tokens/company.css +1 -1
  34. package/dist/tokens/css.css +1 -1
  35. package/dist/tokens-domains/gamehub-vars.css +1 -1
  36. package/dist/tokens-domains/gamehub.css +1 -1
  37. package/dist/tokens-domains/prediction-vars.css +1 -1
  38. package/dist/tokens-domains/prediction.css +1 -1
  39. package/dist/utils/numberFormat.d.ts +15 -0
  40. package/dist/utils/numberFormat.d.ts.map +1 -0
  41. 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;AAGlE,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;CACzB;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,yFA+ThB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,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;AAclE,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"}
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 chunk2BINGHGR_js = require('./chunks/chunk-2BINGHGR.js');
45
- var chunk4ENXP7WH_js = require('./chunks/chunk-4ENXP7WH.js');
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 chunk2BINGHGR_js.NumberInput; }
770
+ get: function () { return chunkEBMOQIY5_js.NumberInput; }
770
771
  });
771
772
  Object.defineProperty(exports, "numberInputBind", {
772
773
  enumerable: true,
773
- get: function () { return chunk2BINGHGR_js.numberInputBind; }
774
+ get: function () { return chunkEBMOQIY5_js.numberInputBind; }
774
775
  });
775
776
  Object.defineProperty(exports, "numberInputVariants", {
776
777
  enumerable: true,
777
- get: function () { return chunk2BINGHGR_js.numberInputVariants; }
778
+ get: function () { return chunkEBMOQIY5_js.numberInputVariants; }
778
779
  });
779
780
  Object.defineProperty(exports, "PriceInput", {
780
781
  enumerable: true,
781
- get: function () { return chunk4ENXP7WH_js.PriceInput; }
782
+ get: function () { return chunkL7SGGDY3_js.PriceInput; }
782
783
  });
783
784
  Object.defineProperty(exports, "priceInputVariants", {
784
785
  enumerable: true,
785
- get: function () { return chunk4ENXP7WH_js.priceInputVariants; }
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-RL5UAEGQ.mjs';
43
- export { PriceInput, priceInputVariants } from './chunks/chunk-WGGBE4ZD.mjs';
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';
@@ -1,19 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var chunk2BINGHGR_js = require('./chunks/chunk-2BINGHGR.js');
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 chunk2BINGHGR_js.NumberInput; }
11
+ get: function () { return chunkEBMOQIY5_js.NumberInput; }
11
12
  });
12
13
  Object.defineProperty(exports, "numberInputBind", {
13
14
  enumerable: true,
14
- get: function () { return chunk2BINGHGR_js.numberInputBind; }
15
+ get: function () { return chunkEBMOQIY5_js.numberInputBind; }
15
16
  });
16
17
  Object.defineProperty(exports, "numberInputVariants", {
17
18
  enumerable: true,
18
- get: function () { return chunk2BINGHGR_js.numberInputVariants; }
19
+ get: function () { return chunkEBMOQIY5_js.numberInputVariants; }
19
20
  });
@@ -1,2 +1,3 @@
1
- export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-RL5UAEGQ.mjs';
1
+ export { NumberInput, numberInputBind, numberInputVariants } from './chunks/chunk-FMUWSORG.mjs';
2
+ import './chunks/chunk-KHCPES3K.mjs';
2
3
  import './chunks/chunk-MCKOWMLS.mjs';
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunk4ENXP7WH_js = require('./chunks/chunk-4ENXP7WH.js');
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 chunk4ENXP7WH_js.PriceInput; }
11
+ get: function () { return chunkL7SGGDY3_js.PriceInput; }
11
12
  });
12
13
  Object.defineProperty(exports, "priceInputVariants", {
13
14
  enumerable: true,
14
- get: function () { return chunk4ENXP7WH_js.priceInputVariants; }
15
+ get: function () { return chunkL7SGGDY3_js.priceInputVariants; }
15
16
  });
@@ -1,2 +1,3 @@
1
- export { PriceInput, priceInputVariants } from './chunks/chunk-WGGBE4ZD.mjs';
1
+ export { PriceInput, priceInputVariants } from './chunks/chunk-QBMDWUQU.mjs';
2
+ import './chunks/chunk-KHCPES3K.mjs';
2
3
  import './chunks/chunk-MCKOWMLS.mjs';
@@ -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 • Currency with thousand separators → 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 separators for currencyPriceInput\n ✗ Inline unit text inside label/description → use prefixIcon/suffixIcon (e.g. suffixIcon=\"%\")"
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 formattinguse 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EhC,CAAC"}
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 • Currency with thousand separators → 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 separators for currencyPriceInput\n ✗ Inline unit text inside label/description → use prefixIcon/suffixIcon (e.g. suffixIcon=\"%\")"
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 formattinguse 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 Currency with thousand separators \u2192 PriceInput instead
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 separators for currency \u2192 PriceInput
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 Currency with thousand separators \u2192 PriceInput instead
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 separators for currency \u2192 PriceInput
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({