@sruim/nexus-design 0.0.1 → 0.1.0
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/README.md +5 -10
- package/package.json +10 -12
- package/dist/assets/grid.webp.js +0 -3
- package/dist/components/credits-button/index.d.ts +0 -8
- package/dist/components/credits-button/index.js +0 -40
- package/dist/components/icon/index.d.ts +0 -7
- package/dist/components/icon/index.js +0 -32
- package/dist/components/icon-button/index.d.ts +0 -9
- package/dist/components/icon-button/index.js +0 -36
- package/dist/components/img-uploader/index.d.ts +0 -19
- package/dist/components/img-uploader/index.js +0 -107
- package/dist/components/img-viewer/index.d.ts +0 -16
- package/dist/components/img-viewer/index.js +0 -80
- package/dist/components/index.d.ts +0 -9
- package/dist/components/loadable/index.d.ts +0 -8
- package/dist/components/loadable/index.js +0 -67
- package/dist/components/loading/assets/loading.webp.js +0 -3
- package/dist/components/loading/index.d.ts +0 -16
- package/dist/components/loading/index.js +0 -85
- package/dist/components/model-uploader/index.d.ts +0 -17
- package/dist/components/model-uploader/index.js +0 -93
- package/dist/components/tree/index.d.ts +0 -14
- package/dist/components/tree/index.js +0 -50
- package/dist/components/tree/node.d.ts +0 -23
- package/dist/components/tree/node.js +0 -185
- package/dist/index.d.ts +0 -4
- package/dist/index.js +0 -43
- package/dist/style.css +0 -1193
- package/dist/theme.d.ts +0 -2
- package/dist/theme.js +0 -96
- package/dist/tokens/materials.d.ts +0 -4
- package/dist/tokens/materials.js +0 -4
- package/dist/tokens/nexus.d.ts +0 -51
- package/dist/tokens/nexus.js +0 -42
- package/dist/ui/avatar/index.d.ts +0 -11
- package/dist/ui/avatar/index.js +0 -55
- package/dist/ui/badge/index.d.ts +0 -2
- package/dist/ui/badge/index.js +0 -45
- package/dist/ui/button.d.ts +0 -8
- package/dist/ui/button.js +0 -61
- package/dist/ui/carousel/index.d.ts +0 -43
- package/dist/ui/carousel/index.js +0 -186
- package/dist/ui/checkbox/index.d.ts +0 -4
- package/dist/ui/checkbox/index.js +0 -34
- package/dist/ui/collapsible/index.d.ts +0 -9
- package/dist/ui/collapsible/index.js +0 -7
- package/dist/ui/dialog/confirm.d.ts +0 -20
- package/dist/ui/dialog/confirm.js +0 -80
- package/dist/ui/dialog/dialog.d.ts +0 -26
- package/dist/ui/dialog/dialog.js +0 -97
- package/dist/ui/dialog/index.d.ts +0 -2
- package/dist/ui/drawer.d.ts +0 -22
- package/dist/ui/drawer.js +0 -98
- package/dist/ui/form.d.ts +0 -33
- package/dist/ui/form.js +0 -138
- package/dist/ui/index.d.ts +0 -24
- package/dist/ui/input-otp.d.ts +0 -14
- package/dist/ui/input-otp.js +0 -73
- package/dist/ui/label.d.ts +0 -4
- package/dist/ui/label.js +0 -32
- package/dist/ui/masonry/index.d.ts +0 -13
- package/dist/ui/masonry/index.js +0 -45
- package/dist/ui/popover/index.d.ts +0 -15
- package/dist/ui/popover/index.js +0 -78
- package/dist/ui/progress.d.ts +0 -6
- package/dist/ui/progress.js +0 -48
- package/dist/ui/select/index.d.ts +0 -21
- package/dist/ui/select/index.js +0 -127
- package/dist/ui/slider/index.d.ts +0 -9
- package/dist/ui/slider/index.js +0 -87
- package/dist/ui/snap-input.d.ts +0 -7
- package/dist/ui/snap-input.js +0 -38
- package/dist/ui/sonner.d.ts +0 -5
- package/dist/ui/sonner.js +0 -50
- package/dist/ui/switch.d.ts +0 -4
- package/dist/ui/switch.js +0 -33
- package/dist/ui/table/index.d.ts +0 -22
- package/dist/ui/table/index.js +0 -70
- package/dist/ui/tabs/index.d.ts +0 -12
- package/dist/ui/tabs/index.js +0 -60
- package/dist/ui/toggle/index.d.ts +0 -2
- package/dist/ui/toggle/toggle-group.d.ts +0 -9
- package/dist/ui/toggle/toggle-group.js +0 -54
- package/dist/ui/toggle/toggle.d.ts +0 -11
- package/dist/ui/toggle/toggle.js +0 -45
- package/dist/ui/tooltip/index.d.ts +0 -17
- package/dist/ui/tooltip/index.js +0 -68
- package/dist/utils/config.d.ts +0 -2
- package/dist/utils/config.js +0 -48
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/utils.d.ts +0 -8
- package/dist/utils/utils.js +0 -91
package/README.md
CHANGED
|
@@ -31,7 +31,7 @@ pnpm add react react-dom
|
|
|
31
31
|
|
|
32
32
|
```typescript
|
|
33
33
|
// uno.config.ts
|
|
34
|
-
import { theme } from '@sruim/nexus-design
|
|
34
|
+
import { theme } from '@sruim/nexus-design';
|
|
35
35
|
import { defineConfig, presetUno } from 'unocss';
|
|
36
36
|
|
|
37
37
|
export default defineConfig({
|
|
@@ -52,7 +52,7 @@ import '@sruim/nexus-design/style.css';
|
|
|
52
52
|
Required for imperative dialog APIs (`Dialog.show`, `Confirm.show`):
|
|
53
53
|
|
|
54
54
|
```tsx
|
|
55
|
-
import { Dialoger } from '@sruim/nexus-design
|
|
55
|
+
import { Dialoger } from '@sruim/nexus-design';
|
|
56
56
|
|
|
57
57
|
function App() {
|
|
58
58
|
return (
|
|
@@ -67,8 +67,7 @@ function App() {
|
|
|
67
67
|
### 4. Use Components
|
|
68
68
|
|
|
69
69
|
```tsx
|
|
70
|
-
import { Button, Dialog, Select } from '@sruim/nexus-design
|
|
71
|
-
import { IconButton } from '@sruim/nexus-design/components';
|
|
70
|
+
import { Button, Dialog, Select, IconButton } from '@sruim/nexus-design';
|
|
72
71
|
|
|
73
72
|
function Example() {
|
|
74
73
|
return (
|
|
@@ -84,11 +83,7 @@ function Example() {
|
|
|
84
83
|
|
|
85
84
|
| Path | Description |
|
|
86
85
|
|------|-------------|
|
|
87
|
-
| `@sruim/nexus-design` | All exports |
|
|
88
|
-
| `@sruim/nexus-design/ui` | UI primitives (Button, Dialog, Select...) |
|
|
89
|
-
| `@sruim/nexus-design/components` | Composite components (Icon, IconButton...) |
|
|
90
|
-
| `@sruim/nexus-design/utils` | Utilities (cn, sleep, copy...) |
|
|
91
|
-
| `@sruim/nexus-design/theme` | UnoCSS theme configuration |
|
|
86
|
+
| `@sruim/nexus-design` | All exports (UI, components, utils, theme) |
|
|
92
87
|
| `@sruim/nexus-design/style.css` | Global styles |
|
|
93
88
|
|
|
94
89
|
## Components
|
|
@@ -155,7 +150,7 @@ text-text-disabled // #64748B
|
|
|
155
150
|
### Glass Materials
|
|
156
151
|
|
|
157
152
|
```tsx
|
|
158
|
-
import { FrostGlass, DeepGlass } from '@sruim/nexus-design
|
|
153
|
+
import { FrostGlass, DeepGlass } from '@sruim/nexus-design';
|
|
159
154
|
|
|
160
155
|
// FrostGlass: backdrop-blur-12 bg-slate-900/70 border border-white/10
|
|
161
156
|
// DeepGlass: backdrop-blur-12 bg-slate-950/90
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sruim/nexus-design",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -39,15 +39,6 @@
|
|
|
39
39
|
"files": [
|
|
40
40
|
"dist"
|
|
41
41
|
],
|
|
42
|
-
"scripts": {
|
|
43
|
-
"prepare": "husky",
|
|
44
|
-
"lint": "eslint . --fix",
|
|
45
|
-
"typecheck": "tsc --noEmit",
|
|
46
|
-
"build": "tsc -p tsconfig.build.json && vite build",
|
|
47
|
-
"dev": "vite build --watch",
|
|
48
|
-
"storybook": "storybook dev -p 6006",
|
|
49
|
-
"build-storybook": "storybook build"
|
|
50
|
-
},
|
|
51
42
|
"dependencies": {
|
|
52
43
|
"@hookform/resolvers": "^4.1.3",
|
|
53
44
|
"@radix-ui/react-avatar": "^1.1.3",
|
|
@@ -144,5 +135,12 @@
|
|
|
144
135
|
"node": ">=20.0.0",
|
|
145
136
|
"pnpm": ">=9.6.0"
|
|
146
137
|
},
|
|
147
|
-
"
|
|
148
|
-
|
|
138
|
+
"scripts": {
|
|
139
|
+
"lint": "eslint . --fix",
|
|
140
|
+
"typecheck": "tsc --noEmit",
|
|
141
|
+
"build": "tsc -p tsconfig.build.json && vite build",
|
|
142
|
+
"dev": "vite build --watch",
|
|
143
|
+
"storybook": "storybook dev -p 6006",
|
|
144
|
+
"build-storybook": "storybook build"
|
|
145
|
+
}
|
|
146
|
+
}
|
package/dist/assets/grid.webp.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const grid = "data:image/webp;base64,UklGRjIRAABXRUJQVlA4WAoAAAAwAAAAJwEAJwEASUNDUMgBAAAAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADZBTFBIKQAAAAEH0J6ICJKAJEVZREQ8gCL9/08R/U+gQPz9RxGRAIr8/08iIvXff2QBAFZQOCASDwAAcIMAnQEqKAEoAT4RBoJBIQej3AQAQS0nb/n9N0HTkpc+Gv5J+JP7l/TX7V/If0j8Wv3a+feJz8qmEf6fphvSP5r+tH5u/g7+K/lX4peSz7gPxJ+AL0v/Vvyd/LjRCPUT47/h/7l+NHyNe4/3X+p/id8F/Vj0Q/w//I+tvGBfw7+lf8n+++8z/J/8j+/fz//r/6j4k/QX/Q/y3sof7/+4fkh4APRTPsdeYzSWBC10Bd7xwb9UtDOjxPrjKGaQCuXEPQjGuy3MmyPxd/wx/KNOupvzJXSNhzNsRFSr/9BCeuddXr/PZ/s3joA3V5OQra30kxBoYKNK/hC8IiEmrb95aynbG6O19OivpmOOswY80yjMyR7NClZWWmMaYDvBML/PTTibm71ogxnejaxV+wt7AlzYxw91zPXlcaTREMMYoXp3pcKdVvaKjK5O3cqXkKLU52r1KSvNVp9jxt5VG9sn/wKoaCupOPQb9sOGdXKBdrsXqgtr+AYFf47Cu+intu8FqmbsonxK/kPm4/LXdIezkRGPg2XUBcKY3CEvsrBg2SwH2uCjobM2QK4ktzO09crfbhQp2VDCY1qJ/2AYudqoR/tL4KHq1gyoOnM7+EVVbkmEkwLjbV7gzAv1cnmJoOlCxKgPbB5q7HxDVyQtbBvCADRubE5uVVVSPvBGR23bhNReLy4Y4LBAmPGO6ds9S7oIRgcxfynvwakfUI/kBBgjRJ9datsozJ7d/0j69hXlb+c0oRpfyfcEVpssDrsVbQtnkIVEtEJwfKmPZY0joSxRlnn8bl6puhn3i4Dvd00NjXo3bm44bmRqzMoy0VbkU72bgF9xPyZpAK5TAAa8i1jg8wF+0yOvhELdoLTyaU+ifEAX4REAscmO2VVX/QBdjs1Mes6Wd20a1/hZefDqsnk8Arn/G8OE9VybQ1HADyuulLDj9TOGEpYV10Aop5FdQnYOT06OjVYhP/Xb1eUl90bgPRQMAfXtYZBRxFBR6ir0KDI9YW6/RuhmhihLiGKyKoKv8w1IH1sk8IzjmbmTeBk7/HQcg6Ieyt2nYCFlzm7U/qQGKdNabyUS67JZTcwZ8NChUbiUTMV5NsQ/x6ncgKJanW6pkyNkwjqFXgyzzaDiESKeDAAQwCpQ+2MeB63lJ+vfP605EKZmUFYP019ZWXGc6T7rDhSwlxg7fCVn/jZbeAbZxdjj/gXPRSeVHED0PqcSavC2zH5yKuv4uYNfLo9A08SgUbq3MCj+j4FettnvD52saf1JTfYgYHJ0DyjfIXMoijVg8t6KoAfgX7OM1k//6jY+nYdbxGYunxThlAd1Bj2QFc/e4P/9oa0wL8sll4TumsKLIFtCs5pJP9U9ceMnodLHG2UcF2PAlf51860ACYcb04L4WWVuIf7nfI5WrdW8DXzQAAD+/6tYYgVEMmDMDSwUIkAQko7+mH0pngzD5BYfkhf8zkSW8JFNNeN0ZgMifzMffl/bG/KIN0tcovm4cbD83KfV6rRcTFdpVgRxzfXQPetpdy2gmk2ERTDIhpeR1vh9gAjIoRzZyUJUZCdrQMXSnTpdln/+Fw0Q3WcKBnAbUyS4xbwPeeJnJQ4JeI9Fwz3WFp3HSK55323WXTD5Q84A4kFCdQPkQAoggHhzhec4N/A55087ZLWK9LA/8FlJK5NOSC3P/56MhRRkLtZHIdSfbn6kocJ59VLABgKiRvnQw8zj/WRSwM19k0BpDMiXwQBQs9nPpUPO3XUomK1JkKHKhWLJEfFUTzXqU/Vi3aNbxZBbgWM3i8MTMChPCbYelukEVM1dZXTwhv4NWMh3816FLprPVsu2s8Fo4sBZ0fRkG/iBP3btpHwijYxS1+aUetpFMP/569dN3DMKkavMACKEswAHCCCMd1bJ91yGH0/+h0+caWqjUpXLUQkjf7wadeOPnvQGOD//11O/RYTl0Btf427nrmC3b4UVUJbSNWplw7ARYLABkPixFviJ2Tn4qdjOzzxNAKLFIG93XY90Wz7h37RWEpKabfm9zhQlakaFE1XhmaAVSDbEtSfRxr04hjZOgCxLxqy/po7tbpAVBZT8dA3z8QXCc9iEuRPVBry5MFxn3aEg7DsNPYS2eMWux3+xTvLSgE/jIWoXAcAuKWm+OMJJp4W8gOPVCNw/cFMjm1DpsdSSlgG87pRgSpq3B17NKXIvdNGvUooBPPXens5oCVNMlRYAx/dkh0jWO2K7kJhQLJ9CBoBVGoHTLzTYg3/y9LcIAbVhcWYv/JbYr21oav6uIvl5ZOJiV3RGJ+7XpTrTGcx8Uq5h2wmda+VRcpuawJ0kn038p+MsFg0XWdr7kXJGdTlro/zYz8Og1XDkNQToKN8naFiRhOIEr/sza+/fE11afRz4lAJCtbZKydq01nqGPoKZp5sR2MLYP4QqEubNEVTZWL5MmeEVkVpcq1brPbb3ggwViaYP9fyEBZvdx8RZMKAVAREErnu5OH0/cMBNscGXUsIDMp7NrRPBKib+/q6CpLHUMKFg0wdKZzuyDD9GzbWc8VEmRORbPMUIw4dnxHoLBova6QWBG1YQW95OD+9x8VsAhoFy/R/j+mkrGzJY3xgwIqoHOzoa7lOykj9T4a00k8eKID4N70aHr5P4INzjfF7uVKFUrZMQEg59KIp2MlmDdr2xFHrTeu4Ekp5iYeb0ubrD/ilpbHKxUQha3A/ybPfk5+ntH28Jqhu63A+EMxwiFyx1+xOcTsTFlAK2HuBAiUJ9bHehK+V9lvuGd0DoHytCNrZ6rWkkqzYux3aTDjgIT9bpzDrXwGBfCGTD+cFLcN5+LD38vxcGJQrhMop2lUAOIYP4/I3JHwLXFOxU6qln48E89yWt6iayhVhoGVqULOggJOHlqc5GAoFxf4UcRs8eLH/dX6x+paSLfaQLhFpeAS8ok3XyPHxPybjLrHp6dP8Vaomrq30r+HyKy1LnpfuoUqZho166gX8/TEEai3snEsbsxFz38xCiu34VJh32hXUOf4a9jMIPBMRqk1mkgMQoVG1GDh12FANFn8AUobxuXRutOZ4hg/j8jc6aHWVAHDv+FFUmzFQ6PpvnNF7+xKMOewabK9O8wlB0t+idO4WngXfd4HQH+hamlOyXd20ozmOkC7eF9KdYR3SHS3vifZXOKvNSRPkPB3DEW5zfgz+5IJhOG/0bLV5wUJd+Zx/pTjy9fk39BKBXMsNS6PfxmP83i5OjzRDIKwt0G+taag6kL1j+rfkuOgVcihOst7kZMqFmnZAAko9suwcRaL8bUV37sTsyWvV3Nkys4N2zHMX8M0v0nvIiN1r6Whye5nodoeDMpaNy+rCL3iNc1aYyWLhY6itE1QagC4y4tP2YbHrGxauIfQcU0WiFJoCDLA9BkI9DLD0pOKC7hXTF49aY+TjPw58ELAyLq9vbyDkCm3GWJaFmCauRMe5+AKTc/8psVHI1wLC9tzsTJ/xl4+f8WO2p3ZS8ZOYpHcVBDeIxQ+G3jLW5dg/g6F0ZLny8iVw3h1XnDqS2vttv+U0FGtr8aDMfkmq8YhImC0K18OuSBK529WXZwcjJWLLLxA6uPPAzz5z4Tt9CrN7XAUbXaTY0USKLu5lckyzU3Vf9sgwK7dYNtEBLmqrOkEdcL2CZP1SWecYGfBSsgJC1hPncZO/xHGJRdka8P5lMHrGs8zakDclTKkiImAtUFTIDjuoIPpuhitzcXlWOjK27O0qtWfvx1zZbAo4RDC44YJoweaXo5lRkBs7P8hwaZUJKEp4L7y/gT99jCP0hr1vo5TuM+EZUvbcHk0Qdd6+cVclxls9IofsbQ7HYUs4sHiXT4m/ORaQAE+fZ94N0ZpK9iOI+Mx5lwHYFR0rMneyIgzq/wSi1VSGR2OPsptaEMDdQji5+3F8skGwvDSENAIw8jK2hyIR0WoX4GrsRAM1QdrP8Ok14rq/NmITC6uskCPMPB/fcKb0jqZu33JL8iqc6W1byldNi2pbcY4Yxt9aWl5CP6Yxr36f/Iw040z4W0QeyjKiAQk30q+PXDQ0gvzVcDkX21PYvLeTdUWvDsBXQ2Pcq3hu5gTiHtJHeynZfjjVi8CNuPnmwXe8NO4gKScnVGbJRz+nuIirgR5tmTIrfI1q5GszKaMg/POKJTbNqjXbz4edA1rHRyWzkbFNUgvTiCC5TNnxApewIKbFt/PJzPzs1aK7pw22DJMWpo6aHj9wkHa5qip8n4e4wII+fnRCfioZPulheovK3PTCEqSlv5PC++fCtQ6VVgw+8CNaqgW3PtukNA93d9mYj9vByOargPoy8Y1Izg1GUoRVo0Cd/VrRmoDazhs6dYTfrnXq5Cy6MdY5aQr/tDTa4EWQT/mnbUQbrMPotbDlndr79+cm6Rhee3aHZ9QHQvo5nShn5Er47nUMXspBdL3KDikNZlEiyNTUdHZEdeWP2eQXoG3+tpPqi/CeH5GJOhw02/3LBW0vjYchiw8/bV9C4Dg5or/VD4v1S9T0h6E26oAf0u3th7QWmwCY7MHkq9fcoavvq5P/Apjp4MzrY85GoLX8/+EOzmZEs+f1x/rYNBLvinewOvamjUjbocr9pP8nAgNuEeGE5tvILczu6s7Z16JYWVALalU8D2qBaikp6pMDTGp2oDvecF4F0PUIvgT4ZqGKfN4VACA0p0KqNeLKQcbdoEO3Yub2k4qekApOCxuhfhqs6O4olxLoJ4WP+LqEnGLxnv6w+r3WBxw2ayAG651HTKm7zn34NmThcokpY+QgvqFkvoVUYDcCIA/7skG08LyGJZjlTf/zIXPY0kaZgNXJXx9ylfyNkU4FeJgjzzjHF1z4zj/HboRFx8weXwfAGwprP0pRh0sl+SCyz65JkMq5rY87+Oel+wGDZb7zwDMgEI/cf7ZS4Uh2WE9JZypFHRdo1M3v7PFwPgWosUu50TI6DVAQyDaydTw/Vjw6UEWI4LNLv63d60wnSIvqT/QuDfBiUPehpykZyk52mb2ZFt1LXyULvgpL330yerPp5AEV1DuS+AvYM9ibyCYt0miFlBnGxhdnb1xPU7bTEP8Gnrllrgwz3Cf7dkUKP1Jd3XWcB4K2MJxCR3iW+3EtIjpdTn+52szcsRi4B8p/alQK0FojFjjBXFcMWuRX83Dqfckj6vMqPoAAA";
|
|
2
|
-
|
|
3
|
-
export { grid as default };
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import '@radix-ui/react-portal';
|
|
3
|
-
import '../../ui/avatar/index.js';
|
|
4
|
-
import '../../utils/config.js';
|
|
5
|
-
import { Button } from '../../ui/button.js';
|
|
6
|
-
import '../../ui/carousel/index.js';
|
|
7
|
-
import '../../ui/checkbox/index.js';
|
|
8
|
-
import '../../ui/collapsible/index.js';
|
|
9
|
-
import '../../ui/dialog/confirm.js';
|
|
10
|
-
import '../../ui/dialog/dialog.js';
|
|
11
|
-
import '../../ui/drawer.js';
|
|
12
|
-
import '../../ui/form.js';
|
|
13
|
-
import '../../ui/input-otp.js';
|
|
14
|
-
import '../../ui/label.js';
|
|
15
|
-
import 'react';
|
|
16
|
-
import '../../ui/popover/index.js';
|
|
17
|
-
import '../../ui/progress.js';
|
|
18
|
-
import '../../ui/select/index.js';
|
|
19
|
-
import '../../ui/slider/index.js';
|
|
20
|
-
import '../../ui/sonner.js';
|
|
21
|
-
import '../../ui/switch.js';
|
|
22
|
-
import '../../ui/table/index.js';
|
|
23
|
-
import '../../ui/tabs/index.js';
|
|
24
|
-
import '../../ui/toggle/toggle.js';
|
|
25
|
-
import '../../ui/toggle/toggle-group.js';
|
|
26
|
-
import '../../ui/tooltip/index.js';
|
|
27
|
-
import { Icon } from '../icon/index.js';
|
|
28
|
-
|
|
29
|
-
const CreditsButton = (props) => {
|
|
30
|
-
return /* @__PURE__ */ jsxs(Button, { variant: "solid", size: "large", ...props, children: [
|
|
31
|
-
props.children,
|
|
32
|
-
props.text,
|
|
33
|
-
props.count ? /* @__PURE__ */ jsxs("div", { className: "flex items-center pl-1.5", children: [
|
|
34
|
-
/* @__PURE__ */ jsx(Icon, { className: "size-5", icon: "i-nexus-bolt-monotone" }),
|
|
35
|
-
/* @__PURE__ */ jsx("span", { className: "pl-1.5", children: props.count })
|
|
36
|
-
] }) : null
|
|
37
|
-
] });
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
export { CreditsButton };
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { cn } from '../../utils/config.js';
|
|
3
|
-
import '@radix-ui/react-portal';
|
|
4
|
-
import '../../ui/avatar/index.js';
|
|
5
|
-
import '../../ui/button.js';
|
|
6
|
-
import '../../ui/carousel/index.js';
|
|
7
|
-
import '../../ui/checkbox/index.js';
|
|
8
|
-
import '../../ui/collapsible/index.js';
|
|
9
|
-
import '../../ui/dialog/confirm.js';
|
|
10
|
-
import '../../ui/dialog/dialog.js';
|
|
11
|
-
import '../../ui/drawer.js';
|
|
12
|
-
import '../../ui/form.js';
|
|
13
|
-
import '../../ui/input-otp.js';
|
|
14
|
-
import '../../ui/label.js';
|
|
15
|
-
import 'react';
|
|
16
|
-
import '../../ui/popover/index.js';
|
|
17
|
-
import '../../ui/progress.js';
|
|
18
|
-
import '../../ui/select/index.js';
|
|
19
|
-
import '../../ui/slider/index.js';
|
|
20
|
-
import '../../ui/sonner.js';
|
|
21
|
-
import '../../ui/switch.js';
|
|
22
|
-
import '../../ui/table/index.js';
|
|
23
|
-
import '../../ui/tabs/index.js';
|
|
24
|
-
import '../../ui/toggle/toggle.js';
|
|
25
|
-
import '../../ui/toggle/toggle-group.js';
|
|
26
|
-
import '../../ui/tooltip/index.js';
|
|
27
|
-
|
|
28
|
-
const Icon = ({ icon, className, ...props }) => {
|
|
29
|
-
return /* @__PURE__ */ jsx("div", { className: cn(icon, "v-mid", className), ...props });
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { Icon };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Button } from '../../ui';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
interface Props extends Omit<React.ComponentProps<typeof Button>, 'children'> {
|
|
4
|
-
icon?: string;
|
|
5
|
-
iconClassName?: string;
|
|
6
|
-
text?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const IconButton: React.FC<Props>;
|
|
9
|
-
export {};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import '@radix-ui/react-portal';
|
|
3
|
-
import '../../ui/avatar/index.js';
|
|
4
|
-
import { cn } from '../../utils/config.js';
|
|
5
|
-
import { Button } from '../../ui/button.js';
|
|
6
|
-
import '../../ui/carousel/index.js';
|
|
7
|
-
import '../../ui/checkbox/index.js';
|
|
8
|
-
import '../../ui/collapsible/index.js';
|
|
9
|
-
import '../../ui/dialog/confirm.js';
|
|
10
|
-
import '../../ui/dialog/dialog.js';
|
|
11
|
-
import '../../ui/drawer.js';
|
|
12
|
-
import '../../ui/form.js';
|
|
13
|
-
import '../../ui/input-otp.js';
|
|
14
|
-
import '../../ui/label.js';
|
|
15
|
-
import 'react';
|
|
16
|
-
import '../../ui/popover/index.js';
|
|
17
|
-
import '../../ui/progress.js';
|
|
18
|
-
import '../../ui/select/index.js';
|
|
19
|
-
import '../../ui/slider/index.js';
|
|
20
|
-
import '../../ui/sonner.js';
|
|
21
|
-
import '../../ui/switch.js';
|
|
22
|
-
import '../../ui/table/index.js';
|
|
23
|
-
import '../../ui/tabs/index.js';
|
|
24
|
-
import '../../ui/toggle/toggle.js';
|
|
25
|
-
import '../../ui/toggle/toggle-group.js';
|
|
26
|
-
import '../../ui/tooltip/index.js';
|
|
27
|
-
import { Icon } from '../icon/index.js';
|
|
28
|
-
|
|
29
|
-
const IconButton = ({ icon, text, iconClassName, ...props }) => {
|
|
30
|
-
return /* @__PURE__ */ jsxs(Button, { variant: "solid", size: "large", ...props, children: [
|
|
31
|
-
icon && /* @__PURE__ */ jsx(Icon, { className: cn("mr-1 size-5", iconClassName), icon }),
|
|
32
|
-
text
|
|
33
|
-
] });
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export { IconButton };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
interface InputProps {
|
|
3
|
-
onChange: (file: File | File[]) => void;
|
|
4
|
-
multiple?: boolean;
|
|
5
|
-
}
|
|
6
|
-
interface Props {
|
|
7
|
-
className?: string;
|
|
8
|
-
icon?: string;
|
|
9
|
-
title?: string;
|
|
10
|
-
description?: string;
|
|
11
|
-
required?: boolean;
|
|
12
|
-
onChange: (file: File | File[]) => void;
|
|
13
|
-
multiple?: boolean;
|
|
14
|
-
}
|
|
15
|
-
interface IImgUploader extends React.FC<Props> {
|
|
16
|
-
Input: React.FC<InputProps>;
|
|
17
|
-
}
|
|
18
|
-
export declare const ImgUploader: IImgUploader;
|
|
19
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { FrostGlass } from '../../tokens/materials.js';
|
|
3
|
-
import '@radix-ui/react-portal';
|
|
4
|
-
import '../../ui/avatar/index.js';
|
|
5
|
-
import { cn } from '../../utils/config.js';
|
|
6
|
-
import { checkSize, checkType } from '../../utils/utils.js';
|
|
7
|
-
import '../../ui/button.js';
|
|
8
|
-
import '../../ui/carousel/index.js';
|
|
9
|
-
import '../../ui/checkbox/index.js';
|
|
10
|
-
import '../../ui/collapsible/index.js';
|
|
11
|
-
import '../../ui/dialog/confirm.js';
|
|
12
|
-
import '../../ui/dialog/dialog.js';
|
|
13
|
-
import '../../ui/drawer.js';
|
|
14
|
-
import '../../ui/form.js';
|
|
15
|
-
import '../../ui/input-otp.js';
|
|
16
|
-
import '../../ui/label.js';
|
|
17
|
-
import { useState, useCallback } from 'react';
|
|
18
|
-
import '../../ui/popover/index.js';
|
|
19
|
-
import '../../ui/progress.js';
|
|
20
|
-
import '../../ui/select/index.js';
|
|
21
|
-
import '../../ui/slider/index.js';
|
|
22
|
-
import '../../ui/sonner.js';
|
|
23
|
-
import '../../ui/switch.js';
|
|
24
|
-
import '../../ui/table/index.js';
|
|
25
|
-
import '../../ui/tabs/index.js';
|
|
26
|
-
import '../../ui/toggle/toggle.js';
|
|
27
|
-
import '../../ui/toggle/toggle-group.js';
|
|
28
|
-
import '../../ui/tooltip/index.js';
|
|
29
|
-
import grid from '../../assets/grid.webp.js';
|
|
30
|
-
import { Icon } from '../icon/index.js';
|
|
31
|
-
import { toast } from 'sonner';
|
|
32
|
-
|
|
33
|
-
const Input = ({ onChange, multiple = false }) => {
|
|
34
|
-
const handleChange = (e) => {
|
|
35
|
-
const image = e.target.files?.[0];
|
|
36
|
-
if (!image) return;
|
|
37
|
-
if (!checkSize(image, 5)) {
|
|
38
|
-
toast.error("The uploaded file size cannot exceed 5 MB");
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
if (!checkType(image, "image")) {
|
|
42
|
-
toast.error("This file type is not supported.");
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
onChange(multiple ? Array.from(e.target.files || []) : image);
|
|
46
|
-
e.target.value = "";
|
|
47
|
-
};
|
|
48
|
-
return /* @__PURE__ */ jsx(
|
|
49
|
-
"input",
|
|
50
|
-
{
|
|
51
|
-
className: "absolute inset-0 cursor-pointer opacity-0",
|
|
52
|
-
type: "file",
|
|
53
|
-
max: 10,
|
|
54
|
-
multiple,
|
|
55
|
-
accept: "image/png,image/webp,image/jpg,image/jpeg",
|
|
56
|
-
onChange: handleChange
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
};
|
|
60
|
-
const BaseStyle = "relative size-full flex flex-col items-center justify-center overflow-hidden transition-colors duration-fast ease-smooth hover:bg-surface-hover";
|
|
61
|
-
const BorderStyle = "box-border border border-dashed border-white/20";
|
|
62
|
-
const DragOverStyle = cn("bg-core-blue/10 w-full hover:bg-core-blue/10", FrostGlass);
|
|
63
|
-
const ImgUploader = ({
|
|
64
|
-
className,
|
|
65
|
-
icon,
|
|
66
|
-
title,
|
|
67
|
-
description,
|
|
68
|
-
required,
|
|
69
|
-
onChange,
|
|
70
|
-
multiple
|
|
71
|
-
}) => {
|
|
72
|
-
const [isDragOver, setIsDragOver] = useState(false);
|
|
73
|
-
const handleDragEnter = useCallback(() => setIsDragOver(true), []);
|
|
74
|
-
const handleDragLeave = useCallback(() => setIsDragOver(false), []);
|
|
75
|
-
return /* @__PURE__ */ jsxs(
|
|
76
|
-
"div",
|
|
77
|
-
{
|
|
78
|
-
className: cn(BaseStyle, BorderStyle, className, isDragOver && DragOverStyle),
|
|
79
|
-
onDragOver: handleDragEnter,
|
|
80
|
-
onDragLeave: handleDragLeave,
|
|
81
|
-
onDrop: handleDragLeave,
|
|
82
|
-
children: [
|
|
83
|
-
icon && /* @__PURE__ */ jsx(Icon, { className: "size-5", icon }),
|
|
84
|
-
title && /* @__PURE__ */ jsx("div", { className: "my-1.5 max-w-2/3 w-37.5 text-center text-wrap text-2.5 text-text-primary", children: title }),
|
|
85
|
-
description && /* @__PURE__ */ jsx("div", { className: "max-w-2/3 w-37.5 text-center text-wrap text-2.5 text-text-secondary", children: description }),
|
|
86
|
-
required && /* @__PURE__ */ jsx(
|
|
87
|
-
Icon,
|
|
88
|
-
{
|
|
89
|
-
className: "absolute right-3 top-3 size-3 text-status-error",
|
|
90
|
-
icon: "i-nexus:required-monotone"
|
|
91
|
-
}
|
|
92
|
-
),
|
|
93
|
-
/* @__PURE__ */ jsx(
|
|
94
|
-
"div",
|
|
95
|
-
{
|
|
96
|
-
className: "absolute left-0 top-0 z-0 size-full bg-contain bg-repeat",
|
|
97
|
-
style: { backgroundImage: `url(${grid})` }
|
|
98
|
-
}
|
|
99
|
-
),
|
|
100
|
-
/* @__PURE__ */ jsx(Input, { onChange, multiple })
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
);
|
|
104
|
-
};
|
|
105
|
-
ImgUploader.Input = Input;
|
|
106
|
-
|
|
107
|
-
export { ImgUploader };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
type ImgSource = string | File;
|
|
3
|
-
interface ImgViewerProps {
|
|
4
|
-
className?: string;
|
|
5
|
-
src: ImgSource | ImgSource[];
|
|
6
|
-
children?: React.ReactNode;
|
|
7
|
-
}
|
|
8
|
-
interface ImgViewerComponent extends React.FC<ImgViewerProps> {
|
|
9
|
-
Delete: typeof Delete;
|
|
10
|
-
}
|
|
11
|
-
interface DeleteProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
12
|
-
onClick?: () => void;
|
|
13
|
-
}
|
|
14
|
-
declare const Delete: React.ForwardRefExoticComponent<DeleteProps & React.RefAttributes<HTMLButtonElement>>;
|
|
15
|
-
declare const ImgViewer: ImgViewerComponent;
|
|
16
|
-
export { ImgViewer };
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { cn } from '../../utils/config.js';
|
|
3
|
-
import '@radix-ui/react-portal';
|
|
4
|
-
import '../../ui/avatar/index.js';
|
|
5
|
-
import '../../ui/button.js';
|
|
6
|
-
import '../../ui/carousel/index.js';
|
|
7
|
-
import '../../ui/checkbox/index.js';
|
|
8
|
-
import '../../ui/collapsible/index.js';
|
|
9
|
-
import '../../ui/dialog/confirm.js';
|
|
10
|
-
import '../../ui/dialog/dialog.js';
|
|
11
|
-
import '../../ui/drawer.js';
|
|
12
|
-
import '../../ui/form.js';
|
|
13
|
-
import '../../ui/input-otp.js';
|
|
14
|
-
import '../../ui/label.js';
|
|
15
|
-
import * as React from 'react';
|
|
16
|
-
import { useState, useEffect, useMemo } from 'react';
|
|
17
|
-
import '../../ui/popover/index.js';
|
|
18
|
-
import '../../ui/progress.js';
|
|
19
|
-
import '../../ui/select/index.js';
|
|
20
|
-
import '../../ui/slider/index.js';
|
|
21
|
-
import '../../ui/sonner.js';
|
|
22
|
-
import '../../ui/switch.js';
|
|
23
|
-
import '../../ui/table/index.js';
|
|
24
|
-
import '../../ui/tabs/index.js';
|
|
25
|
-
import '../../ui/toggle/toggle.js';
|
|
26
|
-
import '../../ui/toggle/toggle-group.js';
|
|
27
|
-
import '../../ui/tooltip/index.js';
|
|
28
|
-
import { Icon } from '../icon/index.js';
|
|
29
|
-
|
|
30
|
-
const BaseStyle = "group relative size-full overflow-hidden";
|
|
31
|
-
const BorderStyle = "box-border border border-white/8";
|
|
32
|
-
const Delete = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
33
|
-
"button",
|
|
34
|
-
{
|
|
35
|
-
ref,
|
|
36
|
-
className: cn(
|
|
37
|
-
"absolute bottom-3 right-3 opacity-0 rounded-1/2 transition-opacity duration-base ease-smooth group-hover:opacity-100 group-hover:bg-black/60",
|
|
38
|
-
className
|
|
39
|
-
),
|
|
40
|
-
...props,
|
|
41
|
-
children: /* @__PURE__ */ jsx(Icon, { className: "m-2 size-5 text-text-primary", icon: "i-nexus:delete-monotone" })
|
|
42
|
-
}
|
|
43
|
-
));
|
|
44
|
-
const ImgViewer = ({ src, className, children }) => {
|
|
45
|
-
const [images, setImages] = useState([]);
|
|
46
|
-
useEffect(() => {
|
|
47
|
-
const array = Array.isArray(src) ? src : [src];
|
|
48
|
-
const images2 = array.filter(Boolean).map((source) => {
|
|
49
|
-
if (source instanceof File) return URL.createObjectURL(source);
|
|
50
|
-
return source;
|
|
51
|
-
});
|
|
52
|
-
setImages(images2);
|
|
53
|
-
}, [src]);
|
|
54
|
-
const Inner = useMemo(() => {
|
|
55
|
-
if (images.length === 1) {
|
|
56
|
-
return /* @__PURE__ */ jsx("img", { src: images[0], alt: "preview-img", className: "size-full object-contain" });
|
|
57
|
-
}
|
|
58
|
-
if (images.length > 1) {
|
|
59
|
-
const rotation = [-15, 0, 15];
|
|
60
|
-
return images.slice(-3).map((url, index) => /* @__PURE__ */ jsx(
|
|
61
|
-
"img",
|
|
62
|
-
{
|
|
63
|
-
src: url,
|
|
64
|
-
alt: `preview-img-${index}`,
|
|
65
|
-
className: "absolute left-1/2 top-1/2 size-4/5 rounded-3.5 object-contain shadow-2xl",
|
|
66
|
-
style: { transform: `translate(-50%, -50%) rotate(${rotation[index]}deg)` }
|
|
67
|
-
},
|
|
68
|
-
`${url}${index}`
|
|
69
|
-
));
|
|
70
|
-
}
|
|
71
|
-
return null;
|
|
72
|
-
}, [images]);
|
|
73
|
-
return /* @__PURE__ */ jsxs("div", { className: cn(BaseStyle, BorderStyle, className), children: [
|
|
74
|
-
Inner,
|
|
75
|
-
children
|
|
76
|
-
] });
|
|
77
|
-
};
|
|
78
|
-
ImgViewer.Delete = Delete;
|
|
79
|
-
|
|
80
|
-
export { ImgViewer };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './credits-button';
|
|
2
|
-
export * from './icon';
|
|
3
|
-
export * from './icon-button';
|
|
4
|
-
export * from './img-uploader';
|
|
5
|
-
export * from './img-viewer';
|
|
6
|
-
export * from './loadable';
|
|
7
|
-
export * from './loading';
|
|
8
|
-
export * from './model-uploader';
|
|
9
|
-
export * from './tree';
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { cn } from '../../utils/config.js';
|
|
3
|
-
import '@radix-ui/react-portal';
|
|
4
|
-
import '../../ui/avatar/index.js';
|
|
5
|
-
import '../../ui/button.js';
|
|
6
|
-
import '../../ui/carousel/index.js';
|
|
7
|
-
import '../../ui/checkbox/index.js';
|
|
8
|
-
import '../../ui/collapsible/index.js';
|
|
9
|
-
import '../../ui/dialog/confirm.js';
|
|
10
|
-
import '../../ui/dialog/dialog.js';
|
|
11
|
-
import '../../ui/drawer.js';
|
|
12
|
-
import '../../ui/form.js';
|
|
13
|
-
import '../../ui/input-otp.js';
|
|
14
|
-
import '../../ui/label.js';
|
|
15
|
-
import { useRef, useState, useLayoutEffect } from 'react';
|
|
16
|
-
import '../../ui/popover/index.js';
|
|
17
|
-
import '../../ui/progress.js';
|
|
18
|
-
import '../../ui/select/index.js';
|
|
19
|
-
import '../../ui/slider/index.js';
|
|
20
|
-
import '../../ui/sonner.js';
|
|
21
|
-
import '../../ui/switch.js';
|
|
22
|
-
import '../../ui/table/index.js';
|
|
23
|
-
import '../../ui/tabs/index.js';
|
|
24
|
-
import '../../ui/toggle/toggle.js';
|
|
25
|
-
import '../../ui/toggle/toggle-group.js';
|
|
26
|
-
import '../../ui/tooltip/index.js';
|
|
27
|
-
import { Loading } from '../loading/index.js';
|
|
28
|
-
|
|
29
|
-
const Loadable = ({ children, onLoadMore, className }) => {
|
|
30
|
-
const ref = useRef(null);
|
|
31
|
-
const loadMoreRef = useRef(onLoadMore);
|
|
32
|
-
const loadingRef = useRef(false);
|
|
33
|
-
const [loading, setLoading] = useState(false);
|
|
34
|
-
loadMoreRef.current = onLoadMore;
|
|
35
|
-
loadingRef.current = loading;
|
|
36
|
-
useLayoutEffect(() => {
|
|
37
|
-
if (!ref.current) return;
|
|
38
|
-
const observer = new IntersectionObserver(async ([entry]) => {
|
|
39
|
-
if (entry.intersectionRatio <= 0) return;
|
|
40
|
-
if (loadingRef.current) return;
|
|
41
|
-
try {
|
|
42
|
-
setLoading(true);
|
|
43
|
-
loadingRef.current = true;
|
|
44
|
-
await loadMoreRef.current();
|
|
45
|
-
} catch (error) {
|
|
46
|
-
console.error("加载更多数据时发生错误:", error);
|
|
47
|
-
} finally {
|
|
48
|
-
setLoading(false);
|
|
49
|
-
loadingRef.current = false;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
observer.observe(ref.current);
|
|
53
|
-
return () => observer.disconnect();
|
|
54
|
-
}, []);
|
|
55
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
56
|
-
children,
|
|
57
|
-
/* @__PURE__ */ jsx("div", { ref, className: "min-h-10 w-full", children: loading && /* @__PURE__ */ jsx(
|
|
58
|
-
"div",
|
|
59
|
-
{
|
|
60
|
-
className: cn("w-full flex flex-col items-center justify-center gap-2 mt-5", className),
|
|
61
|
-
children: /* @__PURE__ */ jsx(Loading.Icon, { className: "max-w-10" })
|
|
62
|
-
}
|
|
63
|
-
) })
|
|
64
|
-
] });
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export { Loadable };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const loading = "data:image/webp;base64,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";
|
|
2
|
-
|
|
3
|
-
export { loading as default };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
declare const Root: React.ForwardRefExoticComponent<React.HtmlHTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
3
|
-
declare const Overlay: React.ForwardRefExoticComponent<React.HtmlHTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
-
declare const Icon: React.ForwardRefExoticComponent<React.HtmlHTMLAttributes<HTMLImageElement> & React.RefAttributes<HTMLImageElement>>;
|
|
5
|
-
interface LoadingProps {
|
|
6
|
-
className?: string;
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
}
|
|
9
|
-
interface Loading extends React.FC<LoadingProps> {
|
|
10
|
-
Root: typeof Root;
|
|
11
|
-
Overlay: typeof Overlay;
|
|
12
|
-
Icon: typeof Icon;
|
|
13
|
-
show: (loading?: React.ReactNode) => () => Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
declare const Loading: Loading;
|
|
16
|
-
export { Loading };
|