@nexus-cross/design-system 1.0.0 → 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-D6FII7HW.js → chunk-BBLBTOP4.js} +8 -5
- 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-54RBL7J4.mjs → chunk-UKRU46PH.mjs} +8 -5
- 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 +5 -5
- package/dist/index.mjs +2 -2
- package/dist/schemas/_all.json +870 -373
- package/dist/schemas/accordion.json +12 -12
- package/dist/schemas/avatar.json +9 -9
- package/dist/schemas/button.json +27 -9
- 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 +28 -10
- package/dist/schemas/chip.json +13 -7
- package/dist/schemas/clientOnly.json +3 -3
- package/dist/schemas/countdown.json +8 -8
- package/dist/schemas/counter.json +13 -10
- package/dist/schemas/dataList.json +10 -10
- package/dist/schemas/divider.json +8 -5
- package/dist/schemas/drawer.json +22 -3
- package/dist/schemas/drawerClose.json +24 -0
- package/dist/schemas/drawerContent.json +7 -7
- package/dist/schemas/drawerDescription.json +20 -0
- package/dist/schemas/drawerTitle.json +20 -0
- package/dist/schemas/drawerTrigger.json +24 -0
- 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 +10 -7
- package/dist/schemas/modalCall.json +81 -3
- package/dist/schemas/modalTemplate.json +28 -25
- package/dist/schemas/numberInput.json +32 -14
- package/dist/schemas/pagination.json +8 -8
- package/dist/schemas/popover.json +12 -12
- package/dist/schemas/radioGroup.json +17 -10
- package/dist/schemas/radioItem.json +12 -5
- package/dist/schemas/select.json +11 -11
- package/dist/schemas/selectItem.json +5 -5
- package/dist/schemas/skeleton.json +10 -7
- package/dist/schemas/spinner.json +11 -4
- package/dist/schemas/switch.json +18 -7
- 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 +42 -9
- package/dist/schemas/textInput.json +55 -15
- package/dist/schemas/themeProvider.json +10 -10
- package/dist/schemas/toastOptions.json +81 -0
- package/dist/schemas/toaster.json +48 -3
- package/dist/schemas/tooltip.json +10 -10
- package/dist/schemas/virtualGrid.json +19 -16
- package/dist/schemas/virtualList.json +12 -9
- package/dist/schemas.d.mts +420 -56
- package/dist/schemas.d.ts +420 -56
- package/dist/schemas.js +502 -367
- package/dist/schemas.mjs +498 -368
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +56 -45
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +56 -45
- package/dist/styles.mjs +1 -1
- package/dist/text-input.d.mts +1 -1
- package/dist/text-input.d.ts +1 -1
- package/dist/text-input.js +3 -3
- package/dist/text-input.mjs +1 -1
- package/package.json +8 -6
- package/scripts/setup-cursor-rules.cjs +6 -6
- package/dist/chunks/chunk-7AISZYWL.js +0 -7
- package/dist/chunks/chunk-V5OTJP6H.mjs +0 -5
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,38 +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
|
+
},
|
|
31
|
+
"readOnly": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Read-only"
|
|
34
|
+
},
|
|
35
|
+
"value": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"description": "Input value (controlled mode)"
|
|
38
|
+
},
|
|
39
|
+
"defaultValue": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Initial value (uncontrolled mode)"
|
|
42
|
+
},
|
|
43
|
+
"name": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"description": "Form field name"
|
|
46
|
+
},
|
|
47
|
+
"id": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"description": "Element ID"
|
|
50
|
+
},
|
|
51
|
+
"autoFocus": {
|
|
52
|
+
"type": "boolean",
|
|
53
|
+
"description": "Auto focus"
|
|
30
54
|
},
|
|
31
55
|
"onValueChange": {
|
|
32
|
-
"description": "
|
|
56
|
+
"description": "Value change callback (value: string) => void"
|
|
57
|
+
},
|
|
58
|
+
"onChange": {
|
|
59
|
+
"description": "Native change event handler"
|
|
60
|
+
},
|
|
61
|
+
"onBlur": {
|
|
62
|
+
"description": "Blur callback"
|
|
63
|
+
},
|
|
64
|
+
"onFocus": {
|
|
65
|
+
"description": "Focus callback"
|
|
33
66
|
},
|
|
34
67
|
"className": {
|
|
35
68
|
"type": "string",
|
|
36
|
-
"description": "
|
|
69
|
+
"description": "Style override"
|
|
37
70
|
}
|
|
38
71
|
},
|
|
39
72
|
"additionalProperties": false,
|
|
40
|
-
"description": "
|
|
73
|
+
"description": "Multi-line text input. Built-in character counter."
|
|
41
74
|
}
|
|
42
75
|
},
|
|
43
76
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -7,60 +7,100 @@
|
|
|
7
7
|
"size": {
|
|
8
8
|
"type": "string",
|
|
9
9
|
"enum": [
|
|
10
|
-
"sm",
|
|
11
10
|
"md",
|
|
12
11
|
"lg",
|
|
13
12
|
"xl"
|
|
14
13
|
],
|
|
15
14
|
"default": "md",
|
|
16
|
-
"description": "
|
|
15
|
+
"description": "Size"
|
|
17
16
|
},
|
|
18
17
|
"error": {
|
|
19
18
|
"type": "boolean",
|
|
20
|
-
"description": "
|
|
19
|
+
"description": "Error state (auto aria-invalid)"
|
|
21
20
|
},
|
|
22
21
|
"prefixIcon": {
|
|
23
|
-
"description": "
|
|
22
|
+
"description": "Prefix icon (ReactNode)"
|
|
24
23
|
},
|
|
25
24
|
"suffixIcon": {
|
|
26
|
-
"description": "
|
|
25
|
+
"description": "Suffix icon (ReactNode)"
|
|
27
26
|
},
|
|
28
27
|
"label": {
|
|
29
|
-
"description": "
|
|
28
|
+
"description": "Label above input field (ReactNode)"
|
|
30
29
|
},
|
|
31
30
|
"description": {
|
|
32
|
-
"description": "
|
|
31
|
+
"description": "Description below input field (ReactNode, red on error)"
|
|
33
32
|
},
|
|
34
33
|
"showCount": {
|
|
35
34
|
"type": "boolean",
|
|
36
|
-
"description": "
|
|
35
|
+
"description": "Show character count (requires maxLength)"
|
|
37
36
|
},
|
|
38
37
|
"maxLength": {
|
|
39
38
|
"type": "number",
|
|
40
|
-
"description": "
|
|
39
|
+
"description": "Maximum character count"
|
|
41
40
|
},
|
|
42
41
|
"clearable": {
|
|
43
42
|
"type": "boolean",
|
|
44
|
-
"description": "
|
|
43
|
+
"description": "Clear input via X button"
|
|
45
44
|
},
|
|
46
45
|
"placeholder": {
|
|
47
46
|
"type": "string",
|
|
48
|
-
"description": "
|
|
47
|
+
"description": "Placeholder"
|
|
49
48
|
},
|
|
50
49
|
"disabled": {
|
|
51
50
|
"type": "boolean",
|
|
52
|
-
"description": "
|
|
51
|
+
"description": "Disabled"
|
|
52
|
+
},
|
|
53
|
+
"readOnly": {
|
|
54
|
+
"type": "boolean",
|
|
55
|
+
"description": "Read-only"
|
|
56
|
+
},
|
|
57
|
+
"value": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Input value (controlled mode)"
|
|
60
|
+
},
|
|
61
|
+
"defaultValue": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"description": "Initial value (uncontrolled mode)"
|
|
64
|
+
},
|
|
65
|
+
"type": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Input type (text, password, email, url, etc.)"
|
|
68
|
+
},
|
|
69
|
+
"name": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"description": "Form field name"
|
|
72
|
+
},
|
|
73
|
+
"id": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "Element ID (for label htmlFor binding)"
|
|
76
|
+
},
|
|
77
|
+
"autoFocus": {
|
|
78
|
+
"type": "boolean",
|
|
79
|
+
"description": "Auto focus"
|
|
80
|
+
},
|
|
81
|
+
"autoComplete": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "Autocomplete hint (on, off, email, etc.)"
|
|
53
84
|
},
|
|
54
85
|
"onValueChange": {
|
|
55
|
-
"description": "
|
|
86
|
+
"description": "Value change callback (value: string) => void"
|
|
87
|
+
},
|
|
88
|
+
"onChange": {
|
|
89
|
+
"description": "Native change event handler"
|
|
90
|
+
},
|
|
91
|
+
"onBlur": {
|
|
92
|
+
"description": "Blur callback"
|
|
93
|
+
},
|
|
94
|
+
"onFocus": {
|
|
95
|
+
"description": "Focus callback"
|
|
56
96
|
},
|
|
57
97
|
"className": {
|
|
58
98
|
"type": "string",
|
|
59
|
-
"description": "
|
|
99
|
+
"description": "Style override"
|
|
60
100
|
}
|
|
61
101
|
},
|
|
62
102
|
"additionalProperties": false,
|
|
63
|
-
"description": "
|
|
103
|
+
"description": "Text input field. Supports label, description, prefix/suffix icons, clearable, character counter."
|
|
64
104
|
}
|
|
65
105
|
},
|
|
66
106
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"children": {
|
|
8
|
-
"description": "
|
|
8
|
+
"description": "App root element (ReactNode, required)"
|
|
9
9
|
},
|
|
10
10
|
"defaultTheme": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"description": "
|
|
12
|
+
"description": "Default theme (e.g. \"dark\", \"light\")"
|
|
13
13
|
},
|
|
14
14
|
"storageKey": {
|
|
15
15
|
"type": "string",
|
|
16
|
-
"description": "localStorage
|
|
16
|
+
"description": "localStorage storage key (default: \"theme\")"
|
|
17
17
|
},
|
|
18
18
|
"themes": {
|
|
19
19
|
"type": "array",
|
|
20
20
|
"items": {
|
|
21
21
|
"type": "string"
|
|
22
22
|
},
|
|
23
|
-
"description": "
|
|
23
|
+
"description": "Available theme list (default: [\"light\", \"dark\"])"
|
|
24
24
|
},
|
|
25
25
|
"attribute": {
|
|
26
26
|
"anyOf": [
|
|
@@ -34,23 +34,23 @@
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
],
|
|
37
|
-
"description": "
|
|
37
|
+
"description": "Theme HTML attribute (default: \"data-theme\")"
|
|
38
38
|
},
|
|
39
39
|
"enableSystem": {
|
|
40
40
|
"type": "boolean",
|
|
41
|
-
"description": "
|
|
41
|
+
"description": "Enable system theme detection"
|
|
42
42
|
},
|
|
43
43
|
"disableTransitionOnChange": {
|
|
44
44
|
"type": "boolean",
|
|
45
|
-
"description": "
|
|
45
|
+
"description": "Disable transitions on theme change"
|
|
46
46
|
},
|
|
47
47
|
"forcedTheme": {
|
|
48
48
|
"type": "string",
|
|
49
|
-
"description": "
|
|
49
|
+
"description": "Forced theme (user cannot change)"
|
|
50
50
|
},
|
|
51
51
|
"enableColorScheme": {
|
|
52
52
|
"type": "boolean",
|
|
53
|
-
"description": "color-scheme CSS
|
|
53
|
+
"description": "Auto-set color-scheme CSS property"
|
|
54
54
|
},
|
|
55
55
|
"nonce": {
|
|
56
56
|
"type": "string",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"additionalProperties": false,
|
|
61
|
-
"description": "
|
|
61
|
+
"description": "Theme provider. Based on next-themes. Access theme state via useTheme() hook."
|
|
62
62
|
}
|
|
63
63
|
},
|
|
64
64
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/toastOptionsSchema",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"toastOptionsSchema": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"description": {
|
|
8
|
+
"description": "Toast subtitle (ReactNode)"
|
|
9
|
+
},
|
|
10
|
+
"duration": {
|
|
11
|
+
"type": "number",
|
|
12
|
+
"description": "Auto-dismiss duration (ms). Default 4000"
|
|
13
|
+
},
|
|
14
|
+
"icon": {
|
|
15
|
+
"description": "Custom icon (ReactNode)"
|
|
16
|
+
},
|
|
17
|
+
"action": {
|
|
18
|
+
"description": "Action button. { label: ReactNode, onClick: () => void }"
|
|
19
|
+
},
|
|
20
|
+
"cancel": {
|
|
21
|
+
"description": "Cancel button. { label: ReactNode, onClick: () => void }"
|
|
22
|
+
},
|
|
23
|
+
"closeButton": {
|
|
24
|
+
"type": "boolean",
|
|
25
|
+
"description": "Show close (X) button"
|
|
26
|
+
},
|
|
27
|
+
"dismissible": {
|
|
28
|
+
"type": "boolean",
|
|
29
|
+
"description": "Allow dismiss via swipe/click"
|
|
30
|
+
},
|
|
31
|
+
"richColors": {
|
|
32
|
+
"type": "boolean",
|
|
33
|
+
"description": "Apply strong colors for success/error/warning/info"
|
|
34
|
+
},
|
|
35
|
+
"invert": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"description": "Invert colors (dark↔light)"
|
|
38
|
+
},
|
|
39
|
+
"position": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"enum": [
|
|
42
|
+
"top-left",
|
|
43
|
+
"top-center",
|
|
44
|
+
"top-right",
|
|
45
|
+
"bottom-left",
|
|
46
|
+
"bottom-center",
|
|
47
|
+
"bottom-right"
|
|
48
|
+
],
|
|
49
|
+
"description": "Individual position for this toast"
|
|
50
|
+
},
|
|
51
|
+
"onDismiss": {
|
|
52
|
+
"description": "Dismiss callback (toast: ToastT) => void"
|
|
53
|
+
},
|
|
54
|
+
"onAutoClose": {
|
|
55
|
+
"description": "Auto-close callback (toast: ToastT) => void"
|
|
56
|
+
},
|
|
57
|
+
"className": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Toast custom class"
|
|
60
|
+
},
|
|
61
|
+
"style": {
|
|
62
|
+
"description": "Toast inline style (CSSProperties)"
|
|
63
|
+
},
|
|
64
|
+
"unstyled": {
|
|
65
|
+
"type": "boolean",
|
|
66
|
+
"description": "Remove default styles (for custom styling)"
|
|
67
|
+
},
|
|
68
|
+
"id": {
|
|
69
|
+
"type": [
|
|
70
|
+
"string",
|
|
71
|
+
"number"
|
|
72
|
+
],
|
|
73
|
+
"description": "Toast ID (for deduplication or updates)"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"additionalProperties": false,
|
|
77
|
+
"description": "toast() call options. Used as toast(message, options). Fully customizable via toast.custom(jsx)."
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
81
|
+
}
|
|
@@ -15,16 +15,61 @@
|
|
|
15
15
|
"bottom-right"
|
|
16
16
|
],
|
|
17
17
|
"default": "top-center",
|
|
18
|
-
"description": "
|
|
18
|
+
"description": "Default toast position"
|
|
19
19
|
},
|
|
20
20
|
"unstyled": {
|
|
21
21
|
"type": "boolean",
|
|
22
22
|
"default": false,
|
|
23
|
-
"description": "
|
|
23
|
+
"description": "Remove default styles (for custom styling)"
|
|
24
|
+
},
|
|
25
|
+
"theme": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"enum": [
|
|
28
|
+
"light",
|
|
29
|
+
"dark",
|
|
30
|
+
"system"
|
|
31
|
+
],
|
|
32
|
+
"description": "Theme setting"
|
|
33
|
+
},
|
|
34
|
+
"richColors": {
|
|
35
|
+
"type": "boolean",
|
|
36
|
+
"description": "Apply strong colors for success/error/warning/info"
|
|
37
|
+
},
|
|
38
|
+
"expand": {
|
|
39
|
+
"type": "boolean",
|
|
40
|
+
"description": "Always show toasts in expanded state"
|
|
41
|
+
},
|
|
42
|
+
"duration": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Global auto-dismiss duration (ms). Default 4000"
|
|
45
|
+
},
|
|
46
|
+
"visibleToasts": {
|
|
47
|
+
"type": "number",
|
|
48
|
+
"description": "Maximum visible toasts at once"
|
|
49
|
+
},
|
|
50
|
+
"closeButton": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"description": "Show close button on all toasts"
|
|
53
|
+
},
|
|
54
|
+
"gap": {
|
|
55
|
+
"type": "number",
|
|
56
|
+
"description": "Gap between toasts (px)"
|
|
57
|
+
},
|
|
58
|
+
"offset": {
|
|
59
|
+
"description": "Offset from screen edge. string | number | { top, right, bottom, left }"
|
|
60
|
+
},
|
|
61
|
+
"dir": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"enum": [
|
|
64
|
+
"ltr",
|
|
65
|
+
"rtl",
|
|
66
|
+
"auto"
|
|
67
|
+
],
|
|
68
|
+
"description": "Text direction"
|
|
24
69
|
}
|
|
25
70
|
},
|
|
26
71
|
"additionalProperties": false,
|
|
27
|
-
"description": "Toaster
|
|
72
|
+
"description": "Toaster config. Place once at app root. Display notifications via toast(). Based on sonner."
|
|
28
73
|
}
|
|
29
74
|
},
|
|
30
75
|
"$schema": "http://json-schema.org/draft-07/schema#"
|