@promptui-lib/codegen 0.1.4 → 0.1.5
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/dist/detection/component-detector.d.ts +34 -0
- package/dist/detection/component-detector.d.ts.map +1 -0
- package/dist/detection/component-detector.js +564 -0
- package/dist/detection/index.d.ts +7 -0
- package/dist/detection/index.d.ts.map +1 -0
- package/dist/detection/index.js +6 -0
- package/dist/detection/raw-css-generator.d.ts +27 -0
- package/dist/detection/raw-css-generator.d.ts.map +1 -0
- package/dist/detection/raw-css-generator.js +473 -0
- package/dist/frameworks/antd.template.d.ts +18 -0
- package/dist/frameworks/antd.template.d.ts.map +1 -0
- package/dist/frameworks/antd.template.js +268 -0
- package/dist/frameworks/index.d.ts +2 -1
- package/dist/frameworks/index.d.ts.map +1 -1
- package/dist/frameworks/index.js +12 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/mappings/component-mappings.d.ts +6 -0
- package/dist/mappings/component-mappings.d.ts.map +1 -1
- package/dist/mappings/component-mappings.js +496 -0
- package/package.json +2 -2
|
@@ -18,6 +18,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
18
18
|
props: { variant: 'contained' },
|
|
19
19
|
imports: ["import { Button } from '@mui/material';"],
|
|
20
20
|
},
|
|
21
|
+
antd: {
|
|
22
|
+
component: 'Button',
|
|
23
|
+
props: { type: 'primary' },
|
|
24
|
+
imports: ["import { Button } from 'antd';"],
|
|
25
|
+
},
|
|
21
26
|
tailwind: {
|
|
22
27
|
tag: 'button',
|
|
23
28
|
classes: ['px-4', 'py-2', 'rounded-lg', 'font-medium'],
|
|
@@ -45,6 +50,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
45
50
|
component: 'ButtonGroup',
|
|
46
51
|
imports: ["import { ButtonGroup } from '@mui/material';"],
|
|
47
52
|
},
|
|
53
|
+
antd: {
|
|
54
|
+
component: 'Space.Compact',
|
|
55
|
+
imports: ["import { Space, Button } from 'antd';"],
|
|
56
|
+
},
|
|
48
57
|
tailwind: {
|
|
49
58
|
tag: 'div',
|
|
50
59
|
classes: ['inline-flex', 'rounded-lg', 'overflow-hidden'],
|
|
@@ -73,6 +82,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
73
82
|
props: { severity: 'info' },
|
|
74
83
|
imports: ["import { Alert } from '@mui/material';"],
|
|
75
84
|
},
|
|
85
|
+
antd: {
|
|
86
|
+
component: 'Alert',
|
|
87
|
+
props: { type: 'info', showIcon: 'true' },
|
|
88
|
+
imports: ["import { Alert } from 'antd';"],
|
|
89
|
+
},
|
|
76
90
|
tailwind: {
|
|
77
91
|
tag: 'div',
|
|
78
92
|
classes: ['p-4', 'rounded-lg', 'border'],
|
|
@@ -104,6 +118,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
104
118
|
props: { size: 'small' },
|
|
105
119
|
imports: ["import { Chip } from '@mui/material';"],
|
|
106
120
|
},
|
|
121
|
+
antd: {
|
|
122
|
+
component: 'Badge',
|
|
123
|
+
props: { count: '0' },
|
|
124
|
+
imports: ["import { Badge } from 'antd';"],
|
|
125
|
+
},
|
|
107
126
|
tailwind: {
|
|
108
127
|
tag: 'span',
|
|
109
128
|
classes: ['px-2', 'py-1', 'text-xs', 'font-medium', 'rounded-full'],
|
|
@@ -134,6 +153,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
134
153
|
component: 'Card',
|
|
135
154
|
imports: ["import { Card, CardContent } from '@mui/material';"],
|
|
136
155
|
},
|
|
156
|
+
antd: {
|
|
157
|
+
component: 'Card',
|
|
158
|
+
imports: ["import { Card } from 'antd';"],
|
|
159
|
+
},
|
|
137
160
|
tailwind: {
|
|
138
161
|
tag: 'div',
|
|
139
162
|
classes: ['rounded-lg', 'shadow-md', 'overflow-hidden', 'bg-white'],
|
|
@@ -162,6 +185,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
162
185
|
component: 'Dialog',
|
|
163
186
|
imports: ["import { Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material';"],
|
|
164
187
|
},
|
|
188
|
+
antd: {
|
|
189
|
+
component: 'Modal',
|
|
190
|
+
props: { open: 'false' },
|
|
191
|
+
imports: ["import { Modal } from 'antd';"],
|
|
192
|
+
},
|
|
165
193
|
tailwind: {
|
|
166
194
|
tag: 'div',
|
|
167
195
|
classes: ['fixed', 'inset-0', 'z-50', 'flex', 'items-center', 'justify-center'],
|
|
@@ -187,6 +215,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
187
215
|
component: 'Dialog',
|
|
188
216
|
imports: ["import { Dialog, DialogTitle, DialogContent, DialogActions } from '@mui/material';"],
|
|
189
217
|
},
|
|
218
|
+
antd: {
|
|
219
|
+
component: 'Modal',
|
|
220
|
+
props: { open: 'false' },
|
|
221
|
+
imports: ["import { Modal } from 'antd';"],
|
|
222
|
+
},
|
|
190
223
|
tailwind: {
|
|
191
224
|
tag: 'div',
|
|
192
225
|
classes: ['fixed', 'inset-0', 'z-50', 'flex', 'items-center', 'justify-center'],
|
|
@@ -213,6 +246,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
213
246
|
component: 'AppBar',
|
|
214
247
|
imports: ["import { AppBar, Toolbar } from '@mui/material';"],
|
|
215
248
|
},
|
|
249
|
+
antd: {
|
|
250
|
+
component: 'Layout.Header',
|
|
251
|
+
imports: ["import { Layout, Menu } from 'antd';"],
|
|
252
|
+
},
|
|
216
253
|
tailwind: {
|
|
217
254
|
tag: 'nav',
|
|
218
255
|
classes: ['flex', 'items-center', 'justify-between', 'px-6', 'py-4'],
|
|
@@ -237,6 +274,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
237
274
|
component: 'Tabs',
|
|
238
275
|
imports: ["import { Tabs, Tab } from '@mui/material';"],
|
|
239
276
|
},
|
|
277
|
+
antd: {
|
|
278
|
+
component: 'Menu',
|
|
279
|
+
props: { mode: 'horizontal' },
|
|
280
|
+
imports: ["import { Menu } from 'antd';"],
|
|
281
|
+
},
|
|
240
282
|
tailwind: {
|
|
241
283
|
tag: 'nav',
|
|
242
284
|
classes: ['flex', 'space-x-4'],
|
|
@@ -261,6 +303,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
261
303
|
component: 'Tabs',
|
|
262
304
|
imports: ["import { Tabs, Tab } from '@mui/material';"],
|
|
263
305
|
},
|
|
306
|
+
antd: {
|
|
307
|
+
component: 'Tabs',
|
|
308
|
+
imports: ["import { Tabs } from 'antd';"],
|
|
309
|
+
},
|
|
264
310
|
tailwind: {
|
|
265
311
|
tag: 'div',
|
|
266
312
|
classes: ['flex', 'border-b'],
|
|
@@ -286,6 +332,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
286
332
|
component: 'Breadcrumbs',
|
|
287
333
|
imports: ["import { Breadcrumbs, Link } from '@mui/material';"],
|
|
288
334
|
},
|
|
335
|
+
antd: {
|
|
336
|
+
component: 'Breadcrumb',
|
|
337
|
+
imports: ["import { Breadcrumb } from 'antd';"],
|
|
338
|
+
},
|
|
289
339
|
tailwind: {
|
|
290
340
|
tag: 'nav',
|
|
291
341
|
classes: ['flex', 'items-center', 'space-x-2', 'text-sm'],
|
|
@@ -310,6 +360,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
310
360
|
component: 'Pagination',
|
|
311
361
|
imports: ["import { Pagination } from '@mui/material';"],
|
|
312
362
|
},
|
|
363
|
+
antd: {
|
|
364
|
+
component: 'Pagination',
|
|
365
|
+
imports: ["import { Pagination } from 'antd';"],
|
|
366
|
+
},
|
|
313
367
|
tailwind: {
|
|
314
368
|
tag: 'nav',
|
|
315
369
|
classes: ['flex', 'items-center', 'space-x-1'],
|
|
@@ -336,6 +390,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
336
390
|
props: { variant: 'outlined', fullWidth: 'true' },
|
|
337
391
|
imports: ["import { TextField } from '@mui/material';"],
|
|
338
392
|
},
|
|
393
|
+
antd: {
|
|
394
|
+
component: 'Input',
|
|
395
|
+
imports: ["import { Input } from 'antd';"],
|
|
396
|
+
},
|
|
339
397
|
tailwind: {
|
|
340
398
|
tag: 'input',
|
|
341
399
|
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg', 'focus:ring-2', 'focus:outline-none'],
|
|
@@ -363,6 +421,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
363
421
|
props: { variant: 'outlined' },
|
|
364
422
|
imports: ["import { TextField } from '@mui/material';"],
|
|
365
423
|
},
|
|
424
|
+
antd: {
|
|
425
|
+
component: 'Input',
|
|
426
|
+
imports: ["import { Input } from 'antd';"],
|
|
427
|
+
},
|
|
366
428
|
tailwind: {
|
|
367
429
|
tag: 'input',
|
|
368
430
|
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg'],
|
|
@@ -388,6 +450,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
388
450
|
props: { multiline: 'true', rows: '4' },
|
|
389
451
|
imports: ["import { TextField } from '@mui/material';"],
|
|
390
452
|
},
|
|
453
|
+
antd: {
|
|
454
|
+
component: 'Input.TextArea',
|
|
455
|
+
props: { rows: '4' },
|
|
456
|
+
imports: ["import { Input } from 'antd';"],
|
|
457
|
+
},
|
|
391
458
|
tailwind: {
|
|
392
459
|
tag: 'textarea',
|
|
393
460
|
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg', 'resize-y'],
|
|
@@ -413,6 +480,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
413
480
|
component: 'Select',
|
|
414
481
|
imports: ["import { Select, MenuItem, FormControl, InputLabel } from '@mui/material';"],
|
|
415
482
|
},
|
|
483
|
+
antd: {
|
|
484
|
+
component: 'Select',
|
|
485
|
+
imports: ["import { Select } from 'antd';"],
|
|
486
|
+
},
|
|
416
487
|
tailwind: {
|
|
417
488
|
tag: 'select',
|
|
418
489
|
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg', 'bg-white'],
|
|
@@ -439,6 +510,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
439
510
|
component: 'Checkbox',
|
|
440
511
|
imports: ["import { Checkbox, FormControlLabel } from '@mui/material';"],
|
|
441
512
|
},
|
|
513
|
+
antd: {
|
|
514
|
+
component: 'Checkbox',
|
|
515
|
+
imports: ["import { Checkbox } from 'antd';"],
|
|
516
|
+
},
|
|
442
517
|
tailwind: {
|
|
443
518
|
tag: 'input',
|
|
444
519
|
classes: ['w-4', 'h-4', 'rounded', 'border-gray-300'],
|
|
@@ -465,6 +540,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
465
540
|
component: 'Radio',
|
|
466
541
|
imports: ["import { Radio, RadioGroup, FormControlLabel } from '@mui/material';"],
|
|
467
542
|
},
|
|
543
|
+
antd: {
|
|
544
|
+
component: 'Radio',
|
|
545
|
+
imports: ["import { Radio } from 'antd';"],
|
|
546
|
+
},
|
|
468
547
|
tailwind: {
|
|
469
548
|
tag: 'input',
|
|
470
549
|
classes: ['w-4', 'h-4', 'border-gray-300'],
|
|
@@ -490,6 +569,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
490
569
|
component: 'Switch',
|
|
491
570
|
imports: ["import { Switch, FormControlLabel } from '@mui/material';"],
|
|
492
571
|
},
|
|
572
|
+
antd: {
|
|
573
|
+
component: 'Switch',
|
|
574
|
+
imports: ["import { Switch } from 'antd';"],
|
|
575
|
+
},
|
|
493
576
|
tailwind: {
|
|
494
577
|
tag: 'button',
|
|
495
578
|
classes: ['relative', 'inline-flex', 'h-6', 'w-11', 'rounded-full', 'transition-colors'],
|
|
@@ -514,6 +597,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
514
597
|
component: 'FormControl',
|
|
515
598
|
imports: ["import { FormControl, FormLabel } from '@mui/material';"],
|
|
516
599
|
},
|
|
600
|
+
antd: {
|
|
601
|
+
component: 'Form.Item',
|
|
602
|
+
imports: ["import { Form } from 'antd';"],
|
|
603
|
+
},
|
|
517
604
|
tailwind: {
|
|
518
605
|
tag: 'div',
|
|
519
606
|
classes: ['mb-4'],
|
|
@@ -542,6 +629,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
542
629
|
component: 'CircularProgress',
|
|
543
630
|
imports: ["import { CircularProgress } from '@mui/material';"],
|
|
544
631
|
},
|
|
632
|
+
antd: {
|
|
633
|
+
component: 'Spin',
|
|
634
|
+
imports: ["import { Spin } from 'antd';"],
|
|
635
|
+
},
|
|
545
636
|
tailwind: {
|
|
546
637
|
tag: 'div',
|
|
547
638
|
classes: ['animate-spin', 'rounded-full', 'border-2', 'border-t-transparent'],
|
|
@@ -570,6 +661,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
570
661
|
component: 'CircularProgress',
|
|
571
662
|
imports: ["import { CircularProgress } from '@mui/material';"],
|
|
572
663
|
},
|
|
664
|
+
antd: {
|
|
665
|
+
component: 'Spin',
|
|
666
|
+
props: { spinning: 'true' },
|
|
667
|
+
imports: ["import { Spin } from 'antd';"],
|
|
668
|
+
},
|
|
573
669
|
tailwind: {
|
|
574
670
|
tag: 'div',
|
|
575
671
|
classes: ['animate-spin', 'rounded-full', 'border-2', 'border-t-transparent'],
|
|
@@ -597,6 +693,11 @@ export const COMPONENT_MAPPINGS = {
|
|
|
597
693
|
component: 'LinearProgress',
|
|
598
694
|
imports: ["import { LinearProgress } from '@mui/material';"],
|
|
599
695
|
},
|
|
696
|
+
antd: {
|
|
697
|
+
component: 'Progress',
|
|
698
|
+
props: { percent: '0' },
|
|
699
|
+
imports: ["import { Progress } from 'antd';"],
|
|
700
|
+
},
|
|
600
701
|
tailwind: {
|
|
601
702
|
tag: 'div',
|
|
602
703
|
classes: ['w-full', 'bg-gray-200', 'rounded-full', 'h-2'],
|
|
@@ -623,6 +724,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
623
724
|
component: 'Snackbar',
|
|
624
725
|
imports: ["import { Snackbar, Alert } from '@mui/material';"],
|
|
625
726
|
},
|
|
727
|
+
antd: {
|
|
728
|
+
component: 'message',
|
|
729
|
+
imports: ["import { message } from 'antd';"],
|
|
730
|
+
},
|
|
626
731
|
tailwind: {
|
|
627
732
|
tag: 'div',
|
|
628
733
|
classes: ['fixed', 'bottom-4', 'right-4', 'p-4', 'rounded-lg', 'shadow-lg'],
|
|
@@ -648,6 +753,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
648
753
|
component: 'Snackbar',
|
|
649
754
|
imports: ["import { Snackbar } from '@mui/material';"],
|
|
650
755
|
},
|
|
756
|
+
antd: {
|
|
757
|
+
component: 'message',
|
|
758
|
+
imports: ["import { message } from 'antd';"],
|
|
759
|
+
},
|
|
651
760
|
tailwind: {
|
|
652
761
|
tag: 'div',
|
|
653
762
|
classes: ['fixed', 'bottom-4', 'left-1/2', '-translate-x-1/2', 'p-4', 'rounded-lg'],
|
|
@@ -673,6 +782,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
673
782
|
component: 'Tooltip',
|
|
674
783
|
imports: ["import { Tooltip } from '@mui/material';"],
|
|
675
784
|
},
|
|
785
|
+
antd: {
|
|
786
|
+
component: 'Tooltip',
|
|
787
|
+
imports: ["import { Tooltip } from 'antd';"],
|
|
788
|
+
},
|
|
676
789
|
tailwind: {
|
|
677
790
|
tag: 'div',
|
|
678
791
|
classes: ['relative', 'group'],
|
|
@@ -699,6 +812,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
699
812
|
component: 'Menu',
|
|
700
813
|
imports: ["import { Menu, MenuItem, Button } from '@mui/material';"],
|
|
701
814
|
},
|
|
815
|
+
antd: {
|
|
816
|
+
component: 'Dropdown',
|
|
817
|
+
imports: ["import { Dropdown } from 'antd';"],
|
|
818
|
+
},
|
|
702
819
|
tailwind: {
|
|
703
820
|
tag: 'div',
|
|
704
821
|
classes: ['relative', 'inline-block'],
|
|
@@ -723,6 +840,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
723
840
|
component: 'Menu',
|
|
724
841
|
imports: ["import { Menu, MenuItem } from '@mui/material';"],
|
|
725
842
|
},
|
|
843
|
+
antd: {
|
|
844
|
+
component: 'Menu',
|
|
845
|
+
imports: ["import { Menu } from 'antd';"],
|
|
846
|
+
},
|
|
726
847
|
tailwind: {
|
|
727
848
|
tag: 'div',
|
|
728
849
|
classes: ['absolute', 'mt-2', 'py-2', 'bg-white', 'rounded-lg', 'shadow-lg'],
|
|
@@ -747,6 +868,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
747
868
|
component: 'List',
|
|
748
869
|
imports: ["import { List, ListItem, ListItemText } from '@mui/material';"],
|
|
749
870
|
},
|
|
871
|
+
antd: {
|
|
872
|
+
component: 'List',
|
|
873
|
+
imports: ["import { List } from 'antd';"],
|
|
874
|
+
},
|
|
750
875
|
tailwind: {
|
|
751
876
|
tag: 'ul',
|
|
752
877
|
classes: ['divide-y', 'rounded-lg', 'border'],
|
|
@@ -771,6 +896,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
771
896
|
component: 'List',
|
|
772
897
|
imports: ["import { List, ListItem } from '@mui/material';"],
|
|
773
898
|
},
|
|
899
|
+
antd: {
|
|
900
|
+
component: 'List',
|
|
901
|
+
imports: ["import { List } from 'antd';"],
|
|
902
|
+
},
|
|
774
903
|
tailwind: {
|
|
775
904
|
tag: 'ul',
|
|
776
905
|
classes: ['space-y-2'],
|
|
@@ -795,6 +924,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
795
924
|
component: 'Table',
|
|
796
925
|
imports: ["import { Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from '@mui/material';"],
|
|
797
926
|
},
|
|
927
|
+
antd: {
|
|
928
|
+
component: 'Table',
|
|
929
|
+
imports: ["import { Table } from 'antd';"],
|
|
930
|
+
},
|
|
798
931
|
tailwind: {
|
|
799
932
|
tag: 'table',
|
|
800
933
|
classes: ['w-full', 'text-left', 'border-collapse'],
|
|
@@ -819,6 +952,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
819
952
|
component: 'Accordion',
|
|
820
953
|
imports: ["import { Accordion, AccordionSummary, AccordionDetails } from '@mui/material';"],
|
|
821
954
|
},
|
|
955
|
+
antd: {
|
|
956
|
+
component: 'Collapse',
|
|
957
|
+
imports: ["import { Collapse } from 'antd';"],
|
|
958
|
+
},
|
|
822
959
|
tailwind: {
|
|
823
960
|
tag: 'div',
|
|
824
961
|
classes: ['divide-y', 'border', 'rounded-lg'],
|
|
@@ -843,6 +980,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
843
980
|
component: 'Collapse',
|
|
844
981
|
imports: ["import { Collapse } from '@mui/material';"],
|
|
845
982
|
},
|
|
983
|
+
antd: {
|
|
984
|
+
component: 'Collapse',
|
|
985
|
+
imports: ["import { Collapse } from 'antd';"],
|
|
986
|
+
},
|
|
846
987
|
tailwind: {
|
|
847
988
|
tag: 'div',
|
|
848
989
|
classes: ['overflow-hidden', 'transition-all'],
|
|
@@ -869,6 +1010,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
869
1010
|
component: 'Box',
|
|
870
1011
|
imports: ["import { Box, IconButton } from '@mui/material';"],
|
|
871
1012
|
},
|
|
1013
|
+
antd: {
|
|
1014
|
+
component: 'Carousel',
|
|
1015
|
+
imports: ["import { Carousel } from 'antd';"],
|
|
1016
|
+
},
|
|
872
1017
|
tailwind: {
|
|
873
1018
|
tag: 'div',
|
|
874
1019
|
classes: ['relative', 'overflow-hidden'],
|
|
@@ -894,6 +1039,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
894
1039
|
component: 'Drawer',
|
|
895
1040
|
imports: ["import { Drawer } from '@mui/material';"],
|
|
896
1041
|
},
|
|
1042
|
+
antd: {
|
|
1043
|
+
component: 'Drawer',
|
|
1044
|
+
imports: ["import { Drawer } from 'antd';"],
|
|
1045
|
+
},
|
|
897
1046
|
tailwind: {
|
|
898
1047
|
tag: 'div',
|
|
899
1048
|
classes: ['fixed', 'inset-y-0', 'left-0', 'w-64', 'transform', '-translate-x-full'],
|
|
@@ -919,6 +1068,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
919
1068
|
component: 'Drawer',
|
|
920
1069
|
imports: ["import { Drawer } from '@mui/material';"],
|
|
921
1070
|
},
|
|
1071
|
+
antd: {
|
|
1072
|
+
component: 'Drawer',
|
|
1073
|
+
imports: ["import { Drawer } from 'antd';"],
|
|
1074
|
+
},
|
|
922
1075
|
tailwind: {
|
|
923
1076
|
tag: 'div',
|
|
924
1077
|
classes: ['fixed', 'inset-y-0', 'left-0', 'w-64', 'bg-white', 'shadow-lg'],
|
|
@@ -944,6 +1097,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
944
1097
|
component: 'Avatar',
|
|
945
1098
|
imports: ["import { Avatar } from '@mui/material';"],
|
|
946
1099
|
},
|
|
1100
|
+
antd: {
|
|
1101
|
+
component: 'Avatar',
|
|
1102
|
+
imports: ["import { Avatar } from 'antd';"],
|
|
1103
|
+
},
|
|
947
1104
|
tailwind: {
|
|
948
1105
|
tag: 'img',
|
|
949
1106
|
classes: ['w-10', 'h-10', 'rounded-full', 'object-cover'],
|
|
@@ -969,6 +1126,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
969
1126
|
component: 'Chip',
|
|
970
1127
|
imports: ["import { Chip } from '@mui/material';"],
|
|
971
1128
|
},
|
|
1129
|
+
antd: {
|
|
1130
|
+
component: 'Tag',
|
|
1131
|
+
imports: ["import { Tag } from 'antd';"],
|
|
1132
|
+
},
|
|
972
1133
|
tailwind: {
|
|
973
1134
|
tag: 'span',
|
|
974
1135
|
classes: ['inline-flex', 'items-center', 'px-3', 'py-1', 'rounded-full', 'text-sm'],
|
|
@@ -995,6 +1156,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
995
1156
|
component: 'Slider',
|
|
996
1157
|
imports: ["import { Slider } from '@mui/material';"],
|
|
997
1158
|
},
|
|
1159
|
+
antd: {
|
|
1160
|
+
component: 'Slider',
|
|
1161
|
+
imports: ["import { Slider } from 'antd';"],
|
|
1162
|
+
},
|
|
998
1163
|
tailwind: {
|
|
999
1164
|
tag: 'input',
|
|
1000
1165
|
classes: ['w-full', 'h-2', 'rounded-lg', 'appearance-none', 'cursor-pointer'],
|
|
@@ -1019,6 +1184,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
1019
1184
|
component: 'Divider',
|
|
1020
1185
|
imports: ["import { Divider } from '@mui/material';"],
|
|
1021
1186
|
},
|
|
1187
|
+
antd: {
|
|
1188
|
+
component: 'Divider',
|
|
1189
|
+
imports: ["import { Divider } from 'antd';"],
|
|
1190
|
+
},
|
|
1022
1191
|
tailwind: {
|
|
1023
1192
|
tag: 'hr',
|
|
1024
1193
|
classes: ['border-gray-200'],
|
|
@@ -1043,6 +1212,10 @@ export const COMPONENT_MAPPINGS = {
|
|
|
1043
1212
|
component: 'Skeleton',
|
|
1044
1213
|
imports: ["import { Skeleton } from '@mui/material';"],
|
|
1045
1214
|
},
|
|
1215
|
+
antd: {
|
|
1216
|
+
component: 'Skeleton',
|
|
1217
|
+
imports: ["import { Skeleton } from 'antd';"],
|
|
1218
|
+
},
|
|
1046
1219
|
tailwind: {
|
|
1047
1220
|
tag: 'div',
|
|
1048
1221
|
classes: ['animate-pulse', 'bg-gray-200', 'rounded'],
|
|
@@ -1062,6 +1235,329 @@ export const COMPONENT_MAPPINGS = {
|
|
|
1062
1235
|
modifiers: ['.fill(Color.gray.opacity(0.3))', '.shimmering()'],
|
|
1063
1236
|
},
|
|
1064
1237
|
},
|
|
1238
|
+
// ============= ANT DESIGN SPECIFIC =============
|
|
1239
|
+
datepicker: {
|
|
1240
|
+
bootstrap: {
|
|
1241
|
+
tag: 'input',
|
|
1242
|
+
classes: ['form-control'],
|
|
1243
|
+
wrapper: 'type="date"',
|
|
1244
|
+
},
|
|
1245
|
+
mui: {
|
|
1246
|
+
component: 'DatePicker',
|
|
1247
|
+
imports: ["import { DatePicker } from '@mui/x-date-pickers';"],
|
|
1248
|
+
},
|
|
1249
|
+
antd: {
|
|
1250
|
+
component: 'DatePicker',
|
|
1251
|
+
imports: ["import { DatePicker } from 'antd';"],
|
|
1252
|
+
},
|
|
1253
|
+
tailwind: {
|
|
1254
|
+
tag: 'input',
|
|
1255
|
+
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg'],
|
|
1256
|
+
},
|
|
1257
|
+
scss: {
|
|
1258
|
+
tag: 'input',
|
|
1259
|
+
baseClass: 'datepicker',
|
|
1260
|
+
},
|
|
1261
|
+
flutter: {
|
|
1262
|
+
widget: 'showDatePicker',
|
|
1263
|
+
},
|
|
1264
|
+
swiftui: {
|
|
1265
|
+
view: 'DatePicker',
|
|
1266
|
+
},
|
|
1267
|
+
},
|
|
1268
|
+
timepicker: {
|
|
1269
|
+
bootstrap: {
|
|
1270
|
+
tag: 'input',
|
|
1271
|
+
classes: ['form-control'],
|
|
1272
|
+
wrapper: 'type="time"',
|
|
1273
|
+
},
|
|
1274
|
+
mui: {
|
|
1275
|
+
component: 'TimePicker',
|
|
1276
|
+
imports: ["import { TimePicker } from '@mui/x-date-pickers';"],
|
|
1277
|
+
},
|
|
1278
|
+
antd: {
|
|
1279
|
+
component: 'TimePicker',
|
|
1280
|
+
imports: ["import { TimePicker } from 'antd';"],
|
|
1281
|
+
},
|
|
1282
|
+
tailwind: {
|
|
1283
|
+
tag: 'input',
|
|
1284
|
+
classes: ['w-full', 'px-3', 'py-2', 'border', 'rounded-lg'],
|
|
1285
|
+
},
|
|
1286
|
+
scss: {
|
|
1287
|
+
tag: 'input',
|
|
1288
|
+
baseClass: 'timepicker',
|
|
1289
|
+
},
|
|
1290
|
+
flutter: {
|
|
1291
|
+
widget: 'showTimePicker',
|
|
1292
|
+
},
|
|
1293
|
+
swiftui: {
|
|
1294
|
+
view: 'DatePicker',
|
|
1295
|
+
modifiers: ['.datePickerStyle(.compact)'],
|
|
1296
|
+
},
|
|
1297
|
+
},
|
|
1298
|
+
upload: {
|
|
1299
|
+
bootstrap: {
|
|
1300
|
+
tag: 'input',
|
|
1301
|
+
classes: ['form-control'],
|
|
1302
|
+
wrapper: 'type="file"',
|
|
1303
|
+
},
|
|
1304
|
+
mui: {
|
|
1305
|
+
component: 'Button',
|
|
1306
|
+
props: { component: 'label' },
|
|
1307
|
+
imports: ["import { Button } from '@mui/material';"],
|
|
1308
|
+
},
|
|
1309
|
+
antd: {
|
|
1310
|
+
component: 'Upload',
|
|
1311
|
+
imports: ["import { Upload, Button } from 'antd';"],
|
|
1312
|
+
},
|
|
1313
|
+
tailwind: {
|
|
1314
|
+
tag: 'input',
|
|
1315
|
+
classes: ['block', 'w-full', 'text-sm', 'file:mr-4', 'file:py-2', 'file:px-4', 'file:rounded', 'file:border-0'],
|
|
1316
|
+
},
|
|
1317
|
+
scss: {
|
|
1318
|
+
tag: 'input',
|
|
1319
|
+
baseClass: 'upload',
|
|
1320
|
+
},
|
|
1321
|
+
flutter: {
|
|
1322
|
+
widget: 'ElevatedButton',
|
|
1323
|
+
props: { onPressed: 'pickFile' },
|
|
1324
|
+
},
|
|
1325
|
+
swiftui: {
|
|
1326
|
+
view: 'Button',
|
|
1327
|
+
modifiers: ['.fileImporter(isPresented: $isPresented)'],
|
|
1328
|
+
},
|
|
1329
|
+
},
|
|
1330
|
+
rate: {
|
|
1331
|
+
bootstrap: {
|
|
1332
|
+
tag: 'div',
|
|
1333
|
+
classes: ['d-flex'],
|
|
1334
|
+
},
|
|
1335
|
+
mui: {
|
|
1336
|
+
component: 'Rating',
|
|
1337
|
+
imports: ["import { Rating } from '@mui/material';"],
|
|
1338
|
+
},
|
|
1339
|
+
antd: {
|
|
1340
|
+
component: 'Rate',
|
|
1341
|
+
imports: ["import { Rate } from 'antd';"],
|
|
1342
|
+
},
|
|
1343
|
+
tailwind: {
|
|
1344
|
+
tag: 'div',
|
|
1345
|
+
classes: ['flex', 'items-center', 'space-x-1'],
|
|
1346
|
+
},
|
|
1347
|
+
scss: {
|
|
1348
|
+
tag: 'div',
|
|
1349
|
+
baseClass: 'rate',
|
|
1350
|
+
},
|
|
1351
|
+
flutter: {
|
|
1352
|
+
widget: 'Row',
|
|
1353
|
+
},
|
|
1354
|
+
swiftui: {
|
|
1355
|
+
view: 'HStack',
|
|
1356
|
+
},
|
|
1357
|
+
},
|
|
1358
|
+
tree: {
|
|
1359
|
+
bootstrap: {
|
|
1360
|
+
tag: 'ul',
|
|
1361
|
+
classes: ['list-unstyled'],
|
|
1362
|
+
},
|
|
1363
|
+
mui: {
|
|
1364
|
+
component: 'TreeView',
|
|
1365
|
+
imports: ["import { TreeView, TreeItem } from '@mui/x-tree-view';"],
|
|
1366
|
+
},
|
|
1367
|
+
antd: {
|
|
1368
|
+
component: 'Tree',
|
|
1369
|
+
imports: ["import { Tree } from 'antd';"],
|
|
1370
|
+
},
|
|
1371
|
+
tailwind: {
|
|
1372
|
+
tag: 'ul',
|
|
1373
|
+
classes: ['space-y-1', 'pl-4'],
|
|
1374
|
+
},
|
|
1375
|
+
scss: {
|
|
1376
|
+
tag: 'ul',
|
|
1377
|
+
baseClass: 'tree',
|
|
1378
|
+
},
|
|
1379
|
+
flutter: {
|
|
1380
|
+
widget: 'ExpansionTile',
|
|
1381
|
+
},
|
|
1382
|
+
swiftui: {
|
|
1383
|
+
view: 'OutlineGroup',
|
|
1384
|
+
},
|
|
1385
|
+
},
|
|
1386
|
+
transfer: {
|
|
1387
|
+
bootstrap: {
|
|
1388
|
+
tag: 'div',
|
|
1389
|
+
classes: ['d-flex', 'gap-3'],
|
|
1390
|
+
},
|
|
1391
|
+
mui: {
|
|
1392
|
+
component: 'TransferList',
|
|
1393
|
+
imports: ["import { List, ListItem, Checkbox, Button, Grid } from '@mui/material';"],
|
|
1394
|
+
},
|
|
1395
|
+
antd: {
|
|
1396
|
+
component: 'Transfer',
|
|
1397
|
+
imports: ["import { Transfer } from 'antd';"],
|
|
1398
|
+
},
|
|
1399
|
+
tailwind: {
|
|
1400
|
+
tag: 'div',
|
|
1401
|
+
classes: ['flex', 'items-center', 'gap-4'],
|
|
1402
|
+
},
|
|
1403
|
+
scss: {
|
|
1404
|
+
tag: 'div',
|
|
1405
|
+
baseClass: 'transfer',
|
|
1406
|
+
},
|
|
1407
|
+
flutter: {
|
|
1408
|
+
widget: 'Row',
|
|
1409
|
+
},
|
|
1410
|
+
swiftui: {
|
|
1411
|
+
view: 'HStack',
|
|
1412
|
+
},
|
|
1413
|
+
},
|
|
1414
|
+
popover: {
|
|
1415
|
+
bootstrap: {
|
|
1416
|
+
tag: 'div',
|
|
1417
|
+
classes: [],
|
|
1418
|
+
wrapper: 'data-bs-toggle="popover"',
|
|
1419
|
+
},
|
|
1420
|
+
mui: {
|
|
1421
|
+
component: 'Popover',
|
|
1422
|
+
imports: ["import { Popover } from '@mui/material';"],
|
|
1423
|
+
},
|
|
1424
|
+
antd: {
|
|
1425
|
+
component: 'Popover',
|
|
1426
|
+
imports: ["import { Popover } from 'antd';"],
|
|
1427
|
+
},
|
|
1428
|
+
tailwind: {
|
|
1429
|
+
tag: 'div',
|
|
1430
|
+
classes: ['relative'],
|
|
1431
|
+
},
|
|
1432
|
+
scss: {
|
|
1433
|
+
tag: 'div',
|
|
1434
|
+
baseClass: 'popover',
|
|
1435
|
+
},
|
|
1436
|
+
flutter: {
|
|
1437
|
+
widget: 'PopupMenuButton',
|
|
1438
|
+
},
|
|
1439
|
+
swiftui: {
|
|
1440
|
+
view: 'Button',
|
|
1441
|
+
modifiers: ['.popover(isPresented: $isPresented)'],
|
|
1442
|
+
},
|
|
1443
|
+
},
|
|
1444
|
+
steps: {
|
|
1445
|
+
bootstrap: {
|
|
1446
|
+
tag: 'div',
|
|
1447
|
+
classes: ['d-flex', 'justify-content-between'],
|
|
1448
|
+
},
|
|
1449
|
+
mui: {
|
|
1450
|
+
component: 'Stepper',
|
|
1451
|
+
imports: ["import { Stepper, Step, StepLabel } from '@mui/material';"],
|
|
1452
|
+
},
|
|
1453
|
+
antd: {
|
|
1454
|
+
component: 'Steps',
|
|
1455
|
+
imports: ["import { Steps } from 'antd';"],
|
|
1456
|
+
},
|
|
1457
|
+
tailwind: {
|
|
1458
|
+
tag: 'div',
|
|
1459
|
+
classes: ['flex', 'items-center', 'justify-between'],
|
|
1460
|
+
},
|
|
1461
|
+
scss: {
|
|
1462
|
+
tag: 'div',
|
|
1463
|
+
baseClass: 'steps',
|
|
1464
|
+
},
|
|
1465
|
+
flutter: {
|
|
1466
|
+
widget: 'Stepper',
|
|
1467
|
+
},
|
|
1468
|
+
swiftui: {
|
|
1469
|
+
view: 'HStack',
|
|
1470
|
+
},
|
|
1471
|
+
},
|
|
1472
|
+
timeline: {
|
|
1473
|
+
bootstrap: {
|
|
1474
|
+
tag: 'div',
|
|
1475
|
+
classes: ['d-flex', 'flex-column'],
|
|
1476
|
+
},
|
|
1477
|
+
mui: {
|
|
1478
|
+
component: 'Timeline',
|
|
1479
|
+
imports: ["import { Timeline, TimelineItem, TimelineSeparator, TimelineConnector, TimelineContent, TimelineDot } from '@mui/lab';"],
|
|
1480
|
+
},
|
|
1481
|
+
antd: {
|
|
1482
|
+
component: 'Timeline',
|
|
1483
|
+
imports: ["import { Timeline } from 'antd';"],
|
|
1484
|
+
},
|
|
1485
|
+
tailwind: {
|
|
1486
|
+
tag: 'div',
|
|
1487
|
+
classes: ['relative', 'border-l', 'border-gray-200', 'ml-3'],
|
|
1488
|
+
},
|
|
1489
|
+
scss: {
|
|
1490
|
+
tag: 'div',
|
|
1491
|
+
baseClass: 'timeline',
|
|
1492
|
+
},
|
|
1493
|
+
flutter: {
|
|
1494
|
+
widget: 'Column',
|
|
1495
|
+
},
|
|
1496
|
+
swiftui: {
|
|
1497
|
+
view: 'VStack',
|
|
1498
|
+
modifiers: ['.alignment(.leading)'],
|
|
1499
|
+
},
|
|
1500
|
+
},
|
|
1501
|
+
tag: {
|
|
1502
|
+
bootstrap: {
|
|
1503
|
+
tag: 'span',
|
|
1504
|
+
classes: ['badge'],
|
|
1505
|
+
},
|
|
1506
|
+
mui: {
|
|
1507
|
+
component: 'Chip',
|
|
1508
|
+
props: { size: 'small' },
|
|
1509
|
+
imports: ["import { Chip } from '@mui/material';"],
|
|
1510
|
+
},
|
|
1511
|
+
antd: {
|
|
1512
|
+
component: 'Tag',
|
|
1513
|
+
imports: ["import { Tag } from 'antd';"],
|
|
1514
|
+
},
|
|
1515
|
+
tailwind: {
|
|
1516
|
+
tag: 'span',
|
|
1517
|
+
classes: ['inline-flex', 'items-center', 'px-2', 'py-1', 'text-xs', 'rounded'],
|
|
1518
|
+
},
|
|
1519
|
+
scss: {
|
|
1520
|
+
tag: 'span',
|
|
1521
|
+
baseClass: 'tag',
|
|
1522
|
+
},
|
|
1523
|
+
flutter: {
|
|
1524
|
+
widget: 'Chip',
|
|
1525
|
+
},
|
|
1526
|
+
swiftui: {
|
|
1527
|
+
view: 'Text',
|
|
1528
|
+
modifiers: ['.padding(4)', '.background(Color.gray.opacity(0.2))', '.cornerRadius(4)'],
|
|
1529
|
+
},
|
|
1530
|
+
},
|
|
1531
|
+
segmented: {
|
|
1532
|
+
bootstrap: {
|
|
1533
|
+
tag: 'div',
|
|
1534
|
+
classes: ['btn-group'],
|
|
1535
|
+
wrapper: 'role="group"',
|
|
1536
|
+
},
|
|
1537
|
+
mui: {
|
|
1538
|
+
component: 'ToggleButtonGroup',
|
|
1539
|
+
imports: ["import { ToggleButtonGroup, ToggleButton } from '@mui/material';"],
|
|
1540
|
+
},
|
|
1541
|
+
antd: {
|
|
1542
|
+
component: 'Segmented',
|
|
1543
|
+
imports: ["import { Segmented } from 'antd';"],
|
|
1544
|
+
},
|
|
1545
|
+
tailwind: {
|
|
1546
|
+
tag: 'div',
|
|
1547
|
+
classes: ['inline-flex', 'rounded-lg', 'overflow-hidden', 'border'],
|
|
1548
|
+
},
|
|
1549
|
+
scss: {
|
|
1550
|
+
tag: 'div',
|
|
1551
|
+
baseClass: 'segmented',
|
|
1552
|
+
},
|
|
1553
|
+
flutter: {
|
|
1554
|
+
widget: 'SegmentedButton',
|
|
1555
|
+
},
|
|
1556
|
+
swiftui: {
|
|
1557
|
+
view: 'Picker',
|
|
1558
|
+
modifiers: ['.pickerStyle(.segmented)'],
|
|
1559
|
+
},
|
|
1560
|
+
},
|
|
1065
1561
|
};
|
|
1066
1562
|
/**
|
|
1067
1563
|
* Get component mapping by name (case-insensitive)
|