@nexus-cross/design-system 1.0.1 → 1.0.2
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-project-setup.mdc +150 -150
- package/cursor-rules/nexus-ui-api.mdc +659 -316
- package/cursor-rules/nexus-ui-components.mdc +162 -96
- package/dist/chunks/chunk-55IEEVNR.js +7 -0
- package/dist/chunks/{chunk-5JHN4FCY.mjs → chunk-K2TBLM3F.mjs} +1 -4
- package/dist/chunks/{chunk-MTX7GD3H.js → chunk-PEIEVKD5.js} +1 -4
- package/dist/chunks/chunk-XMG7ZEYY.mjs +5 -0
- package/dist/data-list.js +2 -2
- package/dist/data-list.mjs +1 -1
- package/dist/error-boundary.d.mts +1 -1
- package/dist/error-boundary.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/index.mjs +1 -1
- package/dist/schemas/_all.json +480 -480
- package/dist/schemas/accordion.json +12 -12
- package/dist/schemas/avatar.json +9 -9
- package/dist/schemas/button.json +13 -13
- package/dist/schemas/carousel.json +6 -6
- package/dist/schemas/carouselButton.json +3 -3
- package/dist/schemas/carouselDots.json +2 -2
- package/dist/schemas/carouselSlide.json +3 -3
- package/dist/schemas/checkBox.json +15 -15
- package/dist/schemas/chip.json +9 -9
- package/dist/schemas/clientOnly.json +3 -3
- package/dist/schemas/countdown.json +8 -8
- package/dist/schemas/counter.json +11 -11
- package/dist/schemas/dataList.json +10 -10
- package/dist/schemas/divider.json +6 -6
- package/dist/schemas/drawer.json +8 -8
- package/dist/schemas/drawerClose.json +4 -4
- package/dist/schemas/drawerContent.json +7 -7
- package/dist/schemas/drawerDescription.json +3 -3
- package/dist/schemas/drawerTitle.json +3 -3
- package/dist/schemas/drawerTrigger.json +4 -4
- package/dist/schemas/ellipsis.json +9 -9
- package/dist/schemas/errorBoundary.json +4 -4
- package/dist/schemas/infiniteScroll.json +12 -12
- package/dist/schemas/marquee.json +8 -8
- package/dist/schemas/modalCall.json +20 -20
- package/dist/schemas/modalTemplate.json +26 -26
- package/dist/schemas/numberInput.json +19 -19
- package/dist/schemas/pagination.json +8 -8
- package/dist/schemas/popover.json +12 -12
- package/dist/schemas/radioGroup.json +12 -12
- package/dist/schemas/radioItem.json +7 -7
- package/dist/schemas/select.json +11 -11
- package/dist/schemas/selectItem.json +5 -5
- package/dist/schemas/skeleton.json +8 -8
- package/dist/schemas/spinner.json +6 -6
- package/dist/schemas/switch.json +10 -10
- package/dist/schemas/tab.json +15 -15
- package/dist/schemas/table.json +14 -14
- package/dist/schemas/tableRow.json +5 -5
- package/dist/schemas/tdColumn.json +17 -17
- package/dist/schemas/textArea.json +18 -18
- package/dist/schemas/textInput.json +25 -25
- package/dist/schemas/themeProvider.json +10 -10
- package/dist/schemas/toastOptions.json +17 -17
- package/dist/schemas/toaster.json +12 -12
- package/dist/schemas/tooltip.json +10 -10
- package/dist/schemas/virtualGrid.json +11 -11
- package/dist/schemas/virtualList.json +10 -10
- package/dist/schemas.js +475 -475
- package/dist/schemas.mjs +475 -475
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +28 -15
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +28 -15
- package/dist/styles.mjs +1 -1
- package/package.json +8 -6
- package/scripts/setup-cursor-rules.cjs +6 -6
- package/dist/chunks/chunk-GMGG4VZM.mjs +0 -5
- package/dist/chunks/chunk-N75GAGAG.js +0 -7
|
@@ -7,27 +7,27 @@
|
|
|
7
7
|
"size": {
|
|
8
8
|
"type": "number",
|
|
9
9
|
"default": 20,
|
|
10
|
-
"description": "px
|
|
10
|
+
"description": "Size in px"
|
|
11
11
|
},
|
|
12
12
|
"color": {
|
|
13
13
|
"type": "string",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Color (CSS color value, default currentColor)"
|
|
15
15
|
},
|
|
16
16
|
"aria-label": {
|
|
17
17
|
"type": "string",
|
|
18
18
|
"default": "Loading",
|
|
19
|
-
"description": "
|
|
19
|
+
"description": "Accessibility label"
|
|
20
20
|
},
|
|
21
21
|
"style": {
|
|
22
|
-
"description": "
|
|
22
|
+
"description": "Inline style (CSSProperties)"
|
|
23
23
|
},
|
|
24
24
|
"className": {
|
|
25
25
|
"type": "string",
|
|
26
|
-
"description": "
|
|
26
|
+
"description": "Color override etc."
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"additionalProperties": false,
|
|
30
|
-
"description": "
|
|
30
|
+
"description": "Loading indicator. SVG-based. Built-in role=\"status\"."
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
package/dist/schemas/switch.json
CHANGED
|
@@ -11,41 +11,41 @@
|
|
|
11
11
|
"md"
|
|
12
12
|
],
|
|
13
13
|
"default": "md",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Size"
|
|
15
15
|
},
|
|
16
16
|
"checked": {
|
|
17
17
|
"type": "boolean",
|
|
18
|
-
"description": "
|
|
18
|
+
"description": "On/off state"
|
|
19
19
|
},
|
|
20
20
|
"disabled": {
|
|
21
21
|
"type": "boolean",
|
|
22
|
-
"description": "
|
|
22
|
+
"description": "Disabled"
|
|
23
23
|
},
|
|
24
24
|
"readOnly": {
|
|
25
25
|
"type": "boolean",
|
|
26
|
-
"description": "
|
|
26
|
+
"description": "Read-only"
|
|
27
27
|
},
|
|
28
28
|
"name": {
|
|
29
29
|
"type": "string",
|
|
30
|
-
"description": "
|
|
30
|
+
"description": "Form field name"
|
|
31
31
|
},
|
|
32
32
|
"id": {
|
|
33
33
|
"type": "string",
|
|
34
|
-
"description": "
|
|
34
|
+
"description": "Element ID"
|
|
35
35
|
},
|
|
36
36
|
"onCheckedChange": {
|
|
37
|
-
"description": "
|
|
37
|
+
"description": "Toggle state change callback (checked: boolean) => void"
|
|
38
38
|
},
|
|
39
39
|
"onChange": {
|
|
40
|
-
"description": "
|
|
40
|
+
"description": "Native change event handler (ChangeEvent)"
|
|
41
41
|
},
|
|
42
42
|
"className": {
|
|
43
43
|
"type": "string",
|
|
44
|
-
"description": "
|
|
44
|
+
"description": "Style override"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"additionalProperties": false,
|
|
48
|
-
"description": "
|
|
48
|
+
"description": "Toggle switch. Native checkbox-based, role=\"switch\"."
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
package/dist/schemas/tab.json
CHANGED
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
"properties": {
|
|
12
12
|
"key": {
|
|
13
13
|
"type": "string",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Tab unique key"
|
|
15
15
|
},
|
|
16
16
|
"label": {
|
|
17
|
-
"description": "
|
|
17
|
+
"description": "Tab label (ReactNode)"
|
|
18
18
|
},
|
|
19
19
|
"children": {
|
|
20
|
-
"description": "
|
|
20
|
+
"description": "Tab panel content (ReactNode)"
|
|
21
21
|
},
|
|
22
22
|
"disabled": {
|
|
23
23
|
"type": "boolean",
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Disabled"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"required": [
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
],
|
|
30
30
|
"additionalProperties": false
|
|
31
31
|
},
|
|
32
|
-
"description": "
|
|
32
|
+
"description": "Tab item array (required)"
|
|
33
33
|
},
|
|
34
34
|
"activeKey": {
|
|
35
35
|
"type": "string",
|
|
36
|
-
"description": "
|
|
36
|
+
"description": "Controlled mode active key"
|
|
37
37
|
},
|
|
38
38
|
"defaultActiveKey": {
|
|
39
39
|
"type": "string",
|
|
40
|
-
"description": "
|
|
40
|
+
"description": "Uncontrolled initial key"
|
|
41
41
|
},
|
|
42
42
|
"variant": {
|
|
43
43
|
"type": "string",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"pill"
|
|
47
47
|
],
|
|
48
48
|
"default": "line",
|
|
49
|
-
"description": "
|
|
49
|
+
"description": "Style"
|
|
50
50
|
},
|
|
51
51
|
"size": {
|
|
52
52
|
"type": "string",
|
|
@@ -55,34 +55,34 @@
|
|
|
55
55
|
"md"
|
|
56
56
|
],
|
|
57
57
|
"default": "md",
|
|
58
|
-
"description": "
|
|
58
|
+
"description": "Size"
|
|
59
59
|
},
|
|
60
60
|
"destroyInactive": {
|
|
61
61
|
"type": "boolean",
|
|
62
62
|
"default": false,
|
|
63
|
-
"description": "
|
|
63
|
+
"description": "Unmount inactive panels"
|
|
64
64
|
},
|
|
65
65
|
"onTabChange": {
|
|
66
|
-
"description": "
|
|
66
|
+
"description": "Tab change callback (key: string) => void"
|
|
67
67
|
},
|
|
68
68
|
"className": {
|
|
69
69
|
"type": "string",
|
|
70
|
-
"description": "
|
|
70
|
+
"description": "Root style"
|
|
71
71
|
},
|
|
72
72
|
"tabListClassName": {
|
|
73
73
|
"type": "string",
|
|
74
|
-
"description": "
|
|
74
|
+
"description": "Tab list style"
|
|
75
75
|
},
|
|
76
76
|
"tabPanelClassName": {
|
|
77
77
|
"type": "string",
|
|
78
|
-
"description": "
|
|
78
|
+
"description": "Tab panel style"
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
81
|
"required": [
|
|
82
82
|
"items"
|
|
83
83
|
],
|
|
84
84
|
"additionalProperties": false,
|
|
85
|
-
"description": "
|
|
85
|
+
"description": "Tab navigation. line/pill variants."
|
|
86
86
|
}
|
|
87
87
|
},
|
|
88
88
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
package/dist/schemas/table.json
CHANGED
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
"type": "null"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
|
-
"description": "
|
|
16
|
+
"description": "Data array. null/undefined = loading state (required)"
|
|
17
17
|
},
|
|
18
18
|
"children": {
|
|
19
|
-
"description": "
|
|
19
|
+
"description": "Row render function ({ item, index }) => ReactNode (required)"
|
|
20
20
|
},
|
|
21
21
|
"hideThead": {
|
|
22
22
|
"type": "boolean",
|
|
23
|
-
"description": "
|
|
23
|
+
"description": "Hide table header"
|
|
24
24
|
},
|
|
25
25
|
"loading": {
|
|
26
26
|
"type": "boolean",
|
|
27
|
-
"description": "
|
|
27
|
+
"description": "Force loading state"
|
|
28
28
|
},
|
|
29
29
|
"loadingType": {
|
|
30
30
|
"type": "string",
|
|
@@ -33,42 +33,42 @@
|
|
|
33
33
|
"skeleton"
|
|
34
34
|
],
|
|
35
35
|
"default": "skeleton",
|
|
36
|
-
"description": "
|
|
36
|
+
"description": "Loading display type"
|
|
37
37
|
},
|
|
38
38
|
"loadingElement": {
|
|
39
|
-
"description": "
|
|
39
|
+
"description": "Custom loading element (ReactElement)"
|
|
40
40
|
},
|
|
41
41
|
"skeletonCount": {
|
|
42
42
|
"type": "number",
|
|
43
43
|
"default": 10,
|
|
44
|
-
"description": "
|
|
44
|
+
"description": "Skeleton row count"
|
|
45
45
|
},
|
|
46
46
|
"noDataMsg": {
|
|
47
|
-
"description": "
|
|
47
|
+
"description": "No data message (ReactElement | string)"
|
|
48
48
|
},
|
|
49
49
|
"notification": {
|
|
50
|
-
"description": "
|
|
50
|
+
"description": "Table top notification area (ReactNode)"
|
|
51
51
|
},
|
|
52
52
|
"sortUpElement": {
|
|
53
|
-
"description": "
|
|
53
|
+
"description": "Ascending sort icon (ReactElement)"
|
|
54
54
|
},
|
|
55
55
|
"sortDownElement": {
|
|
56
|
-
"description": "
|
|
56
|
+
"description": "Descending sort icon (ReactElement)"
|
|
57
57
|
},
|
|
58
58
|
"className": {
|
|
59
59
|
"type": "string",
|
|
60
|
-
"description": "
|
|
60
|
+
"description": "Table wrapper style"
|
|
61
61
|
},
|
|
62
62
|
"theadClassName": {
|
|
63
63
|
"type": "string",
|
|
64
|
-
"description": "
|
|
64
|
+
"description": "Header row style"
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
67
|
"required": [
|
|
68
68
|
"list"
|
|
69
69
|
],
|
|
70
70
|
"additionalProperties": false,
|
|
71
|
-
"description": "
|
|
71
|
+
"description": "Table. Column definitions via TdColumn, row wrapping via TableRow. Built-in sorting/skeleton loading."
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -11,21 +11,21 @@
|
|
|
11
11
|
"accent"
|
|
12
12
|
],
|
|
13
13
|
"default": "default",
|
|
14
|
-
"description": "
|
|
14
|
+
"description": "Row style"
|
|
15
15
|
},
|
|
16
16
|
"className": {
|
|
17
17
|
"type": "string",
|
|
18
|
-
"description": "
|
|
18
|
+
"description": "Style override"
|
|
19
19
|
},
|
|
20
20
|
"children": {
|
|
21
|
-
"description": "TdColumn
|
|
21
|
+
"description": "TdColumn list (ReactNode, required)"
|
|
22
22
|
},
|
|
23
23
|
"onClick": {
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Row click callback (e: MouseEvent) => void"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"additionalProperties": false,
|
|
28
|
-
"description": "
|
|
28
|
+
"description": "Table row. Used inside Table."
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -5,21 +5,21 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"label": {
|
|
8
|
-
"description": "
|
|
8
|
+
"description": "Header label (ReactElement | string)"
|
|
9
9
|
},
|
|
10
10
|
"fieldId": {
|
|
11
11
|
"type": [
|
|
12
12
|
"string",
|
|
13
13
|
"null"
|
|
14
14
|
],
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "Column identifier (sort key, required)"
|
|
16
16
|
},
|
|
17
17
|
"size": {
|
|
18
18
|
"type": [
|
|
19
19
|
"number",
|
|
20
20
|
"string"
|
|
21
21
|
],
|
|
22
|
-
"description": "
|
|
22
|
+
"description": "Column width (number → px, string → CSS value)"
|
|
23
23
|
},
|
|
24
24
|
"align": {
|
|
25
25
|
"type": "string",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"right"
|
|
30
30
|
],
|
|
31
31
|
"default": "left",
|
|
32
|
-
"description": "
|
|
32
|
+
"description": "Text alignment"
|
|
33
33
|
},
|
|
34
34
|
"textOverflow": {
|
|
35
35
|
"type": "string",
|
|
@@ -40,34 +40,34 @@
|
|
|
40
40
|
"break-all"
|
|
41
41
|
],
|
|
42
42
|
"default": "truncate",
|
|
43
|
-
"description": "
|
|
43
|
+
"description": "Text overflow handling"
|
|
44
44
|
},
|
|
45
45
|
"highlightKey": {
|
|
46
46
|
"type": [
|
|
47
47
|
"string",
|
|
48
48
|
"null"
|
|
49
49
|
],
|
|
50
|
-
"description": "
|
|
50
|
+
"description": "Hover highlight group key"
|
|
51
51
|
},
|
|
52
52
|
"colSpan": {
|
|
53
53
|
"type": "number",
|
|
54
|
-
"description": "
|
|
54
|
+
"description": "Column span"
|
|
55
55
|
},
|
|
56
56
|
"rowSpan": {
|
|
57
57
|
"type": "number",
|
|
58
|
-
"description": "
|
|
58
|
+
"description": "Row span"
|
|
59
59
|
},
|
|
60
60
|
"thColSpan": {
|
|
61
61
|
"type": "number",
|
|
62
|
-
"description": "
|
|
62
|
+
"description": "Header colSpan (<th>)"
|
|
63
63
|
},
|
|
64
64
|
"thRowSpan": {
|
|
65
65
|
"type": "number",
|
|
66
|
-
"description": "
|
|
66
|
+
"description": "Header rowSpan (<th>)"
|
|
67
67
|
},
|
|
68
68
|
"enableSorting": {
|
|
69
69
|
"type": "boolean",
|
|
70
|
-
"description": "
|
|
70
|
+
"description": "Enable sorting"
|
|
71
71
|
},
|
|
72
72
|
"order": {
|
|
73
73
|
"type": "string",
|
|
@@ -76,31 +76,31 @@
|
|
|
76
76
|
"asc",
|
|
77
77
|
""
|
|
78
78
|
],
|
|
79
|
-
"description": "
|
|
79
|
+
"description": "Current sort direction"
|
|
80
80
|
},
|
|
81
81
|
"sortValue": {
|
|
82
82
|
"type": [
|
|
83
83
|
"string",
|
|
84
84
|
"number"
|
|
85
85
|
],
|
|
86
|
-
"description": "
|
|
86
|
+
"description": "Sort criterion value"
|
|
87
87
|
},
|
|
88
88
|
"handleClickSort": {
|
|
89
|
-
"description": "
|
|
89
|
+
"description": "Sort click callback ({ index, fieldId, order }) => void"
|
|
90
90
|
},
|
|
91
91
|
"children": {
|
|
92
|
-
"description": "
|
|
92
|
+
"description": "Cell content (ReactNode, required)"
|
|
93
93
|
},
|
|
94
94
|
"className": {
|
|
95
95
|
"type": "string",
|
|
96
|
-
"description": "
|
|
96
|
+
"description": "Style override"
|
|
97
97
|
}
|
|
98
98
|
},
|
|
99
99
|
"required": [
|
|
100
100
|
"fieldId"
|
|
101
101
|
],
|
|
102
102
|
"additionalProperties": false,
|
|
103
|
-
"description": "
|
|
103
|
+
"description": "Table cell/column definition. Used inside TableRow."
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -6,71 +6,71 @@
|
|
|
6
6
|
"properties": {
|
|
7
7
|
"error": {
|
|
8
8
|
"type": "boolean",
|
|
9
|
-
"description": "
|
|
9
|
+
"description": "Error state (auto aria-invalid)"
|
|
10
10
|
},
|
|
11
11
|
"showCount": {
|
|
12
12
|
"type": "boolean",
|
|
13
|
-
"description": "
|
|
13
|
+
"description": "Show character count (requires maxLength)"
|
|
14
14
|
},
|
|
15
15
|
"maxLength": {
|
|
16
16
|
"type": "number",
|
|
17
|
-
"description": "
|
|
17
|
+
"description": "Maximum character count"
|
|
18
18
|
},
|
|
19
19
|
"placeholder": {
|
|
20
20
|
"type": "string",
|
|
21
|
-
"description": "
|
|
21
|
+
"description": "Placeholder"
|
|
22
22
|
},
|
|
23
23
|
"rows": {
|
|
24
24
|
"type": "number",
|
|
25
|
-
"description": "
|
|
25
|
+
"description": "Visible row count"
|
|
26
26
|
},
|
|
27
27
|
"disabled": {
|
|
28
28
|
"type": "boolean",
|
|
29
|
-
"description": "
|
|
29
|
+
"description": "Disabled"
|
|
30
30
|
},
|
|
31
31
|
"readOnly": {
|
|
32
32
|
"type": "boolean",
|
|
33
|
-
"description": "
|
|
33
|
+
"description": "Read-only"
|
|
34
34
|
},
|
|
35
35
|
"value": {
|
|
36
36
|
"type": "string",
|
|
37
|
-
"description": "
|
|
37
|
+
"description": "Input value (controlled mode)"
|
|
38
38
|
},
|
|
39
39
|
"defaultValue": {
|
|
40
40
|
"type": "string",
|
|
41
|
-
"description": "
|
|
41
|
+
"description": "Initial value (uncontrolled mode)"
|
|
42
42
|
},
|
|
43
43
|
"name": {
|
|
44
44
|
"type": "string",
|
|
45
|
-
"description": "
|
|
45
|
+
"description": "Form field name"
|
|
46
46
|
},
|
|
47
47
|
"id": {
|
|
48
48
|
"type": "string",
|
|
49
|
-
"description": "
|
|
49
|
+
"description": "Element ID"
|
|
50
50
|
},
|
|
51
51
|
"autoFocus": {
|
|
52
52
|
"type": "boolean",
|
|
53
|
-
"description": "
|
|
53
|
+
"description": "Auto focus"
|
|
54
54
|
},
|
|
55
55
|
"onValueChange": {
|
|
56
|
-
"description": "
|
|
56
|
+
"description": "Value change callback (value: string) => void"
|
|
57
57
|
},
|
|
58
58
|
"onChange": {
|
|
59
|
-
"description": "
|
|
59
|
+
"description": "Native change event handler"
|
|
60
60
|
},
|
|
61
61
|
"onBlur": {
|
|
62
|
-
"description": "
|
|
62
|
+
"description": "Blur callback"
|
|
63
63
|
},
|
|
64
64
|
"onFocus": {
|
|
65
|
-
"description": "
|
|
65
|
+
"description": "Focus callback"
|
|
66
66
|
},
|
|
67
67
|
"className": {
|
|
68
68
|
"type": "string",
|
|
69
|
-
"description": "
|
|
69
|
+
"description": "Style override"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
72
72
|
"additionalProperties": false,
|
|
73
|
-
"description": "
|
|
73
|
+
"description": "Multi-line text input. Built-in character counter."
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -12,95 +12,95 @@
|
|
|
12
12
|
"xl"
|
|
13
13
|
],
|
|
14
14
|
"default": "md",
|
|
15
|
-
"description": "
|
|
15
|
+
"description": "Size"
|
|
16
16
|
},
|
|
17
17
|
"error": {
|
|
18
18
|
"type": "boolean",
|
|
19
|
-
"description": "
|
|
19
|
+
"description": "Error state (auto aria-invalid)"
|
|
20
20
|
},
|
|
21
21
|
"prefixIcon": {
|
|
22
|
-
"description": "
|
|
22
|
+
"description": "Prefix icon (ReactNode)"
|
|
23
23
|
},
|
|
24
24
|
"suffixIcon": {
|
|
25
|
-
"description": "
|
|
25
|
+
"description": "Suffix icon (ReactNode)"
|
|
26
26
|
},
|
|
27
27
|
"label": {
|
|
28
|
-
"description": "
|
|
28
|
+
"description": "Label above input field (ReactNode)"
|
|
29
29
|
},
|
|
30
30
|
"description": {
|
|
31
|
-
"description": "
|
|
31
|
+
"description": "Description below input field (ReactNode, red on error)"
|
|
32
32
|
},
|
|
33
33
|
"showCount": {
|
|
34
34
|
"type": "boolean",
|
|
35
|
-
"description": "
|
|
35
|
+
"description": "Show character count (requires maxLength)"
|
|
36
36
|
},
|
|
37
37
|
"maxLength": {
|
|
38
38
|
"type": "number",
|
|
39
|
-
"description": "
|
|
39
|
+
"description": "Maximum character count"
|
|
40
40
|
},
|
|
41
41
|
"clearable": {
|
|
42
42
|
"type": "boolean",
|
|
43
|
-
"description": "
|
|
43
|
+
"description": "Clear input via X button"
|
|
44
44
|
},
|
|
45
45
|
"placeholder": {
|
|
46
46
|
"type": "string",
|
|
47
|
-
"description": "
|
|
47
|
+
"description": "Placeholder"
|
|
48
48
|
},
|
|
49
49
|
"disabled": {
|
|
50
50
|
"type": "boolean",
|
|
51
|
-
"description": "
|
|
51
|
+
"description": "Disabled"
|
|
52
52
|
},
|
|
53
53
|
"readOnly": {
|
|
54
54
|
"type": "boolean",
|
|
55
|
-
"description": "
|
|
55
|
+
"description": "Read-only"
|
|
56
56
|
},
|
|
57
57
|
"value": {
|
|
58
58
|
"type": "string",
|
|
59
|
-
"description": "
|
|
59
|
+
"description": "Input value (controlled mode)"
|
|
60
60
|
},
|
|
61
61
|
"defaultValue": {
|
|
62
62
|
"type": "string",
|
|
63
|
-
"description": "
|
|
63
|
+
"description": "Initial value (uncontrolled mode)"
|
|
64
64
|
},
|
|
65
65
|
"type": {
|
|
66
66
|
"type": "string",
|
|
67
|
-
"description": "
|
|
67
|
+
"description": "Input type (text, password, email, url, etc.)"
|
|
68
68
|
},
|
|
69
69
|
"name": {
|
|
70
70
|
"type": "string",
|
|
71
|
-
"description": "
|
|
71
|
+
"description": "Form field name"
|
|
72
72
|
},
|
|
73
73
|
"id": {
|
|
74
74
|
"type": "string",
|
|
75
|
-
"description": "
|
|
75
|
+
"description": "Element ID (for label htmlFor binding)"
|
|
76
76
|
},
|
|
77
77
|
"autoFocus": {
|
|
78
78
|
"type": "boolean",
|
|
79
|
-
"description": "
|
|
79
|
+
"description": "Auto focus"
|
|
80
80
|
},
|
|
81
81
|
"autoComplete": {
|
|
82
82
|
"type": "string",
|
|
83
|
-
"description": "
|
|
83
|
+
"description": "Autocomplete hint (on, off, email, etc.)"
|
|
84
84
|
},
|
|
85
85
|
"onValueChange": {
|
|
86
|
-
"description": "
|
|
86
|
+
"description": "Value change callback (value: string) => void"
|
|
87
87
|
},
|
|
88
88
|
"onChange": {
|
|
89
|
-
"description": "
|
|
89
|
+
"description": "Native change event handler"
|
|
90
90
|
},
|
|
91
91
|
"onBlur": {
|
|
92
|
-
"description": "
|
|
92
|
+
"description": "Blur callback"
|
|
93
93
|
},
|
|
94
94
|
"onFocus": {
|
|
95
|
-
"description": "
|
|
95
|
+
"description": "Focus callback"
|
|
96
96
|
},
|
|
97
97
|
"className": {
|
|
98
98
|
"type": "string",
|
|
99
|
-
"description": "
|
|
99
|
+
"description": "Style override"
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
"additionalProperties": false,
|
|
103
|
-
"description": "
|
|
103
|
+
"description": "Text input field. Supports label, description, prefix/suffix icons, clearable, character counter."
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
"$schema": "http://json-schema.org/draft-07/schema#"
|