@nexus-cross/design-system 1.0.6-beta.2 → 1.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 (135) hide show
  1. package/DESIGN.md +185 -0
  2. package/cursor-rules/nexus-ui-api.mdc +223 -7
  3. package/cursor-rules/nexus-ui-components.mdc +44 -17
  4. package/dist/alert.d.mts +17 -0
  5. package/dist/alert.d.ts +17 -0
  6. package/dist/alert.js +16 -0
  7. package/dist/alert.mjs +3 -0
  8. package/dist/badge.d.mts +18 -0
  9. package/dist/badge.d.ts +18 -0
  10. package/dist/badge.js +16 -0
  11. package/dist/badge.mjs +3 -0
  12. package/dist/breadcrumb.d.mts +15 -0
  13. package/dist/breadcrumb.d.ts +15 -0
  14. package/dist/breadcrumb.js +12 -0
  15. package/dist/breadcrumb.mjs +3 -0
  16. package/dist/chunks/chunk-2N2EPBO4.js +120 -0
  17. package/dist/chunks/{chunk-AFSEYJZT.js → chunk-2T7RUYEK.js} +175 -50
  18. package/dist/chunks/chunk-2UPGFY6E.mjs +76 -0
  19. package/dist/chunks/chunk-3ZWN66YH.js +53 -0
  20. package/dist/chunks/chunk-5PQ3UCKF.js +99 -0
  21. package/dist/chunks/chunk-6BWOKTVQ.mjs +87 -0
  22. package/dist/chunks/chunk-6DBRL6NA.mjs +81 -0
  23. package/dist/chunks/chunk-B5O6W3Z4.mjs +73 -0
  24. package/dist/chunks/chunk-BJM3NDT2.mjs +368 -0
  25. package/dist/chunks/chunk-C2DSAJTL.js +109 -0
  26. package/dist/chunks/chunk-CUTMLBC3.mjs +86 -0
  27. package/dist/chunks/chunk-CV4GMFWP.js +174 -0
  28. package/dist/chunks/chunk-DICN6GKE.js +99 -0
  29. package/dist/chunks/chunk-DYPPVXQF.js +143 -0
  30. package/dist/chunks/chunk-EJY7IVSK.mjs +31 -0
  31. package/dist/chunks/chunk-FUIBYZZ4.mjs +98 -0
  32. package/dist/chunks/{chunk-HNLI646G.mjs → chunk-GN6X27QI.mjs} +9 -2
  33. package/dist/chunks/chunk-H2G5FMRN.mjs +75 -0
  34. package/dist/chunks/chunk-H2V7RHYV.mjs +120 -0
  35. package/dist/chunks/chunk-MMCA33FW.mjs +85 -0
  36. package/dist/chunks/chunk-NZHK76R3.js +109 -0
  37. package/dist/chunks/chunk-P73MEU7N.mjs +150 -0
  38. package/dist/chunks/chunk-PDJTSQOC.js +59 -0
  39. package/dist/chunks/chunk-PXBZEAZQ.mjs +5 -0
  40. package/dist/chunks/chunk-QRNHFOLG.js +7 -0
  41. package/dist/chunks/chunk-S2GMEC43.js +109 -0
  42. package/dist/chunks/{chunk-VGO4Z2WH.js → chunk-SUIT4XKB.js} +8 -1
  43. package/dist/chunks/chunk-X3CTJ7TD.js +108 -0
  44. package/dist/chunks/chunk-XGIJZ3NZ.js +160 -0
  45. package/dist/chunks/chunk-YO5MSDPX.mjs +36 -0
  46. package/dist/chunks/chunk-ZI4LN2B2.js +96 -0
  47. package/dist/chunks/chunk-ZU4AWAFT.mjs +137 -0
  48. package/dist/date-picker.d.mts +17 -0
  49. package/dist/date-picker.d.ts +17 -0
  50. package/dist/date-picker.js +12 -0
  51. package/dist/date-picker.mjs +3 -0
  52. package/dist/dropdown-menu.d.mts +30 -0
  53. package/dist/dropdown-menu.d.ts +30 -0
  54. package/dist/dropdown-menu.js +32 -0
  55. package/dist/dropdown-menu.mjs +3 -0
  56. package/dist/empty-state.d.mts +16 -0
  57. package/dist/empty-state.d.ts +16 -0
  58. package/dist/empty-state.js +16 -0
  59. package/dist/empty-state.mjs +3 -0
  60. package/dist/index.d.mts +14 -0
  61. package/dist/index.d.ts +14 -0
  62. package/dist/index.js +269 -157
  63. package/dist/index.mjs +30 -18
  64. package/dist/modal/index.js +12 -12
  65. package/dist/modal/index.mjs +3 -3
  66. package/dist/number-input.d.mts +5 -6
  67. package/dist/number-input.d.ts +5 -6
  68. package/dist/number-input.js +4 -4
  69. package/dist/number-input.mjs +1 -1
  70. package/dist/nx-image.d.mts +13 -0
  71. package/dist/nx-image.d.ts +13 -0
  72. package/dist/nx-image.js +12 -0
  73. package/dist/nx-image.mjs +3 -0
  74. package/dist/progress.d.mts +18 -0
  75. package/dist/progress.d.ts +18 -0
  76. package/dist/progress.js +16 -0
  77. package/dist/progress.mjs +3 -0
  78. package/dist/schemas/_all.json +840 -13
  79. package/dist/schemas/alert.json +49 -0
  80. package/dist/schemas/badge.json +76 -0
  81. package/dist/schemas/breadcrumb.json +47 -0
  82. package/dist/schemas/datePicker.json +56 -0
  83. package/dist/schemas/dropdownMenu.json +83 -0
  84. package/dist/schemas/emptyState.json +44 -0
  85. package/dist/schemas/numberInput.json +27 -8
  86. package/dist/schemas/nxImage.json +56 -0
  87. package/dist/schemas/progress.json +63 -0
  88. package/dist/schemas/slider.json +78 -0
  89. package/dist/schemas/stepper.json +73 -0
  90. package/dist/schemas/tagInput.json +70 -0
  91. package/dist/schemas/textArea.json +26 -1
  92. package/dist/schemas/toggleGroup.json +88 -0
  93. package/dist/schemas.d.mts +628 -144
  94. package/dist/schemas.d.ts +628 -144
  95. package/dist/schemas.js +177 -7
  96. package/dist/schemas.mjs +166 -8
  97. package/dist/slider.d.mts +20 -0
  98. package/dist/slider.d.ts +20 -0
  99. package/dist/slider.js +16 -0
  100. package/dist/slider.mjs +3 -0
  101. package/dist/stepper.d.mts +20 -0
  102. package/dist/stepper.d.ts +20 -0
  103. package/dist/stepper.js +16 -0
  104. package/dist/stepper.mjs +3 -0
  105. package/dist/styles/layer.js +2 -2
  106. package/dist/styles/layer.mjs +1 -1
  107. package/dist/styles.css +1615 -185
  108. package/dist/styles.js +2 -2
  109. package/dist/styles.layered.css +1615 -185
  110. package/dist/styles.mjs +1 -1
  111. package/dist/table.d.mts +40 -25
  112. package/dist/table.d.ts +40 -25
  113. package/dist/table.js +7 -7
  114. package/dist/table.mjs +1 -1
  115. package/dist/tag-input.d.mts +21 -0
  116. package/dist/tag-input.d.ts +21 -0
  117. package/dist/tag-input.js +16 -0
  118. package/dist/tag-input.mjs +3 -0
  119. package/dist/text-area.d.mts +5 -1
  120. package/dist/text-area.d.ts +5 -1
  121. package/dist/text-area.js +3 -3
  122. package/dist/text-area.mjs +1 -1
  123. package/dist/toggle-group.d.mts +36 -0
  124. package/dist/toggle-group.d.ts +36 -0
  125. package/dist/toggle-group.js +16 -0
  126. package/dist/toggle-group.mjs +3 -0
  127. package/package.json +69 -3
  128. package/scripts/setup-cursor-rules.cjs +15 -1
  129. package/dist/chunks/chunk-26BUGBOY.mjs +0 -57
  130. package/dist/chunks/chunk-CLGH2RTS.js +0 -7
  131. package/dist/chunks/chunk-ECVAVQUY.mjs +0 -243
  132. package/dist/chunks/chunk-UPCWJWXR.mjs +0 -5
  133. package/dist/chunks/chunk-WR55D4ZS.js +0 -80
  134. package/dist/chunks/{chunk-3VFBPFZF.mjs → chunk-CWMLTXOH.mjs} +2 -2
  135. package/dist/chunks/{chunk-U53UA76K.js → chunk-HFBTS42N.js} +2 -2
@@ -0,0 +1,49 @@
1
+ {
2
+ "$ref": "#/definitions/alertPropsSchema",
3
+ "definitions": {
4
+ "alertPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "variant": {
8
+ "type": "string",
9
+ "enum": [
10
+ "info",
11
+ "success",
12
+ "warning",
13
+ "danger"
14
+ ],
15
+ "default": "info",
16
+ "description": "Alert type / color"
17
+ },
18
+ "title": {
19
+ "type": "string",
20
+ "description": "Alert title (bold)"
21
+ },
22
+ "children": {
23
+ "description": "Alert description (ReactNode)"
24
+ },
25
+ "icon": {
26
+ "description": "Custom icon (ReactNode). Auto icon by variant if omitted"
27
+ },
28
+ "closable": {
29
+ "type": "boolean",
30
+ "default": false,
31
+ "description": "Show close button"
32
+ },
33
+ "onClose": {
34
+ "description": "Close callback () => void"
35
+ },
36
+ "action": {
37
+ "description": "Action area (ReactNode, e.g. Button)"
38
+ },
39
+ "className": {
40
+ "type": "string",
41
+ "description": "Style override"
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "description": "Alert / Banner. Inline notification with icon, title, description."
46
+ }
47
+ },
48
+ "$schema": "http://json-schema.org/draft-07/schema#"
49
+ }
@@ -0,0 +1,76 @@
1
+ {
2
+ "$ref": "#/definitions/badgePropsSchema",
3
+ "definitions": {
4
+ "badgePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "count": {
8
+ "type": "number",
9
+ "description": "Badge count number"
10
+ },
11
+ "max": {
12
+ "type": "number",
13
+ "default": 99,
14
+ "description": "Max count (shows \"99+\" when exceeded)"
15
+ },
16
+ "dot": {
17
+ "type": "boolean",
18
+ "default": false,
19
+ "description": "Show as dot instead of count"
20
+ },
21
+ "showZero": {
22
+ "type": "boolean",
23
+ "default": false,
24
+ "description": "Show badge when count is 0"
25
+ },
26
+ "variant": {
27
+ "type": "string",
28
+ "enum": [
29
+ "danger",
30
+ "primary",
31
+ "secondary",
32
+ "info",
33
+ "success",
34
+ "warning"
35
+ ],
36
+ "default": "danger",
37
+ "description": "Color variant"
38
+ },
39
+ "size": {
40
+ "type": "string",
41
+ "enum": [
42
+ "sm",
43
+ "md",
44
+ "lg"
45
+ ],
46
+ "default": "md",
47
+ "description": "Size"
48
+ },
49
+ "offset": {
50
+ "type": "array",
51
+ "minItems": 2,
52
+ "maxItems": 2,
53
+ "items": [
54
+ {
55
+ "type": "number"
56
+ },
57
+ {
58
+ "type": "number"
59
+ }
60
+ ],
61
+ "description": "Position offset [x, y] in px"
62
+ },
63
+ "children": {
64
+ "description": "Anchor element to attach badge to (ReactNode)"
65
+ },
66
+ "className": {
67
+ "type": "string",
68
+ "description": "Style override"
69
+ }
70
+ },
71
+ "additionalProperties": false,
72
+ "description": "Badge indicator. Dot or count display. Wraps children when provided."
73
+ }
74
+ },
75
+ "$schema": "http://json-schema.org/draft-07/schema#"
76
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$ref": "#/definitions/breadcrumbPropsSchema",
3
+ "definitions": {
4
+ "breadcrumbPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "label": {
13
+ "description": "Display text or element (ReactNode)"
14
+ },
15
+ "href": {
16
+ "type": "string",
17
+ "description": "Link URL"
18
+ },
19
+ "onClick": {
20
+ "description": "Click handler () => void"
21
+ }
22
+ },
23
+ "additionalProperties": false
24
+ },
25
+ "description": "Breadcrumb items array (required)"
26
+ },
27
+ "separator": {
28
+ "description": "Custom separator (ReactNode). Default: chevron"
29
+ },
30
+ "maxItems": {
31
+ "type": "number",
32
+ "description": "Max visible items (collapses middle with \"...\")"
33
+ },
34
+ "className": {
35
+ "type": "string",
36
+ "description": "Style override"
37
+ }
38
+ },
39
+ "required": [
40
+ "items"
41
+ ],
42
+ "additionalProperties": false,
43
+ "description": "Breadcrumb navigation. Shows current location path."
44
+ }
45
+ },
46
+ "$schema": "http://json-schema.org/draft-07/schema#"
47
+ }
@@ -0,0 +1,56 @@
1
+ {
2
+ "$ref": "#/definitions/datePickerPropsSchema",
3
+ "definitions": {
4
+ "datePickerPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "value": {
8
+ "description": "Controlled date value (Date)"
9
+ },
10
+ "defaultValue": {
11
+ "description": "Default date (Date)"
12
+ },
13
+ "onChange": {
14
+ "description": "Date change callback (date: Date | undefined) => void"
15
+ },
16
+ "placeholder": {
17
+ "type": "string",
18
+ "default": "날짜 선택",
19
+ "description": "Placeholder text"
20
+ },
21
+ "disabled": {
22
+ "type": "boolean",
23
+ "default": false,
24
+ "description": "Disabled"
25
+ },
26
+ "minDate": {
27
+ "description": "Minimum selectable date (Date)"
28
+ },
29
+ "maxDate": {
30
+ "description": "Maximum selectable date (Date)"
31
+ },
32
+ "locale": {
33
+ "type": "string",
34
+ "enum": [
35
+ "ko",
36
+ "en"
37
+ ],
38
+ "default": "ko",
39
+ "description": "Calendar locale"
40
+ },
41
+ "formatStr": {
42
+ "type": "string",
43
+ "default": "yyyy-MM-dd",
44
+ "description": "Date format string (date-fns format)"
45
+ },
46
+ "className": {
47
+ "type": "string",
48
+ "description": "Style override"
49
+ }
50
+ },
51
+ "additionalProperties": false,
52
+ "description": "DatePicker. Calendar popup for date selection. Based on react-day-picker."
53
+ }
54
+ },
55
+ "$schema": "http://json-schema.org/draft-07/schema#"
56
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "$ref": "#/definitions/dropdownMenuPropsSchema",
3
+ "definitions": {
4
+ "dropdownMenuPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "children": {
8
+ "description": "Trigger element (ReactNode, required)"
9
+ },
10
+ "items": {
11
+ "type": "array",
12
+ "items": {
13
+ "type": "object",
14
+ "properties": {
15
+ "label": {
16
+ "description": "Menu item text (ReactNode)"
17
+ },
18
+ "value": {
19
+ "type": "string",
20
+ "description": "Item identifier"
21
+ },
22
+ "icon": {
23
+ "description": "Left icon (ReactNode)"
24
+ },
25
+ "onClick": {
26
+ "description": "Click handler () => void"
27
+ },
28
+ "disabled": {
29
+ "type": "boolean",
30
+ "description": "Disabled"
31
+ },
32
+ "danger": {
33
+ "type": "boolean",
34
+ "description": "Danger/destructive style"
35
+ },
36
+ "separator": {
37
+ "type": "boolean",
38
+ "description": "If true, renders as separator line"
39
+ }
40
+ },
41
+ "additionalProperties": false
42
+ },
43
+ "description": "Menu items array (required)"
44
+ },
45
+ "align": {
46
+ "type": "string",
47
+ "enum": [
48
+ "start",
49
+ "center",
50
+ "end"
51
+ ],
52
+ "default": "start",
53
+ "description": "Alignment"
54
+ },
55
+ "side": {
56
+ "type": "string",
57
+ "enum": [
58
+ "top",
59
+ "right",
60
+ "bottom",
61
+ "left"
62
+ ],
63
+ "default": "bottom",
64
+ "description": "Position"
65
+ },
66
+ "className": {
67
+ "type": "string",
68
+ "description": "Trigger wrapper style"
69
+ },
70
+ "contentClassName": {
71
+ "type": "string",
72
+ "description": "Content panel style"
73
+ }
74
+ },
75
+ "required": [
76
+ "items"
77
+ ],
78
+ "additionalProperties": false,
79
+ "description": "Dropdown menu. Based on Radix DropdownMenu. Action menu for context/more menus."
80
+ }
81
+ },
82
+ "$schema": "http://json-schema.org/draft-07/schema#"
83
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$ref": "#/definitions/emptyStatePropsSchema",
3
+ "definitions": {
4
+ "emptyStatePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "icon": {
8
+ "description": "Custom icon (ReactNode). Default inbox icon"
9
+ },
10
+ "title": {
11
+ "type": "string",
12
+ "description": "Title text"
13
+ },
14
+ "description": {
15
+ "type": "string",
16
+ "description": "Description text"
17
+ },
18
+ "action": {
19
+ "description": "Action area (ReactNode, e.g. Button)"
20
+ },
21
+ "size": {
22
+ "type": "string",
23
+ "enum": [
24
+ "sm",
25
+ "md",
26
+ "lg"
27
+ ],
28
+ "default": "md",
29
+ "description": "Overall size"
30
+ },
31
+ "children": {
32
+ "description": "Additional content (ReactNode)"
33
+ },
34
+ "className": {
35
+ "type": "string",
36
+ "description": "Style override"
37
+ }
38
+ },
39
+ "additionalProperties": false,
40
+ "description": "Empty state placeholder. Shown when data is empty or unavailable."
41
+ }
42
+ },
43
+ "$schema": "http://json-schema.org/draft-07/schema#"
44
+ }
@@ -4,6 +4,15 @@
4
4
  "numberInputPropsSchema": {
5
5
  "type": "object",
6
6
  "properties": {
7
+ "variant": {
8
+ "type": "string",
9
+ "enum": [
10
+ "basic",
11
+ "bind"
12
+ ],
13
+ "default": "basic",
14
+ "description": "Variant: basic (right chevron arrows) or bind (left/right +/- buttons)"
15
+ },
7
16
  "value": {
8
17
  "type": [
9
18
  "number",
@@ -14,12 +23,10 @@
14
23
  "size": {
15
24
  "type": "string",
16
25
  "enum": [
17
- "sm",
18
- "md",
19
26
  "lg",
20
27
  "xl"
21
28
  ],
22
- "default": "md",
29
+ "default": "lg",
23
30
  "description": "Size"
24
31
  },
25
32
  "error": {
@@ -32,7 +39,7 @@
32
39
  },
33
40
  "max": {
34
41
  "type": "number",
35
- "description": "Maximum value"
42
+ "description": "Maximum value. When set, \"Max {value}\" is displayed in the header. Clicking it fills the input with the max value"
36
43
  },
37
44
  "step": {
38
45
  "type": "number",
@@ -44,10 +51,22 @@
44
51
  "default": 0,
45
52
  "description": "Decimal places"
46
53
  },
54
+ "label": {
55
+ "type": "string",
56
+ "description": "Label text displayed above input"
57
+ },
58
+ "description": {
59
+ "type": "string",
60
+ "description": "Description text displayed below input"
61
+ },
62
+ "showMax": {
63
+ "type": "boolean",
64
+ "description": "Show \"Max {value}\" in header (defaults to true when max is set)"
65
+ },
47
66
  "hideButtons": {
48
67
  "type": "boolean",
49
68
  "default": false,
50
- "description": "Hide default spin buttons. Use with numberInputBind for external button event binding"
69
+ "description": "Hide built-in buttons. Use with numberInputBind for external button event binding"
51
70
  },
52
71
  "disabled": {
53
72
  "type": "boolean",
@@ -55,11 +74,11 @@
55
74
  },
56
75
  "readOnly": {
57
76
  "type": "boolean",
58
- "description": "Read-only (includes hiding spin buttons)"
77
+ "description": "Read-only (includes hiding buttons)"
59
78
  },
60
79
  "placeholder": {
61
80
  "type": "string",
62
- "description": "Placeholder"
81
+ "description": "Placeholder (default: \"0\")"
63
82
  },
64
83
  "name": {
65
84
  "type": "string",
@@ -88,7 +107,7 @@
88
107
  }
89
108
  },
90
109
  "additionalProperties": false,
91
- "description": "Number input. Accelerated increment on long press. Exposes increment/decrement methods via ref. numberInputBind(ref, direction) binds same acceleration to external buttons."
110
+ "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."
92
111
  }
93
112
  },
94
113
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,56 @@
1
+ {
2
+ "$ref": "#/definitions/nxImagePropsSchema",
3
+ "definitions": {
4
+ "nxImagePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "src": {
8
+ "type": "string",
9
+ "description": "Image source URL"
10
+ },
11
+ "alt": {
12
+ "type": "string",
13
+ "description": "Alt text"
14
+ },
15
+ "fallback": {
16
+ "description": "Custom fallback element (ReactNode)"
17
+ },
18
+ "fallbackSrc": {
19
+ "type": "string",
20
+ "description": "Fallback image URL on error"
21
+ },
22
+ "aspectRatio": {
23
+ "type": "string",
24
+ "description": "CSS aspect-ratio (e.g. \"16/9\", \"1/1\")"
25
+ },
26
+ "objectFit": {
27
+ "type": "string",
28
+ "enum": [
29
+ "cover",
30
+ "contain",
31
+ "fill",
32
+ "none"
33
+ ],
34
+ "default": "cover",
35
+ "description": "Object-fit mode"
36
+ },
37
+ "lazy": {
38
+ "type": "boolean",
39
+ "default": true,
40
+ "description": "Enable lazy loading (loading=\"lazy\")"
41
+ },
42
+ "wrapperClassName": {
43
+ "type": "string",
44
+ "description": "Wrapper div style"
45
+ },
46
+ "className": {
47
+ "type": "string",
48
+ "description": "Image element style"
49
+ }
50
+ },
51
+ "additionalProperties": false,
52
+ "description": "Enhanced image. Lazy loading, fallback, aspect-ratio support."
53
+ }
54
+ },
55
+ "$schema": "http://json-schema.org/draft-07/schema#"
56
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "$ref": "#/definitions/progressPropsSchema",
3
+ "definitions": {
4
+ "progressPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "value": {
8
+ "type": "number",
9
+ "default": 0,
10
+ "description": "Current progress value"
11
+ },
12
+ "max": {
13
+ "type": "number",
14
+ "default": 100,
15
+ "description": "Maximum value"
16
+ },
17
+ "variant": {
18
+ "type": "string",
19
+ "enum": [
20
+ "primary",
21
+ "success",
22
+ "warning",
23
+ "danger",
24
+ "info"
25
+ ],
26
+ "default": "primary",
27
+ "description": "Color variant"
28
+ },
29
+ "size": {
30
+ "type": "string",
31
+ "enum": [
32
+ "sm",
33
+ "md",
34
+ "lg"
35
+ ],
36
+ "default": "md",
37
+ "description": "Bar height"
38
+ },
39
+ "showValue": {
40
+ "type": "boolean",
41
+ "default": false,
42
+ "description": "Show percentage text"
43
+ },
44
+ "indeterminate": {
45
+ "type": "boolean",
46
+ "default": false,
47
+ "description": "Indeterminate loading animation"
48
+ },
49
+ "label": {
50
+ "type": "string",
51
+ "description": "Label text above the bar"
52
+ },
53
+ "className": {
54
+ "type": "string",
55
+ "description": "Style override"
56
+ }
57
+ },
58
+ "additionalProperties": false,
59
+ "description": "Progress bar. Linear progress indicator with percentage display."
60
+ }
61
+ },
62
+ "$schema": "http://json-schema.org/draft-07/schema#"
63
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$ref": "#/definitions/sliderPropsSchema",
3
+ "definitions": {
4
+ "sliderPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "value": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "number"
11
+ },
12
+ "description": "Controlled value (number[]). Use [50] for single, [20, 80] for range"
13
+ },
14
+ "defaultValue": {
15
+ "type": "array",
16
+ "items": {
17
+ "type": "number"
18
+ },
19
+ "description": "Default value"
20
+ },
21
+ "min": {
22
+ "type": "number",
23
+ "default": 0,
24
+ "description": "Minimum"
25
+ },
26
+ "max": {
27
+ "type": "number",
28
+ "default": 100,
29
+ "description": "Maximum"
30
+ },
31
+ "step": {
32
+ "type": "number",
33
+ "default": 1,
34
+ "description": "Step increment"
35
+ },
36
+ "size": {
37
+ "type": "string",
38
+ "enum": [
39
+ "sm",
40
+ "md",
41
+ "lg"
42
+ ],
43
+ "default": "md",
44
+ "description": "Track height / thumb size"
45
+ },
46
+ "showValue": {
47
+ "type": "boolean",
48
+ "default": false,
49
+ "description": "Show current value text"
50
+ },
51
+ "formatValue": {
52
+ "description": "Value format function (value: number) => string"
53
+ },
54
+ "label": {
55
+ "type": "string",
56
+ "description": "Label text"
57
+ },
58
+ "disabled": {
59
+ "type": "boolean",
60
+ "description": "Disabled"
61
+ },
62
+ "onValueChange": {
63
+ "description": "Value change callback (value: number[]) => void"
64
+ },
65
+ "onValueCommit": {
66
+ "description": "Committed value callback (on pointer up)"
67
+ },
68
+ "className": {
69
+ "type": "string",
70
+ "description": "Style override"
71
+ }
72
+ },
73
+ "additionalProperties": false,
74
+ "description": "Slider / Range input. Based on Radix Slider. Supports single and range mode."
75
+ }
76
+ },
77
+ "$schema": "http://json-schema.org/draft-07/schema#"
78
+ }