@nexus-cross/design-system 1.0.4-beta.1 → 1.0.4
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 +167 -145
- package/cursor-rules/nexus-ui-api.mdc +894 -311
- package/cursor-rules/nexus-ui-components.mdc +179 -91
- package/dist/accordion.js +7 -7
- package/dist/accordion.mjs +2 -2
- package/dist/alert.d.mts +17 -0
- package/dist/alert.d.ts +17 -0
- package/dist/alert.js +16 -0
- package/dist/alert.mjs +3 -0
- package/dist/avatar.js +4 -4
- package/dist/avatar.mjs +2 -2
- package/dist/badge.d.mts +18 -0
- package/dist/badge.d.ts +18 -0
- package/dist/badge.js +16 -0
- package/dist/badge.mjs +3 -0
- package/dist/breadcrumb.d.mts +15 -0
- package/dist/breadcrumb.d.ts +15 -0
- package/dist/breadcrumb.js +12 -0
- package/dist/breadcrumb.mjs +3 -0
- package/dist/button.js +4 -4
- package/dist/button.mjs +2 -2
- package/dist/carousel.js +8 -8
- package/dist/carousel.mjs +2 -2
- package/dist/checkbox.js +5 -5
- package/dist/checkbox.mjs +2 -2
- package/dist/chip.d.mts +1 -1
- package/dist/chip.d.ts +1 -1
- package/dist/chip.js +4 -4
- package/dist/chip.mjs +2 -2
- package/dist/chunks/{chunk-5TBXVD56.js → chunk-2MC7XJSE.js} +16 -6
- package/dist/chunks/chunk-2N2EPBO4.js +120 -0
- package/dist/chunks/{chunk-BEA727LO.mjs → chunk-2RPRCWKV.mjs} +57 -26
- package/dist/chunks/chunk-2UPGFY6E.mjs +76 -0
- package/dist/chunks/{chunk-5I2VRWWU.js → chunk-2ZXDXO4I.js} +32 -38
- package/dist/chunks/{chunk-RLP3U52D.mjs → chunk-33UFQJIO.mjs} +22 -40
- package/dist/chunks/{chunk-AOVU67NI.mjs → chunk-3HHJORN7.mjs} +23 -25
- package/dist/chunks/{chunk-TWHDXCKR.js → chunk-3PCNRCTB.js} +8 -8
- package/dist/chunks/chunk-3ZWN66YH.js +53 -0
- package/dist/chunks/chunk-4ENXP7WH.js +224 -0
- package/dist/chunks/{chunk-YEGPB7A7.js → chunk-5JHJNN2K.js} +4 -4
- package/dist/chunks/chunk-5PQ3UCKF.js +99 -0
- package/dist/chunks/chunk-6BWOKTVQ.mjs +87 -0
- package/dist/chunks/chunk-6DBRL6NA.mjs +81 -0
- package/dist/chunks/{chunk-C3E7CSKG.mjs → chunk-6FMDO6TT.mjs} +7 -8
- package/dist/chunks/{chunk-76CY4STF.js → chunk-7G65JBTN.js} +34 -66
- package/dist/chunks/{chunk-GMIGQ5VP.mjs → chunk-ADO7PDLY.mjs} +15 -35
- package/dist/chunks/{chunk-ZINDMFOI.js → chunk-AFSEYJZT.js} +24 -32
- package/dist/chunks/chunk-B5O6W3Z4.mjs +73 -0
- package/dist/chunks/{chunk-6FHK6CBR.js → chunk-B6G5TJRO.js} +7 -8
- package/dist/chunks/chunk-BBLBTOP4.js +205 -0
- package/dist/chunks/{chunk-5XVEYVYA.js → chunk-BLGQHR3M.js} +5 -8
- package/dist/chunks/{chunk-LVTD2UQN.mjs → chunk-BPUQ2CO2.mjs} +2 -2
- package/dist/chunks/{chunk-AWBGWBFS.js → chunk-BSZ2LN6E.js} +21 -27
- package/dist/chunks/chunk-C2DSAJTL.js +109 -0
- package/dist/chunks/{chunk-KWPIEHD2.mjs → chunk-CA3SOLI3.mjs} +1 -1
- package/dist/chunks/{chunk-MPKRXMCJ.js → chunk-CSJDDREF.js} +7 -10
- package/dist/chunks/chunk-CUTMLBC3.mjs +86 -0
- package/dist/chunks/chunk-CV4GMFWP.js +174 -0
- package/dist/chunks/{chunk-SXLMI7CZ.mjs → chunk-CWMLTXOH.mjs} +162 -234
- package/dist/chunks/chunk-CZC76ZD5.js +10 -0
- package/dist/chunks/chunk-DICN6GKE.js +99 -0
- package/dist/chunks/{chunk-TLTEUIBY.js → chunk-DLFV7ZZV.js} +4 -4
- package/dist/chunks/chunk-DO6VK2QQ.mjs +108 -0
- package/dist/chunks/chunk-DYPPVXQF.js +143 -0
- package/dist/chunks/{chunk-GQP7IXH2.mjs → chunk-ECVAVQUY.mjs} +23 -31
- package/dist/chunks/{chunk-3CHRUKSJ.mjs → chunk-EHAUUUWB.mjs} +3 -3
- package/dist/chunks/chunk-EJY7IVSK.mjs +31 -0
- package/dist/chunks/{chunk-G4XJG7XI.js → chunk-EVOOTSY5.js} +3 -10
- package/dist/chunks/chunk-FUIBYZZ4.mjs +98 -0
- package/dist/chunks/{chunk-VH5FF6DZ.mjs → chunk-GX6GSWX3.mjs} +7 -7
- package/dist/chunks/chunk-H2G5FMRN.mjs +75 -0
- package/dist/chunks/chunk-H2V7RHYV.mjs +120 -0
- package/dist/chunks/{chunk-DDMZSNTG.js → chunk-HFBTS42N.js} +168 -240
- package/dist/chunks/{chunk-OGUTGD4J.mjs → chunk-HNLI646G.mjs} +71 -39
- package/dist/chunks/{chunk-C6H2UNOX.js → chunk-IE4DGLMH.js} +13 -21
- package/dist/chunks/{chunk-U76LT5GE.js → chunk-IOSIQLZL.js} +2 -2
- package/dist/chunks/{chunk-ZCMKIB5U.js → chunk-J5ZKGPBY.js} +33 -41
- package/dist/chunks/{chunk-JUZHWKGS.mjs → chunk-K2TBLM3F.mjs} +6 -12
- package/dist/chunks/chunk-KZ7S5VN2.js +7 -0
- package/dist/chunks/{chunk-FHPHDK3O.mjs → chunk-LI7SFBUQ.mjs} +4 -4
- package/dist/chunks/{chunk-7OEK2KX3.mjs → chunk-LMMON5AU.mjs} +4 -4
- package/dist/chunks/{chunk-6DZVNFVY.js → chunk-LOQXCHKL.js} +4 -12
- package/dist/chunks/{chunk-377KBJQG.js → chunk-MA2VCCIY.js} +19 -22
- package/dist/chunks/chunk-MCKOWMLS.mjs +8 -0
- package/dist/chunks/chunk-MMCA33FW.mjs +85 -0
- package/dist/chunks/{chunk-TR5JBBEA.mjs → chunk-MRRKW5QN.mjs} +31 -39
- package/dist/chunks/{chunk-76K6KXCT.js → chunk-NFIPQZ4O.js} +1 -1
- package/dist/chunks/chunk-NZHK76R3.js +109 -0
- package/dist/chunks/{chunk-I7YJB2F5.js → chunk-OMN5YQCE.js} +3 -3
- package/dist/chunks/{chunk-B7UU3FSS.mjs → chunk-P2T72N62.mjs} +4 -7
- package/dist/chunks/chunk-P3DZKXG4.js +116 -0
- package/dist/chunks/chunk-P73MEU7N.mjs +150 -0
- package/dist/chunks/chunk-PDJTSQOC.js +59 -0
- package/dist/chunks/{chunk-RXVYL4AU.js → chunk-PEIEVKD5.js} +7 -13
- package/dist/chunks/chunk-PI464222.mjs +5 -0
- package/dist/chunks/{chunk-IJG7J2VU.mjs → chunk-QZ4QR3XV.mjs} +30 -36
- package/dist/chunks/{chunk-6NTASYZO.js → chunk-RS3SBY3I.js} +61 -30
- package/dist/chunks/{chunk-AKIBUO5A.mjs → chunk-RX5UKRYK.mjs} +19 -26
- package/dist/chunks/chunk-S2GMEC43.js +109 -0
- package/dist/chunks/{chunk-WJ2OVQD3.mjs → chunk-SGNRVYYQ.mjs} +19 -25
- package/dist/chunks/{chunk-IB5UCYQY.mjs → chunk-SJMCPSVH.mjs} +15 -5
- package/dist/chunks/chunk-UKRU46PH.mjs +182 -0
- package/dist/chunks/{chunk-WNFJ4NJN.mjs → chunk-ULGYTBCT.mjs} +3 -11
- package/dist/chunks/{chunk-TXYYBJBQ.js → chunk-VGO4Z2WH.js} +73 -41
- package/dist/chunks/{chunk-LBKBCI2K.mjs → chunk-VIGRCJAE.mjs} +3 -10
- package/dist/chunks/chunk-VVXQZ4XH.mjs +93 -0
- package/dist/chunks/{chunk-Z7OKV6NW.mjs → chunk-W4GG5A7K.mjs} +12 -20
- package/dist/chunks/chunk-WGGBE4ZD.mjs +201 -0
- package/dist/chunks/{chunk-WSWD5ZUJ.js → chunk-WKCXACMZ.js} +20 -27
- package/dist/chunks/{chunk-GSLIY6WW.js → chunk-X2SHTVZQ.js} +17 -37
- package/dist/chunks/chunk-X3CTJ7TD.js +108 -0
- package/dist/chunks/{chunk-U6KOUYWX.mjs → chunk-XG6QG65W.mjs} +7 -10
- package/dist/chunks/chunk-XGIJZ3NZ.js +160 -0
- package/dist/chunks/chunk-YB5ZKHVB.js +64 -0
- package/dist/chunks/{chunk-Q7H6LCNN.js → chunk-YCG4FZC3.js} +23 -25
- package/dist/chunks/{chunk-JZ3PWHKS.mjs → chunk-YLO4UKSC.mjs} +18 -21
- package/dist/chunks/chunk-YO5MSDPX.mjs +36 -0
- package/dist/chunks/{chunk-Q2TMXHPK.js → chunk-YZV6FWE7.js} +25 -43
- package/dist/chunks/chunk-ZI4LN2B2.js +96 -0
- package/dist/chunks/chunk-ZU4AWAFT.mjs +137 -0
- package/dist/chunks/chunk-ZWSIIGA3.mjs +58 -0
- package/dist/countdown.js +4 -4
- package/dist/countdown.mjs +2 -2
- package/dist/counter.js +2 -2
- package/dist/counter.mjs +1 -1
- package/dist/data-list.js +5 -5
- package/dist/data-list.mjs +4 -4
- package/dist/date-picker.d.mts +17 -0
- package/dist/date-picker.d.ts +17 -0
- package/dist/date-picker.js +12 -0
- package/dist/date-picker.mjs +3 -0
- package/dist/divider.js +4 -4
- package/dist/divider.mjs +2 -2
- package/dist/drawer.d.mts +1 -1
- package/dist/drawer.d.ts +1 -1
- package/dist/drawer.js +11 -11
- package/dist/drawer.mjs +2 -2
- package/dist/dropdown-menu.d.mts +30 -0
- package/dist/dropdown-menu.d.ts +30 -0
- package/dist/dropdown-menu.js +32 -0
- package/dist/dropdown-menu.mjs +3 -0
- package/dist/ellipsis.js +3 -3
- package/dist/ellipsis.mjs +2 -2
- package/dist/empty-state.d.mts +16 -0
- package/dist/empty-state.d.ts +16 -0
- package/dist/empty-state.js +16 -0
- package/dist/empty-state.mjs +3 -0
- package/dist/error-boundary.d.mts +1 -1
- package/dist/error-boundary.d.ts +1 -1
- package/dist/error-boundary.js +2 -2
- package/dist/error-boundary.mjs +1 -1
- package/dist/index.d.mts +15 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +322 -200
- package/dist/index.mjs +49 -35
- package/dist/infinite-scroll.js +3 -3
- package/dist/infinite-scroll.mjs +2 -2
- package/dist/marquee.js +3 -3
- package/dist/marquee.mjs +2 -2
- package/dist/modal/index.js +13 -13
- package/dist/modal/index.mjs +4 -4
- package/dist/number-input.d.mts +1 -1
- package/dist/number-input.d.ts +1 -1
- package/dist/number-input.js +5 -5
- package/dist/number-input.mjs +2 -2
- package/dist/nx-image.d.mts +13 -0
- package/dist/nx-image.d.ts +13 -0
- package/dist/nx-image.js +12 -0
- package/dist/nx-image.mjs +3 -0
- package/dist/pagination.d.mts +1 -0
- package/dist/pagination.d.ts +1 -0
- package/dist/pagination.js +5 -5
- package/dist/pagination.mjs +2 -2
- package/dist/popover.d.mts +1 -1
- package/dist/popover.d.ts +1 -1
- package/dist/popover.js +8 -8
- package/dist/popover.mjs +2 -2
- package/dist/price-input.d.mts +36 -0
- package/dist/price-input.d.ts +36 -0
- package/dist/price-input.js +16 -0
- package/dist/price-input.mjs +3 -0
- package/dist/progress.d.mts +18 -0
- package/dist/progress.d.ts +18 -0
- package/dist/progress.js +16 -0
- package/dist/progress.mjs +3 -0
- package/dist/radio-group.js +6 -6
- package/dist/radio-group.mjs +2 -2
- package/dist/schemas/_all.json +2356 -404
- package/dist/schemas/accordion.json +14 -11
- package/dist/schemas/alert.json +49 -0
- package/dist/schemas/avatar.json +13 -7
- package/dist/schemas/badge.json +76 -0
- package/dist/schemas/breadcrumb.json +47 -0
- package/dist/schemas/button.json +27 -9
- package/dist/schemas/carousel.json +10 -4
- package/dist/schemas/carouselButton.json +20 -0
- package/dist/schemas/carouselDots.json +17 -0
- package/dist/schemas/carouselSlide.json +20 -0
- package/dist/schemas/checkBox.json +33 -8
- package/dist/schemas/chip.json +15 -6
- package/dist/schemas/clientOnly.json +19 -0
- package/dist/schemas/countdown.json +10 -7
- package/dist/schemas/counter.json +15 -9
- package/dist/schemas/dataList.json +10 -10
- package/dist/schemas/datePicker.json +56 -0
- package/dist/schemas/divider.json +8 -5
- package/dist/schemas/drawer.json +24 -2
- package/dist/schemas/drawerClose.json +24 -0
- package/dist/schemas/drawerContent.json +9 -6
- package/dist/schemas/drawerDescription.json +20 -0
- package/dist/schemas/drawerTitle.json +20 -0
- package/dist/schemas/drawerTrigger.json +24 -0
- package/dist/schemas/dropdownMenu.json +83 -0
- package/dist/schemas/ellipsis.json +17 -7
- package/dist/schemas/emptyState.json +44 -0
- package/dist/schemas/errorBoundary.json +22 -0
- package/dist/schemas/infiniteScroll.json +18 -9
- package/dist/schemas/marquee.json +12 -6
- package/dist/schemas/modalCall.json +81 -3
- package/dist/schemas/modalTemplate.json +67 -14
- package/dist/schemas/numberInput.json +42 -12
- package/dist/schemas/nxImage.json +56 -0
- package/dist/schemas/pagination.json +13 -6
- package/dist/schemas/popover.json +18 -9
- package/dist/schemas/priceInput.json +104 -0
- package/dist/schemas/progress.json +63 -0
- package/dist/schemas/radioGroup.json +19 -9
- package/dist/schemas/radioItem.json +12 -5
- package/dist/schemas/select.json +15 -9
- package/dist/schemas/selectItem.json +7 -4
- package/dist/schemas/skeleton.json +12 -6
- package/dist/schemas/slider.json +78 -0
- package/dist/schemas/spinner.json +11 -4
- package/dist/schemas/stepper.json +73 -0
- package/dist/schemas/switch.json +23 -5
- package/dist/schemas/tab.json +17 -14
- package/dist/schemas/table.json +75 -0
- package/dist/schemas/tableRow.json +32 -0
- package/dist/schemas/tagInput.json +70 -0
- package/dist/schemas/tdColumn.json +107 -0
- package/dist/schemas/textArea.json +72 -7
- package/dist/schemas/textInput.json +72 -10
- package/dist/schemas/themeProvider.json +65 -0
- package/dist/schemas/toastOptions.json +81 -0
- package/dist/schemas/toaster.json +76 -0
- package/dist/schemas/toggleGroup.json +88 -0
- package/dist/schemas/tooltip.json +12 -9
- package/dist/schemas/virtualGrid.json +22 -11
- package/dist/schemas/virtualList.json +14 -8
- package/dist/schemas.d.mts +1360 -81
- package/dist/schemas.d.ts +1360 -81
- package/dist/schemas.js +725 -273
- package/dist/schemas.mjs +698 -273
- package/dist/select.js +6 -6
- package/dist/select.mjs +2 -2
- package/dist/skeleton.js +3 -3
- package/dist/skeleton.mjs +2 -2
- package/dist/slider.d.mts +20 -0
- package/dist/slider.d.ts +20 -0
- package/dist/slider.js +16 -0
- package/dist/slider.mjs +3 -0
- package/dist/spinner.js +3 -3
- package/dist/spinner.mjs +2 -2
- package/dist/stepper.d.mts +20 -0
- package/dist/stepper.d.ts +20 -0
- package/dist/stepper.js +16 -0
- package/dist/stepper.mjs +3 -0
- package/dist/styles/layer.d.mts +3 -0
- package/dist/styles/layer.d.ts +3 -0
- package/dist/styles/layer.js +18 -0
- package/dist/styles/layer.mjs +16 -0
- package/dist/styles.css +3872 -2
- package/dist/styles.js +2 -5
- package/dist/styles.layered.css +3875 -0
- package/dist/styles.mjs +1 -4
- package/dist/switch.js +4 -4
- package/dist/switch.mjs +2 -2
- package/dist/tab.js +5 -5
- package/dist/tab.mjs +2 -2
- package/dist/table.d.mts +2 -2
- package/dist/table.d.ts +2 -2
- package/dist/table.js +9 -9
- package/dist/table.mjs +3 -3
- package/dist/tag-input.d.mts +21 -0
- package/dist/tag-input.d.ts +21 -0
- package/dist/tag-input.js +16 -0
- package/dist/tag-input.mjs +3 -0
- package/dist/text-area.d.mts +5 -1
- package/dist/text-area.d.ts +5 -1
- package/dist/text-area.js +4 -4
- package/dist/text-area.mjs +2 -2
- package/dist/text-input.d.mts +5 -1
- package/dist/text-input.d.ts +5 -1
- package/dist/text-input.js +4 -4
- package/dist/text-input.mjs +2 -2
- package/dist/toast.js +5 -5
- package/dist/toast.mjs +2 -2
- package/dist/toggle-group.d.mts +36 -0
- package/dist/toggle-group.d.ts +36 -0
- package/dist/toggle-group.js +16 -0
- package/dist/toggle-group.mjs +3 -0
- package/dist/tooltip.js +5 -5
- package/dist/tooltip.mjs +2 -2
- package/dist/utils/cn.d.mts +0 -10
- package/dist/utils/cn.d.ts +0 -10
- package/dist/utils/cn.js +2 -2
- package/dist/utils/cn.mjs +1 -1
- package/dist/virtual-scroll.js +4 -4
- package/dist/virtual-scroll.mjs +2 -2
- package/package.json +90 -17
- package/scripts/setup-cursor-rules.cjs +6 -6
- package/dist/chunks/chunk-7MT3QYE6.js +0 -92
- package/dist/chunks/chunk-FA2OPP3U.mjs +0 -140
- package/dist/chunks/chunk-FKZI2HTI.js +0 -104
- package/dist/chunks/chunk-NCQDOPBR.mjs +0 -86
- package/dist/chunks/chunk-NTN55ZIX.mjs +0 -113
- package/dist/chunks/chunk-Q7GQVAYY.js +0 -88
- package/dist/chunks/chunk-QJNQCLMV.js +0 -25
- package/dist/chunks/chunk-UDQXLI5Y.mjs +0 -81
- package/dist/chunks/chunk-UR6JOKVB.mjs +0 -65
- package/dist/chunks/chunk-WVIEIRK2.js +0 -136
- package/dist/chunks/chunk-XALPBGSC.mjs +0 -23
- package/dist/schemas/typography.json +0 -70
- package/dist/typography.d.mts +0 -19
- package/dist/typography.d.ts +0 -19
- package/dist/typography.js +0 -102
- package/dist/typography.mjs +0 -79
package/dist/schemas/_all.json
CHANGED
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
"properties": {
|
|
16
16
|
"id": {
|
|
17
17
|
"type": "string",
|
|
18
|
-
"description": "
|
|
18
|
+
"description": "Unique ID"
|
|
19
19
|
},
|
|
20
20
|
"trigger": {
|
|
21
|
-
"description": "
|
|
21
|
+
"description": "Trigger content (ReactNode)"
|
|
22
22
|
},
|
|
23
23
|
"content": {
|
|
24
|
-
"description": "
|
|
24
|
+
"description": "Expandable content (ReactNode)"
|
|
25
25
|
},
|
|
26
26
|
"disabled": {
|
|
27
27
|
"type": "boolean",
|
|
28
|
-
"description": "
|
|
28
|
+
"description": "Disabled"
|
|
29
29
|
},
|
|
30
30
|
"className": {
|
|
31
31
|
"type": "string"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
],
|
|
43
43
|
"additionalProperties": false
|
|
44
44
|
},
|
|
45
|
-
"description": "
|
|
45
|
+
"description": "Accordion item array (required)"
|
|
46
46
|
},
|
|
47
47
|
"type": {
|
|
48
48
|
"type": "string",
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
"multiple"
|
|
52
52
|
],
|
|
53
53
|
"default": "single",
|
|
54
|
-
"description": "
|
|
54
|
+
"description": "Single/multiple open mode"
|
|
55
55
|
},
|
|
56
56
|
"collapsible": {
|
|
57
57
|
"type": "boolean",
|
|
58
58
|
"default": true,
|
|
59
|
-
"description": "
|
|
59
|
+
"description": "Allow collapsing all"
|
|
60
60
|
},
|
|
61
61
|
"value": {
|
|
62
62
|
"anyOf": [
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
],
|
|
73
|
-
"description": "
|
|
73
|
+
"description": "Controlled mode"
|
|
74
74
|
},
|
|
75
75
|
"defaultValue": {
|
|
76
76
|
"anyOf": [
|
|
@@ -84,18 +84,70 @@
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
],
|
|
87
|
-
"description": "
|
|
87
|
+
"description": "Uncontrolled initial value"
|
|
88
|
+
},
|
|
89
|
+
"onValueChange": {
|
|
90
|
+
"description": "Open item change callback (value: string | string[]) => void"
|
|
88
91
|
},
|
|
89
92
|
"className": {
|
|
90
93
|
"type": "string",
|
|
91
|
-
"description": "Root
|
|
94
|
+
"description": "Root style"
|
|
92
95
|
}
|
|
93
96
|
},
|
|
94
97
|
"required": [
|
|
95
98
|
"items"
|
|
96
99
|
],
|
|
97
100
|
"additionalProperties": false,
|
|
98
|
-
"description": "
|
|
101
|
+
"description": "Accordion. Supports both items array and composable patterns."
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
105
|
+
},
|
|
106
|
+
"alert": {
|
|
107
|
+
"$ref": "#/definitions/alertPropsSchema",
|
|
108
|
+
"definitions": {
|
|
109
|
+
"alertPropsSchema": {
|
|
110
|
+
"type": "object",
|
|
111
|
+
"properties": {
|
|
112
|
+
"variant": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"enum": [
|
|
115
|
+
"info",
|
|
116
|
+
"success",
|
|
117
|
+
"warning",
|
|
118
|
+
"danger"
|
|
119
|
+
],
|
|
120
|
+
"default": "info",
|
|
121
|
+
"description": "Alert type / color"
|
|
122
|
+
},
|
|
123
|
+
"title": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"description": "Alert title (bold)"
|
|
126
|
+
},
|
|
127
|
+
"children": {
|
|
128
|
+
"description": "Alert description (ReactNode)"
|
|
129
|
+
},
|
|
130
|
+
"icon": {
|
|
131
|
+
"description": "Custom icon (ReactNode). Auto icon by variant if omitted"
|
|
132
|
+
},
|
|
133
|
+
"closable": {
|
|
134
|
+
"type": "boolean",
|
|
135
|
+
"default": false,
|
|
136
|
+
"description": "Show close button"
|
|
137
|
+
},
|
|
138
|
+
"onClose": {
|
|
139
|
+
"description": "Close callback () => void"
|
|
140
|
+
},
|
|
141
|
+
"action": {
|
|
142
|
+
"description": "Action area (ReactNode, e.g. Button)"
|
|
143
|
+
},
|
|
144
|
+
"className": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"description": "Style override"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"additionalProperties": false,
|
|
150
|
+
"description": "Alert / Banner. Inline notification with icon, title, description."
|
|
99
151
|
}
|
|
100
152
|
},
|
|
101
153
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -108,14 +160,14 @@
|
|
|
108
160
|
"properties": {
|
|
109
161
|
"src": {
|
|
110
162
|
"type": "string",
|
|
111
|
-
"description": "
|
|
163
|
+
"description": "Image URL"
|
|
112
164
|
},
|
|
113
165
|
"alt": {
|
|
114
166
|
"type": "string",
|
|
115
|
-
"description": "
|
|
167
|
+
"description": "Alt text"
|
|
116
168
|
},
|
|
117
169
|
"fallback": {
|
|
118
|
-
"description": "
|
|
170
|
+
"description": "Displayed on image load failure (ReactNode)"
|
|
119
171
|
},
|
|
120
172
|
"size": {
|
|
121
173
|
"type": "string",
|
|
@@ -127,7 +179,7 @@
|
|
|
127
179
|
"xl"
|
|
128
180
|
],
|
|
129
181
|
"default": "md",
|
|
130
|
-
"description": "
|
|
182
|
+
"description": "Size"
|
|
131
183
|
},
|
|
132
184
|
"shape": {
|
|
133
185
|
"type": "string",
|
|
@@ -136,15 +188,144 @@
|
|
|
136
188
|
"square"
|
|
137
189
|
],
|
|
138
190
|
"default": "circle",
|
|
139
|
-
"description": "
|
|
191
|
+
"description": "Shape"
|
|
192
|
+
},
|
|
193
|
+
"children": {
|
|
194
|
+
"description": "Custom image element (e.g. Next.js Image)"
|
|
195
|
+
},
|
|
196
|
+
"onImageError": {
|
|
197
|
+
"description": "Image load error callback () => void"
|
|
198
|
+
},
|
|
199
|
+
"className": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "Style override"
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
"additionalProperties": false,
|
|
205
|
+
"description": "Avatar. Supports image, fallback text, and children."
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
209
|
+
},
|
|
210
|
+
"badge": {
|
|
211
|
+
"$ref": "#/definitions/badgePropsSchema",
|
|
212
|
+
"definitions": {
|
|
213
|
+
"badgePropsSchema": {
|
|
214
|
+
"type": "object",
|
|
215
|
+
"properties": {
|
|
216
|
+
"count": {
|
|
217
|
+
"type": "number",
|
|
218
|
+
"description": "Badge count number"
|
|
219
|
+
},
|
|
220
|
+
"max": {
|
|
221
|
+
"type": "number",
|
|
222
|
+
"default": 99,
|
|
223
|
+
"description": "Max count (shows \"99+\" when exceeded)"
|
|
224
|
+
},
|
|
225
|
+
"dot": {
|
|
226
|
+
"type": "boolean",
|
|
227
|
+
"default": false,
|
|
228
|
+
"description": "Show as dot instead of count"
|
|
229
|
+
},
|
|
230
|
+
"showZero": {
|
|
231
|
+
"type": "boolean",
|
|
232
|
+
"default": false,
|
|
233
|
+
"description": "Show badge when count is 0"
|
|
234
|
+
},
|
|
235
|
+
"variant": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"enum": [
|
|
238
|
+
"danger",
|
|
239
|
+
"primary",
|
|
240
|
+
"secondary",
|
|
241
|
+
"info",
|
|
242
|
+
"success",
|
|
243
|
+
"warning"
|
|
244
|
+
],
|
|
245
|
+
"default": "danger",
|
|
246
|
+
"description": "Color variant"
|
|
247
|
+
},
|
|
248
|
+
"size": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"enum": [
|
|
251
|
+
"sm",
|
|
252
|
+
"md",
|
|
253
|
+
"lg"
|
|
254
|
+
],
|
|
255
|
+
"default": "md",
|
|
256
|
+
"description": "Size"
|
|
257
|
+
},
|
|
258
|
+
"offset": {
|
|
259
|
+
"type": "array",
|
|
260
|
+
"minItems": 2,
|
|
261
|
+
"maxItems": 2,
|
|
262
|
+
"items": [
|
|
263
|
+
{
|
|
264
|
+
"type": "number"
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"type": "number"
|
|
268
|
+
}
|
|
269
|
+
],
|
|
270
|
+
"description": "Position offset [x, y] in px"
|
|
271
|
+
},
|
|
272
|
+
"children": {
|
|
273
|
+
"description": "Anchor element to attach badge to (ReactNode)"
|
|
274
|
+
},
|
|
275
|
+
"className": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Style override"
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"additionalProperties": false,
|
|
281
|
+
"description": "Badge indicator. Dot or count display. Wraps children when provided."
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
285
|
+
},
|
|
286
|
+
"breadcrumb": {
|
|
287
|
+
"$ref": "#/definitions/breadcrumbPropsSchema",
|
|
288
|
+
"definitions": {
|
|
289
|
+
"breadcrumbPropsSchema": {
|
|
290
|
+
"type": "object",
|
|
291
|
+
"properties": {
|
|
292
|
+
"items": {
|
|
293
|
+
"type": "array",
|
|
294
|
+
"items": {
|
|
295
|
+
"type": "object",
|
|
296
|
+
"properties": {
|
|
297
|
+
"label": {
|
|
298
|
+
"description": "Display text or element (ReactNode)"
|
|
299
|
+
},
|
|
300
|
+
"href": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "Link URL"
|
|
303
|
+
},
|
|
304
|
+
"onClick": {
|
|
305
|
+
"description": "Click handler () => void"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"additionalProperties": false
|
|
309
|
+
},
|
|
310
|
+
"description": "Breadcrumb items array (required)"
|
|
311
|
+
},
|
|
312
|
+
"separator": {
|
|
313
|
+
"description": "Custom separator (ReactNode). Default: chevron"
|
|
314
|
+
},
|
|
315
|
+
"maxItems": {
|
|
316
|
+
"type": "number",
|
|
317
|
+
"description": "Max visible items (collapses middle with \"...\")"
|
|
140
318
|
},
|
|
141
319
|
"className": {
|
|
142
320
|
"type": "string",
|
|
143
|
-
"description": "
|
|
321
|
+
"description": "Style override"
|
|
144
322
|
}
|
|
145
323
|
},
|
|
324
|
+
"required": [
|
|
325
|
+
"items"
|
|
326
|
+
],
|
|
146
327
|
"additionalProperties": false,
|
|
147
|
-
"description": "
|
|
328
|
+
"description": "Breadcrumb navigation. Shows current location path."
|
|
148
329
|
}
|
|
149
330
|
},
|
|
150
331
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -164,7 +345,7 @@
|
|
|
164
345
|
"danger"
|
|
165
346
|
],
|
|
166
347
|
"default": "primary",
|
|
167
|
-
"description": "
|
|
348
|
+
"description": "Color theme (primary=main, secondary=sub, normal=neutral, danger=danger)"
|
|
168
349
|
},
|
|
169
350
|
"variant": {
|
|
170
351
|
"type": "string",
|
|
@@ -175,7 +356,7 @@
|
|
|
175
356
|
"ghost"
|
|
176
357
|
],
|
|
177
358
|
"default": "contained",
|
|
178
|
-
"description": "
|
|
359
|
+
"description": "Visual style (contained=filled, outlined=border, subtle=light bg, ghost=transparent)"
|
|
179
360
|
},
|
|
180
361
|
"size": {
|
|
181
362
|
"type": "string",
|
|
@@ -186,7 +367,7 @@
|
|
|
186
367
|
"sm"
|
|
187
368
|
],
|
|
188
369
|
"default": "md",
|
|
189
|
-
"description": "
|
|
370
|
+
"description": "Size"
|
|
190
371
|
},
|
|
191
372
|
"radius": {
|
|
192
373
|
"type": "string",
|
|
@@ -195,27 +376,45 @@
|
|
|
195
376
|
"circle"
|
|
196
377
|
],
|
|
197
378
|
"default": "default",
|
|
198
|
-
"description": "
|
|
379
|
+
"description": "Corner radius (default=size-based radius, circle=pill shape)"
|
|
199
380
|
},
|
|
200
381
|
"asChild": {
|
|
201
382
|
"type": "boolean",
|
|
202
|
-
"description": "true
|
|
383
|
+
"description": "If true, renders as child element (Slot pattern)"
|
|
203
384
|
},
|
|
204
385
|
"detectDoubleClick": {
|
|
205
386
|
"type": "boolean",
|
|
206
|
-
"description": "
|
|
387
|
+
"description": "Prevent double click within 500ms"
|
|
207
388
|
},
|
|
208
389
|
"disabled": {
|
|
209
390
|
"type": "boolean",
|
|
210
|
-
"description": "
|
|
391
|
+
"description": "Disabled (auto aria-disabled)"
|
|
392
|
+
},
|
|
393
|
+
"children": {
|
|
394
|
+
"description": "Button content (ReactNode)"
|
|
395
|
+
},
|
|
396
|
+
"onClick": {
|
|
397
|
+
"description": "Click event handler"
|
|
398
|
+
},
|
|
399
|
+
"type": {
|
|
400
|
+
"type": "string",
|
|
401
|
+
"enum": [
|
|
402
|
+
"button",
|
|
403
|
+
"submit",
|
|
404
|
+
"reset"
|
|
405
|
+
],
|
|
406
|
+
"description": "HTML button type (default: button)"
|
|
407
|
+
},
|
|
408
|
+
"style": {
|
|
409
|
+
"description": "Inline style (CSSProperties)"
|
|
211
410
|
},
|
|
212
411
|
"className": {
|
|
213
412
|
"type": "string",
|
|
214
|
-
"description": "
|
|
413
|
+
"description": "Style override"
|
|
215
414
|
}
|
|
216
415
|
},
|
|
217
416
|
"additionalProperties": false,
|
|
218
|
-
"description": "
|
|
417
|
+
"description": "Interactive button. semantic(color) x variant(style) 2-axis system. Rendering element changeable via asChild."
|
|
219
418
|
}
|
|
220
419
|
},
|
|
221
420
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -229,19 +428,82 @@
|
|
|
229
428
|
"opts": {
|
|
230
429
|
"type": "object",
|
|
231
430
|
"additionalProperties": {},
|
|
232
|
-
"description": "Embla
|
|
431
|
+
"description": "Embla options (loop, align, etc.)"
|
|
233
432
|
},
|
|
234
433
|
"plugins": {
|
|
235
434
|
"type": "array",
|
|
236
|
-
"description": "Embla
|
|
435
|
+
"description": "Embla plugins"
|
|
237
436
|
},
|
|
437
|
+
"onApiChange": {
|
|
438
|
+
"description": "Embla API change callback (api: CarouselApi) => void"
|
|
439
|
+
},
|
|
440
|
+
"children": {
|
|
441
|
+
"description": "Carousel slides and sub-components (ReactNode)"
|
|
442
|
+
},
|
|
443
|
+
"className": {
|
|
444
|
+
"type": "string",
|
|
445
|
+
"description": "Style override"
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"additionalProperties": false,
|
|
449
|
+
"description": "Carousel. Based on Embla Carousel. Sub-components: CarouselSlide, CarouselPrev, CarouselNext, CarouselDots."
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
453
|
+
},
|
|
454
|
+
"carouselSlide": {
|
|
455
|
+
"$ref": "#/definitions/carouselSlidePropsSchema",
|
|
456
|
+
"definitions": {
|
|
457
|
+
"carouselSlidePropsSchema": {
|
|
458
|
+
"type": "object",
|
|
459
|
+
"properties": {
|
|
460
|
+
"className": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"description": "Slide style (use basis-1/3 etc. for multi-slide view)"
|
|
463
|
+
},
|
|
464
|
+
"children": {
|
|
465
|
+
"description": "Slide content (ReactNode, required)"
|
|
466
|
+
}
|
|
467
|
+
},
|
|
468
|
+
"additionalProperties": false,
|
|
469
|
+
"description": "Carousel slide. Used inside Carousel."
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
473
|
+
},
|
|
474
|
+
"carouselButton": {
|
|
475
|
+
"$ref": "#/definitions/carouselButtonPropsSchema",
|
|
476
|
+
"definitions": {
|
|
477
|
+
"carouselButtonPropsSchema": {
|
|
478
|
+
"type": "object",
|
|
479
|
+
"properties": {
|
|
480
|
+
"className": {
|
|
481
|
+
"type": "string",
|
|
482
|
+
"description": "Button style override"
|
|
483
|
+
},
|
|
484
|
+
"children": {
|
|
485
|
+
"description": "Custom icon (ReactNode, default: chevron)"
|
|
486
|
+
}
|
|
487
|
+
},
|
|
488
|
+
"additionalProperties": false,
|
|
489
|
+
"description": "CarouselPrev / CarouselNext. Previous/next navigation buttons."
|
|
490
|
+
}
|
|
491
|
+
},
|
|
492
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
493
|
+
},
|
|
494
|
+
"carouselDots": {
|
|
495
|
+
"$ref": "#/definitions/carouselDotsPropsSchema",
|
|
496
|
+
"definitions": {
|
|
497
|
+
"carouselDotsPropsSchema": {
|
|
498
|
+
"type": "object",
|
|
499
|
+
"properties": {
|
|
238
500
|
"className": {
|
|
239
501
|
"type": "string",
|
|
240
|
-
"description": "
|
|
502
|
+
"description": "Dot container style"
|
|
241
503
|
}
|
|
242
504
|
},
|
|
243
505
|
"additionalProperties": false,
|
|
244
|
-
"description": "
|
|
506
|
+
"description": "CarouselDots. Slide indicator dots."
|
|
245
507
|
}
|
|
246
508
|
},
|
|
247
509
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -259,7 +521,7 @@
|
|
|
259
521
|
"md"
|
|
260
522
|
],
|
|
261
523
|
"default": "md",
|
|
262
|
-
"description": "
|
|
524
|
+
"description": "Size"
|
|
263
525
|
},
|
|
264
526
|
"shape": {
|
|
265
527
|
"type": "string",
|
|
@@ -268,30 +530,55 @@
|
|
|
268
530
|
"round"
|
|
269
531
|
],
|
|
270
532
|
"default": "square",
|
|
271
|
-
"description": "
|
|
533
|
+
"description": "Shape"
|
|
272
534
|
},
|
|
273
535
|
"checked": {
|
|
274
536
|
"type": "boolean",
|
|
275
|
-
"description": "
|
|
537
|
+
"description": "Checked state"
|
|
276
538
|
},
|
|
277
539
|
"indeterminate": {
|
|
278
540
|
"type": "boolean",
|
|
279
|
-
"description": "
|
|
541
|
+
"description": "Indeterminate state (aria-checked=\"mixed\")"
|
|
280
542
|
},
|
|
281
543
|
"disabled": {
|
|
282
544
|
"type": "boolean",
|
|
283
|
-
"description": "
|
|
545
|
+
"description": "Disabled"
|
|
546
|
+
},
|
|
547
|
+
"readOnly": {
|
|
548
|
+
"type": "boolean",
|
|
549
|
+
"description": "Read-only"
|
|
284
550
|
},
|
|
285
551
|
"label": {
|
|
286
|
-
"description": "
|
|
552
|
+
"description": "Label text (ReactNode)"
|
|
553
|
+
},
|
|
554
|
+
"children": {
|
|
555
|
+
"description": "Label alternative content (ReactNode)"
|
|
556
|
+
},
|
|
557
|
+
"name": {
|
|
558
|
+
"type": "string",
|
|
559
|
+
"description": "Form field name"
|
|
560
|
+
},
|
|
561
|
+
"id": {
|
|
562
|
+
"type": "string",
|
|
563
|
+
"description": "Element ID"
|
|
564
|
+
},
|
|
565
|
+
"value": {
|
|
566
|
+
"type": "string",
|
|
567
|
+
"description": "Value for form submission"
|
|
568
|
+
},
|
|
569
|
+
"onCheckedChange": {
|
|
570
|
+
"description": "Checked state change callback (checked: boolean) => void"
|
|
571
|
+
},
|
|
572
|
+
"onChange": {
|
|
573
|
+
"description": "Native change event handler"
|
|
287
574
|
},
|
|
288
575
|
"className": {
|
|
289
576
|
"type": "string",
|
|
290
|
-
"description": "
|
|
577
|
+
"description": "Style override"
|
|
291
578
|
}
|
|
292
579
|
},
|
|
293
580
|
"additionalProperties": false,
|
|
294
|
-
"description": "
|
|
581
|
+
"description": "Checkbox. Native input-based, supports square/round shapes."
|
|
295
582
|
}
|
|
296
583
|
},
|
|
297
584
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -311,7 +598,7 @@
|
|
|
311
598
|
"accent"
|
|
312
599
|
],
|
|
313
600
|
"default": "default",
|
|
314
|
-
"description": "
|
|
601
|
+
"description": "Style"
|
|
315
602
|
},
|
|
316
603
|
"size": {
|
|
317
604
|
"type": "string",
|
|
@@ -321,23 +608,51 @@
|
|
|
321
608
|
"lg"
|
|
322
609
|
],
|
|
323
610
|
"default": "md",
|
|
324
|
-
"description": "
|
|
611
|
+
"description": "Size"
|
|
325
612
|
},
|
|
326
613
|
"asChild": {
|
|
327
614
|
"type": "boolean",
|
|
328
|
-
"description": "true
|
|
615
|
+
"description": "If true, renders as child element (Slot pattern)"
|
|
329
616
|
},
|
|
330
617
|
"disabled": {
|
|
331
618
|
"type": "boolean",
|
|
332
|
-
"description": "
|
|
619
|
+
"description": "Disabled (auto aria-disabled)"
|
|
620
|
+
},
|
|
621
|
+
"children": {
|
|
622
|
+
"description": "Chip content (ReactNode)"
|
|
623
|
+
},
|
|
624
|
+
"onClose": {
|
|
625
|
+
"description": "Close button click callback (e: MouseEvent) => void. Shows X button when provided"
|
|
626
|
+
},
|
|
627
|
+
"onClick": {
|
|
628
|
+
"description": "Click event handler"
|
|
333
629
|
},
|
|
334
630
|
"className": {
|
|
335
631
|
"type": "string",
|
|
336
|
-
"description": "
|
|
632
|
+
"description": "Style override"
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
"additionalProperties": false,
|
|
636
|
+
"description": "Chip/tag/badge. Close button displayed via onClose prop."
|
|
637
|
+
}
|
|
638
|
+
},
|
|
639
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
640
|
+
},
|
|
641
|
+
"clientOnly": {
|
|
642
|
+
"$ref": "#/definitions/clientOnlyPropsSchema",
|
|
643
|
+
"definitions": {
|
|
644
|
+
"clientOnlyPropsSchema": {
|
|
645
|
+
"type": "object",
|
|
646
|
+
"properties": {
|
|
647
|
+
"children": {
|
|
648
|
+
"description": "Element to render only on client (ReactNode, required)"
|
|
649
|
+
},
|
|
650
|
+
"fallback": {
|
|
651
|
+
"description": "Fallback UI during SSR (ReactNode, default: null)"
|
|
337
652
|
}
|
|
338
653
|
},
|
|
339
654
|
"additionalProperties": false,
|
|
340
|
-
"description": "
|
|
655
|
+
"description": "Client-only rendering. Prevents hydration mismatch in SSR environments."
|
|
341
656
|
}
|
|
342
657
|
},
|
|
343
658
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -350,16 +665,16 @@
|
|
|
350
665
|
"properties": {
|
|
351
666
|
"endTimestamp": {
|
|
352
667
|
"type": "number",
|
|
353
|
-
"description": "
|
|
668
|
+
"description": "End time (Unix ms, required)"
|
|
354
669
|
},
|
|
355
670
|
"separator": {
|
|
356
671
|
"default": ":",
|
|
357
|
-
"description": "
|
|
672
|
+
"description": "Separator (ReactNode)"
|
|
358
673
|
},
|
|
359
674
|
"showDays": {
|
|
360
675
|
"type": "boolean",
|
|
361
676
|
"default": true,
|
|
362
|
-
"description": "
|
|
677
|
+
"description": "Show days unit"
|
|
363
678
|
},
|
|
364
679
|
"labels": {
|
|
365
680
|
"type": "object",
|
|
@@ -378,21 +693,24 @@
|
|
|
378
693
|
}
|
|
379
694
|
},
|
|
380
695
|
"additionalProperties": false,
|
|
381
|
-
"description": "
|
|
696
|
+
"description": "Unit labels"
|
|
382
697
|
},
|
|
383
698
|
"render": {
|
|
384
|
-
"description": "
|
|
699
|
+
"description": "Custom render function"
|
|
700
|
+
},
|
|
701
|
+
"onEnd": {
|
|
702
|
+
"description": "Countdown end callback () => void"
|
|
385
703
|
},
|
|
386
704
|
"className": {
|
|
387
705
|
"type": "string",
|
|
388
|
-
"description": "
|
|
706
|
+
"description": "Style override"
|
|
389
707
|
}
|
|
390
708
|
},
|
|
391
709
|
"required": [
|
|
392
710
|
"endTimestamp"
|
|
393
711
|
],
|
|
394
712
|
"additionalProperties": false,
|
|
395
|
-
"description": "
|
|
713
|
+
"description": "Countdown timer."
|
|
396
714
|
}
|
|
397
715
|
},
|
|
398
716
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -405,48 +723,54 @@
|
|
|
405
723
|
"properties": {
|
|
406
724
|
"endValue": {
|
|
407
725
|
"type": "number",
|
|
408
|
-
"description": "
|
|
726
|
+
"description": "Target value (required)"
|
|
409
727
|
},
|
|
410
728
|
"startValue": {
|
|
411
729
|
"type": "number",
|
|
412
730
|
"default": 0,
|
|
413
|
-
"description": "
|
|
731
|
+
"description": "Start value"
|
|
414
732
|
},
|
|
415
733
|
"duration": {
|
|
416
734
|
"type": "number",
|
|
417
735
|
"default": 1500,
|
|
418
|
-
"description": "
|
|
736
|
+
"description": "Animation duration (ms)"
|
|
419
737
|
},
|
|
420
738
|
"delay": {
|
|
421
739
|
"type": "number",
|
|
422
740
|
"default": 0,
|
|
423
|
-
"description": "
|
|
741
|
+
"description": "Start delay (ms)"
|
|
424
742
|
},
|
|
425
743
|
"separator": {
|
|
426
744
|
"type": "boolean",
|
|
427
745
|
"default": true,
|
|
428
|
-
"description": "
|
|
746
|
+
"description": "Thousands separator"
|
|
429
747
|
},
|
|
430
748
|
"digits": {
|
|
431
749
|
"type": "number",
|
|
432
750
|
"default": 0,
|
|
433
|
-
"description": "
|
|
751
|
+
"description": "Decimal places"
|
|
434
752
|
},
|
|
435
753
|
"triggerOnView": {
|
|
436
754
|
"type": "boolean",
|
|
437
755
|
"default": false,
|
|
438
|
-
"description": "
|
|
756
|
+
"description": "Start on viewport entry"
|
|
757
|
+
},
|
|
758
|
+
"onEnd": {
|
|
759
|
+
"description": "Count complete callback () => void"
|
|
760
|
+
},
|
|
761
|
+
"style": {
|
|
762
|
+
"description": "Inline style (CSSProperties)"
|
|
439
763
|
},
|
|
440
764
|
"className": {
|
|
441
765
|
"type": "string",
|
|
442
|
-
"description": "
|
|
766
|
+
"description": "Style override"
|
|
443
767
|
}
|
|
444
768
|
},
|
|
445
769
|
"required": [
|
|
446
770
|
"endValue"
|
|
447
771
|
],
|
|
448
772
|
"additionalProperties": false,
|
|
449
|
-
"description": "
|
|
773
|
+
"description": "Number count animation."
|
|
450
774
|
}
|
|
451
775
|
},
|
|
452
776
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -466,43 +790,99 @@
|
|
|
466
790
|
"type": "null"
|
|
467
791
|
}
|
|
468
792
|
],
|
|
469
|
-
"description": "
|
|
793
|
+
"description": "Data array to render. null = loading state (required)"
|
|
470
794
|
},
|
|
471
795
|
"noDataMessage": {
|
|
472
|
-
"description": "
|
|
796
|
+
"description": "Message for empty array (string | ReactElement)"
|
|
473
797
|
},
|
|
474
798
|
"errorFallback": {
|
|
475
|
-
"description": "
|
|
799
|
+
"description": "Fallback on error (ReactNode)"
|
|
476
800
|
},
|
|
477
801
|
"loadingElement": {
|
|
478
|
-
"description": "
|
|
802
|
+
"description": "Custom loading element (default: Spinner)"
|
|
479
803
|
},
|
|
480
804
|
"skeletonElement": {
|
|
481
|
-
"description": "
|
|
805
|
+
"description": "Skeleton element during loading (ReactElement)"
|
|
482
806
|
},
|
|
483
807
|
"skeletonCount": {
|
|
484
808
|
"type": "number",
|
|
485
809
|
"default": 3,
|
|
486
|
-
"description": "
|
|
810
|
+
"description": "Skeleton repeat count"
|
|
487
811
|
},
|
|
488
812
|
"loading": {
|
|
489
813
|
"type": "boolean",
|
|
490
814
|
"default": false,
|
|
491
|
-
"description": "
|
|
815
|
+
"description": "Force loading state"
|
|
492
816
|
},
|
|
493
817
|
"children": {
|
|
494
|
-
"description": "
|
|
818
|
+
"description": "Item render function: ({ item, index }) => ReactNode (required)"
|
|
495
819
|
},
|
|
496
820
|
"className": {
|
|
497
821
|
"type": "string",
|
|
498
|
-
"description": "
|
|
822
|
+
"description": "Root element style"
|
|
499
823
|
}
|
|
500
824
|
},
|
|
501
825
|
"required": [
|
|
502
826
|
"list"
|
|
503
827
|
],
|
|
504
828
|
"additionalProperties": false,
|
|
505
|
-
"description": "
|
|
829
|
+
"description": "Data list. Automatically handles loading/skeleton/empty/data states based on list. Built-in ErrorBoundary."
|
|
830
|
+
}
|
|
831
|
+
},
|
|
832
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
833
|
+
},
|
|
834
|
+
"datePicker": {
|
|
835
|
+
"$ref": "#/definitions/datePickerPropsSchema",
|
|
836
|
+
"definitions": {
|
|
837
|
+
"datePickerPropsSchema": {
|
|
838
|
+
"type": "object",
|
|
839
|
+
"properties": {
|
|
840
|
+
"value": {
|
|
841
|
+
"description": "Controlled date value (Date)"
|
|
842
|
+
},
|
|
843
|
+
"defaultValue": {
|
|
844
|
+
"description": "Default date (Date)"
|
|
845
|
+
},
|
|
846
|
+
"onChange": {
|
|
847
|
+
"description": "Date change callback (date: Date | undefined) => void"
|
|
848
|
+
},
|
|
849
|
+
"placeholder": {
|
|
850
|
+
"type": "string",
|
|
851
|
+
"default": "날짜 선택",
|
|
852
|
+
"description": "Placeholder text"
|
|
853
|
+
},
|
|
854
|
+
"disabled": {
|
|
855
|
+
"type": "boolean",
|
|
856
|
+
"default": false,
|
|
857
|
+
"description": "Disabled"
|
|
858
|
+
},
|
|
859
|
+
"minDate": {
|
|
860
|
+
"description": "Minimum selectable date (Date)"
|
|
861
|
+
},
|
|
862
|
+
"maxDate": {
|
|
863
|
+
"description": "Maximum selectable date (Date)"
|
|
864
|
+
},
|
|
865
|
+
"locale": {
|
|
866
|
+
"type": "string",
|
|
867
|
+
"enum": [
|
|
868
|
+
"ko",
|
|
869
|
+
"en"
|
|
870
|
+
],
|
|
871
|
+
"default": "ko",
|
|
872
|
+
"description": "Calendar locale"
|
|
873
|
+
},
|
|
874
|
+
"formatStr": {
|
|
875
|
+
"type": "string",
|
|
876
|
+
"default": "yyyy-MM-dd",
|
|
877
|
+
"description": "Date format string (date-fns format)"
|
|
878
|
+
},
|
|
879
|
+
"className": {
|
|
880
|
+
"type": "string",
|
|
881
|
+
"description": "Style override"
|
|
882
|
+
}
|
|
883
|
+
},
|
|
884
|
+
"additionalProperties": false,
|
|
885
|
+
"description": "DatePicker. Calendar popup for date selection. Based on react-day-picker."
|
|
506
886
|
}
|
|
507
887
|
},
|
|
508
888
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -520,7 +900,7 @@
|
|
|
520
900
|
"vertical"
|
|
521
901
|
],
|
|
522
902
|
"default": "horizontal",
|
|
523
|
-
"description": "
|
|
903
|
+
"description": "Direction"
|
|
524
904
|
},
|
|
525
905
|
"variant": {
|
|
526
906
|
"type": "string",
|
|
@@ -530,19 +910,22 @@
|
|
|
530
910
|
"dotted"
|
|
531
911
|
],
|
|
532
912
|
"default": "solid",
|
|
533
|
-
"description": "
|
|
913
|
+
"description": "Line style"
|
|
534
914
|
},
|
|
535
915
|
"color": {
|
|
536
916
|
"type": "string",
|
|
537
|
-
"description": "
|
|
917
|
+
"description": "Custom color (CSS value)"
|
|
918
|
+
},
|
|
919
|
+
"style": {
|
|
920
|
+
"description": "Inline style (CSSProperties)"
|
|
538
921
|
},
|
|
539
922
|
"className": {
|
|
540
923
|
"type": "string",
|
|
541
|
-
"description": "
|
|
924
|
+
"description": "Style override"
|
|
542
925
|
}
|
|
543
926
|
},
|
|
544
927
|
"additionalProperties": false,
|
|
545
|
-
"description": "
|
|
928
|
+
"description": "Divider. Supports horizontal/vertical, solid/dashed/dotted."
|
|
546
929
|
}
|
|
547
930
|
},
|
|
548
931
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -562,11 +945,33 @@
|
|
|
562
945
|
"right"
|
|
563
946
|
],
|
|
564
947
|
"default": "bottom",
|
|
565
|
-
"description": "
|
|
948
|
+
"description": "Direction"
|
|
949
|
+
},
|
|
950
|
+
"open": {
|
|
951
|
+
"type": "boolean",
|
|
952
|
+
"description": "Open state (controlled mode)"
|
|
953
|
+
},
|
|
954
|
+
"onOpenChange": {
|
|
955
|
+
"description": "Open state change callback (open: boolean) => void"
|
|
956
|
+
},
|
|
957
|
+
"dismissible": {
|
|
958
|
+
"type": "boolean",
|
|
959
|
+
"description": "Allow close via swipe/outside click (default true)"
|
|
960
|
+
},
|
|
961
|
+
"modal": {
|
|
962
|
+
"type": "boolean",
|
|
963
|
+
"description": "Modal mode (default true). If false, background is interactive"
|
|
964
|
+
},
|
|
965
|
+
"shouldScaleBackground": {
|
|
966
|
+
"type": "boolean",
|
|
967
|
+
"description": "Background scale effect (default false)"
|
|
968
|
+
},
|
|
969
|
+
"children": {
|
|
970
|
+
"description": "Drawer sub-components (ReactNode, required)"
|
|
566
971
|
}
|
|
567
972
|
},
|
|
568
973
|
"additionalProperties": false,
|
|
569
|
-
"description": "
|
|
974
|
+
"description": "Drawer/bottom sheet. Based on Vaul. Compound component pattern."
|
|
570
975
|
}
|
|
571
976
|
},
|
|
572
977
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -586,7 +991,7 @@
|
|
|
586
991
|
"right"
|
|
587
992
|
],
|
|
588
993
|
"default": "bottom",
|
|
589
|
-
"description": "
|
|
994
|
+
"description": "Direction (Context takes priority)"
|
|
590
995
|
},
|
|
591
996
|
"blur": {
|
|
592
997
|
"type": "string",
|
|
@@ -596,63 +1001,313 @@
|
|
|
596
1001
|
"md"
|
|
597
1002
|
],
|
|
598
1003
|
"default": "none",
|
|
599
|
-
"description": "
|
|
1004
|
+
"description": "Overlay blur"
|
|
600
1005
|
},
|
|
601
1006
|
"showHandle": {
|
|
602
1007
|
"type": "boolean",
|
|
603
1008
|
"default": true,
|
|
604
|
-
"description": "
|
|
1009
|
+
"description": "Show handle bar"
|
|
1010
|
+
},
|
|
1011
|
+
"children": {
|
|
1012
|
+
"description": "Content area (ReactNode)"
|
|
605
1013
|
},
|
|
606
1014
|
"overlayClassName": {
|
|
607
1015
|
"type": "string",
|
|
608
|
-
"description": "
|
|
1016
|
+
"description": "Overlay style"
|
|
609
1017
|
},
|
|
610
1018
|
"className": {
|
|
611
1019
|
"type": "string",
|
|
612
|
-
"description": "
|
|
1020
|
+
"description": "Panel style"
|
|
613
1021
|
}
|
|
614
1022
|
},
|
|
615
1023
|
"additionalProperties": false,
|
|
616
|
-
"description": "Drawer.Content
|
|
1024
|
+
"description": "Drawer.Content area."
|
|
617
1025
|
}
|
|
618
1026
|
},
|
|
619
1027
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
620
1028
|
},
|
|
621
|
-
"
|
|
622
|
-
"$ref": "#/definitions/
|
|
1029
|
+
"drawerTrigger": {
|
|
1030
|
+
"$ref": "#/definitions/drawerTriggerPropsSchema",
|
|
623
1031
|
"definitions": {
|
|
624
|
-
"
|
|
1032
|
+
"drawerTriggerPropsSchema": {
|
|
625
1033
|
"type": "object",
|
|
626
1034
|
"properties": {
|
|
627
|
-
"
|
|
1035
|
+
"asChild": {
|
|
1036
|
+
"type": "boolean",
|
|
1037
|
+
"description": "Render as child element"
|
|
1038
|
+
},
|
|
1039
|
+
"children": {
|
|
1040
|
+
"description": "Trigger element (ReactNode, required)"
|
|
1041
|
+
},
|
|
1042
|
+
"className": {
|
|
1043
|
+
"type": "string",
|
|
1044
|
+
"description": "Style override"
|
|
1045
|
+
}
|
|
1046
|
+
},
|
|
1047
|
+
"additionalProperties": false,
|
|
1048
|
+
"description": "Drawer open trigger."
|
|
1049
|
+
}
|
|
1050
|
+
},
|
|
1051
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1052
|
+
},
|
|
1053
|
+
"drawerClose": {
|
|
1054
|
+
"$ref": "#/definitions/drawerClosePropsSchema",
|
|
1055
|
+
"definitions": {
|
|
1056
|
+
"drawerClosePropsSchema": {
|
|
1057
|
+
"type": "object",
|
|
1058
|
+
"properties": {
|
|
1059
|
+
"asChild": {
|
|
1060
|
+
"type": "boolean",
|
|
1061
|
+
"description": "Render as child element"
|
|
1062
|
+
},
|
|
1063
|
+
"children": {
|
|
1064
|
+
"description": "Close element (ReactNode, required)"
|
|
1065
|
+
},
|
|
1066
|
+
"className": {
|
|
1067
|
+
"type": "string",
|
|
1068
|
+
"description": "Style override"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
"additionalProperties": false,
|
|
1072
|
+
"description": "Drawer close button."
|
|
1073
|
+
}
|
|
1074
|
+
},
|
|
1075
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1076
|
+
},
|
|
1077
|
+
"drawerTitle": {
|
|
1078
|
+
"$ref": "#/definitions/drawerTitlePropsSchema",
|
|
1079
|
+
"definitions": {
|
|
1080
|
+
"drawerTitlePropsSchema": {
|
|
1081
|
+
"type": "object",
|
|
1082
|
+
"properties": {
|
|
1083
|
+
"children": {
|
|
1084
|
+
"description": "Title text (ReactNode, required)"
|
|
1085
|
+
},
|
|
1086
|
+
"className": {
|
|
1087
|
+
"type": "string",
|
|
1088
|
+
"description": "Style override"
|
|
1089
|
+
}
|
|
1090
|
+
},
|
|
1091
|
+
"additionalProperties": false,
|
|
1092
|
+
"description": "Drawer title (required for accessibility)."
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
1095
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1096
|
+
},
|
|
1097
|
+
"drawerDescription": {
|
|
1098
|
+
"$ref": "#/definitions/drawerDescriptionPropsSchema",
|
|
1099
|
+
"definitions": {
|
|
1100
|
+
"drawerDescriptionPropsSchema": {
|
|
1101
|
+
"type": "object",
|
|
1102
|
+
"properties": {
|
|
1103
|
+
"children": {
|
|
1104
|
+
"description": "Description text (ReactNode, required)"
|
|
1105
|
+
},
|
|
1106
|
+
"className": {
|
|
1107
|
+
"type": "string",
|
|
1108
|
+
"description": "Style override"
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
"additionalProperties": false,
|
|
1112
|
+
"description": "Drawer description."
|
|
1113
|
+
}
|
|
1114
|
+
},
|
|
1115
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1116
|
+
},
|
|
1117
|
+
"dropdownMenu": {
|
|
1118
|
+
"$ref": "#/definitions/dropdownMenuPropsSchema",
|
|
1119
|
+
"definitions": {
|
|
1120
|
+
"dropdownMenuPropsSchema": {
|
|
1121
|
+
"type": "object",
|
|
1122
|
+
"properties": {
|
|
1123
|
+
"children": {
|
|
1124
|
+
"description": "Trigger element (ReactNode, required)"
|
|
1125
|
+
},
|
|
1126
|
+
"items": {
|
|
1127
|
+
"type": "array",
|
|
1128
|
+
"items": {
|
|
1129
|
+
"type": "object",
|
|
1130
|
+
"properties": {
|
|
1131
|
+
"label": {
|
|
1132
|
+
"description": "Menu item text (ReactNode)"
|
|
1133
|
+
},
|
|
1134
|
+
"value": {
|
|
1135
|
+
"type": "string",
|
|
1136
|
+
"description": "Item identifier"
|
|
1137
|
+
},
|
|
1138
|
+
"icon": {
|
|
1139
|
+
"description": "Left icon (ReactNode)"
|
|
1140
|
+
},
|
|
1141
|
+
"onClick": {
|
|
1142
|
+
"description": "Click handler () => void"
|
|
1143
|
+
},
|
|
1144
|
+
"disabled": {
|
|
1145
|
+
"type": "boolean",
|
|
1146
|
+
"description": "Disabled"
|
|
1147
|
+
},
|
|
1148
|
+
"danger": {
|
|
1149
|
+
"type": "boolean",
|
|
1150
|
+
"description": "Danger/destructive style"
|
|
1151
|
+
},
|
|
1152
|
+
"separator": {
|
|
1153
|
+
"type": "boolean",
|
|
1154
|
+
"description": "If true, renders as separator line"
|
|
1155
|
+
}
|
|
1156
|
+
},
|
|
1157
|
+
"additionalProperties": false
|
|
1158
|
+
},
|
|
1159
|
+
"description": "Menu items array (required)"
|
|
1160
|
+
},
|
|
1161
|
+
"align": {
|
|
1162
|
+
"type": "string",
|
|
1163
|
+
"enum": [
|
|
1164
|
+
"start",
|
|
1165
|
+
"center",
|
|
1166
|
+
"end"
|
|
1167
|
+
],
|
|
1168
|
+
"default": "start",
|
|
1169
|
+
"description": "Alignment"
|
|
1170
|
+
},
|
|
1171
|
+
"side": {
|
|
1172
|
+
"type": "string",
|
|
1173
|
+
"enum": [
|
|
1174
|
+
"top",
|
|
1175
|
+
"right",
|
|
1176
|
+
"bottom",
|
|
1177
|
+
"left"
|
|
1178
|
+
],
|
|
1179
|
+
"default": "bottom",
|
|
1180
|
+
"description": "Position"
|
|
1181
|
+
},
|
|
1182
|
+
"className": {
|
|
1183
|
+
"type": "string",
|
|
1184
|
+
"description": "Trigger wrapper style"
|
|
1185
|
+
},
|
|
1186
|
+
"contentClassName": {
|
|
1187
|
+
"type": "string",
|
|
1188
|
+
"description": "Content panel style"
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"required": [
|
|
1192
|
+
"items"
|
|
1193
|
+
],
|
|
1194
|
+
"additionalProperties": false,
|
|
1195
|
+
"description": "Dropdown menu. Based on Radix DropdownMenu. Action menu for context/more menus."
|
|
1196
|
+
}
|
|
1197
|
+
},
|
|
1198
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1199
|
+
},
|
|
1200
|
+
"ellipsis": {
|
|
1201
|
+
"$ref": "#/definitions/ellipsisPropsSchema",
|
|
1202
|
+
"definitions": {
|
|
1203
|
+
"ellipsisPropsSchema": {
|
|
1204
|
+
"type": "object",
|
|
1205
|
+
"properties": {
|
|
1206
|
+
"content": {
|
|
628
1207
|
"default": "",
|
|
629
|
-
"description": "
|
|
1208
|
+
"description": "Body text (ReactNode)"
|
|
630
1209
|
},
|
|
631
1210
|
"lineClamp": {
|
|
632
1211
|
"type": "number",
|
|
633
1212
|
"default": 2,
|
|
634
|
-
"description": "
|
|
1213
|
+
"description": "Line clamp limit"
|
|
635
1214
|
},
|
|
636
1215
|
"triggerMore": {
|
|
637
1216
|
"default": "more",
|
|
638
|
-
"description": "
|
|
1217
|
+
"description": "Show more text (ReactNode)"
|
|
639
1218
|
},
|
|
640
1219
|
"triggerLess": {
|
|
641
1220
|
"default": "less",
|
|
642
|
-
"description": "
|
|
1221
|
+
"description": "Show less text (ReactNode)"
|
|
643
1222
|
},
|
|
644
1223
|
"defaultShortened": {
|
|
645
1224
|
"type": "boolean",
|
|
646
1225
|
"default": true,
|
|
647
|
-
"description": "
|
|
1226
|
+
"description": "Initial collapsed state"
|
|
1227
|
+
},
|
|
1228
|
+
"observingEnvs": {
|
|
1229
|
+
"type": "array",
|
|
1230
|
+
"items": {
|
|
1231
|
+
"type": "boolean"
|
|
1232
|
+
},
|
|
1233
|
+
"description": "Re-measure on external condition change"
|
|
1234
|
+
},
|
|
1235
|
+
"onShowMoreLessClick": {
|
|
1236
|
+
"description": "Show more/less click callback () => void"
|
|
1237
|
+
},
|
|
1238
|
+
"className": {
|
|
1239
|
+
"type": "string",
|
|
1240
|
+
"description": "Style override"
|
|
1241
|
+
}
|
|
1242
|
+
},
|
|
1243
|
+
"additionalProperties": false,
|
|
1244
|
+
"description": "Text ellipsis. Built-in show more/less toggle."
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1248
|
+
},
|
|
1249
|
+
"emptyState": {
|
|
1250
|
+
"$ref": "#/definitions/emptyStatePropsSchema",
|
|
1251
|
+
"definitions": {
|
|
1252
|
+
"emptyStatePropsSchema": {
|
|
1253
|
+
"type": "object",
|
|
1254
|
+
"properties": {
|
|
1255
|
+
"icon": {
|
|
1256
|
+
"description": "Custom icon (ReactNode). Default inbox icon"
|
|
1257
|
+
},
|
|
1258
|
+
"title": {
|
|
1259
|
+
"type": "string",
|
|
1260
|
+
"description": "Title text"
|
|
1261
|
+
},
|
|
1262
|
+
"description": {
|
|
1263
|
+
"type": "string",
|
|
1264
|
+
"description": "Description text"
|
|
1265
|
+
},
|
|
1266
|
+
"action": {
|
|
1267
|
+
"description": "Action area (ReactNode, e.g. Button)"
|
|
1268
|
+
},
|
|
1269
|
+
"size": {
|
|
1270
|
+
"type": "string",
|
|
1271
|
+
"enum": [
|
|
1272
|
+
"sm",
|
|
1273
|
+
"md",
|
|
1274
|
+
"lg"
|
|
1275
|
+
],
|
|
1276
|
+
"default": "md",
|
|
1277
|
+
"description": "Overall size"
|
|
1278
|
+
},
|
|
1279
|
+
"children": {
|
|
1280
|
+
"description": "Additional content (ReactNode)"
|
|
648
1281
|
},
|
|
649
1282
|
"className": {
|
|
650
1283
|
"type": "string",
|
|
651
|
-
"description": "
|
|
1284
|
+
"description": "Style override"
|
|
652
1285
|
}
|
|
653
1286
|
},
|
|
654
1287
|
"additionalProperties": false,
|
|
655
|
-
"description": "
|
|
1288
|
+
"description": "Empty state placeholder. Shown when data is empty or unavailable."
|
|
1289
|
+
}
|
|
1290
|
+
},
|
|
1291
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1292
|
+
},
|
|
1293
|
+
"errorBoundary": {
|
|
1294
|
+
"$ref": "#/definitions/errorBoundaryPropsSchema",
|
|
1295
|
+
"definitions": {
|
|
1296
|
+
"errorBoundaryPropsSchema": {
|
|
1297
|
+
"type": "object",
|
|
1298
|
+
"properties": {
|
|
1299
|
+
"children": {
|
|
1300
|
+
"description": "Child elements to wrap (ReactNode, required)"
|
|
1301
|
+
},
|
|
1302
|
+
"fallback": {
|
|
1303
|
+
"description": "Fallback UI on error (ReactNode)"
|
|
1304
|
+
},
|
|
1305
|
+
"onError": {
|
|
1306
|
+
"description": "Error callback (error: Error, errorInfo: ErrorInfo) => void"
|
|
1307
|
+
}
|
|
1308
|
+
},
|
|
1309
|
+
"additionalProperties": false,
|
|
1310
|
+
"description": "Error boundary. Catches child component render errors and displays fallback UI."
|
|
656
1311
|
}
|
|
657
1312
|
},
|
|
658
1313
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -672,43 +1327,52 @@
|
|
|
672
1327
|
"type": "null"
|
|
673
1328
|
}
|
|
674
1329
|
],
|
|
675
|
-
"description": "
|
|
1330
|
+
"description": "Current data array (required)"
|
|
676
1331
|
},
|
|
677
1332
|
"totalCount": {
|
|
678
1333
|
"type": "number",
|
|
679
|
-
"description": "
|
|
1334
|
+
"description": "Total count (mutually exclusive with hasMore)"
|
|
680
1335
|
},
|
|
681
1336
|
"hasMore": {
|
|
682
1337
|
"type": "boolean",
|
|
683
|
-
"description": "
|
|
1338
|
+
"description": "Has more items (mutually exclusive with totalCount)"
|
|
684
1339
|
},
|
|
685
1340
|
"tag": {
|
|
686
1341
|
"type": "string",
|
|
687
1342
|
"default": "div",
|
|
688
|
-
"description": "
|
|
1343
|
+
"description": "Children wrapper tag"
|
|
689
1344
|
},
|
|
690
1345
|
"rootMargin": {
|
|
691
1346
|
"type": "number",
|
|
692
1347
|
"default": 100,
|
|
693
|
-
"description": "
|
|
1348
|
+
"description": "Detection margin (px)"
|
|
694
1349
|
},
|
|
695
1350
|
"loading": {
|
|
696
1351
|
"type": "boolean",
|
|
697
|
-
"description": "
|
|
1352
|
+
"description": "Loading state"
|
|
698
1353
|
},
|
|
699
1354
|
"loadingElement": {
|
|
700
|
-
"description": "
|
|
1355
|
+
"description": "Custom loading element"
|
|
1356
|
+
},
|
|
1357
|
+
"handleLoadMore": {
|
|
1358
|
+
"description": "Load more callback () => void, required"
|
|
1359
|
+
},
|
|
1360
|
+
"scrollTarget": {
|
|
1361
|
+
"description": "Scroll target element (HTMLElement | Document | MutableRefObject)"
|
|
1362
|
+
},
|
|
1363
|
+
"children": {
|
|
1364
|
+
"description": "List item rendering (ReactNode, required)"
|
|
701
1365
|
},
|
|
702
1366
|
"className": {
|
|
703
1367
|
"type": "string",
|
|
704
|
-
"description": "
|
|
1368
|
+
"description": "Style override"
|
|
705
1369
|
}
|
|
706
1370
|
},
|
|
707
1371
|
"required": [
|
|
708
1372
|
"list"
|
|
709
1373
|
],
|
|
710
1374
|
"additionalProperties": false,
|
|
711
|
-
"description": "
|
|
1375
|
+
"description": "Infinite scroll. Based on IntersectionObserver."
|
|
712
1376
|
}
|
|
713
1377
|
},
|
|
714
1378
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -728,30 +1392,36 @@
|
|
|
728
1392
|
"down"
|
|
729
1393
|
],
|
|
730
1394
|
"default": "left",
|
|
731
|
-
"description": "
|
|
1395
|
+
"description": "Direction"
|
|
732
1396
|
},
|
|
733
1397
|
"speed": {
|
|
734
1398
|
"type": "number",
|
|
735
1399
|
"default": 40,
|
|
736
|
-
"description": "
|
|
1400
|
+
"description": "Animation speed (seconds)"
|
|
737
1401
|
},
|
|
738
1402
|
"pauseOnHover": {
|
|
739
1403
|
"type": "boolean",
|
|
740
1404
|
"default": false,
|
|
741
|
-
"description": "
|
|
1405
|
+
"description": "Pause on hover"
|
|
742
1406
|
},
|
|
743
1407
|
"gap": {
|
|
744
1408
|
"type": "number",
|
|
745
1409
|
"default": 16,
|
|
746
|
-
"description": "
|
|
1410
|
+
"description": "Item gap (px)"
|
|
1411
|
+
},
|
|
1412
|
+
"children": {
|
|
1413
|
+
"description": "Content to repeat (ReactNode, required)"
|
|
1414
|
+
},
|
|
1415
|
+
"style": {
|
|
1416
|
+
"description": "Inline style (CSSProperties)"
|
|
747
1417
|
},
|
|
748
1418
|
"className": {
|
|
749
1419
|
"type": "string",
|
|
750
|
-
"description": "
|
|
1420
|
+
"description": "Style override"
|
|
751
1421
|
}
|
|
752
1422
|
},
|
|
753
1423
|
"additionalProperties": false,
|
|
754
|
-
"description": "
|
|
1424
|
+
"description": "Marquee (scrolling text/elements)."
|
|
755
1425
|
}
|
|
756
1426
|
},
|
|
757
1427
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -763,10 +1433,10 @@
|
|
|
763
1433
|
"type": "object",
|
|
764
1434
|
"properties": {
|
|
765
1435
|
"title": {
|
|
766
|
-
"description": "
|
|
1436
|
+
"description": "Header title (ReactNode)"
|
|
767
1437
|
},
|
|
768
1438
|
"desc": {
|
|
769
|
-
"description": "
|
|
1439
|
+
"description": "Header description (ReactNode)"
|
|
770
1440
|
},
|
|
771
1441
|
"layout": {
|
|
772
1442
|
"type": "string",
|
|
@@ -780,51 +1450,104 @@
|
|
|
780
1450
|
"draggable"
|
|
781
1451
|
],
|
|
782
1452
|
"default": "default",
|
|
783
|
-
"description": "
|
|
1453
|
+
"description": "Layout"
|
|
784
1454
|
},
|
|
785
1455
|
"showDim": {
|
|
786
1456
|
"type": "boolean",
|
|
787
1457
|
"default": true,
|
|
788
|
-
"description": "
|
|
1458
|
+
"description": "Show dim overlay"
|
|
789
1459
|
},
|
|
790
1460
|
"dimClose": {
|
|
791
1461
|
"type": "boolean",
|
|
792
1462
|
"default": true,
|
|
793
|
-
"description": "
|
|
1463
|
+
"description": "Close on dim click"
|
|
794
1464
|
},
|
|
795
1465
|
"hideHeader": {
|
|
796
1466
|
"type": "boolean",
|
|
797
1467
|
"default": false,
|
|
798
|
-
"description": "
|
|
1468
|
+
"description": "Hide header"
|
|
799
1469
|
},
|
|
800
1470
|
"hideFooter": {
|
|
801
1471
|
"type": "boolean",
|
|
802
1472
|
"default": true,
|
|
803
|
-
"description": "
|
|
1473
|
+
"description": "Hide footer"
|
|
804
1474
|
},
|
|
805
1475
|
"footer": {
|
|
806
|
-
"description": "
|
|
1476
|
+
"description": "Custom footer (ReactElement)"
|
|
1477
|
+
},
|
|
1478
|
+
"animation": {
|
|
1479
|
+
"type": "object",
|
|
1480
|
+
"properties": {
|
|
1481
|
+
"name": {
|
|
1482
|
+
"type": "string",
|
|
1483
|
+
"description": "Animation name"
|
|
1484
|
+
},
|
|
1485
|
+
"mobile": {
|
|
1486
|
+
"type": "string",
|
|
1487
|
+
"description": "Mobile animation name"
|
|
1488
|
+
},
|
|
1489
|
+
"delay": {
|
|
1490
|
+
"type": "number",
|
|
1491
|
+
"description": "Delay (ms)"
|
|
1492
|
+
},
|
|
1493
|
+
"duration": {
|
|
1494
|
+
"type": "number",
|
|
1495
|
+
"description": "Duration (ms)"
|
|
1496
|
+
},
|
|
1497
|
+
"timingFunc": {
|
|
1498
|
+
"type": "string",
|
|
1499
|
+
"description": "Timing function"
|
|
1500
|
+
},
|
|
1501
|
+
"leaveTimingFunc": {
|
|
1502
|
+
"type": "string",
|
|
1503
|
+
"description": "Exit timing function"
|
|
1504
|
+
}
|
|
1505
|
+
},
|
|
1506
|
+
"additionalProperties": false,
|
|
1507
|
+
"description": "Modal animation"
|
|
807
1508
|
},
|
|
808
1509
|
"enableDrag": {
|
|
809
1510
|
"type": "boolean",
|
|
810
|
-
"default":
|
|
811
|
-
"description": "
|
|
1511
|
+
"default": true,
|
|
1512
|
+
"description": "Enable drag (bottom-sheet/draggable layouts)"
|
|
812
1513
|
},
|
|
813
1514
|
"dragPersistKey": {
|
|
814
1515
|
"type": "string",
|
|
815
|
-
"description": "
|
|
1516
|
+
"description": "Drag position persistence key"
|
|
1517
|
+
},
|
|
1518
|
+
"close": {
|
|
1519
|
+
"description": "Modal close function (isAnimation?: boolean) => void (auto-injected)"
|
|
1520
|
+
},
|
|
1521
|
+
"children": {
|
|
1522
|
+
"description": "Modal body (ReactNode, required)"
|
|
1523
|
+
},
|
|
1524
|
+
"className": {
|
|
1525
|
+
"type": "string",
|
|
1526
|
+
"description": "Root wrapper style"
|
|
816
1527
|
},
|
|
817
1528
|
"innerClassName": {
|
|
818
1529
|
"type": "string",
|
|
819
|
-
"description": "
|
|
1530
|
+
"description": "Modal body style"
|
|
820
1531
|
},
|
|
821
1532
|
"bodyClassName": {
|
|
822
1533
|
"type": "string",
|
|
823
|
-
"description": "
|
|
1534
|
+
"description": "Body area style"
|
|
1535
|
+
},
|
|
1536
|
+
"footerClassName": {
|
|
1537
|
+
"type": "string",
|
|
1538
|
+
"description": "Footer area style"
|
|
1539
|
+
},
|
|
1540
|
+
"dimClassName": {
|
|
1541
|
+
"type": "string",
|
|
1542
|
+
"description": "Dim overlay style"
|
|
1543
|
+
},
|
|
1544
|
+
"headerClassName": {
|
|
1545
|
+
"type": "string",
|
|
1546
|
+
"description": "Header area style"
|
|
824
1547
|
}
|
|
825
1548
|
},
|
|
826
1549
|
"additionalProperties": false,
|
|
827
|
-
"description": "
|
|
1550
|
+
"description": "Modal template. All modal components must be wrapped with ModalTemplate."
|
|
828
1551
|
}
|
|
829
1552
|
},
|
|
830
1553
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -836,16 +1559,94 @@
|
|
|
836
1559
|
"type": "object",
|
|
837
1560
|
"properties": {
|
|
838
1561
|
"component": {
|
|
839
|
-
"description": "
|
|
1562
|
+
"description": "Modal component (required). Automatically receives close/resolve as props"
|
|
840
1563
|
},
|
|
841
1564
|
"props": {
|
|
842
1565
|
"type": "object",
|
|
843
1566
|
"additionalProperties": {},
|
|
844
|
-
"description": "
|
|
1567
|
+
"description": "Props to pass to component"
|
|
1568
|
+
},
|
|
1569
|
+
"id": {
|
|
1570
|
+
"type": "string",
|
|
1571
|
+
"description": "Modal ID (used for duplicate check)"
|
|
1572
|
+
},
|
|
1573
|
+
"layout": {
|
|
1574
|
+
"type": "string",
|
|
1575
|
+
"enum": [
|
|
1576
|
+
"default",
|
|
1577
|
+
"bottom-sheet",
|
|
1578
|
+
"slide-left",
|
|
1579
|
+
"slide-right",
|
|
1580
|
+
"full-page",
|
|
1581
|
+
"full-page-reverse",
|
|
1582
|
+
"draggable"
|
|
1583
|
+
],
|
|
1584
|
+
"description": "Layout"
|
|
1585
|
+
},
|
|
1586
|
+
"animation": {
|
|
1587
|
+
"type": "object",
|
|
1588
|
+
"properties": {
|
|
1589
|
+
"name": {
|
|
1590
|
+
"type": "string",
|
|
1591
|
+
"description": "Animation name"
|
|
1592
|
+
},
|
|
1593
|
+
"mobile": {
|
|
1594
|
+
"type": "string",
|
|
1595
|
+
"description": "Mobile animation name"
|
|
1596
|
+
},
|
|
1597
|
+
"delay": {
|
|
1598
|
+
"type": "number",
|
|
1599
|
+
"description": "Delay (ms)"
|
|
1600
|
+
},
|
|
1601
|
+
"duration": {
|
|
1602
|
+
"type": "number",
|
|
1603
|
+
"description": "Duration (ms)"
|
|
1604
|
+
},
|
|
1605
|
+
"timingFunc": {
|
|
1606
|
+
"type": "string",
|
|
1607
|
+
"description": "Timing function"
|
|
1608
|
+
},
|
|
1609
|
+
"leaveTimingFunc": {
|
|
1610
|
+
"type": "string",
|
|
1611
|
+
"description": "Exit timing function"
|
|
1612
|
+
}
|
|
1613
|
+
},
|
|
1614
|
+
"additionalProperties": false,
|
|
1615
|
+
"description": "Modal animation"
|
|
1616
|
+
},
|
|
1617
|
+
"scrollEnable": {
|
|
1618
|
+
"type": "boolean",
|
|
1619
|
+
"description": "Allow background scroll"
|
|
1620
|
+
},
|
|
1621
|
+
"isToggle": {
|
|
1622
|
+
"type": "boolean",
|
|
1623
|
+
"description": "Toggle mode (close on re-call of same modal)"
|
|
1624
|
+
},
|
|
1625
|
+
"isAlone": {
|
|
1626
|
+
"type": "boolean",
|
|
1627
|
+
"description": "Alone mode (close all existing modals before opening)"
|
|
1628
|
+
},
|
|
1629
|
+
"duplicateCheck": {
|
|
1630
|
+
"type": "boolean",
|
|
1631
|
+
"description": "Prevent duplicate opening of same component"
|
|
1632
|
+
},
|
|
1633
|
+
"disableEscapeKeyPress": {
|
|
1634
|
+
"type": "boolean",
|
|
1635
|
+
"description": "Disable close via ESC key"
|
|
1636
|
+
},
|
|
1637
|
+
"componentName": {
|
|
1638
|
+
"type": "string",
|
|
1639
|
+
"description": "Modal identifier name (used for duplicate check, modal search)"
|
|
1640
|
+
},
|
|
1641
|
+
"onOpen": {
|
|
1642
|
+
"description": "Callback when modal opens"
|
|
1643
|
+
},
|
|
1644
|
+
"onClose": {
|
|
1645
|
+
"description": "Callback when modal closes"
|
|
845
1646
|
}
|
|
846
1647
|
},
|
|
847
1648
|
"additionalProperties": false,
|
|
848
|
-
"description": "modal()
|
|
1649
|
+
"description": "modal() function call options. component automatically receives close/resolve as props."
|
|
849
1650
|
}
|
|
850
1651
|
},
|
|
851
1652
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -861,57 +1662,143 @@
|
|
|
861
1662
|
"number",
|
|
862
1663
|
"string"
|
|
863
1664
|
],
|
|
864
|
-
"description": "
|
|
1665
|
+
"description": "Current value"
|
|
865
1666
|
},
|
|
866
1667
|
"size": {
|
|
867
1668
|
"type": "string",
|
|
868
1669
|
"enum": [
|
|
869
1670
|
"sm",
|
|
870
1671
|
"md",
|
|
871
|
-
"lg"
|
|
1672
|
+
"lg",
|
|
1673
|
+
"xl"
|
|
872
1674
|
],
|
|
873
1675
|
"default": "md",
|
|
874
|
-
"description": "
|
|
1676
|
+
"description": "Size"
|
|
875
1677
|
},
|
|
876
1678
|
"error": {
|
|
877
1679
|
"type": "boolean",
|
|
878
|
-
"description": "
|
|
1680
|
+
"description": "Error state"
|
|
879
1681
|
},
|
|
880
1682
|
"min": {
|
|
881
1683
|
"type": "number",
|
|
882
|
-
"description": "
|
|
1684
|
+
"description": "Minimum value"
|
|
883
1685
|
},
|
|
884
1686
|
"max": {
|
|
885
1687
|
"type": "number",
|
|
886
|
-
"description": "
|
|
1688
|
+
"description": "Maximum value"
|
|
887
1689
|
},
|
|
888
1690
|
"step": {
|
|
889
1691
|
"type": "number",
|
|
890
1692
|
"default": 1,
|
|
891
|
-
"description": "
|
|
1693
|
+
"description": "Step increment"
|
|
892
1694
|
},
|
|
893
1695
|
"digit": {
|
|
894
1696
|
"type": "number",
|
|
895
1697
|
"default": 0,
|
|
896
|
-
"description": "
|
|
1698
|
+
"description": "Decimal places"
|
|
897
1699
|
},
|
|
898
1700
|
"hideButtons": {
|
|
899
1701
|
"type": "boolean",
|
|
900
1702
|
"default": false,
|
|
901
|
-
"description": "
|
|
1703
|
+
"description": "Hide default spin buttons. Use with numberInputBind for external button event binding"
|
|
902
1704
|
},
|
|
903
1705
|
"disabled": {
|
|
904
1706
|
"type": "boolean",
|
|
905
|
-
"description": "
|
|
1707
|
+
"description": "Disabled"
|
|
906
1708
|
},
|
|
907
|
-
"
|
|
1709
|
+
"readOnly": {
|
|
1710
|
+
"type": "boolean",
|
|
1711
|
+
"description": "Read-only (includes hiding spin buttons)"
|
|
1712
|
+
},
|
|
1713
|
+
"placeholder": {
|
|
908
1714
|
"type": "string",
|
|
909
|
-
"description": "
|
|
910
|
-
}
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
1715
|
+
"description": "Placeholder"
|
|
1716
|
+
},
|
|
1717
|
+
"name": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"description": "Form field name"
|
|
1720
|
+
},
|
|
1721
|
+
"id": {
|
|
1722
|
+
"type": "string",
|
|
1723
|
+
"description": "Element ID"
|
|
1724
|
+
},
|
|
1725
|
+
"autoFocus": {
|
|
1726
|
+
"type": "boolean",
|
|
1727
|
+
"description": "Auto focus"
|
|
1728
|
+
},
|
|
1729
|
+
"onValueChange": {
|
|
1730
|
+
"description": "Value change callback (value: number | undefined) => void"
|
|
1731
|
+
},
|
|
1732
|
+
"onBlur": {
|
|
1733
|
+
"description": "Blur callback"
|
|
1734
|
+
},
|
|
1735
|
+
"onFocus": {
|
|
1736
|
+
"description": "Focus callback"
|
|
1737
|
+
},
|
|
1738
|
+
"className": {
|
|
1739
|
+
"type": "string",
|
|
1740
|
+
"description": "Style override"
|
|
1741
|
+
}
|
|
1742
|
+
},
|
|
1743
|
+
"additionalProperties": false,
|
|
1744
|
+
"description": "Number input. Accelerated increment on long press. Exposes increment/decrement methods via ref. numberInputBind(ref, direction) binds same acceleration to external buttons."
|
|
1745
|
+
}
|
|
1746
|
+
},
|
|
1747
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1748
|
+
},
|
|
1749
|
+
"nxImage": {
|
|
1750
|
+
"$ref": "#/definitions/nxImagePropsSchema",
|
|
1751
|
+
"definitions": {
|
|
1752
|
+
"nxImagePropsSchema": {
|
|
1753
|
+
"type": "object",
|
|
1754
|
+
"properties": {
|
|
1755
|
+
"src": {
|
|
1756
|
+
"type": "string",
|
|
1757
|
+
"description": "Image source URL"
|
|
1758
|
+
},
|
|
1759
|
+
"alt": {
|
|
1760
|
+
"type": "string",
|
|
1761
|
+
"description": "Alt text"
|
|
1762
|
+
},
|
|
1763
|
+
"fallback": {
|
|
1764
|
+
"description": "Custom fallback element (ReactNode)"
|
|
1765
|
+
},
|
|
1766
|
+
"fallbackSrc": {
|
|
1767
|
+
"type": "string",
|
|
1768
|
+
"description": "Fallback image URL on error"
|
|
1769
|
+
},
|
|
1770
|
+
"aspectRatio": {
|
|
1771
|
+
"type": "string",
|
|
1772
|
+
"description": "CSS aspect-ratio (e.g. \"16/9\", \"1/1\")"
|
|
1773
|
+
},
|
|
1774
|
+
"objectFit": {
|
|
1775
|
+
"type": "string",
|
|
1776
|
+
"enum": [
|
|
1777
|
+
"cover",
|
|
1778
|
+
"contain",
|
|
1779
|
+
"fill",
|
|
1780
|
+
"none"
|
|
1781
|
+
],
|
|
1782
|
+
"default": "cover",
|
|
1783
|
+
"description": "Object-fit mode"
|
|
1784
|
+
},
|
|
1785
|
+
"lazy": {
|
|
1786
|
+
"type": "boolean",
|
|
1787
|
+
"default": true,
|
|
1788
|
+
"description": "Enable lazy loading (loading=\"lazy\")"
|
|
1789
|
+
},
|
|
1790
|
+
"wrapperClassName": {
|
|
1791
|
+
"type": "string",
|
|
1792
|
+
"description": "Wrapper div style"
|
|
1793
|
+
},
|
|
1794
|
+
"className": {
|
|
1795
|
+
"type": "string",
|
|
1796
|
+
"description": "Image element style"
|
|
1797
|
+
}
|
|
1798
|
+
},
|
|
1799
|
+
"additionalProperties": false,
|
|
1800
|
+
"description": "Enhanced image. Lazy loading, fallback, aspect-ratio support."
|
|
1801
|
+
}
|
|
915
1802
|
},
|
|
916
1803
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
917
1804
|
},
|
|
@@ -923,16 +1810,20 @@
|
|
|
923
1810
|
"properties": {
|
|
924
1811
|
"currentPage": {
|
|
925
1812
|
"type": "number",
|
|
926
|
-
"description": "
|
|
1813
|
+
"description": "Current page (1-based, required)"
|
|
927
1814
|
},
|
|
928
1815
|
"totalPages": {
|
|
929
1816
|
"type": "number",
|
|
930
|
-
"description": "
|
|
1817
|
+
"description": "Total page count (required)"
|
|
931
1818
|
},
|
|
932
1819
|
"siblingCount": {
|
|
933
1820
|
"type": "number",
|
|
934
1821
|
"default": 1,
|
|
935
|
-
"description": "
|
|
1822
|
+
"description": "Number of pages shown on each side of current"
|
|
1823
|
+
},
|
|
1824
|
+
"showEdges": {
|
|
1825
|
+
"type": "boolean",
|
|
1826
|
+
"description": "Always show first/last page"
|
|
936
1827
|
},
|
|
937
1828
|
"size": {
|
|
938
1829
|
"type": "string",
|
|
@@ -941,11 +1832,14 @@
|
|
|
941
1832
|
"md"
|
|
942
1833
|
],
|
|
943
1834
|
"default": "md",
|
|
944
|
-
"description": "
|
|
1835
|
+
"description": "Size"
|
|
1836
|
+
},
|
|
1837
|
+
"onPageChange": {
|
|
1838
|
+
"description": "Page change callback (page: number) => void, required"
|
|
945
1839
|
},
|
|
946
1840
|
"className": {
|
|
947
1841
|
"type": "string",
|
|
948
|
-
"description": "<nav>
|
|
1842
|
+
"description": "<nav> style"
|
|
949
1843
|
}
|
|
950
1844
|
},
|
|
951
1845
|
"required": [
|
|
@@ -953,7 +1847,7 @@
|
|
|
953
1847
|
"totalPages"
|
|
954
1848
|
],
|
|
955
1849
|
"additionalProperties": false,
|
|
956
|
-
"description": "
|
|
1850
|
+
"description": "Pagination. Previous/next + page number buttons."
|
|
957
1851
|
}
|
|
958
1852
|
},
|
|
959
1853
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -965,7 +1859,7 @@
|
|
|
965
1859
|
"type": "object",
|
|
966
1860
|
"properties": {
|
|
967
1861
|
"trigger": {
|
|
968
|
-
"description": "
|
|
1862
|
+
"description": "Trigger element (ReactNode, required)"
|
|
969
1863
|
},
|
|
970
1864
|
"side": {
|
|
971
1865
|
"type": "string",
|
|
@@ -976,7 +1870,7 @@
|
|
|
976
1870
|
"left"
|
|
977
1871
|
],
|
|
978
1872
|
"default": "bottom",
|
|
979
|
-
"description": "
|
|
1873
|
+
"description": "Position"
|
|
980
1874
|
},
|
|
981
1875
|
"align": {
|
|
982
1876
|
"type": "string",
|
|
@@ -986,32 +1880,208 @@
|
|
|
986
1880
|
"end"
|
|
987
1881
|
],
|
|
988
1882
|
"default": "center",
|
|
989
|
-
"description": "
|
|
1883
|
+
"description": "Alignment"
|
|
990
1884
|
},
|
|
991
1885
|
"sideOffset": {
|
|
992
1886
|
"type": "number",
|
|
993
1887
|
"default": 4,
|
|
994
|
-
"description": "
|
|
1888
|
+
"description": "Position offset (px)"
|
|
995
1889
|
},
|
|
996
1890
|
"alignOffset": {
|
|
997
1891
|
"type": "number",
|
|
998
|
-
"description": "
|
|
1892
|
+
"description": "Alignment offset (px)"
|
|
999
1893
|
},
|
|
1000
1894
|
"open": {
|
|
1001
1895
|
"type": "boolean",
|
|
1002
|
-
"description": "
|
|
1896
|
+
"description": "Controlled mode"
|
|
1897
|
+
},
|
|
1898
|
+
"onOpenChange": {
|
|
1899
|
+
"description": "Open/close state change callback (open: boolean) => void"
|
|
1900
|
+
},
|
|
1901
|
+
"onClickTrigger": {
|
|
1902
|
+
"description": "Callback on trigger element click. Passed to PopoverPrimitive.Trigger onClick."
|
|
1903
|
+
},
|
|
1904
|
+
"children": {
|
|
1905
|
+
"description": "Popover body (ReactNode)"
|
|
1003
1906
|
},
|
|
1004
1907
|
"className": {
|
|
1005
1908
|
"type": "string",
|
|
1006
|
-
"description": "Content
|
|
1909
|
+
"description": "Content style"
|
|
1007
1910
|
},
|
|
1008
1911
|
"arrowClassName": {
|
|
1009
1912
|
"type": "string",
|
|
1010
|
-
"description": "Arrow
|
|
1913
|
+
"description": "Arrow style"
|
|
1914
|
+
}
|
|
1915
|
+
},
|
|
1916
|
+
"additionalProperties": false,
|
|
1917
|
+
"description": "Popover. Based on Radix Popover."
|
|
1918
|
+
}
|
|
1919
|
+
},
|
|
1920
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1921
|
+
},
|
|
1922
|
+
"priceInput": {
|
|
1923
|
+
"$ref": "#/definitions/priceInputPropsSchema",
|
|
1924
|
+
"definitions": {
|
|
1925
|
+
"priceInputPropsSchema": {
|
|
1926
|
+
"type": "object",
|
|
1927
|
+
"properties": {
|
|
1928
|
+
"size": {
|
|
1929
|
+
"type": "string",
|
|
1930
|
+
"enum": [
|
|
1931
|
+
"md",
|
|
1932
|
+
"lg",
|
|
1933
|
+
"xl"
|
|
1934
|
+
],
|
|
1935
|
+
"default": "md",
|
|
1936
|
+
"description": "Size"
|
|
1937
|
+
},
|
|
1938
|
+
"error": {
|
|
1939
|
+
"type": "boolean",
|
|
1940
|
+
"description": "Error state (shows danger border)"
|
|
1941
|
+
},
|
|
1942
|
+
"prefix": {
|
|
1943
|
+
"anyOf": [
|
|
1944
|
+
{
|
|
1945
|
+
"type": "boolean"
|
|
1946
|
+
},
|
|
1947
|
+
{}
|
|
1948
|
+
],
|
|
1949
|
+
"default": true,
|
|
1950
|
+
"description": "Prefix element. true = \"$\", ReactNode = custom content, false = hidden"
|
|
1951
|
+
},
|
|
1952
|
+
"suffix": {
|
|
1953
|
+
"description": "Suffix element after the input (e.g. \"CROSSD\", icon, ReactNode)"
|
|
1954
|
+
},
|
|
1955
|
+
"label": {
|
|
1956
|
+
"description": "Label displayed above the input (ReactNode)"
|
|
1957
|
+
},
|
|
1958
|
+
"description": {
|
|
1959
|
+
"description": "Description below the input. Turns red on error (ReactNode)"
|
|
1960
|
+
},
|
|
1961
|
+
"balance": {
|
|
1962
|
+
"type": [
|
|
1963
|
+
"string",
|
|
1964
|
+
"number"
|
|
1965
|
+
],
|
|
1966
|
+
"description": "Balance value in the header. Clicking fills the input"
|
|
1967
|
+
},
|
|
1968
|
+
"balanceLabel": {
|
|
1969
|
+
"type": "string",
|
|
1970
|
+
"default": "Balance",
|
|
1971
|
+
"description": "Label text for balance display"
|
|
1972
|
+
},
|
|
1973
|
+
"balanceContent": {
|
|
1974
|
+
"description": "Custom balance display (ReactNode). Replaces default text, keeps click-to-fill"
|
|
1975
|
+
},
|
|
1976
|
+
"maxBalance": {
|
|
1977
|
+
"type": "number",
|
|
1978
|
+
"description": "Max allowed value. Exceeding auto-applies error state and turns balance red"
|
|
1979
|
+
},
|
|
1980
|
+
"separator": {
|
|
1981
|
+
"type": "boolean",
|
|
1982
|
+
"default": false,
|
|
1983
|
+
"description": "Display thousands separator (comma). onValueChange receives raw value without commas"
|
|
1984
|
+
},
|
|
1985
|
+
"align": {
|
|
1986
|
+
"type": "string",
|
|
1987
|
+
"enum": [
|
|
1988
|
+
"left",
|
|
1989
|
+
"right"
|
|
1990
|
+
],
|
|
1991
|
+
"default": "left",
|
|
1992
|
+
"description": "Text alignment inside the input"
|
|
1993
|
+
},
|
|
1994
|
+
"disabled": {
|
|
1995
|
+
"type": "boolean",
|
|
1996
|
+
"description": "Disabled"
|
|
1997
|
+
},
|
|
1998
|
+
"placeholder": {
|
|
1999
|
+
"type": "string",
|
|
2000
|
+
"description": "Placeholder"
|
|
2001
|
+
},
|
|
2002
|
+
"value": {
|
|
2003
|
+
"description": "Controlled value"
|
|
2004
|
+
},
|
|
2005
|
+
"id": {
|
|
2006
|
+
"type": "string",
|
|
2007
|
+
"description": "Element ID"
|
|
2008
|
+
},
|
|
2009
|
+
"onValueChange": {
|
|
2010
|
+
"description": "Value change callback (value: string) => void"
|
|
2011
|
+
},
|
|
2012
|
+
"onBalanceClick": {
|
|
2013
|
+
"description": "Balance click callback (balance: string | number) => void"
|
|
2014
|
+
},
|
|
2015
|
+
"className": {
|
|
2016
|
+
"type": "string",
|
|
2017
|
+
"description": "Style override"
|
|
2018
|
+
}
|
|
2019
|
+
},
|
|
2020
|
+
"additionalProperties": false,
|
|
2021
|
+
"description": "Price/amount input field with prefix, suffix, balance display, and auto-fill on balance click."
|
|
2022
|
+
}
|
|
2023
|
+
},
|
|
2024
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2025
|
+
},
|
|
2026
|
+
"progress": {
|
|
2027
|
+
"$ref": "#/definitions/progressPropsSchema",
|
|
2028
|
+
"definitions": {
|
|
2029
|
+
"progressPropsSchema": {
|
|
2030
|
+
"type": "object",
|
|
2031
|
+
"properties": {
|
|
2032
|
+
"value": {
|
|
2033
|
+
"type": "number",
|
|
2034
|
+
"default": 0,
|
|
2035
|
+
"description": "Current progress value"
|
|
2036
|
+
},
|
|
2037
|
+
"max": {
|
|
2038
|
+
"type": "number",
|
|
2039
|
+
"default": 100,
|
|
2040
|
+
"description": "Maximum value"
|
|
2041
|
+
},
|
|
2042
|
+
"variant": {
|
|
2043
|
+
"type": "string",
|
|
2044
|
+
"enum": [
|
|
2045
|
+
"primary",
|
|
2046
|
+
"success",
|
|
2047
|
+
"warning",
|
|
2048
|
+
"danger",
|
|
2049
|
+
"info"
|
|
2050
|
+
],
|
|
2051
|
+
"default": "primary",
|
|
2052
|
+
"description": "Color variant"
|
|
2053
|
+
},
|
|
2054
|
+
"size": {
|
|
2055
|
+
"type": "string",
|
|
2056
|
+
"enum": [
|
|
2057
|
+
"sm",
|
|
2058
|
+
"md",
|
|
2059
|
+
"lg"
|
|
2060
|
+
],
|
|
2061
|
+
"default": "md",
|
|
2062
|
+
"description": "Bar height"
|
|
2063
|
+
},
|
|
2064
|
+
"showValue": {
|
|
2065
|
+
"type": "boolean",
|
|
2066
|
+
"default": false,
|
|
2067
|
+
"description": "Show percentage text"
|
|
2068
|
+
},
|
|
2069
|
+
"indeterminate": {
|
|
2070
|
+
"type": "boolean",
|
|
2071
|
+
"default": false,
|
|
2072
|
+
"description": "Indeterminate loading animation"
|
|
2073
|
+
},
|
|
2074
|
+
"label": {
|
|
2075
|
+
"type": "string",
|
|
2076
|
+
"description": "Label text above the bar"
|
|
2077
|
+
},
|
|
2078
|
+
"className": {
|
|
2079
|
+
"type": "string",
|
|
2080
|
+
"description": "Style override"
|
|
1011
2081
|
}
|
|
1012
2082
|
},
|
|
1013
2083
|
"additionalProperties": false,
|
|
1014
|
-
"description": "
|
|
2084
|
+
"description": "Progress bar. Linear progress indicator with percentage display."
|
|
1015
2085
|
}
|
|
1016
2086
|
},
|
|
1017
2087
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1024,15 +2094,15 @@
|
|
|
1024
2094
|
"properties": {
|
|
1025
2095
|
"name": {
|
|
1026
2096
|
"type": "string",
|
|
1027
|
-
"description": "
|
|
2097
|
+
"description": "Form name (required)"
|
|
1028
2098
|
},
|
|
1029
2099
|
"value": {
|
|
1030
2100
|
"type": "string",
|
|
1031
|
-
"description": "
|
|
2101
|
+
"description": "Selected value (controlled)"
|
|
1032
2102
|
},
|
|
1033
2103
|
"defaultValue": {
|
|
1034
2104
|
"type": "string",
|
|
1035
|
-
"description": "
|
|
2105
|
+
"description": "Initial value (uncontrolled)"
|
|
1036
2106
|
},
|
|
1037
2107
|
"size": {
|
|
1038
2108
|
"type": "string",
|
|
@@ -1041,7 +2111,7 @@
|
|
|
1041
2111
|
"md"
|
|
1042
2112
|
],
|
|
1043
2113
|
"default": "md",
|
|
1044
|
-
"description": "
|
|
2114
|
+
"description": "Size"
|
|
1045
2115
|
},
|
|
1046
2116
|
"orientation": {
|
|
1047
2117
|
"type": "string",
|
|
@@ -1050,26 +2120,36 @@
|
|
|
1050
2120
|
"vertical"
|
|
1051
2121
|
],
|
|
1052
2122
|
"default": "vertical",
|
|
1053
|
-
"description": "
|
|
2123
|
+
"description": "Layout direction"
|
|
1054
2124
|
},
|
|
1055
2125
|
"disabled": {
|
|
1056
2126
|
"type": "boolean",
|
|
1057
|
-
"description": "
|
|
2127
|
+
"description": "Disabled"
|
|
2128
|
+
},
|
|
2129
|
+
"children": {
|
|
2130
|
+
"description": "RadioItem list (ReactNode, required)"
|
|
1058
2131
|
},
|
|
1059
2132
|
"aria-label": {
|
|
1060
2133
|
"type": "string",
|
|
1061
|
-
"description": "
|
|
2134
|
+
"description": "Accessibility label"
|
|
2135
|
+
},
|
|
2136
|
+
"aria-labelledby": {
|
|
2137
|
+
"type": "string",
|
|
2138
|
+
"description": "Accessibility label reference ID"
|
|
2139
|
+
},
|
|
2140
|
+
"onValueChange": {
|
|
2141
|
+
"description": "Value change callback (value: string) => void"
|
|
1062
2142
|
},
|
|
1063
2143
|
"className": {
|
|
1064
2144
|
"type": "string",
|
|
1065
|
-
"description": "
|
|
2145
|
+
"description": "Style override"
|
|
1066
2146
|
}
|
|
1067
2147
|
},
|
|
1068
2148
|
"required": [
|
|
1069
2149
|
"name"
|
|
1070
2150
|
],
|
|
1071
2151
|
"additionalProperties": false,
|
|
1072
|
-
"description": "
|
|
2152
|
+
"description": "Radio group. Used with RadioItem."
|
|
1073
2153
|
}
|
|
1074
2154
|
},
|
|
1075
2155
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1082,7 +2162,7 @@
|
|
|
1082
2162
|
"properties": {
|
|
1083
2163
|
"value": {
|
|
1084
2164
|
"type": "string",
|
|
1085
|
-
"description": "
|
|
2165
|
+
"description": "Item value (required)"
|
|
1086
2166
|
},
|
|
1087
2167
|
"size": {
|
|
1088
2168
|
"type": "string",
|
|
@@ -1090,21 +2170,28 @@
|
|
|
1090
2170
|
"sm",
|
|
1091
2171
|
"md"
|
|
1092
2172
|
],
|
|
1093
|
-
"description": "
|
|
2173
|
+
"description": "Size (overrides group)"
|
|
1094
2174
|
},
|
|
1095
2175
|
"label": {
|
|
1096
|
-
"description": "
|
|
2176
|
+
"description": "Label text (ReactNode)"
|
|
2177
|
+
},
|
|
2178
|
+
"children": {
|
|
2179
|
+
"description": "Label alternative content (ReactNode)"
|
|
1097
2180
|
},
|
|
1098
2181
|
"disabled": {
|
|
1099
2182
|
"type": "boolean",
|
|
1100
|
-
"description": "
|
|
2183
|
+
"description": "Disabled"
|
|
2184
|
+
},
|
|
2185
|
+
"className": {
|
|
2186
|
+
"type": "string",
|
|
2187
|
+
"description": "Style override"
|
|
1101
2188
|
}
|
|
1102
2189
|
},
|
|
1103
2190
|
"required": [
|
|
1104
2191
|
"value"
|
|
1105
2192
|
],
|
|
1106
2193
|
"additionalProperties": false,
|
|
1107
|
-
"description": "
|
|
2194
|
+
"description": "Individual option within RadioGroup."
|
|
1108
2195
|
}
|
|
1109
2196
|
},
|
|
1110
2197
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1117,11 +2204,11 @@
|
|
|
1117
2204
|
"properties": {
|
|
1118
2205
|
"value": {
|
|
1119
2206
|
"type": "string",
|
|
1120
|
-
"description": "
|
|
2207
|
+
"description": "Selected value"
|
|
1121
2208
|
},
|
|
1122
2209
|
"placeholder": {
|
|
1123
2210
|
"type": "string",
|
|
1124
|
-
"description": "
|
|
2211
|
+
"description": "Placeholder"
|
|
1125
2212
|
},
|
|
1126
2213
|
"variant": {
|
|
1127
2214
|
"type": "string",
|
|
@@ -1130,7 +2217,7 @@
|
|
|
1130
2217
|
"outline"
|
|
1131
2218
|
],
|
|
1132
2219
|
"default": "default",
|
|
1133
|
-
"description": "
|
|
2220
|
+
"description": "Trigger style"
|
|
1134
2221
|
},
|
|
1135
2222
|
"size": {
|
|
1136
2223
|
"type": "string",
|
|
@@ -1141,26 +2228,32 @@
|
|
|
1141
2228
|
"full"
|
|
1142
2229
|
],
|
|
1143
2230
|
"default": "full",
|
|
1144
|
-
"description": "
|
|
2231
|
+
"description": "Width"
|
|
1145
2232
|
},
|
|
1146
2233
|
"disabled": {
|
|
1147
2234
|
"type": "boolean",
|
|
1148
|
-
"description": "
|
|
2235
|
+
"description": "Disabled"
|
|
2236
|
+
},
|
|
2237
|
+
"onValueChange": {
|
|
2238
|
+
"description": "Value change callback (value: string) => void"
|
|
1149
2239
|
},
|
|
1150
2240
|
"displayComponent": {
|
|
1151
|
-
"description": "
|
|
2241
|
+
"description": "Custom display in trigger (ReactNode)"
|
|
2242
|
+
},
|
|
2243
|
+
"children": {
|
|
2244
|
+
"description": "SelectItem list (ReactNode, required)"
|
|
1152
2245
|
},
|
|
1153
2246
|
"className": {
|
|
1154
2247
|
"type": "string",
|
|
1155
|
-
"description": "
|
|
2248
|
+
"description": "Wrapper style"
|
|
1156
2249
|
},
|
|
1157
2250
|
"triggerClassName": {
|
|
1158
2251
|
"type": "string",
|
|
1159
|
-
"description": "
|
|
2252
|
+
"description": "Trigger style override"
|
|
1160
2253
|
}
|
|
1161
2254
|
},
|
|
1162
2255
|
"additionalProperties": false,
|
|
1163
|
-
"description": "
|
|
2256
|
+
"description": "Dropdown select. Based on Radix Select. Used with SelectItem."
|
|
1164
2257
|
}
|
|
1165
2258
|
},
|
|
1166
2259
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1173,22 +2266,25 @@
|
|
|
1173
2266
|
"properties": {
|
|
1174
2267
|
"value": {
|
|
1175
2268
|
"type": "string",
|
|
1176
|
-
"description": "
|
|
2269
|
+
"description": "Item value"
|
|
2270
|
+
},
|
|
2271
|
+
"children": {
|
|
2272
|
+
"description": "Item content (ReactNode, required)"
|
|
1177
2273
|
},
|
|
1178
2274
|
"disabled": {
|
|
1179
2275
|
"type": "boolean",
|
|
1180
|
-
"description": "
|
|
2276
|
+
"description": "Disabled"
|
|
1181
2277
|
},
|
|
1182
2278
|
"className": {
|
|
1183
2279
|
"type": "string",
|
|
1184
|
-
"description": "
|
|
2280
|
+
"description": "Style override"
|
|
1185
2281
|
}
|
|
1186
2282
|
},
|
|
1187
2283
|
"required": [
|
|
1188
2284
|
"value"
|
|
1189
2285
|
],
|
|
1190
2286
|
"additionalProperties": false,
|
|
1191
|
-
"description": "
|
|
2287
|
+
"description": "Individual option within Select."
|
|
1192
2288
|
}
|
|
1193
2289
|
},
|
|
1194
2290
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1206,123 +2302,305 @@
|
|
|
1206
2302
|
"span"
|
|
1207
2303
|
],
|
|
1208
2304
|
"default": "div",
|
|
1209
|
-
"description": "
|
|
2305
|
+
"description": "Rendered tag"
|
|
1210
2306
|
},
|
|
1211
2307
|
"circle": {
|
|
1212
2308
|
"type": "boolean",
|
|
1213
2309
|
"default": false,
|
|
1214
|
-
"description": "
|
|
2310
|
+
"description": "Circle skeleton (rounded-full)"
|
|
1215
2311
|
},
|
|
1216
2312
|
"width": {
|
|
1217
2313
|
"type": [
|
|
1218
2314
|
"string",
|
|
1219
2315
|
"number"
|
|
1220
2316
|
],
|
|
1221
|
-
"description": "
|
|
2317
|
+
"description": "Width (e.g. '100px', '50%', 200)"
|
|
1222
2318
|
},
|
|
1223
2319
|
"height": {
|
|
1224
2320
|
"type": [
|
|
1225
2321
|
"string",
|
|
1226
2322
|
"number"
|
|
1227
2323
|
],
|
|
1228
|
-
"description": "
|
|
2324
|
+
"description": "Height (e.g. '16px', 40)"
|
|
2325
|
+
},
|
|
2326
|
+
"children": {
|
|
2327
|
+
"description": "Inner content (shown when loaded, maintains actual size)"
|
|
2328
|
+
},
|
|
2329
|
+
"style": {
|
|
2330
|
+
"description": "Inline style (CSSProperties)"
|
|
1229
2331
|
},
|
|
1230
2332
|
"className": {
|
|
1231
2333
|
"type": "string",
|
|
1232
|
-
"description": "
|
|
2334
|
+
"description": "Style override"
|
|
1233
2335
|
}
|
|
1234
2336
|
},
|
|
1235
2337
|
"additionalProperties": false,
|
|
1236
|
-
"description": "
|
|
2338
|
+
"description": "Skeleton loading placeholder. Size/shape via className. With children, wraps transparently to maintain actual size."
|
|
1237
2339
|
}
|
|
1238
2340
|
},
|
|
1239
2341
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1240
2342
|
},
|
|
1241
|
-
"
|
|
1242
|
-
"$ref": "#/definitions/
|
|
2343
|
+
"slider": {
|
|
2344
|
+
"$ref": "#/definitions/sliderPropsSchema",
|
|
1243
2345
|
"definitions": {
|
|
1244
|
-
"
|
|
2346
|
+
"sliderPropsSchema": {
|
|
1245
2347
|
"type": "object",
|
|
1246
2348
|
"properties": {
|
|
1247
|
-
"
|
|
2349
|
+
"value": {
|
|
2350
|
+
"type": "array",
|
|
2351
|
+
"items": {
|
|
2352
|
+
"type": "number"
|
|
2353
|
+
},
|
|
2354
|
+
"description": "Controlled value (number[]). Use [50] for single, [20, 80] for range"
|
|
2355
|
+
},
|
|
2356
|
+
"defaultValue": {
|
|
2357
|
+
"type": "array",
|
|
2358
|
+
"items": {
|
|
2359
|
+
"type": "number"
|
|
2360
|
+
},
|
|
2361
|
+
"description": "Default value"
|
|
2362
|
+
},
|
|
2363
|
+
"min": {
|
|
1248
2364
|
"type": "number",
|
|
1249
|
-
"default":
|
|
1250
|
-
"description": "
|
|
2365
|
+
"default": 0,
|
|
2366
|
+
"description": "Minimum"
|
|
1251
2367
|
},
|
|
1252
|
-
"
|
|
1253
|
-
"type": "
|
|
1254
|
-
"default":
|
|
1255
|
-
"description": "
|
|
2368
|
+
"max": {
|
|
2369
|
+
"type": "number",
|
|
2370
|
+
"default": 100,
|
|
2371
|
+
"description": "Maximum"
|
|
2372
|
+
},
|
|
2373
|
+
"step": {
|
|
2374
|
+
"type": "number",
|
|
2375
|
+
"default": 1,
|
|
2376
|
+
"description": "Step increment"
|
|
1256
2377
|
},
|
|
1257
|
-
"className": {
|
|
1258
|
-
"type": "string",
|
|
1259
|
-
"description": "색상 등 오버라이드"
|
|
1260
|
-
}
|
|
1261
|
-
},
|
|
1262
|
-
"additionalProperties": false,
|
|
1263
|
-
"description": "로딩 인디케이터. SVG 기반. role=\"status\" 내장."
|
|
1264
|
-
}
|
|
1265
|
-
},
|
|
1266
|
-
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1267
|
-
},
|
|
1268
|
-
"switch": {
|
|
1269
|
-
"$ref": "#/definitions/switchPropsSchema",
|
|
1270
|
-
"definitions": {
|
|
1271
|
-
"switchPropsSchema": {
|
|
1272
|
-
"type": "object",
|
|
1273
|
-
"properties": {
|
|
1274
2378
|
"size": {
|
|
1275
2379
|
"type": "string",
|
|
1276
2380
|
"enum": [
|
|
1277
2381
|
"sm",
|
|
1278
|
-
"md"
|
|
2382
|
+
"md",
|
|
2383
|
+
"lg"
|
|
1279
2384
|
],
|
|
1280
2385
|
"default": "md",
|
|
1281
|
-
"description": "
|
|
2386
|
+
"description": "Track height / thumb size"
|
|
1282
2387
|
},
|
|
1283
|
-
"
|
|
2388
|
+
"showValue": {
|
|
1284
2389
|
"type": "boolean",
|
|
1285
|
-
"
|
|
2390
|
+
"default": false,
|
|
2391
|
+
"description": "Show current value text"
|
|
2392
|
+
},
|
|
2393
|
+
"formatValue": {
|
|
2394
|
+
"description": "Value format function (value: number) => string"
|
|
2395
|
+
},
|
|
2396
|
+
"label": {
|
|
2397
|
+
"type": "string",
|
|
2398
|
+
"description": "Label text"
|
|
1286
2399
|
},
|
|
1287
2400
|
"disabled": {
|
|
1288
2401
|
"type": "boolean",
|
|
1289
|
-
"description": "
|
|
2402
|
+
"description": "Disabled"
|
|
2403
|
+
},
|
|
2404
|
+
"onValueChange": {
|
|
2405
|
+
"description": "Value change callback (value: number[]) => void"
|
|
2406
|
+
},
|
|
2407
|
+
"onValueCommit": {
|
|
2408
|
+
"description": "Committed value callback (on pointer up)"
|
|
1290
2409
|
},
|
|
1291
2410
|
"className": {
|
|
1292
2411
|
"type": "string",
|
|
1293
|
-
"description": "
|
|
2412
|
+
"description": "Style override"
|
|
1294
2413
|
}
|
|
1295
2414
|
},
|
|
1296
2415
|
"additionalProperties": false,
|
|
1297
|
-
"description": "
|
|
2416
|
+
"description": "Slider / Range input. Based on Radix Slider. Supports single and range mode."
|
|
1298
2417
|
}
|
|
1299
2418
|
},
|
|
1300
2419
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1301
2420
|
},
|
|
1302
|
-
"
|
|
1303
|
-
"$ref": "#/definitions/
|
|
2421
|
+
"spinner": {
|
|
2422
|
+
"$ref": "#/definitions/spinnerPropsSchema",
|
|
1304
2423
|
"definitions": {
|
|
1305
|
-
"
|
|
2424
|
+
"spinnerPropsSchema": {
|
|
1306
2425
|
"type": "object",
|
|
1307
2426
|
"properties": {
|
|
1308
|
-
"
|
|
1309
|
-
"type": "
|
|
1310
|
-
"
|
|
1311
|
-
|
|
1312
|
-
|
|
2427
|
+
"size": {
|
|
2428
|
+
"type": "number",
|
|
2429
|
+
"default": 20,
|
|
2430
|
+
"description": "Size in px"
|
|
2431
|
+
},
|
|
2432
|
+
"color": {
|
|
2433
|
+
"type": "string",
|
|
2434
|
+
"description": "Color (CSS color value, default currentColor)"
|
|
2435
|
+
},
|
|
2436
|
+
"aria-label": {
|
|
2437
|
+
"type": "string",
|
|
2438
|
+
"default": "Loading",
|
|
2439
|
+
"description": "Accessibility label"
|
|
2440
|
+
},
|
|
2441
|
+
"style": {
|
|
2442
|
+
"description": "Inline style (CSSProperties)"
|
|
2443
|
+
},
|
|
2444
|
+
"className": {
|
|
2445
|
+
"type": "string",
|
|
2446
|
+
"description": "Color override etc."
|
|
2447
|
+
}
|
|
2448
|
+
},
|
|
2449
|
+
"additionalProperties": false,
|
|
2450
|
+
"description": "Loading indicator. SVG-based. Built-in role=\"status\"."
|
|
2451
|
+
}
|
|
2452
|
+
},
|
|
2453
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2454
|
+
},
|
|
2455
|
+
"stepper": {
|
|
2456
|
+
"$ref": "#/definitions/stepperPropsSchema",
|
|
2457
|
+
"definitions": {
|
|
2458
|
+
"stepperPropsSchema": {
|
|
2459
|
+
"type": "object",
|
|
2460
|
+
"properties": {
|
|
2461
|
+
"steps": {
|
|
2462
|
+
"type": "array",
|
|
2463
|
+
"items": {
|
|
2464
|
+
"type": "object",
|
|
2465
|
+
"properties": {
|
|
2466
|
+
"label": {
|
|
2467
|
+
"type": "string",
|
|
2468
|
+
"description": "Step title"
|
|
2469
|
+
},
|
|
2470
|
+
"description": {
|
|
2471
|
+
"type": "string",
|
|
2472
|
+
"description": "Step description"
|
|
2473
|
+
}
|
|
2474
|
+
},
|
|
2475
|
+
"required": [
|
|
2476
|
+
"label"
|
|
2477
|
+
],
|
|
2478
|
+
"additionalProperties": false
|
|
2479
|
+
},
|
|
2480
|
+
"description": "Step items array (required)"
|
|
2481
|
+
},
|
|
2482
|
+
"current": {
|
|
2483
|
+
"type": "number",
|
|
2484
|
+
"default": 0,
|
|
2485
|
+
"description": "Current step index (0-based)"
|
|
2486
|
+
},
|
|
2487
|
+
"status": {
|
|
2488
|
+
"type": "string",
|
|
2489
|
+
"enum": [
|
|
2490
|
+
"process",
|
|
2491
|
+
"error"
|
|
2492
|
+
],
|
|
2493
|
+
"default": "process",
|
|
2494
|
+
"description": "Current step status"
|
|
2495
|
+
},
|
|
2496
|
+
"orientation": {
|
|
2497
|
+
"type": "string",
|
|
2498
|
+
"enum": [
|
|
2499
|
+
"horizontal",
|
|
2500
|
+
"vertical"
|
|
2501
|
+
],
|
|
2502
|
+
"default": "horizontal",
|
|
2503
|
+
"description": "Layout direction"
|
|
2504
|
+
},
|
|
2505
|
+
"size": {
|
|
2506
|
+
"type": "string",
|
|
2507
|
+
"enum": [
|
|
2508
|
+
"sm",
|
|
2509
|
+
"md"
|
|
2510
|
+
],
|
|
2511
|
+
"default": "md",
|
|
2512
|
+
"description": "Size"
|
|
2513
|
+
},
|
|
2514
|
+
"className": {
|
|
2515
|
+
"type": "string",
|
|
2516
|
+
"description": "Style override"
|
|
2517
|
+
}
|
|
2518
|
+
},
|
|
2519
|
+
"required": [
|
|
2520
|
+
"steps"
|
|
2521
|
+
],
|
|
2522
|
+
"additionalProperties": false,
|
|
2523
|
+
"description": "Stepper. Step-by-step progress indicator."
|
|
2524
|
+
}
|
|
2525
|
+
},
|
|
2526
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2527
|
+
},
|
|
2528
|
+
"switch": {
|
|
2529
|
+
"$ref": "#/definitions/switchPropsSchema",
|
|
2530
|
+
"definitions": {
|
|
2531
|
+
"switchPropsSchema": {
|
|
2532
|
+
"type": "object",
|
|
2533
|
+
"properties": {
|
|
2534
|
+
"size": {
|
|
2535
|
+
"type": "string",
|
|
2536
|
+
"enum": [
|
|
2537
|
+
"sm",
|
|
2538
|
+
"md"
|
|
2539
|
+
],
|
|
2540
|
+
"default": "md",
|
|
2541
|
+
"description": "Size"
|
|
2542
|
+
},
|
|
2543
|
+
"checked": {
|
|
2544
|
+
"type": "boolean",
|
|
2545
|
+
"description": "On/off state"
|
|
2546
|
+
},
|
|
2547
|
+
"disabled": {
|
|
2548
|
+
"type": "boolean",
|
|
2549
|
+
"description": "Disabled"
|
|
2550
|
+
},
|
|
2551
|
+
"readOnly": {
|
|
2552
|
+
"type": "boolean",
|
|
2553
|
+
"description": "Read-only"
|
|
2554
|
+
},
|
|
2555
|
+
"name": {
|
|
2556
|
+
"type": "string",
|
|
2557
|
+
"description": "Form field name"
|
|
2558
|
+
},
|
|
2559
|
+
"id": {
|
|
2560
|
+
"type": "string",
|
|
2561
|
+
"description": "Element ID"
|
|
2562
|
+
},
|
|
2563
|
+
"onCheckedChange": {
|
|
2564
|
+
"description": "Toggle state change callback (checked: boolean) => void"
|
|
2565
|
+
},
|
|
2566
|
+
"onChange": {
|
|
2567
|
+
"description": "Native change event handler (ChangeEvent)"
|
|
2568
|
+
},
|
|
2569
|
+
"className": {
|
|
2570
|
+
"type": "string",
|
|
2571
|
+
"description": "Style override"
|
|
2572
|
+
}
|
|
2573
|
+
},
|
|
2574
|
+
"additionalProperties": false,
|
|
2575
|
+
"description": "Toggle switch. Native checkbox-based, role=\"switch\"."
|
|
2576
|
+
}
|
|
2577
|
+
},
|
|
2578
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2579
|
+
},
|
|
2580
|
+
"tab": {
|
|
2581
|
+
"$ref": "#/definitions/tabPropsSchema",
|
|
2582
|
+
"definitions": {
|
|
2583
|
+
"tabPropsSchema": {
|
|
2584
|
+
"type": "object",
|
|
2585
|
+
"properties": {
|
|
2586
|
+
"items": {
|
|
2587
|
+
"type": "array",
|
|
2588
|
+
"items": {
|
|
2589
|
+
"type": "object",
|
|
2590
|
+
"properties": {
|
|
1313
2591
|
"key": {
|
|
1314
2592
|
"type": "string",
|
|
1315
|
-
"description": "
|
|
2593
|
+
"description": "Tab unique key"
|
|
1316
2594
|
},
|
|
1317
2595
|
"label": {
|
|
1318
|
-
"description": "
|
|
2596
|
+
"description": "Tab label (ReactNode)"
|
|
1319
2597
|
},
|
|
1320
2598
|
"children": {
|
|
1321
|
-
"description": "
|
|
2599
|
+
"description": "Tab panel content (ReactNode)"
|
|
1322
2600
|
},
|
|
1323
2601
|
"disabled": {
|
|
1324
2602
|
"type": "boolean",
|
|
1325
|
-
"description": "
|
|
2603
|
+
"description": "Disabled"
|
|
1326
2604
|
}
|
|
1327
2605
|
},
|
|
1328
2606
|
"required": [
|
|
@@ -1330,139 +2608,863 @@
|
|
|
1330
2608
|
],
|
|
1331
2609
|
"additionalProperties": false
|
|
1332
2610
|
},
|
|
1333
|
-
"description": "
|
|
2611
|
+
"description": "Tab item array (required)"
|
|
2612
|
+
},
|
|
2613
|
+
"activeKey": {
|
|
2614
|
+
"type": "string",
|
|
2615
|
+
"description": "Controlled mode active key"
|
|
2616
|
+
},
|
|
2617
|
+
"defaultActiveKey": {
|
|
2618
|
+
"type": "string",
|
|
2619
|
+
"description": "Uncontrolled initial key"
|
|
2620
|
+
},
|
|
2621
|
+
"variant": {
|
|
2622
|
+
"type": "string",
|
|
2623
|
+
"enum": [
|
|
2624
|
+
"line",
|
|
2625
|
+
"pill"
|
|
2626
|
+
],
|
|
2627
|
+
"default": "line",
|
|
2628
|
+
"description": "Style"
|
|
2629
|
+
},
|
|
2630
|
+
"size": {
|
|
2631
|
+
"type": "string",
|
|
2632
|
+
"enum": [
|
|
2633
|
+
"sm",
|
|
2634
|
+
"md"
|
|
2635
|
+
],
|
|
2636
|
+
"default": "md",
|
|
2637
|
+
"description": "Size"
|
|
2638
|
+
},
|
|
2639
|
+
"destroyInactive": {
|
|
2640
|
+
"type": "boolean",
|
|
2641
|
+
"default": false,
|
|
2642
|
+
"description": "Unmount inactive panels"
|
|
2643
|
+
},
|
|
2644
|
+
"onTabChange": {
|
|
2645
|
+
"description": "Tab change callback (key: string) => void"
|
|
2646
|
+
},
|
|
2647
|
+
"className": {
|
|
2648
|
+
"type": "string",
|
|
2649
|
+
"description": "Root style"
|
|
2650
|
+
},
|
|
2651
|
+
"tabListClassName": {
|
|
2652
|
+
"type": "string",
|
|
2653
|
+
"description": "Tab list style"
|
|
2654
|
+
},
|
|
2655
|
+
"tabPanelClassName": {
|
|
2656
|
+
"type": "string",
|
|
2657
|
+
"description": "Tab panel style"
|
|
2658
|
+
}
|
|
2659
|
+
},
|
|
2660
|
+
"required": [
|
|
2661
|
+
"items"
|
|
2662
|
+
],
|
|
2663
|
+
"additionalProperties": false,
|
|
2664
|
+
"description": "Tab navigation. line/pill variants."
|
|
2665
|
+
}
|
|
2666
|
+
},
|
|
2667
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2668
|
+
},
|
|
2669
|
+
"table": {
|
|
2670
|
+
"$ref": "#/definitions/tablePropsSchema",
|
|
2671
|
+
"definitions": {
|
|
2672
|
+
"tablePropsSchema": {
|
|
2673
|
+
"type": "object",
|
|
2674
|
+
"properties": {
|
|
2675
|
+
"list": {
|
|
2676
|
+
"anyOf": [
|
|
2677
|
+
{
|
|
2678
|
+
"type": "array"
|
|
2679
|
+
},
|
|
2680
|
+
{
|
|
2681
|
+
"type": "null"
|
|
2682
|
+
}
|
|
2683
|
+
],
|
|
2684
|
+
"description": "Data array. null/undefined = loading state (required)"
|
|
2685
|
+
},
|
|
2686
|
+
"children": {
|
|
2687
|
+
"description": "Row render function ({ item, index }) => ReactNode (required)"
|
|
2688
|
+
},
|
|
2689
|
+
"hideThead": {
|
|
2690
|
+
"type": "boolean",
|
|
2691
|
+
"description": "Hide table header"
|
|
2692
|
+
},
|
|
2693
|
+
"loading": {
|
|
2694
|
+
"type": "boolean",
|
|
2695
|
+
"description": "Force loading state"
|
|
2696
|
+
},
|
|
2697
|
+
"loadingType": {
|
|
2698
|
+
"type": "string",
|
|
2699
|
+
"enum": [
|
|
2700
|
+
"loading",
|
|
2701
|
+
"skeleton"
|
|
2702
|
+
],
|
|
2703
|
+
"default": "skeleton",
|
|
2704
|
+
"description": "Loading display type"
|
|
2705
|
+
},
|
|
2706
|
+
"loadingElement": {
|
|
2707
|
+
"description": "Custom loading element (ReactElement)"
|
|
2708
|
+
},
|
|
2709
|
+
"skeletonCount": {
|
|
2710
|
+
"type": "number",
|
|
2711
|
+
"default": 10,
|
|
2712
|
+
"description": "Skeleton row count"
|
|
2713
|
+
},
|
|
2714
|
+
"noDataMsg": {
|
|
2715
|
+
"description": "No data message (ReactElement | string)"
|
|
2716
|
+
},
|
|
2717
|
+
"notification": {
|
|
2718
|
+
"description": "Table top notification area (ReactNode)"
|
|
2719
|
+
},
|
|
2720
|
+
"sortUpElement": {
|
|
2721
|
+
"description": "Ascending sort icon (ReactElement)"
|
|
2722
|
+
},
|
|
2723
|
+
"sortDownElement": {
|
|
2724
|
+
"description": "Descending sort icon (ReactElement)"
|
|
2725
|
+
},
|
|
2726
|
+
"className": {
|
|
2727
|
+
"type": "string",
|
|
2728
|
+
"description": "Table wrapper style"
|
|
2729
|
+
},
|
|
2730
|
+
"theadClassName": {
|
|
2731
|
+
"type": "string",
|
|
2732
|
+
"description": "Header row style"
|
|
2733
|
+
}
|
|
2734
|
+
},
|
|
2735
|
+
"required": [
|
|
2736
|
+
"list"
|
|
2737
|
+
],
|
|
2738
|
+
"additionalProperties": false,
|
|
2739
|
+
"description": "Table. Column definitions via TdColumn, row wrapping via TableRow. Built-in sorting/skeleton loading."
|
|
2740
|
+
}
|
|
2741
|
+
},
|
|
2742
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2743
|
+
},
|
|
2744
|
+
"tableRow": {
|
|
2745
|
+
"$ref": "#/definitions/tableRowPropsSchema",
|
|
2746
|
+
"definitions": {
|
|
2747
|
+
"tableRowPropsSchema": {
|
|
2748
|
+
"type": "object",
|
|
2749
|
+
"properties": {
|
|
2750
|
+
"variant": {
|
|
2751
|
+
"type": "string",
|
|
2752
|
+
"enum": [
|
|
2753
|
+
"default",
|
|
2754
|
+
"accent"
|
|
2755
|
+
],
|
|
2756
|
+
"default": "default",
|
|
2757
|
+
"description": "Row style"
|
|
2758
|
+
},
|
|
2759
|
+
"className": {
|
|
2760
|
+
"type": "string",
|
|
2761
|
+
"description": "Style override"
|
|
2762
|
+
},
|
|
2763
|
+
"children": {
|
|
2764
|
+
"description": "TdColumn list (ReactNode, required)"
|
|
2765
|
+
},
|
|
2766
|
+
"onClick": {
|
|
2767
|
+
"description": "Row click callback (e: MouseEvent) => void"
|
|
2768
|
+
}
|
|
2769
|
+
},
|
|
2770
|
+
"additionalProperties": false,
|
|
2771
|
+
"description": "Table row. Used inside Table."
|
|
2772
|
+
}
|
|
2773
|
+
},
|
|
2774
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2775
|
+
},
|
|
2776
|
+
"tdColumn": {
|
|
2777
|
+
"$ref": "#/definitions/tdColumnPropsSchema",
|
|
2778
|
+
"definitions": {
|
|
2779
|
+
"tdColumnPropsSchema": {
|
|
2780
|
+
"type": "object",
|
|
2781
|
+
"properties": {
|
|
2782
|
+
"label": {
|
|
2783
|
+
"description": "Header label (ReactElement | string)"
|
|
2784
|
+
},
|
|
2785
|
+
"fieldId": {
|
|
2786
|
+
"type": [
|
|
2787
|
+
"string",
|
|
2788
|
+
"null"
|
|
2789
|
+
],
|
|
2790
|
+
"description": "Column identifier (sort key, required)"
|
|
2791
|
+
},
|
|
2792
|
+
"size": {
|
|
2793
|
+
"type": [
|
|
2794
|
+
"number",
|
|
2795
|
+
"string"
|
|
2796
|
+
],
|
|
2797
|
+
"description": "Column width (number → px, string → CSS value)"
|
|
2798
|
+
},
|
|
2799
|
+
"align": {
|
|
2800
|
+
"type": "string",
|
|
2801
|
+
"enum": [
|
|
2802
|
+
"left",
|
|
2803
|
+
"center",
|
|
2804
|
+
"right"
|
|
2805
|
+
],
|
|
2806
|
+
"default": "left",
|
|
2807
|
+
"description": "Text alignment"
|
|
2808
|
+
},
|
|
2809
|
+
"textOverflow": {
|
|
2810
|
+
"type": "string",
|
|
2811
|
+
"enum": [
|
|
2812
|
+
"auto",
|
|
2813
|
+
"truncate",
|
|
2814
|
+
"wrap",
|
|
2815
|
+
"break-all"
|
|
2816
|
+
],
|
|
2817
|
+
"default": "truncate",
|
|
2818
|
+
"description": "Text overflow handling"
|
|
2819
|
+
},
|
|
2820
|
+
"highlightKey": {
|
|
2821
|
+
"type": [
|
|
2822
|
+
"string",
|
|
2823
|
+
"null"
|
|
2824
|
+
],
|
|
2825
|
+
"description": "Hover highlight group key"
|
|
2826
|
+
},
|
|
2827
|
+
"colSpan": {
|
|
2828
|
+
"type": "number",
|
|
2829
|
+
"description": "Column span"
|
|
2830
|
+
},
|
|
2831
|
+
"rowSpan": {
|
|
2832
|
+
"type": "number",
|
|
2833
|
+
"description": "Row span"
|
|
2834
|
+
},
|
|
2835
|
+
"thColSpan": {
|
|
2836
|
+
"type": "number",
|
|
2837
|
+
"description": "Header colSpan (<th>)"
|
|
2838
|
+
},
|
|
2839
|
+
"thRowSpan": {
|
|
2840
|
+
"type": "number",
|
|
2841
|
+
"description": "Header rowSpan (<th>)"
|
|
2842
|
+
},
|
|
2843
|
+
"enableSorting": {
|
|
2844
|
+
"type": "boolean",
|
|
2845
|
+
"description": "Enable sorting"
|
|
2846
|
+
},
|
|
2847
|
+
"order": {
|
|
2848
|
+
"type": "string",
|
|
2849
|
+
"enum": [
|
|
2850
|
+
"desc",
|
|
2851
|
+
"asc",
|
|
2852
|
+
""
|
|
2853
|
+
],
|
|
2854
|
+
"description": "Current sort direction"
|
|
2855
|
+
},
|
|
2856
|
+
"sortValue": {
|
|
2857
|
+
"type": [
|
|
2858
|
+
"string",
|
|
2859
|
+
"number"
|
|
2860
|
+
],
|
|
2861
|
+
"description": "Sort criterion value"
|
|
2862
|
+
},
|
|
2863
|
+
"handleClickSort": {
|
|
2864
|
+
"description": "Sort click callback ({ index, fieldId, order }) => void"
|
|
2865
|
+
},
|
|
2866
|
+
"children": {
|
|
2867
|
+
"description": "Cell content (ReactNode, required)"
|
|
2868
|
+
},
|
|
2869
|
+
"className": {
|
|
2870
|
+
"type": "string",
|
|
2871
|
+
"description": "Style override"
|
|
2872
|
+
}
|
|
2873
|
+
},
|
|
2874
|
+
"required": [
|
|
2875
|
+
"fieldId"
|
|
2876
|
+
],
|
|
2877
|
+
"additionalProperties": false,
|
|
2878
|
+
"description": "Table cell/column definition. Used inside TableRow."
|
|
2879
|
+
}
|
|
2880
|
+
},
|
|
2881
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2882
|
+
},
|
|
2883
|
+
"tagInput": {
|
|
2884
|
+
"$ref": "#/definitions/tagInputPropsSchema",
|
|
2885
|
+
"definitions": {
|
|
2886
|
+
"tagInputPropsSchema": {
|
|
2887
|
+
"type": "object",
|
|
2888
|
+
"properties": {
|
|
2889
|
+
"value": {
|
|
2890
|
+
"type": "array",
|
|
2891
|
+
"items": {
|
|
2892
|
+
"type": "string"
|
|
2893
|
+
},
|
|
2894
|
+
"description": "Controlled tags array"
|
|
2895
|
+
},
|
|
2896
|
+
"defaultValue": {
|
|
2897
|
+
"type": "array",
|
|
2898
|
+
"items": {
|
|
2899
|
+
"type": "string"
|
|
2900
|
+
},
|
|
2901
|
+
"description": "Default tags"
|
|
2902
|
+
},
|
|
2903
|
+
"onChange": {
|
|
2904
|
+
"description": "Tags change callback (tags: string[]) => void"
|
|
2905
|
+
},
|
|
2906
|
+
"placeholder": {
|
|
2907
|
+
"type": "string",
|
|
2908
|
+
"default": "태그 입력 후 Enter",
|
|
2909
|
+
"description": "Input placeholder"
|
|
2910
|
+
},
|
|
2911
|
+
"max": {
|
|
2912
|
+
"type": "number",
|
|
2913
|
+
"description": "Maximum number of tags"
|
|
2914
|
+
},
|
|
2915
|
+
"disabled": {
|
|
2916
|
+
"type": "boolean",
|
|
2917
|
+
"description": "Disabled"
|
|
2918
|
+
},
|
|
2919
|
+
"allowDuplicates": {
|
|
2920
|
+
"type": "boolean",
|
|
2921
|
+
"default": false,
|
|
2922
|
+
"description": "Allow duplicate tags"
|
|
2923
|
+
},
|
|
2924
|
+
"label": {
|
|
2925
|
+
"type": "string",
|
|
2926
|
+
"description": "Label text"
|
|
2927
|
+
},
|
|
2928
|
+
"description": {
|
|
2929
|
+
"type": "string",
|
|
2930
|
+
"description": "Helper text below input"
|
|
2931
|
+
},
|
|
2932
|
+
"size": {
|
|
2933
|
+
"type": "string",
|
|
2934
|
+
"enum": [
|
|
2935
|
+
"sm",
|
|
2936
|
+
"md",
|
|
2937
|
+
"lg"
|
|
2938
|
+
],
|
|
2939
|
+
"default": "md",
|
|
2940
|
+
"description": "Size"
|
|
2941
|
+
},
|
|
2942
|
+
"className": {
|
|
2943
|
+
"type": "string",
|
|
2944
|
+
"description": "Style override"
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2947
|
+
"additionalProperties": false,
|
|
2948
|
+
"description": "Tag input. Enter key to add, Backspace to delete last tag."
|
|
2949
|
+
}
|
|
2950
|
+
},
|
|
2951
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
2952
|
+
},
|
|
2953
|
+
"textArea": {
|
|
2954
|
+
"$ref": "#/definitions/textAreaPropsSchema",
|
|
2955
|
+
"definitions": {
|
|
2956
|
+
"textAreaPropsSchema": {
|
|
2957
|
+
"type": "object",
|
|
2958
|
+
"properties": {
|
|
2959
|
+
"label": {
|
|
2960
|
+
"type": "string",
|
|
2961
|
+
"description": "Label text above the textarea"
|
|
2962
|
+
},
|
|
2963
|
+
"description": {
|
|
2964
|
+
"type": "string",
|
|
2965
|
+
"description": "Helper/error description below the textarea"
|
|
2966
|
+
},
|
|
2967
|
+
"size": {
|
|
2968
|
+
"type": "string",
|
|
2969
|
+
"enum": [
|
|
2970
|
+
"lg",
|
|
2971
|
+
"md"
|
|
2972
|
+
],
|
|
2973
|
+
"description": "Font size variant (lg: 16px, md: 14px)"
|
|
2974
|
+
},
|
|
2975
|
+
"resize": {
|
|
2976
|
+
"type": "string",
|
|
2977
|
+
"enum": [
|
|
2978
|
+
"default",
|
|
2979
|
+
"auto",
|
|
2980
|
+
"none"
|
|
2981
|
+
],
|
|
2982
|
+
"description": "Resize mode (default: manual, auto: auto-grow, none: fixed)"
|
|
2983
|
+
},
|
|
2984
|
+
"error": {
|
|
2985
|
+
"type": "boolean",
|
|
2986
|
+
"description": "Error state (auto aria-invalid)"
|
|
2987
|
+
},
|
|
2988
|
+
"showCount": {
|
|
2989
|
+
"type": "boolean",
|
|
2990
|
+
"description": "Show character count (requires maxLength)"
|
|
2991
|
+
},
|
|
2992
|
+
"maxLength": {
|
|
2993
|
+
"type": "number",
|
|
2994
|
+
"description": "Maximum character count"
|
|
2995
|
+
},
|
|
2996
|
+
"placeholder": {
|
|
2997
|
+
"type": "string",
|
|
2998
|
+
"description": "Placeholder"
|
|
2999
|
+
},
|
|
3000
|
+
"rows": {
|
|
3001
|
+
"type": "number",
|
|
3002
|
+
"description": "Visible row count"
|
|
3003
|
+
},
|
|
3004
|
+
"disabled": {
|
|
3005
|
+
"type": "boolean",
|
|
3006
|
+
"description": "Disabled"
|
|
3007
|
+
},
|
|
3008
|
+
"readOnly": {
|
|
3009
|
+
"type": "boolean",
|
|
3010
|
+
"description": "Read-only"
|
|
3011
|
+
},
|
|
3012
|
+
"value": {
|
|
3013
|
+
"type": "string",
|
|
3014
|
+
"description": "Input value (controlled mode)"
|
|
3015
|
+
},
|
|
3016
|
+
"defaultValue": {
|
|
3017
|
+
"type": "string",
|
|
3018
|
+
"description": "Initial value (uncontrolled mode)"
|
|
3019
|
+
},
|
|
3020
|
+
"name": {
|
|
3021
|
+
"type": "string",
|
|
3022
|
+
"description": "Form field name"
|
|
3023
|
+
},
|
|
3024
|
+
"id": {
|
|
3025
|
+
"type": "string",
|
|
3026
|
+
"description": "Element ID"
|
|
3027
|
+
},
|
|
3028
|
+
"autoFocus": {
|
|
3029
|
+
"type": "boolean",
|
|
3030
|
+
"description": "Auto focus"
|
|
3031
|
+
},
|
|
3032
|
+
"onValueChange": {
|
|
3033
|
+
"description": "Value change callback (value: string) => void"
|
|
3034
|
+
},
|
|
3035
|
+
"onChange": {
|
|
3036
|
+
"description": "Native change event handler"
|
|
3037
|
+
},
|
|
3038
|
+
"onBlur": {
|
|
3039
|
+
"description": "Blur callback"
|
|
3040
|
+
},
|
|
3041
|
+
"onFocus": {
|
|
3042
|
+
"description": "Focus callback"
|
|
3043
|
+
},
|
|
3044
|
+
"className": {
|
|
3045
|
+
"type": "string",
|
|
3046
|
+
"description": "Style override"
|
|
3047
|
+
}
|
|
3048
|
+
},
|
|
3049
|
+
"additionalProperties": false,
|
|
3050
|
+
"description": "Multi-line text input with label, description, character counter, and resize modes."
|
|
3051
|
+
}
|
|
3052
|
+
},
|
|
3053
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
3054
|
+
},
|
|
3055
|
+
"textInput": {
|
|
3056
|
+
"$ref": "#/definitions/textInputPropsSchema",
|
|
3057
|
+
"definitions": {
|
|
3058
|
+
"textInputPropsSchema": {
|
|
3059
|
+
"type": "object",
|
|
3060
|
+
"properties": {
|
|
3061
|
+
"size": {
|
|
3062
|
+
"type": "string",
|
|
3063
|
+
"enum": [
|
|
3064
|
+
"md",
|
|
3065
|
+
"lg",
|
|
3066
|
+
"xl"
|
|
3067
|
+
],
|
|
3068
|
+
"default": "md",
|
|
3069
|
+
"description": "Size"
|
|
3070
|
+
},
|
|
3071
|
+
"error": {
|
|
3072
|
+
"type": "boolean",
|
|
3073
|
+
"description": "Error state (auto aria-invalid)"
|
|
3074
|
+
},
|
|
3075
|
+
"prefixIcon": {
|
|
3076
|
+
"description": "Prefix icon (ReactNode)"
|
|
3077
|
+
},
|
|
3078
|
+
"suffixIcon": {
|
|
3079
|
+
"description": "Suffix icon (ReactNode)"
|
|
3080
|
+
},
|
|
3081
|
+
"label": {
|
|
3082
|
+
"description": "Label above input field (ReactNode)"
|
|
3083
|
+
},
|
|
3084
|
+
"description": {
|
|
3085
|
+
"description": "Description below input field (ReactNode, red on error)"
|
|
3086
|
+
},
|
|
3087
|
+
"showCount": {
|
|
3088
|
+
"type": "boolean",
|
|
3089
|
+
"description": "Show character count (requires maxLength)"
|
|
3090
|
+
},
|
|
3091
|
+
"maxLength": {
|
|
3092
|
+
"type": "number",
|
|
3093
|
+
"description": "Maximum character count"
|
|
1334
3094
|
},
|
|
1335
|
-
"
|
|
3095
|
+
"clearable": {
|
|
3096
|
+
"type": "boolean",
|
|
3097
|
+
"description": "Clear input via X button"
|
|
3098
|
+
},
|
|
3099
|
+
"placeholder": {
|
|
1336
3100
|
"type": "string",
|
|
1337
|
-
"description": "
|
|
3101
|
+
"description": "Placeholder"
|
|
1338
3102
|
},
|
|
1339
|
-
"
|
|
3103
|
+
"disabled": {
|
|
3104
|
+
"type": "boolean",
|
|
3105
|
+
"description": "Disabled"
|
|
3106
|
+
},
|
|
3107
|
+
"readOnly": {
|
|
3108
|
+
"type": "boolean",
|
|
3109
|
+
"description": "Read-only"
|
|
3110
|
+
},
|
|
3111
|
+
"value": {
|
|
1340
3112
|
"type": "string",
|
|
1341
|
-
"description": "
|
|
3113
|
+
"description": "Input value (controlled mode)"
|
|
1342
3114
|
},
|
|
1343
|
-
"
|
|
3115
|
+
"defaultValue": {
|
|
1344
3116
|
"type": "string",
|
|
1345
|
-
"
|
|
1346
|
-
"line",
|
|
1347
|
-
"pill"
|
|
1348
|
-
],
|
|
1349
|
-
"default": "line",
|
|
1350
|
-
"description": "스타일"
|
|
3117
|
+
"description": "Initial value (uncontrolled mode)"
|
|
1351
3118
|
},
|
|
1352
|
-
"
|
|
3119
|
+
"type": {
|
|
1353
3120
|
"type": "string",
|
|
1354
|
-
"
|
|
1355
|
-
"sm",
|
|
1356
|
-
"md"
|
|
1357
|
-
],
|
|
1358
|
-
"default": "md",
|
|
1359
|
-
"description": "크기"
|
|
3121
|
+
"description": "Input type (text, password, email, url, etc.)"
|
|
1360
3122
|
},
|
|
1361
|
-
"
|
|
3123
|
+
"name": {
|
|
3124
|
+
"type": "string",
|
|
3125
|
+
"description": "Form field name"
|
|
3126
|
+
},
|
|
3127
|
+
"id": {
|
|
3128
|
+
"type": "string",
|
|
3129
|
+
"description": "Element ID (for label htmlFor binding)"
|
|
3130
|
+
},
|
|
3131
|
+
"autoFocus": {
|
|
1362
3132
|
"type": "boolean",
|
|
1363
|
-
"
|
|
1364
|
-
|
|
3133
|
+
"description": "Auto focus"
|
|
3134
|
+
},
|
|
3135
|
+
"autoComplete": {
|
|
3136
|
+
"type": "string",
|
|
3137
|
+
"description": "Autocomplete hint (on, off, email, etc.)"
|
|
3138
|
+
},
|
|
3139
|
+
"onValueChange": {
|
|
3140
|
+
"description": "Value change callback (value: string) => void"
|
|
3141
|
+
},
|
|
3142
|
+
"onChange": {
|
|
3143
|
+
"description": "Native change event handler"
|
|
3144
|
+
},
|
|
3145
|
+
"onBlur": {
|
|
3146
|
+
"description": "Blur callback"
|
|
3147
|
+
},
|
|
3148
|
+
"onFocus": {
|
|
3149
|
+
"description": "Focus callback"
|
|
1365
3150
|
},
|
|
1366
3151
|
"className": {
|
|
1367
3152
|
"type": "string",
|
|
1368
|
-
"description": "
|
|
3153
|
+
"description": "Style override"
|
|
3154
|
+
}
|
|
3155
|
+
},
|
|
3156
|
+
"additionalProperties": false,
|
|
3157
|
+
"description": "Text input field. Supports label, description, prefix/suffix icons, clearable, character counter."
|
|
3158
|
+
}
|
|
3159
|
+
},
|
|
3160
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
3161
|
+
},
|
|
3162
|
+
"themeProvider": {
|
|
3163
|
+
"$ref": "#/definitions/themeProviderPropsSchema",
|
|
3164
|
+
"definitions": {
|
|
3165
|
+
"themeProviderPropsSchema": {
|
|
3166
|
+
"type": "object",
|
|
3167
|
+
"properties": {
|
|
3168
|
+
"children": {
|
|
3169
|
+
"description": "App root element (ReactNode, required)"
|
|
3170
|
+
},
|
|
3171
|
+
"defaultTheme": {
|
|
3172
|
+
"type": "string",
|
|
3173
|
+
"description": "Default theme (e.g. \"dark\", \"light\")"
|
|
1369
3174
|
},
|
|
1370
|
-
"
|
|
3175
|
+
"storageKey": {
|
|
1371
3176
|
"type": "string",
|
|
1372
|
-
"description": "
|
|
3177
|
+
"description": "localStorage storage key (default: \"theme\")"
|
|
1373
3178
|
},
|
|
1374
|
-
"
|
|
3179
|
+
"themes": {
|
|
3180
|
+
"type": "array",
|
|
3181
|
+
"items": {
|
|
3182
|
+
"type": "string"
|
|
3183
|
+
},
|
|
3184
|
+
"description": "Available theme list (default: [\"light\", \"dark\"])"
|
|
3185
|
+
},
|
|
3186
|
+
"attribute": {
|
|
3187
|
+
"anyOf": [
|
|
3188
|
+
{
|
|
3189
|
+
"type": "string"
|
|
3190
|
+
},
|
|
3191
|
+
{
|
|
3192
|
+
"type": "array",
|
|
3193
|
+
"items": {
|
|
3194
|
+
"type": "string"
|
|
3195
|
+
}
|
|
3196
|
+
}
|
|
3197
|
+
],
|
|
3198
|
+
"description": "Theme HTML attribute (default: \"data-theme\")"
|
|
3199
|
+
},
|
|
3200
|
+
"enableSystem": {
|
|
3201
|
+
"type": "boolean",
|
|
3202
|
+
"description": "Enable system theme detection"
|
|
3203
|
+
},
|
|
3204
|
+
"disableTransitionOnChange": {
|
|
3205
|
+
"type": "boolean",
|
|
3206
|
+
"description": "Disable transitions on theme change"
|
|
3207
|
+
},
|
|
3208
|
+
"forcedTheme": {
|
|
3209
|
+
"type": "string",
|
|
3210
|
+
"description": "Forced theme (user cannot change)"
|
|
3211
|
+
},
|
|
3212
|
+
"enableColorScheme": {
|
|
3213
|
+
"type": "boolean",
|
|
3214
|
+
"description": "Auto-set color-scheme CSS property"
|
|
3215
|
+
},
|
|
3216
|
+
"nonce": {
|
|
1375
3217
|
"type": "string",
|
|
1376
|
-
"description": "
|
|
3218
|
+
"description": "CSP nonce"
|
|
1377
3219
|
}
|
|
1378
3220
|
},
|
|
1379
|
-
"required": [
|
|
1380
|
-
"items"
|
|
1381
|
-
],
|
|
1382
3221
|
"additionalProperties": false,
|
|
1383
|
-
"description": "
|
|
3222
|
+
"description": "Theme provider. Based on next-themes. Access theme state via useTheme() hook."
|
|
1384
3223
|
}
|
|
1385
3224
|
},
|
|
1386
3225
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1387
3226
|
},
|
|
1388
|
-
"
|
|
1389
|
-
"$ref": "#/definitions/
|
|
3227
|
+
"toastOptions": {
|
|
3228
|
+
"$ref": "#/definitions/toastOptionsSchema",
|
|
1390
3229
|
"definitions": {
|
|
1391
|
-
"
|
|
3230
|
+
"toastOptionsSchema": {
|
|
1392
3231
|
"type": "object",
|
|
1393
3232
|
"properties": {
|
|
1394
|
-
"
|
|
3233
|
+
"description": {
|
|
3234
|
+
"description": "Toast subtitle (ReactNode)"
|
|
3235
|
+
},
|
|
3236
|
+
"duration": {
|
|
3237
|
+
"type": "number",
|
|
3238
|
+
"description": "Auto-dismiss duration (ms). Default 4000"
|
|
3239
|
+
},
|
|
3240
|
+
"icon": {
|
|
3241
|
+
"description": "Custom icon (ReactNode)"
|
|
3242
|
+
},
|
|
3243
|
+
"action": {
|
|
3244
|
+
"description": "Action button. { label: ReactNode, onClick: () => void }"
|
|
3245
|
+
},
|
|
3246
|
+
"cancel": {
|
|
3247
|
+
"description": "Cancel button. { label: ReactNode, onClick: () => void }"
|
|
3248
|
+
},
|
|
3249
|
+
"closeButton": {
|
|
1395
3250
|
"type": "boolean",
|
|
1396
|
-
"description": "
|
|
3251
|
+
"description": "Show close (X) button"
|
|
1397
3252
|
},
|
|
1398
|
-
"
|
|
3253
|
+
"dismissible": {
|
|
1399
3254
|
"type": "boolean",
|
|
1400
|
-
"description": "
|
|
3255
|
+
"description": "Allow dismiss via swipe/click"
|
|
1401
3256
|
},
|
|
1402
|
-
"
|
|
1403
|
-
"type": "
|
|
1404
|
-
"description": "
|
|
3257
|
+
"richColors": {
|
|
3258
|
+
"type": "boolean",
|
|
3259
|
+
"description": "Apply strong colors for success/error/warning/info"
|
|
1405
3260
|
},
|
|
1406
|
-
"
|
|
3261
|
+
"invert": {
|
|
3262
|
+
"type": "boolean",
|
|
3263
|
+
"description": "Invert colors (dark↔light)"
|
|
3264
|
+
},
|
|
3265
|
+
"position": {
|
|
1407
3266
|
"type": "string",
|
|
1408
|
-
"
|
|
3267
|
+
"enum": [
|
|
3268
|
+
"top-left",
|
|
3269
|
+
"top-center",
|
|
3270
|
+
"top-right",
|
|
3271
|
+
"bottom-left",
|
|
3272
|
+
"bottom-center",
|
|
3273
|
+
"bottom-right"
|
|
3274
|
+
],
|
|
3275
|
+
"description": "Individual position for this toast"
|
|
1409
3276
|
},
|
|
1410
|
-
"
|
|
1411
|
-
"
|
|
1412
|
-
|
|
3277
|
+
"onDismiss": {
|
|
3278
|
+
"description": "Dismiss callback (toast: ToastT) => void"
|
|
3279
|
+
},
|
|
3280
|
+
"onAutoClose": {
|
|
3281
|
+
"description": "Auto-close callback (toast: ToastT) => void"
|
|
1413
3282
|
},
|
|
1414
3283
|
"className": {
|
|
1415
3284
|
"type": "string",
|
|
1416
|
-
"description": "
|
|
3285
|
+
"description": "Toast custom class"
|
|
3286
|
+
},
|
|
3287
|
+
"style": {
|
|
3288
|
+
"description": "Toast inline style (CSSProperties)"
|
|
3289
|
+
},
|
|
3290
|
+
"unstyled": {
|
|
3291
|
+
"type": "boolean",
|
|
3292
|
+
"description": "Remove default styles (for custom styling)"
|
|
3293
|
+
},
|
|
3294
|
+
"id": {
|
|
3295
|
+
"type": [
|
|
3296
|
+
"string",
|
|
3297
|
+
"number"
|
|
3298
|
+
],
|
|
3299
|
+
"description": "Toast ID (for deduplication or updates)"
|
|
1417
3300
|
}
|
|
1418
3301
|
},
|
|
1419
3302
|
"additionalProperties": false,
|
|
1420
|
-
"description": "
|
|
3303
|
+
"description": "toast() call options. Used as toast(message, options). Fully customizable via toast.custom(jsx)."
|
|
1421
3304
|
}
|
|
1422
3305
|
},
|
|
1423
3306
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1424
3307
|
},
|
|
1425
|
-
"
|
|
1426
|
-
"$ref": "#/definitions/
|
|
3308
|
+
"toaster": {
|
|
3309
|
+
"$ref": "#/definitions/toasterPropsSchema",
|
|
1427
3310
|
"definitions": {
|
|
1428
|
-
"
|
|
3311
|
+
"toasterPropsSchema": {
|
|
1429
3312
|
"type": "object",
|
|
1430
3313
|
"properties": {
|
|
1431
|
-
"
|
|
3314
|
+
"position": {
|
|
1432
3315
|
"type": "string",
|
|
1433
3316
|
"enum": [
|
|
1434
|
-
"
|
|
1435
|
-
"
|
|
1436
|
-
"
|
|
3317
|
+
"top-left",
|
|
3318
|
+
"top-center",
|
|
3319
|
+
"top-right",
|
|
3320
|
+
"bottom-left",
|
|
3321
|
+
"bottom-center",
|
|
3322
|
+
"bottom-right"
|
|
1437
3323
|
],
|
|
1438
|
-
"default": "
|
|
1439
|
-
"description": "
|
|
3324
|
+
"default": "top-center",
|
|
3325
|
+
"description": "Default toast position"
|
|
1440
3326
|
},
|
|
1441
|
-
"
|
|
3327
|
+
"unstyled": {
|
|
1442
3328
|
"type": "boolean",
|
|
1443
|
-
"
|
|
3329
|
+
"default": false,
|
|
3330
|
+
"description": "Remove default styles (for custom styling)"
|
|
1444
3331
|
},
|
|
1445
|
-
"
|
|
1446
|
-
"
|
|
3332
|
+
"theme": {
|
|
3333
|
+
"type": "string",
|
|
3334
|
+
"enum": [
|
|
3335
|
+
"light",
|
|
3336
|
+
"dark",
|
|
3337
|
+
"system"
|
|
3338
|
+
],
|
|
3339
|
+
"description": "Theme setting"
|
|
1447
3340
|
},
|
|
1448
|
-
"
|
|
1449
|
-
"
|
|
3341
|
+
"richColors": {
|
|
3342
|
+
"type": "boolean",
|
|
3343
|
+
"description": "Apply strong colors for success/error/warning/info"
|
|
1450
3344
|
},
|
|
1451
|
-
"
|
|
3345
|
+
"expand": {
|
|
3346
|
+
"type": "boolean",
|
|
3347
|
+
"description": "Always show toasts in expanded state"
|
|
3348
|
+
},
|
|
3349
|
+
"duration": {
|
|
3350
|
+
"type": "number",
|
|
3351
|
+
"description": "Global auto-dismiss duration (ms). Default 4000"
|
|
3352
|
+
},
|
|
3353
|
+
"visibleToasts": {
|
|
3354
|
+
"type": "number",
|
|
3355
|
+
"description": "Maximum visible toasts at once"
|
|
3356
|
+
},
|
|
3357
|
+
"closeButton": {
|
|
3358
|
+
"type": "boolean",
|
|
3359
|
+
"description": "Show close button on all toasts"
|
|
3360
|
+
},
|
|
3361
|
+
"gap": {
|
|
3362
|
+
"type": "number",
|
|
3363
|
+
"description": "Gap between toasts (px)"
|
|
3364
|
+
},
|
|
3365
|
+
"offset": {
|
|
3366
|
+
"description": "Offset from screen edge. string | number | { top, right, bottom, left }"
|
|
3367
|
+
},
|
|
3368
|
+
"dir": {
|
|
3369
|
+
"type": "string",
|
|
3370
|
+
"enum": [
|
|
3371
|
+
"ltr",
|
|
3372
|
+
"rtl",
|
|
3373
|
+
"auto"
|
|
3374
|
+
],
|
|
3375
|
+
"description": "Text direction"
|
|
3376
|
+
}
|
|
3377
|
+
},
|
|
3378
|
+
"additionalProperties": false,
|
|
3379
|
+
"description": "Toaster config. Place once at app root. Display notifications via toast(). Based on sonner."
|
|
3380
|
+
}
|
|
3381
|
+
},
|
|
3382
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
3383
|
+
},
|
|
3384
|
+
"toggleGroup": {
|
|
3385
|
+
"$ref": "#/definitions/toggleGroupPropsSchema",
|
|
3386
|
+
"definitions": {
|
|
3387
|
+
"toggleGroupPropsSchema": {
|
|
3388
|
+
"type": "object",
|
|
3389
|
+
"properties": {
|
|
3390
|
+
"type": {
|
|
3391
|
+
"type": "string",
|
|
3392
|
+
"enum": [
|
|
3393
|
+
"single",
|
|
3394
|
+
"multiple"
|
|
3395
|
+
],
|
|
3396
|
+
"default": "single",
|
|
3397
|
+
"description": "Selection mode"
|
|
3398
|
+
},
|
|
3399
|
+
"items": {
|
|
3400
|
+
"type": "array",
|
|
3401
|
+
"items": {
|
|
3402
|
+
"type": "object",
|
|
3403
|
+
"properties": {
|
|
3404
|
+
"value": {
|
|
3405
|
+
"type": "string",
|
|
3406
|
+
"description": "Item value"
|
|
3407
|
+
},
|
|
3408
|
+
"label": {
|
|
3409
|
+
"description": "Display label (ReactNode)"
|
|
3410
|
+
},
|
|
3411
|
+
"icon": {
|
|
3412
|
+
"description": "Icon (ReactNode)"
|
|
3413
|
+
},
|
|
3414
|
+
"disabled": {
|
|
3415
|
+
"type": "boolean",
|
|
3416
|
+
"description": "Disabled"
|
|
3417
|
+
}
|
|
3418
|
+
},
|
|
3419
|
+
"required": [
|
|
3420
|
+
"value"
|
|
3421
|
+
],
|
|
3422
|
+
"additionalProperties": false
|
|
3423
|
+
},
|
|
3424
|
+
"description": "Toggle items array (required)"
|
|
3425
|
+
},
|
|
3426
|
+
"value": {
|
|
3427
|
+
"description": "Controlled value (string | string[])"
|
|
3428
|
+
},
|
|
3429
|
+
"defaultValue": {
|
|
3430
|
+
"description": "Default value"
|
|
3431
|
+
},
|
|
3432
|
+
"onValueChange": {
|
|
3433
|
+
"description": "Value change callback"
|
|
3434
|
+
},
|
|
3435
|
+
"variant": {
|
|
3436
|
+
"type": "string",
|
|
3437
|
+
"enum": [
|
|
3438
|
+
"default",
|
|
3439
|
+
"outline"
|
|
3440
|
+
],
|
|
3441
|
+
"default": "default",
|
|
3442
|
+
"description": "Style variant"
|
|
3443
|
+
},
|
|
3444
|
+
"size": {
|
|
1452
3445
|
"type": "string",
|
|
1453
|
-
"
|
|
3446
|
+
"enum": [
|
|
3447
|
+
"sm",
|
|
3448
|
+
"md",
|
|
3449
|
+
"lg"
|
|
3450
|
+
],
|
|
3451
|
+
"default": "md",
|
|
3452
|
+
"description": "Size"
|
|
1454
3453
|
},
|
|
1455
3454
|
"disabled": {
|
|
1456
3455
|
"type": "boolean",
|
|
1457
|
-
"description": "
|
|
3456
|
+
"description": "Disable all items"
|
|
1458
3457
|
},
|
|
1459
3458
|
"className": {
|
|
1460
3459
|
"type": "string",
|
|
1461
|
-
"description": "
|
|
3460
|
+
"description": "Style override"
|
|
1462
3461
|
}
|
|
1463
3462
|
},
|
|
3463
|
+
"required": [
|
|
3464
|
+
"items"
|
|
3465
|
+
],
|
|
1464
3466
|
"additionalProperties": false,
|
|
1465
|
-
"description": "
|
|
3467
|
+
"description": "Toggle group / Segment control. Based on Radix ToggleGroup."
|
|
1466
3468
|
}
|
|
1467
3469
|
},
|
|
1468
3470
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1473,8 +3475,11 @@
|
|
|
1473
3475
|
"tooltipPropsSchema": {
|
|
1474
3476
|
"type": "object",
|
|
1475
3477
|
"properties": {
|
|
3478
|
+
"children": {
|
|
3479
|
+
"description": "Trigger element (ReactNode, required)"
|
|
3480
|
+
},
|
|
1476
3481
|
"content": {
|
|
1477
|
-
"description": "
|
|
3482
|
+
"description": "Tooltip content (ReactNode, required)"
|
|
1478
3483
|
},
|
|
1479
3484
|
"variant": {
|
|
1480
3485
|
"type": "string",
|
|
@@ -1483,7 +3488,7 @@
|
|
|
1483
3488
|
"light"
|
|
1484
3489
|
],
|
|
1485
3490
|
"default": "dark",
|
|
1486
|
-
"description": "
|
|
3491
|
+
"description": "Style"
|
|
1487
3492
|
},
|
|
1488
3493
|
"side": {
|
|
1489
3494
|
"type": "string",
|
|
@@ -1494,7 +3499,7 @@
|
|
|
1494
3499
|
"left"
|
|
1495
3500
|
],
|
|
1496
3501
|
"default": "top",
|
|
1497
|
-
"description": "
|
|
3502
|
+
"description": "Position"
|
|
1498
3503
|
},
|
|
1499
3504
|
"align": {
|
|
1500
3505
|
"type": "string",
|
|
@@ -1504,99 +3509,29 @@
|
|
|
1504
3509
|
"end"
|
|
1505
3510
|
],
|
|
1506
3511
|
"default": "center",
|
|
1507
|
-
"description": "
|
|
3512
|
+
"description": "Alignment"
|
|
1508
3513
|
},
|
|
1509
3514
|
"delayDuration": {
|
|
1510
3515
|
"type": "number",
|
|
1511
3516
|
"default": 200,
|
|
1512
|
-
"description": "
|
|
3517
|
+
"description": "Show delay (ms)"
|
|
1513
3518
|
},
|
|
1514
3519
|
"disabled": {
|
|
1515
3520
|
"type": "boolean",
|
|
1516
3521
|
"default": false,
|
|
1517
|
-
"description": "
|
|
3522
|
+
"description": "Disabled"
|
|
1518
3523
|
},
|
|
1519
3524
|
"className": {
|
|
1520
3525
|
"type": "string",
|
|
1521
|
-
"description": "Content
|
|
3526
|
+
"description": "Content style"
|
|
1522
3527
|
},
|
|
1523
3528
|
"triggerClassName": {
|
|
1524
3529
|
"type": "string",
|
|
1525
|
-
"description": "Trigger
|
|
1526
|
-
}
|
|
1527
|
-
},
|
|
1528
|
-
"additionalProperties": false,
|
|
1529
|
-
"description": "툴팁. Radix Tooltip 기반. Provider 내장."
|
|
1530
|
-
}
|
|
1531
|
-
},
|
|
1532
|
-
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
1533
|
-
},
|
|
1534
|
-
"typography": {
|
|
1535
|
-
"$ref": "#/definitions/typographyPropsSchema",
|
|
1536
|
-
"definitions": {
|
|
1537
|
-
"typographyPropsSchema": {
|
|
1538
|
-
"type": "object",
|
|
1539
|
-
"properties": {
|
|
1540
|
-
"variant": {
|
|
1541
|
-
"type": "string",
|
|
1542
|
-
"enum": [
|
|
1543
|
-
"h1",
|
|
1544
|
-
"h2",
|
|
1545
|
-
"h3",
|
|
1546
|
-
"h4",
|
|
1547
|
-
"h5",
|
|
1548
|
-
"h6",
|
|
1549
|
-
"body1",
|
|
1550
|
-
"body2",
|
|
1551
|
-
"caption",
|
|
1552
|
-
"overline",
|
|
1553
|
-
"label"
|
|
1554
|
-
],
|
|
1555
|
-
"default": "body1",
|
|
1556
|
-
"description": "타이포그래피 변형"
|
|
1557
|
-
},
|
|
1558
|
-
"color": {
|
|
1559
|
-
"type": "string",
|
|
1560
|
-
"enum": [
|
|
1561
|
-
"primary",
|
|
1562
|
-
"secondary",
|
|
1563
|
-
"tertiary",
|
|
1564
|
-
"muted",
|
|
1565
|
-
"accent",
|
|
1566
|
-
"danger",
|
|
1567
|
-
"success",
|
|
1568
|
-
"inherit"
|
|
1569
|
-
],
|
|
1570
|
-
"default": "primary",
|
|
1571
|
-
"description": "텍스트 색상"
|
|
1572
|
-
},
|
|
1573
|
-
"as": {
|
|
1574
|
-
"type": "string",
|
|
1575
|
-
"enum": [
|
|
1576
|
-
"h1",
|
|
1577
|
-
"h2",
|
|
1578
|
-
"h3",
|
|
1579
|
-
"h4",
|
|
1580
|
-
"h5",
|
|
1581
|
-
"h6",
|
|
1582
|
-
"p",
|
|
1583
|
-
"span",
|
|
1584
|
-
"label",
|
|
1585
|
-
"div"
|
|
1586
|
-
],
|
|
1587
|
-
"description": "렌더링 태그 (variant별 기본 태그 자동)"
|
|
1588
|
-
},
|
|
1589
|
-
"asChild": {
|
|
1590
|
-
"type": "boolean",
|
|
1591
|
-
"description": "true면 자식 요소로 렌더링 (Slot 패턴)"
|
|
1592
|
-
},
|
|
1593
|
-
"className": {
|
|
1594
|
-
"type": "string",
|
|
1595
|
-
"description": "스타일 오버라이드"
|
|
3530
|
+
"description": "Trigger style"
|
|
1596
3531
|
}
|
|
1597
3532
|
},
|
|
1598
3533
|
"additionalProperties": false,
|
|
1599
|
-
"description": "
|
|
3534
|
+
"description": "Tooltip. Based on Radix Tooltip. Built-in Provider."
|
|
1600
3535
|
}
|
|
1601
3536
|
},
|
|
1602
3537
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1609,7 +3544,7 @@
|
|
|
1609
3544
|
"properties": {
|
|
1610
3545
|
"items": {
|
|
1611
3546
|
"type": "array",
|
|
1612
|
-
"description": "
|
|
3547
|
+
"description": "Data array (required)"
|
|
1613
3548
|
},
|
|
1614
3549
|
"estimateSize": {
|
|
1615
3550
|
"anyOf": [
|
|
@@ -1618,36 +3553,42 @@
|
|
|
1618
3553
|
},
|
|
1619
3554
|
{}
|
|
1620
3555
|
],
|
|
1621
|
-
"description": "
|
|
3556
|
+
"description": "Estimated item height (number or (index) => number, required)"
|
|
1622
3557
|
},
|
|
1623
3558
|
"renderItem": {
|
|
1624
|
-
"description": "
|
|
3559
|
+
"description": "Item renderer (item, index, virtualItem) => ReactNode (required)"
|
|
1625
3560
|
},
|
|
1626
3561
|
"overscan": {
|
|
1627
3562
|
"type": "number",
|
|
1628
3563
|
"default": 5,
|
|
1629
|
-
"description": "
|
|
3564
|
+
"description": "Overscan count"
|
|
1630
3565
|
},
|
|
1631
3566
|
"gap": {
|
|
1632
3567
|
"type": "number",
|
|
1633
3568
|
"default": 0,
|
|
1634
|
-
"description": "
|
|
3569
|
+
"description": "Item gap (px)"
|
|
1635
3570
|
},
|
|
1636
3571
|
"className": {
|
|
1637
3572
|
"type": "string",
|
|
1638
|
-
"description": "
|
|
3573
|
+
"description": "Scroll container style"
|
|
3574
|
+
},
|
|
3575
|
+
"style": {
|
|
3576
|
+
"description": "Inline style (CSSProperties)"
|
|
1639
3577
|
},
|
|
1640
3578
|
"endReachedThreshold": {
|
|
1641
3579
|
"type": "number",
|
|
1642
3580
|
"default": 200,
|
|
1643
|
-
"description": "
|
|
3581
|
+
"description": "End detection threshold (px)"
|
|
3582
|
+
},
|
|
3583
|
+
"onEndReached": {
|
|
3584
|
+
"description": "End reached callback () => void"
|
|
1644
3585
|
}
|
|
1645
3586
|
},
|
|
1646
3587
|
"required": [
|
|
1647
3588
|
"items"
|
|
1648
3589
|
],
|
|
1649
3590
|
"additionalProperties": false,
|
|
1650
|
-
"description": "
|
|
3591
|
+
"description": "Virtual scroll list. Based on @tanstack/react-virtual."
|
|
1651
3592
|
}
|
|
1652
3593
|
},
|
|
1653
3594
|
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
@@ -1660,7 +3601,11 @@
|
|
|
1660
3601
|
"properties": {
|
|
1661
3602
|
"items": {
|
|
1662
3603
|
"type": "array",
|
|
1663
|
-
"description": "
|
|
3604
|
+
"description": "Data array (required)"
|
|
3605
|
+
},
|
|
3606
|
+
"columns": {
|
|
3607
|
+
"type": "number",
|
|
3608
|
+
"description": "Column count (required)"
|
|
1664
3609
|
},
|
|
1665
3610
|
"estimateSize": {
|
|
1666
3611
|
"anyOf": [
|
|
@@ -1669,28 +3614,35 @@
|
|
|
1669
3614
|
},
|
|
1670
3615
|
{}
|
|
1671
3616
|
],
|
|
1672
|
-
"description": "
|
|
1673
|
-
},
|
|
1674
|
-
"columns": {
|
|
1675
|
-
"type": "number",
|
|
1676
|
-
"description": "열 수 (필수)"
|
|
3617
|
+
"description": "Estimated item height (required)"
|
|
1677
3618
|
},
|
|
1678
3619
|
"renderItem": {
|
|
1679
|
-
"description": "
|
|
3620
|
+
"description": "Item renderer (item, index) => ReactNode (required)"
|
|
1680
3621
|
},
|
|
1681
3622
|
"overscan": {
|
|
1682
3623
|
"type": "number",
|
|
1683
3624
|
"default": 3,
|
|
1684
|
-
"description": "
|
|
3625
|
+
"description": "Overscan count"
|
|
1685
3626
|
},
|
|
1686
3627
|
"gap": {
|
|
1687
3628
|
"type": "number",
|
|
1688
3629
|
"default": 0,
|
|
1689
|
-
"description": "
|
|
3630
|
+
"description": "Item gap (px)"
|
|
1690
3631
|
},
|
|
1691
3632
|
"className": {
|
|
1692
3633
|
"type": "string",
|
|
1693
|
-
"description": "
|
|
3634
|
+
"description": "Scroll container style"
|
|
3635
|
+
},
|
|
3636
|
+
"style": {
|
|
3637
|
+
"description": "Inline style (CSSProperties)"
|
|
3638
|
+
},
|
|
3639
|
+
"endReachedThreshold": {
|
|
3640
|
+
"type": "number",
|
|
3641
|
+
"default": 200,
|
|
3642
|
+
"description": "End detection threshold (px)"
|
|
3643
|
+
},
|
|
3644
|
+
"onEndReached": {
|
|
3645
|
+
"description": "End reached callback () => void"
|
|
1694
3646
|
}
|
|
1695
3647
|
},
|
|
1696
3648
|
"required": [
|
|
@@ -1698,7 +3650,7 @@
|
|
|
1698
3650
|
"columns"
|
|
1699
3651
|
],
|
|
1700
3652
|
"additionalProperties": false,
|
|
1701
|
-
"description": "
|
|
3653
|
+
"description": "Virtual scroll grid. Based on @tanstack/react-virtual."
|
|
1702
3654
|
}
|
|
1703
3655
|
},
|
|
1704
3656
|
"$schema": "http://json-schema.org/draft-07/schema#"
|