cadt-icons 1.0.6 → 1.0.7

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.
Files changed (33) hide show
  1. package/README.md +1012 -4
  2. package/dist/{CursorNeswResize-BO3QUemq.js → CursorDiagonalResize-4LLe3xOX.js} +4 -4
  3. package/dist/CursorDiagonalResize-4LLe3xOX.js.map +1 -0
  4. package/dist/CursorDiagonalResize-Jz5QKodf.cjs +2 -0
  5. package/dist/CursorDiagonalResize-Jz5QKodf.cjs.map +1 -0
  6. package/dist/{CursorNwseResize-Fe69lcPX.js → CursorDiagonalResize2-DE_Q09eV.js} +4 -4
  7. package/dist/CursorDiagonalResize2-DE_Q09eV.js.map +1 -0
  8. package/dist/CursorDiagonalResize2-nDqfu8pH.cjs +2 -0
  9. package/dist/CursorDiagonalResize2-nDqfu8pH.cjs.map +1 -0
  10. package/dist/{CursorNsResize-C_OoPrsA.js → CursorVerticalResize-BIRStuoj.js} +4 -4
  11. package/dist/CursorVerticalResize-BIRStuoj.js.map +1 -0
  12. package/dist/CursorVerticalResize-wp4XX2bU.cjs +2 -0
  13. package/dist/CursorVerticalResize-wp4XX2bU.cjs.map +1 -0
  14. package/dist/async.cjs +1 -1
  15. package/dist/async.cjs.map +1 -1
  16. package/dist/async.mjs +3 -3
  17. package/dist/async.mjs.map +1 -1
  18. package/dist/index.cjs +1 -1
  19. package/dist/index.d.ts +3 -3
  20. package/dist/index.mjs +15 -15
  21. package/package.json +1 -1
  22. package/dist/CursorNeswResize-BO3QUemq.js.map +0 -1
  23. package/dist/CursorNeswResize-DWRfCgy0.cjs +0 -2
  24. package/dist/CursorNeswResize-DWRfCgy0.cjs.map +0 -1
  25. package/dist/CursorNsResize-B9aCH_kC.cjs +0 -2
  26. package/dist/CursorNsResize-B9aCH_kC.cjs.map +0 -1
  27. package/dist/CursorNsResize-C_OoPrsA.js.map +0 -1
  28. package/dist/CursorNwseResize-DkuxEtvH.cjs +0 -2
  29. package/dist/CursorNwseResize-DkuxEtvH.cjs.map +0 -1
  30. package/dist/CursorNwseResize-Fe69lcPX.js.map +0 -1
  31. /package/dist/components/{CursorNeswResize.vue.d.ts → CursorDiagonalResize.vue.d.ts} +0 -0
  32. /package/dist/components/{CursorNsResize.vue.d.ts → CursorDiagonalResize2.vue.d.ts} +0 -0
  33. /package/dist/components/{CursorNwseResize.vue.d.ts → CursorVerticalResize.vue.d.ts} +0 -0
package/README.md CHANGED
@@ -305,9 +305,9 @@ useIcon(type: string): Component
305
305
  | 光标候选 | cursor-candidate | CursorCandidate |
306
306
  | 光标加载2 | cursor-loading2 | CursorLoading2 |
307
307
  | 光标加载 | cursor-loading | CursorLoading |
308
- | 光标垂直调整 | cursor-ns-resize | CursorNsResize |
309
- | 光标对角调整2 | cursor-nwse-resize | CursorNwseResize |
310
- | 光标对角调整 | cursor-nesw-resize | CursorNeswResize |
308
+ | 光标垂直调整 | cursor-vertical-resize | CursorVerticalResize |
309
+ | 光标对角调整2 | cursor-diagnonal-resize2 | CursorDiagonalResize2 |
310
+ | 光标对角调整 | cursor-diagnonal-resize | CursorDiagonalResize |
311
311
  | 光标帮助2 | cursor-help2 | CursorHelp2 |
312
312
  | 光标帮助 | cursor-help | CursorHelp |
313
313
  | 光标忙2 | cursor-wait2 | CursorWait2 |
@@ -437,7 +437,7 @@ useIcon(type: string): Component
437
437
  | 左箭头2 | arrow-left2 | ArrowLeft2 |
438
438
  | 左箭头3 | arrow-left3 | ArrowLeft3 |
439
439
  | 左箭头 | arrow-left | ArrowLeft |
440
- | 带派 | dollar-alt | DollarAlt |
440
+ | | pi | Pi |
441
441
  | 平行四边形 | parallelogram | Parallelogram |
442
442
  | 无限 | infinity | Infinity |
443
443
  | 根号 | sqrt | Sqrt |
@@ -745,6 +745,1014 @@ useIcon(type: string): Component
745
745
 
746
746
  1. 直接查看 `node_modules/cadt-icons/src/components/` 下的 `.vue` 文件名(去掉 `.vue` 后缀即为组件名)。
747
747
  2. 在使用 `CadtIcon` 时,`type` 属性使用组件名的小写 kebab 形式(例如 `UserAdd` → `user-add`)。
748
+ 3. 也可以使用下面的示例页面进行查询:
749
+
750
+ ```vue
751
+ <script setup>
752
+ import { ref, computed } from 'vue'
753
+ import { CadtIcon } from 'cadt-icons/async'
754
+
755
+ // ---------- 分类定义 ----------
756
+ const categories = [
757
+ { id: 'all', name: '全部' },
758
+ { id: 'ui', name: '用户界面' },
759
+ { id: 'media', name: '媒体与科技' },
760
+ { id: 'edit', name: '编辑工具' },
761
+ { id: 'shape', name: '形状与符号' },
762
+ { id: 'game', name: '游戏' },
763
+ { id: 'item', name: '物品' },
764
+ { id: 'nature', name: '自然与饮食' },
765
+ ]
766
+
767
+ // ---------- 图标数据(完整 574 个,基于最新映射)----------
768
+ // 每个条目:{ cat, title, type, component }
769
+ const iconsData = [
770
+ // 1. 用户界面 (94个)
771
+ { cat: 'ui', title: '上锁', type: 'lock', component: 'Lock' },
772
+ { cat: 'ui', title: '不可见', type: 'invisible', component: 'Invisible' },
773
+ { cat: 'ui', title: '休息', type: 'rest', component: 'Rest' },
774
+ { cat: 'ui', title: '保存', type: 'save', component: 'Save' },
775
+ { cat: 'ui', title: '信息', type: 'info', component: 'Info' },
776
+ { cat: 'ui', title: '删除用户', type: 'user-delete', component: 'UserDelete' },
777
+ { cat: 'ui', title: '刷新', type: 'refresh', component: 'Refresh' },
778
+ { cat: 'ui', title: '加载', type: 'loading', component: 'Loading' },
779
+ { cat: 'ui', title: '加载2', type: 'loading2', component: 'Loading2' },
780
+ { cat: 'ui', title: '加载3', type: 'loading3', component: 'Loading3' },
781
+ { cat: 'ui', title: '加载4', type: 'loading4', component: 'Loading4' },
782
+ { cat: 'ui', title: '加载5', type: 'loading5', component: 'Loading5' },
783
+ { cat: 'ui', title: '叉号', type: 'close', component: 'Close' },
784
+ { cat: 'ui', title: '双感叹号', type: 'double-exclamation', component: 'DoubleExclamation' },
785
+ { cat: 'ui', title: '可见', type: 'visible', component: 'Visible' },
786
+ { cat: 'ui', title: '向右旋转', type: 'rotate-right', component: 'RotateRight' },
787
+ { cat: 'ui', title: '向左旋转', type: 'rotate-left', component: 'RotateLeft' },
788
+ { cat: 'ui', title: '圆圈', type: 'circle', component: 'Circle' },
789
+ { cat: 'ui', title: '对勾', type: 'check', component: 'Check' },
790
+ { cat: 'ui', title: '展开', type: 'expand', component: 'Expand' },
791
+ { cat: 'ui', title: '展开2', type: 'expand2', component: 'Expand2' },
792
+ { cat: 'ui', title: '展开3', type: 'expand3', component: 'Expand3' },
793
+ { cat: 'ui', title: '展开4', type: 'expand4', component: 'Expand4' },
794
+ { cat: 'ui', title: '开关', type: 'toggle', component: 'Toggle' },
795
+ { cat: 'ui', title: '开关关闭', type: 'toggle-off', component: 'ToggleOff' },
796
+ { cat: 'ui', title: '开关开启', type: 'toggle-on', component: 'ToggleOn' },
797
+ { cat: 'ui', title: '感叹号', type: 'exclamation', component: 'Exclamation' },
798
+ { cat: 'ui', title: '提醒用户', type: 'user-alert', component: 'UserAlert' },
799
+ { cat: 'ui', title: '搜索', type: 'search', component: 'Search' },
800
+ { cat: 'ui', title: '放大', type: 'zoom-in', component: 'ZoomIn' },
801
+ { cat: 'ui', title: '朋友', type: 'friend', component: 'Friend' },
802
+ { cat: 'ui', title: '浅色模式', type: 'light-mode', component: 'LightMode' },
803
+ { cat: 'ui', title: '浅色模式2', type: 'light-mode2', component: 'LightMode2' },
804
+ { cat: 'ui', title: '深色模式', type: 'dark-mode', component: 'DarkMode' },
805
+ { cat: 'ui', title: '深色模式2', type: 'dark-mode2', component: 'DarkMode2' },
806
+ { cat: 'ui', title: '添加用户', type: 'user-add', component: 'UserAdd' },
807
+ { cat: 'ui', title: '滑块', type: 'slider', component: 'Slider' },
808
+ { cat: 'ui', title: '用户', type: 'user', component: 'User' },
809
+ { cat: 'ui', title: '用户列表', type: 'user-list', component: 'UserList' },
810
+ { cat: 'ui', title: '用户头像', type: 'avatar', component: 'Avatar' },
811
+ { cat: 'ui', title: '用户头像2', type: 'avatar2', component: 'Avatar2' },
812
+ { cat: 'ui', title: '用户界面', type: 'user-interface', component: 'UserInterface' },
813
+ { cat: 'ui', title: '用户组', type: 'group', component: 'Group' },
814
+ { cat: 'ui', title: '禁止', type: 'forbidden', component: 'Forbidden' },
815
+ { cat: 'ui', title: '移除用户', type: 'user-remove', component: 'UserRemove' },
816
+ { cat: 'ui', title: '缩小', type: 'zoom-out', component: 'ZoomOut' },
817
+ { cat: 'ui', title: '网格', type: 'grid', component: 'Grid' },
818
+ { cat: 'ui', title: '网格2', type: 'grid2', component: 'Grid2' },
819
+ { cat: 'ui', title: '网格3', type: 'grid3', component: 'Grid3' },
820
+ { cat: 'ui', title: '网格4', type: 'grid4', component: 'Grid4' },
821
+ { cat: 'ui', title: '网格5', type: 'grid5', component: 'Grid5' },
822
+ { cat: 'ui', title: '网格6', type: 'grid6', component: 'Grid6' },
823
+ { cat: 'ui', title: '网格7', type: 'grid7', component: 'Grid7' },
824
+ { cat: 'ui', title: '网格添加', type: 'grid-add', component: 'GridAdd' },
825
+ { cat: 'ui', title: '菜单', type: 'menu', component: 'Menu' },
826
+ { cat: 'ui', title: '菜单2', type: 'menu2', component: 'Menu2' },
827
+ { cat: 'ui', title: '菜单3', type: 'menu3', component: 'Menu3' },
828
+ { cat: 'ui', title: '菜单4', type: 'menu4', component: 'Menu4' },
829
+ { cat: 'ui', title: '菜单5', type: 'menu5', component: 'Menu5' },
830
+ { cat: 'ui', title: '菜单6', type: 'menu6', component: 'Menu6' },
831
+ { cat: 'ui', title: '菜单7', type: 'menu7', component: 'Menu7' },
832
+ { cat: 'ui', title: '菜单打开', type: 'menu-open', component: 'MenuOpen' },
833
+ { cat: 'ui', title: '菜单添加', type: 'menu-add', component: 'MenuAdd' },
834
+ { cat: 'ui', title: '解锁', type: 'unlock', component: 'Unlock' },
835
+ { cat: 'ui', title: '设置', type: 'settings', component: 'Settings' },
836
+ { cat: 'ui', title: '设置2', type: 'settings2', component: 'Settings2' },
837
+ { cat: 'ui', title: '调整', type: 'adjust', component: 'Adjust' },
838
+ { cat: 'ui', title: '还原', type: 'undo', component: 'Undo' },
839
+ { cat: 'ui', title: '还原2', type: 'undo2', component: 'Undo2' },
840
+ { cat: 'ui', title: '还原3', type: 'undo3', component: 'Undo3' },
841
+ { cat: 'ui', title: '还原4', type: 'undo4', component: 'Undo4' },
842
+ { cat: 'ui', title: '进度条', type: 'progress-bar', component: 'ProgressBar' },
843
+ { cat: 'ui', title: '问号', type: 'question', component: 'Question' },
844
+ { cat: 'ui', title: '验证用户', type: 'user-verify', component: 'UserVerify' },
845
+
846
+ // 2. 媒体与科技 (88个)
847
+ { cat: 'media', title: '上一个', type: 'previous', component: 'Previous' },
848
+ { cat: 'media', title: '下一个', type: 'next', component: 'Next' },
849
+ { cat: 'media', title: '上一帧', type: 'prev-frame', component: 'PrevFrame' },
850
+ { cat: 'media', title: '下一帧', type: 'next-frame', component: 'NextFrame' },
851
+ { cat: 'media', title: '上传', type: 'upload', component: 'Upload' },
852
+ { cat: 'media', title: '下载', type: 'download', component: 'Download' },
853
+ { cat: 'media', title: '主机', type: 'host', component: 'Host' },
854
+ { cat: 'media', title: '书签', type: 'bookmark', component: 'Bookmark' },
855
+ { cat: 'media', title: '二维码', type: 'qrcode', component: 'Qrcode' },
856
+ { cat: 'media', title: '云端上传', type: 'cloud-upload', component: 'CloudUpload' },
857
+ { cat: 'media', title: '云端下载', type: 'cloud-download', component: 'CloudDownload' },
858
+ { cat: 'media', title: '互联网', type: 'internet', component: 'Internet' },
859
+ { cat: 'media', title: '代码', type: 'code', component: 'Code' },
860
+ { cat: 'media', title: '代码错误', type: 'code-error', component: 'CodeError' },
861
+ { cat: 'media', title: '位置', type: 'location', component: 'Location' },
862
+ { cat: 'media', title: '保护', type: 'protect', component: 'Protect' },
863
+ { cat: 'media', title: '信用卡', type: 'credit-card', component: 'CreditCard' },
864
+ { cat: 'media', title: '停止', type: 'stop', component: 'Stop' },
865
+ { cat: 'media', title: '储存卡', type: 'sd-card', component: 'SdCard' },
866
+ { cat: 'media', title: '分享', type: 'share', component: 'Share' },
867
+ { cat: 'media', title: '分享2', type: 'share2', component: 'Share2' },
868
+ { cat: 'media', title: '图像', type: 'image', component: 'Image' },
869
+ { cat: 'media', title: '地球', type: 'earth', component: 'Earth' },
870
+ { cat: 'media', title: '垃圾桶', type: 'trash', component: 'Trash' },
871
+ { cat: 'media', title: '头戴式耳机', type: 'headphones', component: 'Headphones' },
872
+ { cat: 'media', title: '导入', type: 'import', component: 'Import' },
873
+ { cat: 'media', title: '导出', type: 'export', component: 'Export' },
874
+ { cat: 'media', title: '平板', type: 'tablet', component: 'Tablet' },
875
+ { cat: 'media', title: '录像', type: 'video-recorder', component: 'VideoRecorder' },
876
+ { cat: 'media', title: '录制', type: 'record', component: 'Record' },
877
+ { cat: 'media', title: '快进', type: 'fast-forward', component: 'FastForward' },
878
+ { cat: 'media', title: '快退', type: 'rewind', component: 'Rewind' },
879
+ { cat: 'media', title: '手机', type: 'smartphone', component: 'Smartphone' },
880
+ { cat: 'media', title: '手表', type: 'watch', component: 'Watch' },
881
+ { cat: 'media', title: '提及', type: 'mention', component: 'Mention' },
882
+ { cat: 'media', title: '摄像头', type: 'camera', component: 'Camera' },
883
+ { cat: 'media', title: '播放', type: 'play', component: 'Play' },
884
+ { cat: 'media', title: '文件', type: 'file', component: 'File' },
885
+ { cat: 'media', title: '文件夹', type: 'folder', component: 'Folder' },
886
+ { cat: 'media', title: '文档', type: 'document', component: 'Document' },
887
+ { cat: 'media', title: '无线网络', type: 'wifi', component: 'Wifi' },
888
+ { cat: 'media', title: '无音乐', type: 'no-music', component: 'NoMusic' },
889
+ { cat: 'media', title: '无音乐2', type: 'no-music2', component: 'NoMusic2' },
890
+ { cat: 'media', title: '日历', type: 'calendar', component: 'Calendar' },
891
+ { cat: 'media', title: '时间', type: 'time', component: 'Time' },
892
+ { cat: 'media', title: '显示器', type: 'monitor', component: 'Monitor' },
893
+ { cat: 'media', title: '暂停', type: 'pause', component: 'Pause' },
894
+ { cat: 'media', title: '最后一帧', type: 'last-frame', component: 'LastFrame' },
895
+ { cat: 'media', title: '标签', type: 'tag', component: 'Tag' },
896
+ { cat: 'media', title: '消息', type: 'message', component: 'Message' },
897
+ { cat: 'media', title: '消息2', type: 'message2', component: 'Message2' },
898
+ { cat: 'media', title: '游戏手柄', type: 'gamepad', component: 'Gamepad' },
899
+ { cat: 'media', title: '灯光', type: 'light', component: 'Light' },
900
+ { cat: 'media', title: '点赞', type: 'like', component: 'Like' },
901
+ { cat: 'media', title: '点踩', type: 'dislike', component: 'Dislike' },
902
+ { cat: 'media', title: '电影', type: 'movie', component: 'Movie' },
903
+ { cat: 'media', title: '电池正', type: 'battery-plus', component: 'BatteryPlus' },
904
+ { cat: 'media', title: '电池负', type: 'battery-minus', component: 'BatteryMinus' },
905
+ { cat: 'media', title: '电源开关', type: 'power', component: 'Power' },
906
+ { cat: 'media', title: '电话', type: 'phone', component: 'Phone' },
907
+ { cat: 'media', title: '直播', type: 'live', component: 'Live' },
908
+ { cat: 'media', title: '直播2', type: 'live2', component: 'Live2' },
909
+ { cat: 'media', title: '相机', type: 'camera-alt', component: 'CameraAlt' },
910
+ { cat: 'media', title: '移动数据', type: 'mobile-data', component: 'MobileData' },
911
+ { cat: 'media', title: '笔记本', type: 'laptop', component: 'Laptop' },
912
+ { cat: 'media', title: '老电视', type: 'old-tv', component: 'OldTv' },
913
+ { cat: 'media', title: '芯片', type: 'chip', component: 'Chip' },
914
+ { cat: 'media', title: '蓝牙', type: 'bluetooth', component: 'Bluetooth' },
915
+ { cat: 'media', title: '视频', type: 'video', component: 'Video' },
916
+ { cat: 'media', title: '起始帧', type: 'first-frame', component: 'FirstFrame' },
917
+ { cat: 'media', title: '连接', type: 'connection', component: 'Connection' },
918
+ { cat: 'media', title: '通知', type: 'notification', component: 'Notification' },
919
+ { cat: 'media', title: '邮件', type: 'mail', component: 'Mail' },
920
+ { cat: 'media', title: '链接', type: 'link', component: 'Link' },
921
+ { cat: 'media', title: '键盘', type: 'keyboard', component: 'Keyboard' },
922
+ { cat: 'media', title: '闪存盘', type: 'usb-drive', component: 'UsbDrive' },
923
+ { cat: 'media', title: '闹钟', type: 'alarm', component: 'Alarm' },
924
+ { cat: 'media', title: '静音', type: 'mute', component: 'Mute' },
925
+ { cat: 'media', title: '静默', type: 'silent', component: 'Silent' },
926
+ { cat: 'media', title: '音乐', type: 'music', component: 'Music' },
927
+ { cat: 'media', title: '音乐2', type: 'music2', component: 'Music2' },
928
+ { cat: 'media', title: '音量', type: 'volume', component: 'Volume' },
929
+ { cat: 'media', title: '音频波形', type: 'waveform', component: 'Waveform' },
930
+ { cat: 'media', title: '麦克风', type: 'microphone', component: 'Microphone' },
931
+ { cat: 'media', title: '鼠标', type: 'mouse', component: 'Mouse' },
932
+
933
+ // 3. 编辑工具 (54个)
934
+ { cat: 'edit', title: '上对齐', type: 'align-top', component: 'AlignTop' },
935
+ { cat: 'edit', title: '上对齐2', type: 'align-top2', component: 'AlignTop2' },
936
+ { cat: 'edit', title: '下对齐', type: 'align-bottom', component: 'AlignBottom' },
937
+ { cat: 'edit', title: '下对齐2', type: 'align-bottom2', component: 'AlignBottom2' },
938
+ { cat: 'edit', title: '下划线', type: 'underline', component: 'Underline' },
939
+ { cat: 'edit', title: '光标不可用', type: 'cursor-not-allowed', component: 'CursorNotAllowed' },
940
+ { cat: 'edit', title: '光标不可用2', type: 'cursor-not-allowed2', component: 'CursorNotAllowed2' },
941
+ { cat: 'edit', title: '光标候选', type: 'cursor-candidate', component: 'CursorCandidate' },
942
+ { cat: 'edit', title: '光标加载', type: 'cursor-loading', component: 'CursorLoading' },
943
+ { cat: 'edit', title: '光标加载2', type: 'cursor-loading2', component: 'CursorLoading2' },
944
+ { cat: 'edit', title: '光标垂直调整', type: 'cursor-ns-resize', component: 'CursorNsResize' },
945
+ { cat: 'edit', title: '光标对角调整', type: 'cursor-nesw-resize', component: 'CursorNeswResize' },
946
+ { cat: 'edit', title: '光标对角调整2', type: 'cursor-nwse-resize', component: 'CursorNwseResize' },
947
+ { cat: 'edit', title: '光标帮助', type: 'cursor-help', component: 'CursorHelp' },
948
+ { cat: 'edit', title: '光标帮助2', type: 'cursor-help2', component: 'CursorHelp2' },
949
+ { cat: 'edit', title: '光标忙', type: 'cursor-wait', component: 'CursorWait' },
950
+ { cat: 'edit', title: '光标忙2', type: 'cursor-wait2', component: 'CursorWait2' },
951
+ { cat: 'edit', title: '光标忙3', type: 'cursor-wait3', component: 'CursorWait3' },
952
+ { cat: 'edit', title: '光标手写', type: 'cursor-pointer', component: 'CursorPointer' },
953
+ { cat: 'edit', title: '光标文本选择', type: 'cursor-text', component: 'CursorText' },
954
+ { cat: 'edit', title: '光标正常', type: 'cursor-default', component: 'CursorDefault' },
955
+ { cat: 'edit', title: '光标正常2', type: 'cursor-default2', component: 'CursorDefault2' },
956
+ { cat: 'edit', title: '光标水平调整', type: 'cursor-ew-resize', component: 'CursorEwResize' },
957
+ { cat: 'edit', title: '光标移动', type: 'cursor-move', component: 'CursorMove' },
958
+ { cat: 'edit', title: '光标精准选择', type: 'cursor-crosshair', component: 'CursorCrosshair' },
959
+ { cat: 'edit', title: '光标链接选择', type: 'cursor-pointer-link', component: 'CursorPointerLink' },
960
+ { cat: 'edit', title: '分割', type: 'split', component: 'Split' },
961
+ { cat: 'edit', title: '删除线', type: 'strikethrough', component: 'Strikethrough' },
962
+ { cat: 'edit', title: '取色器', type: 'color-picker', component: 'ColorPicker' },
963
+ { cat: 'edit', title: '右对齐', type: 'align-right', component: 'AlignRight' },
964
+ { cat: 'edit', title: '右对齐2', type: 'align-right2', component: 'AlignRight2' },
965
+ { cat: 'edit', title: '垂直居中', type: 'align-center-vertical', component: 'AlignCenterVertical' },
966
+ { cat: 'edit', title: '垂直居中2', type: 'align-center-vertical2', component: 'AlignCenterVertical2' },
967
+ { cat: 'edit', title: '填充', type: 'fill', component: 'Fill' },
968
+ { cat: 'edit', title: '复制', type: 'copy', component: 'Copy' },
969
+ { cat: 'edit', title: '字体', type: 'font', component: 'Font' },
970
+ { cat: 'edit', title: '字体2', type: 'font2', component: 'Font2' },
971
+ { cat: 'edit', title: '左对齐', type: 'align-left', component: 'AlignLeft' },
972
+ { cat: 'edit', title: '左对齐2', type: 'align-left2', component: 'AlignLeft2' },
973
+ { cat: 'edit', title: '撤销', type: 'undo-action', component: 'UndoAction' },
974
+ { cat: 'edit', title: '文本', type: 'text', component: 'Text' },
975
+ { cat: 'edit', title: '斜体', type: 'italic', component: 'Italic' },
976
+ { cat: 'edit', title: '框架', type: 'frame', component: 'Frame' },
977
+ { cat: 'edit', title: '橡皮', type: 'eraser', component: 'Eraser' },
978
+ { cat: 'edit', title: '水平居中', type: 'align-center-horizontal', component: 'AlignCenterHorizontal' },
979
+ { cat: 'edit', title: '水平居中2', type: 'align-center-horizontal2', component: 'AlignCenterHorizontal2' },
980
+ { cat: 'edit', title: '画刷', type: 'brush', component: 'Brush' },
981
+ { cat: 'edit', title: '画笔', type: 'paintbrush', component: 'Paintbrush' },
982
+ { cat: 'edit', title: '粗体', type: 'bold', component: 'Bold' },
983
+ { cat: 'edit', title: '调色盘', type: 'palette', component: 'Palette' },
984
+ { cat: 'edit', title: '轮廓', type: 'outline', component: 'Outline' },
985
+ { cat: 'edit', title: '选择', type: 'select', component: 'Select' },
986
+ { cat: 'edit', title: '重做', type: 'redo', component: 'Redo' },
987
+ { cat: 'edit', title: '钢笔', type: 'pen', component: 'Pen' },
988
+ { cat: 'edit', title: '铅笔', type: 'pencil', component: 'Pencil' },
989
+
990
+ // 4. 形状与符号 (约160个)
991
+ { cat: 'shape', title: '123', type: 'number-123', component: 'Number123' },
992
+ { cat: 'shape', title: 'ABC', type: 'abc', component: 'Abc' },
993
+ { cat: 'shape', title: 'A', type: 'a', component: 'A' },
994
+ { cat: 'shape', title: 'B', type: 'b', component: 'B' },
995
+ { cat: 'shape', title: 'C', type: 'c', component: 'C' },
996
+ { cat: 'shape', title: 'D', type: 'd', component: 'D' },
997
+ { cat: 'shape', title: 'E', type: 'e', component: 'E' },
998
+ { cat: 'shape', title: 'F', type: 'f', component: 'F' },
999
+ { cat: 'shape', title: 'G', type: 'g', component: 'G' },
1000
+ { cat: 'shape', title: 'H', type: 'h', component: 'H' },
1001
+ { cat: 'shape', title: 'I', type: 'i', component: 'I' },
1002
+ { cat: 'shape', title: 'J', type: 'j', component: 'J' },
1003
+ { cat: 'shape', title: 'K', type: 'k', component: 'K' },
1004
+ { cat: 'shape', title: 'L', type: 'l', component: 'L' },
1005
+ { cat: 'shape', title: 'M', type: 'm', component: 'M' },
1006
+ { cat: 'shape', title: 'N', type: 'n', component: 'N' },
1007
+ { cat: 'shape', title: 'O', type: 'o', component: 'O' },
1008
+ { cat: 'shape', title: 'P', type: 'p', component: 'P' },
1009
+ { cat: 'shape', title: 'Q', type: 'q', component: 'Q' },
1010
+ { cat: 'shape', title: 'R', type: 'r', component: 'R' },
1011
+ { cat: 'shape', title: 'S', type: 's', component: 'S' },
1012
+ { cat: 'shape', title: 'T', type: 't', component: 'T' },
1013
+ { cat: 'shape', title: 'U', type: 'u', component: 'U' },
1014
+ { cat: 'shape', title: 'V', type: 'v', component: 'V' },
1015
+ { cat: 'shape', title: 'W', type: 'w', component: 'W' },
1016
+ { cat: 'shape', title: 'X', type: 'x', component: 'X' },
1017
+ { cat: 'shape', title: 'Y', type: 'y', component: 'Y' },
1018
+ { cat: 'shape', title: 'Z', type: 'z', component: 'Z' },
1019
+ { cat: 'shape', title: '一', type: 'one', component: 'One' },
1020
+ { cat: 'shape', title: '七', type: 'seven', component: 'Seven' },
1021
+ { cat: 'shape', title: '七角星', type: 'seven-pointed-star', component: 'SevenPointedStar' },
1022
+ { cat: 'shape', title: '七边形', type: 'heptagon', component: 'Heptagon' },
1023
+ { cat: 'shape', title: '三', type: 'three', component: 'Three' },
1024
+ { cat: 'shape', title: '三角形', type: 'triangle', component: 'Triangle' },
1025
+ { cat: 'shape', title: '三角星', type: 'three-pointed-star', component: 'ThreePointedStar' },
1026
+ { cat: 'shape', title: '上箭头2', type: 'arrow-up2', component: 'ArrowUp2' },
1027
+ { cat: 'shape', title: '上箭头3', type: 'arrow-up3', component: 'ArrowUp3' },
1028
+ { cat: 'shape', title: '上箭头', type: 'arrow-up', component: 'ArrowUp' },
1029
+ { cat: 'shape', title: '下箭头2', type: 'arrow-down2', component: 'ArrowDown2' },
1030
+ { cat: 'shape', title: '下箭头3', type: 'arrow-down3', component: 'ArrowDown3' },
1031
+ { cat: 'shape', title: '下箭头', type: 'arrow-down', component: 'ArrowDown' },
1032
+ { cat: 'shape', title: '不等于', type: 'not-equal', component: 'NotEqual' },
1033
+ { cat: 'shape', title: '乘号2', type: 'multiply2', component: 'Multiply2' },
1034
+ { cat: 'shape', title: '乘号3', type: 'multiply3', component: 'Multiply3' },
1035
+ { cat: 'shape', title: '乘号', type: 'multiply', component: 'Multiply' },
1036
+ { cat: 'shape', title: '九', type: 'nine', component: 'Nine' },
1037
+ { cat: 'shape', title: '二', type: 'two', component: 'Two' },
1038
+ { cat: 'shape', title: '五', type: 'five', component: 'Five' },
1039
+ { cat: 'shape', title: '五角星', type: 'five-pointed-star', component: 'FivePointedStar' },
1040
+ { cat: 'shape', title: '五边形', type: 'pentagon', component: 'Pentagon' },
1041
+ { cat: 'shape', title: '人民币或日元', type: 'cny-symbol', component: 'CnySymbol' },
1042
+ { cat: 'shape', title: '元', type: 'yuan', component: 'Yuan' },
1043
+ { cat: 'shape', title: '八', type: 'eight', component: 'Eight' },
1044
+ { cat: 'shape', title: '六', type: 'six', component: 'Six' },
1045
+ { cat: 'shape', title: '六角星', type: 'six-pointed-star', component: 'SixPointedStar' },
1046
+ { cat: 'shape', title: '六边形', type: 'hexagon', component: 'Hexagon' },
1047
+ { cat: 'shape', title: '円', type: 'yen', component: 'Yen' },
1048
+ { cat: 'shape', title: '减号', type: 'minus', component: 'Minus' },
1049
+ { cat: 'shape', title: '函数', type: 'function', component: 'Function' },
1050
+ { cat: 'shape', title: '加号', type: 'plus', component: 'Plus' },
1051
+ { cat: 'shape', title: '半圆', type: 'semicircle', component: 'Semicircle' },
1052
+ { cat: 'shape', title: '卢布', type: 'ruble', component: 'Ruble' },
1053
+ { cat: 'shape', title: '卢比', type: 'rupee', component: 'Rupee' },
1054
+ { cat: 'shape', title: '右箭头2', type: 'arrow-right2', component: 'ArrowRight2' },
1055
+ { cat: 'shape', title: '右箭头3', type: 'arrow-right3', component: 'ArrowRight3' },
1056
+ { cat: 'shape', title: '右箭头', type: 'arrow-right', component: 'ArrowRight' },
1057
+ { cat: 'shape', title: '四', type: 'four', component: 'Four' },
1058
+ { cat: 'shape', title: '四分之一圆', type: 'quarter-circle', component: 'QuarterCircle' },
1059
+ { cat: 'shape', title: '四分之三圆', type: 'three-quarter-circle', component: 'ThreeQuarterCircle' },
1060
+ { cat: 'shape', title: '四角星', type: 'four-pointed-star', component: 'FourPointedStar' },
1061
+ { cat: 'shape', title: '四边形', type: 'quadrilateral', component: 'Quadrilateral' },
1062
+ { cat: 'shape', title: '圆形', type: 'circle-shape', component: 'CircleShape' },
1063
+ { cat: 'shape', title: '大于号', type: 'greater-than', component: 'GreaterThan' },
1064
+ { cat: 'shape', title: '大于等于', type: 'greater-than-or-equal', component: 'GreaterThanOrEqual' },
1065
+ { cat: 'shape', title: '奈拉', type: 'naira', component: 'Naira' },
1066
+ { cat: 'shape', title: '小于号', type: 'less-than', component: 'LessThan' },
1067
+ { cat: 'shape', title: '小于等于', type: 'less-than-or-equal', component: 'LessThanOrEqual' },
1068
+ { cat: 'shape', title: '左箭头2', type: 'arrow-left2', component: 'ArrowLeft2' },
1069
+ { cat: 'shape', title: '左箭头3', type: 'arrow-left3', component: 'ArrowLeft3' },
1070
+ { cat: 'shape', title: '左箭头', type: 'arrow-left', component: 'ArrowLeft' },
1071
+ { cat: 'shape', title: '带派', type: 'dollar-alt', component: 'DollarAlt' },
1072
+ { cat: 'shape', title: '平行四边形', type: 'parallelogram', component: 'Parallelogram' },
1073
+ { cat: 'shape', title: '无限', type: 'infinity', component: 'Infinity' },
1074
+ { cat: 'shape', title: '根号', type: 'sqrt', component: 'Sqrt' },
1075
+ { cat: 'shape', title: '梯形', type: 'trapezoid', component: 'Trapezoid' },
1076
+ { cat: 'shape', title: '椭圆', type: 'ellipse', component: 'Ellipse' },
1077
+ { cat: 'shape', title: '欧元', type: 'euro', component: 'Euro' },
1078
+ { cat: 'shape', title: '正方形', type: 'square', component: 'Square' },
1079
+ { cat: 'shape', title: '比特币', type: 'bitcoin', component: 'Bitcoin' },
1080
+ { cat: 'shape', title: '泰铢', type: 'baht', component: 'Baht' },
1081
+ { cat: 'shape', title: '百分号', type: 'percent', component: 'Percent' },
1082
+ { cat: 'shape', title: '直角梯形', type: 'right-trapezoid', component: 'RightTrapezoid' },
1083
+ { cat: 'shape', title: '等号', type: 'equals', component: 'Equals' },
1084
+ { cat: 'shape', title: '等边三角形', type: 'equilateral-triangle', component: 'EquilateralTriangle' },
1085
+ { cat: 'shape', title: '约等于', type: 'approx-equal', component: 'ApproxEqual' },
1086
+ { cat: 'shape', title: '线性', type: 'linear', component: 'Linear' },
1087
+ { cat: 'shape', title: '缓入', type: 'ease-in', component: 'EaseIn' },
1088
+ { cat: 'shape', title: '缓入出', type: 'ease-in-out', component: 'EaseInOut' },
1089
+ { cat: 'shape', title: '缓出', type: 'ease-out', component: 'EaseOut' },
1090
+ { cat: 'shape', title: '美元2', type: 'dollar2', component: 'Dollar2' },
1091
+ { cat: 'shape', title: '美元', type: 'dollar', component: 'Dollar' },
1092
+ { cat: 'shape', title: '胶囊', type: 'capsule', component: 'Capsule' },
1093
+ { cat: 'shape', title: '英镑', type: 'pound', component: 'Pound' },
1094
+ { cat: 'shape', title: '菱形', type: 'diamond', component: 'Diamond' },
1095
+ { cat: 'shape', title: '表情', type: 'emoji', component: 'Emoji' },
1096
+ { cat: 'shape', title: '表情2', type: 'emoji2', component: 'Emoji2' },
1097
+ { cat: 'shape', title: '表情3', type: 'emoji3', component: 'Emoji3' },
1098
+ { cat: 'shape', title: '表情4', type: 'emoji4', component: 'Emoji4' },
1099
+ { cat: 'shape', title: '表情5', type: 'emoji5', component: 'Emoji5' },
1100
+ { cat: 'shape', title: '表情6', type: 'emoji6', component: 'Emoji6' },
1101
+ { cat: 'shape', title: '表情7', type: 'emoji7', component: 'Emoji7' },
1102
+ { cat: 'shape', title: '表情8', type: 'emoji8', component: 'Emoji8' },
1103
+ { cat: 'shape', title: '表情9', type: 'emoji9', component: 'Emoji9' },
1104
+ { cat: 'shape', title: '表情10', type: 'emoji10', component: 'Emoji10' },
1105
+ { cat: 'shape', title: '表情11', type: 'emoji11', component: 'Emoji11' },
1106
+ { cat: 'shape', title: '表情12', type: 'emoji12', component: 'Emoji12' },
1107
+ { cat: 'shape', title: '表情13', type: 'emoji13', component: 'Emoji13' },
1108
+ { cat: 'shape', title: '表情14', type: 'emoji14', component: 'Emoji14' },
1109
+ { cat: 'shape', title: '表情15', type: 'emoji15', component: 'Emoji15' },
1110
+ { cat: 'shape', title: '表情16', type: 'emoji16', component: 'Emoji16' },
1111
+ { cat: 'shape', title: '表情17', type: 'emoji17', component: 'Emoji17' },
1112
+ { cat: 'shape', title: '表情18', type: 'emoji18', component: 'Emoji18' },
1113
+ { cat: 'shape', title: '表情19', type: 'emoji19', component: 'Emoji19' },
1114
+ { cat: 'shape', title: '表情20', type: 'emoji20', component: 'Emoji20' },
1115
+ { cat: 'shape', title: '里拉', type: 'lira', component: 'Lira' },
1116
+ { cat: 'shape', title: '钝角三角形', type: 'obtuse-triangle', component: 'ObtuseTriangle' },
1117
+ { cat: 'shape', title: '锐角三角形', type: 'acute-triangle', component: 'AcuteTriangle' },
1118
+ { cat: 'shape', title: '长方形', type: 'rectangle', component: 'Rectangle' },
1119
+ { cat: 'shape', title: '除号', type: 'divide', component: 'Divide' },
1120
+ { cat: 'shape', title: '除号2', type: 'divide2', component: 'Divide2' },
1121
+ { cat: 'shape', title: '零', type: 'zero', component: 'Zero' },
1122
+ { cat: 'shape', title: '韩元', type: 'won', component: 'Won' },
1123
+
1124
+ // 5. 游戏 (约60个)
1125
+ { cat: 'game', title: '一倍', type: 'x1', component: 'X1' },
1126
+ { cat: 'game', title: '万圣节', type: 'halloween', component: 'Halloween' },
1127
+ { cat: 'game', title: '三倍', type: 'x3', component: 'X3' },
1128
+ { cat: 'game', title: '两倍', type: 'x2', component: 'X2' },
1129
+ { cat: 'game', title: '俄罗斯方块I', type: 'tetromino-i', component: 'TetrominoI' },
1130
+ { cat: 'game', title: '俄罗斯方块J', type: 'tetromino-j', component: 'TetrominoJ' },
1131
+ { cat: 'game', title: '俄罗斯方块L', type: 'tetromino-l', component: 'TetrominoL' },
1132
+ { cat: 'game', title: '俄罗斯方块O', type: 'tetromino-o', component: 'TetrominoO' },
1133
+ { cat: 'game', title: '俄罗斯方块S', type: 'tetromino-s', component: 'TetrominoS' },
1134
+ { cat: 'game', title: '俄罗斯方块T', type: 'tetromino-t', component: 'TetrominoT' },
1135
+ { cat: 'game', title: '俄罗斯方块Z', type: 'tetromino-z', component: 'TetrominoZ' },
1136
+ { cat: 'game', title: '六面骰子1', type: 'dice-num1', component: 'DiceNum1' },
1137
+ { cat: 'game', title: '六面骰子2', type: 'dice-num2', component: 'DiceNum2' },
1138
+ { cat: 'game', title: '六面骰子3', type: 'dice-num3', component: 'DiceNum3' },
1139
+ { cat: 'game', title: '六面骰子4', type: 'dice-num4', component: 'DiceNum4' },
1140
+ { cat: 'game', title: '六面骰子5', type: 'dice-num5', component: 'DiceNum5' },
1141
+ { cat: 'game', title: '六面骰子6', type: 'dice-num6', component: 'DiceNum6' },
1142
+ { cat: 'game', title: '击中', type: 'hit', component: 'Hit' },
1143
+ { cat: 'game', title: '卡牌', type: 'card', component: 'Card' },
1144
+ { cat: 'game', title: '商店', type: 'shop', component: 'Shop' },
1145
+ { cat: 'game', title: '城镇', type: 'town', component: 'Town' },
1146
+ { cat: 'game', title: '塔', type: 'tower', component: 'Tower' },
1147
+ { cat: 'game', title: '塔2', type: 'tower2', component: 'Tower2' },
1148
+ { cat: 'game', title: '塔3', type: 'tower3', component: 'Tower3' },
1149
+ { cat: 'game', title: '塔4', type: 'tower4', component: 'Tower4' },
1150
+ { cat: 'game', title: '塔5', type: 'tower5', component: 'Tower5' },
1151
+ { cat: 'game', title: '塔6', type: 'tower6', component: 'Tower6' },
1152
+ { cat: 'game', title: '多张卡牌', type: 'cards', component: 'Cards' },
1153
+ { cat: 'game', title: '奖杯', type: 'trophy', component: 'Trophy' },
1154
+ { cat: 'game', title: '女性', type: 'female', component: 'Female' },
1155
+ { cat: 'game', title: '帐篷', type: 'tent', component: 'Tent' },
1156
+ { cat: 'game', title: '房子', type: 'house', component: 'House' },
1157
+ { cat: 'game', title: '房子2', type: 'house2', component: 'House2' },
1158
+ { cat: 'game', title: '房子3', type: 'house3', component: 'House3' },
1159
+ { cat: 'game', title: '房子4', type: 'house4', component: 'House4' },
1160
+ { cat: 'game', title: '拼图', type: 'puzzle', component: 'Puzzle' },
1161
+ { cat: 'game', title: '拼图2', type: 'puzzle2', component: 'Puzzle2' },
1162
+ { cat: 'game', title: '拼图3', type: 'puzzle3', component: 'Puzzle3' },
1163
+ { cat: 'game', title: '拼图4', type: 'puzzle4', component: 'Puzzle4' },
1164
+ { cat: 'game', title: '拼图5', type: 'puzzle5', component: 'Puzzle5' },
1165
+ { cat: 'game', title: '拼图6', type: 'puzzle6', component: 'Puzzle6' },
1166
+ { cat: 'game', title: '拼图7', type: 'puzzle7', component: 'Puzzle7' },
1167
+ { cat: 'game', title: '拼图8', type: 'puzzle8', component: 'Puzzle8' },
1168
+ { cat: 'game', title: '拼图9', type: 'puzzle9', component: 'Puzzle9' },
1169
+ { cat: 'game', title: '拼图10', type: 'puzzle10', component: 'Puzzle10' },
1170
+ { cat: 'game', title: '拼图11', type: 'puzzle11', component: 'Puzzle11' },
1171
+ { cat: 'game', title: '拼图12', type: 'puzzle12', component: 'Puzzle12' },
1172
+ { cat: 'game', title: '排行', type: 'leaderboard', component: 'Leaderboard' },
1173
+ { cat: 'game', title: '方块', type: 'block', component: 'Block' },
1174
+ { cat: 'game', title: '方块卡', type: 'diamond-card', component: 'DiamondCard' },
1175
+ { cat: 'game', title: '村庄', type: 'village', component: 'Village' },
1176
+ { cat: 'game', title: '梅花', type: 'club', component: 'Club' },
1177
+ { cat: 'game', title: '梅花卡', type: 'club-card', component: 'ClubCard' },
1178
+ { cat: 'game', title: '死亡', type: 'death', component: 'Death' },
1179
+ { cat: 'game', title: '爱心', type: 'heart', component: 'Heart' },
1180
+ { cat: 'game', title: '男性', type: 'male', component: 'Male' },
1181
+ { cat: 'game', title: '等级', type: 'level', component: 'Level' },
1182
+ { cat: 'game', title: '红心', type: 'heart-suit', component: 'HeartSuit' },
1183
+ { cat: 'game', title: '红心卡', type: 'heart-card', component: 'HeartCard' },
1184
+ { cat: 'game', title: '经验', type: 'xp', component: 'Xp' },
1185
+ { cat: 'game', title: '耐力', type: 'stamina', component: 'Stamina' },
1186
+ { cat: 'game', title: '角色', type: 'character', component: 'Character' },
1187
+ { cat: 'game', title: '银行', type: 'bank', component: 'Bank' },
1188
+ { cat: 'game', title: '随机骰子', type: 'random-dice', component: 'RandomDice' },
1189
+ { cat: 'game', title: '首领', type: 'boss', component: 'Boss' },
1190
+ { cat: 'game', title: '骰子1', type: 'dice1', component: 'Dice1' },
1191
+ { cat: 'game', title: '骰子2', type: 'dice2', component: 'Dice2' },
1192
+ { cat: 'game', title: '骰子3', type: 'dice3', component: 'Dice3' },
1193
+ { cat: 'game', title: '骰子4', type: 'dice4', component: 'Dice4' },
1194
+ { cat: 'game', title: '骰子5', type: 'dice5', component: 'Dice5' },
1195
+ { cat: 'game', title: '骰子6', type: 'dice6', component: 'Dice6' },
1196
+ { cat: 'game', title: '骰子一对', type: 'dice-pair', component: 'DicePair' },
1197
+ { cat: 'game', title: '骷髅头', type: 'skull', component: 'Skull' },
1198
+ { cat: 'game', title: '鬼魂', type: 'ghost', component: 'Ghost' },
1199
+ { cat: 'game', title: '黑桃', type: 'spade', component: 'Spade' },
1200
+ { cat: 'game', title: '黑桃卡', type: 'spade-card', component: 'SpadeCard' },
1201
+
1202
+ // 6. 物品 (约70个)
1203
+ { cat: 'item', title: '三叉戟', type: 'trident', component: 'Trident' },
1204
+ { cat: 'item', title: '书', type: 'book', component: 'Book' },
1205
+ { cat: 'item', title: '元宝', type: 'gold-ingot', component: 'GoldIngot' },
1206
+ { cat: 'item', title: '刀', type: 'knife', component: 'Knife' },
1207
+ { cat: 'item', title: '刀2', type: 'knife2', component: 'Knife2' },
1208
+ { cat: 'item', title: '剑', type: 'sword', component: 'Sword' },
1209
+ { cat: 'item', title: '剪刀', type: 'scissors', component: 'Scissors' },
1210
+ { cat: 'item', title: '匕首', type: 'dagger', component: 'Dagger' },
1211
+ { cat: 'item', title: '医疗箱', type: 'medkit', component: 'Medkit' },
1212
+ { cat: 'item', title: '单只靴子', type: 'boot-single', component: 'BootSingle' },
1213
+ { cat: 'item', title: '回形针', type: 'paperclip', component: 'Paperclip' },
1214
+ { cat: 'item', title: '图钉', type: 'pushpin', component: 'Pushpin' },
1215
+ { cat: 'item', title: '地图', type: 'map', component: 'Map' },
1216
+ { cat: 'item', title: '墓碑', type: 'tombstone', component: 'Tombstone' },
1217
+ { cat: 'item', title: '头盔2', type: 'helmet2', component: 'Helmet2' },
1218
+ { cat: 'item', title: '头盔3', type: 'helmet3', component: 'Helmet3' },
1219
+ { cat: 'item', title: '头盔', type: 'helmet', component: 'Helmet' },
1220
+ { cat: 'item', title: '子弹', type: 'bullet', component: 'Bullet' },
1221
+ { cat: 'item', title: '导弹', type: 'missile', component: 'Missile' },
1222
+ { cat: 'item', title: '工具箱', type: 'toolbox', component: 'Toolbox' },
1223
+ { cat: 'item', title: '干草叉', type: 'pitchfork', component: 'Pitchfork' },
1224
+ { cat: 'item', title: '弓', type: 'bow', component: 'Bow' },
1225
+ { cat: 'item', title: '手枪', type: 'pistol', component: 'Pistol' },
1226
+ { cat: 'item', title: '扩音器', type: 'megaphone', component: 'Megaphone' },
1227
+ { cat: 'item', title: '扳手', type: 'wrench', component: 'Wrench' },
1228
+ { cat: 'item', title: '护腿', type: 'leggings', component: 'Leggings' },
1229
+ { cat: 'item', title: '指南针', type: 'compass', component: 'Compass' },
1230
+ { cat: 'item', title: '放射性', type: 'radioactive', component: 'Radioactive' },
1231
+ { cat: 'item', title: '斧头', type: 'axe', component: 'Axe' },
1232
+ { cat: 'item', title: '星币', type: 'starburst', component: 'Starburst' },
1233
+ { cat: 'item', title: '星币2', type: 'starburst2', component: 'Starburst2' },
1234
+ { cat: 'item', title: '棍子', type: 'stick', component: 'Stick' },
1235
+ { cat: 'item', title: '步枪', type: 'rifle', component: 'Rifle' },
1236
+ { cat: 'item', title: '水晶球', type: 'crystal-ball', component: 'CrystalBall' },
1237
+ { cat: 'item', title: '滚筒刷', type: 'roller', component: 'Roller' },
1238
+ { cat: 'item', title: '漏斗', type: 'funnel', component: 'Funnel' },
1239
+ { cat: 'item', title: '火把', type: 'torch', component: 'Torch' },
1240
+ { cat: 'item', title: '灯笼', type: 'lantern', component: 'Lantern' },
1241
+ { cat: 'item', title: '灯笼2', type: 'lantern2', component: 'Lantern2' },
1242
+ { cat: 'item', title: '灯笼3', type: 'lantern3', component: 'Lantern3' },
1243
+ { cat: 'item', title: '灯笼4', type: 'lantern4', component: 'Lantern4' },
1244
+ { cat: 'item', title: '灯笼5', type: 'lantern5', component: 'Lantern5' },
1245
+ { cat: 'item', title: '炸弹', type: 'bomb', component: 'Bomb' },
1246
+ { cat: 'item', title: '王冠', type: 'crown', component: 'Crown' },
1247
+ { cat: 'item', title: '盾', type: 'shield', component: 'Shield' },
1248
+ { cat: 'item', title: '盾2', type: 'shield2', component: 'Shield2' },
1249
+ { cat: 'item', title: '盾3', type: 'shield3', component: 'Shield3' },
1250
+ { cat: 'item', title: '矛', type: 'spear', component: 'Spear' },
1251
+ { cat: 'item', title: '石油', type: 'oil', component: 'Oil' },
1252
+ { cat: 'item', title: '硬币', type: 'coin', component: 'Coin' },
1253
+ { cat: 'item', title: '磁铁', type: 'magnet', component: 'Magnet' },
1254
+ { cat: 'item', title: '箭矢', type: 'arrow-ammo', component: 'ArrowAmmo' },
1255
+ { cat: 'item', title: '箱子', type: 'chest', component: 'Chest' },
1256
+ { cat: 'item', title: '背包', type: 'backpack', component: 'Backpack' },
1257
+ { cat: 'item', title: '胸甲', type: 'chestplate', component: 'Chestplate' },
1258
+ { cat: 'item', title: '药丸', type: 'pill', component: 'Pill' },
1259
+ { cat: 'item', title: '药水', type: 'potion', component: 'Potion' },
1260
+ { cat: 'item', title: '药水2', type: 'potion2', component: 'Potion2' },
1261
+ { cat: 'item', title: '药水3', type: 'potion3', component: 'Potion3' },
1262
+ { cat: 'item', title: '螺丝刀', type: 'screwdriver', component: 'Screwdriver' },
1263
+ { cat: 'item', title: '钉子', type: 'nail', component: 'Nail' },
1264
+ { cat: 'item', title: '钉子集', type: 'nails', component: 'Nails' },
1265
+ { cat: 'item', title: '钓鱼竿', type: 'fishing-rod', component: 'FishingRod' },
1266
+ { cat: 'item', title: '钥匙', type: 'key', component: 'Key' },
1267
+ { cat: 'item', title: '钻石', type: 'diamond-1', component: 'Diamond1' },
1268
+ { cat: 'item', title: '铁砧', type: 'anvil', component: 'Anvil' },
1269
+ { cat: 'item', title: '铲子', type: 'shovel', component: 'Shovel' },
1270
+ { cat: 'item', title: '锚', type: 'anchor', component: 'Anchor' },
1271
+ { cat: 'item', title: '锤子', type: 'hammer', component: 'Hammer' },
1272
+ { cat: 'item', title: '锤子2', type: 'hammer2', component: 'Hammer2' },
1273
+ { cat: 'item', title: '锭', type: 'ingot', component: 'Ingot' },
1274
+ { cat: 'item', title: '锯子', type: 'saw', component: 'Saw' },
1275
+ { cat: 'item', title: '镐子', type: 'pickaxe', component: 'Pickaxe' },
1276
+ { cat: 'item', title: '镜子', type: 'mirror', component: 'Mirror' },
1277
+ { cat: 'item', title: '镰刀', type: 'scythe', component: 'Scythe' },
1278
+ { cat: 'item', title: '靴子', type: 'boots', component: 'Boots' },
1279
+ { cat: 'item', title: '马桶塞子', type: 'plunger', component: 'Plunger' },
1280
+ { cat: 'item', title: '骨头', type: 'bone', component: 'Bone' },
1281
+ { cat: 'item', title: '魔杖', type: 'wand', component: 'Wand' },
1282
+ { cat: 'item', title: '魔杖2', type: 'wand2', component: 'Wand2' },
1283
+ { cat: 'item', title: '魔杖3', type: 'wand3', component: 'Wand3' },
1284
+ { cat: 'item', title: '鱼钩', type: 'fishhook', component: 'Fishhook' },
1285
+
1286
+ // 7. 自然与饮食 (约68个)
1287
+ { cat: 'nature', title: '一杯水', type: 'cup-of-water', component: 'CupOfWater' },
1288
+ { cat: 'nature', title: '一瓶水', type: 'water-bottle', component: 'WaterBottle' },
1289
+ { cat: 'nature', title: '云', type: 'cloud', component: 'Cloud' },
1290
+ { cat: 'nature', title: '仙人掌', type: 'cactus', component: 'Cactus' },
1291
+ { cat: 'nature', title: '动物', type: 'animal', component: 'Animal' },
1292
+ { cat: 'nature', title: '四叶草', type: 'four-leaf-clover', component: 'FourLeafClover' },
1293
+ { cat: 'nature', title: '土豆', type: 'potato', component: 'Potato' },
1294
+ { cat: 'nature', title: '多云', type: 'cloudy', component: 'Cloudy' },
1295
+ { cat: 'nature', title: '多雪', type: 'snowy', component: 'Snowy' },
1296
+ { cat: 'nature', title: '夜晚', type: 'night', component: 'Night' },
1297
+ { cat: 'nature', title: '太阳2', type: 'sun2', component: 'Sun2' },
1298
+ { cat: 'nature', title: '太阳', type: 'sun', component: 'Sun' },
1299
+ { cat: 'nature', title: '山', type: 'mountain', component: 'Mountain' },
1300
+ { cat: 'nature', title: '彩虹', type: 'rainbow', component: 'Rainbow' },
1301
+ { cat: 'nature', title: '星星', type: 'star', component: 'Star' },
1302
+ { cat: 'nature', title: '木头', type: 'wood', component: 'Wood' },
1303
+ { cat: 'nature', title: '树', type: 'tree', component: 'Tree' },
1304
+ { cat: 'nature', title: '树2', type: 'tree2', component: 'Tree2' },
1305
+ { cat: 'nature', title: '树3', type: 'tree3', component: 'Tree3' },
1306
+ { cat: 'nature', title: '树4', type: 'tree4', component: 'Tree4' },
1307
+ { cat: 'nature', title: '树叶', type: 'leaf', component: 'Leaf' },
1308
+ { cat: 'nature', title: '桃子', type: 'peach', component: 'Peach' },
1309
+ { cat: 'nature', title: '梨', type: 'pear', component: 'Pear' },
1310
+ { cat: 'nature', title: '森林', type: 'forest', component: 'Forest' },
1311
+ { cat: 'nature', title: '森林2', type: 'forest2', component: 'Forest2' },
1312
+ { cat: 'nature', title: '森林3', type: 'forest3', component: 'Forest3' },
1313
+ { cat: 'nature', title: '水', type: 'water', component: 'Water' },
1314
+ { cat: 'nature', title: '水母', type: 'jellyfish', component: 'Jellyfish' },
1315
+ { cat: 'nature', title: '河流', type: 'river', component: 'River' },
1316
+ { cat: 'nature', title: '流星', type: 'meteor', component: 'Meteor' },
1317
+ { cat: 'nature', title: '海', type: 'sea', component: 'Sea' },
1318
+ { cat: 'nature', title: '温度', type: 'temperature', component: 'Temperature' },
1319
+ { cat: 'nature', title: '温度上升', type: 'temperature-up', component: 'TemperatureUp' },
1320
+ { cat: 'nature', title: '温度上升2', type: 'temperature-up2', component: 'TemperatureUp2' },
1321
+ { cat: 'nature', title: '温度下降', type: 'temperature-down', component: 'TemperatureDown' },
1322
+ { cat: 'nature', title: '温度下降2', type: 'temperature-down2', component: 'TemperatureDown2' },
1323
+ { cat: 'nature', title: '火', type: 'fire', component: 'Fire' },
1324
+ { cat: 'nature', title: '火腿', type: 'ham', component: 'Ham' },
1325
+ { cat: 'nature', title: '火腿2', type: 'ham2', component: 'Ham2' },
1326
+ { cat: 'nature', title: '熟肉', type: 'cooked-meat', component: 'CookedMeat' },
1327
+ { cat: 'nature', title: '牛', type: 'cow', component: 'Cow' },
1328
+ { cat: 'nature', title: '狐狸', type: 'fox', component: 'Fox' },
1329
+ { cat: 'nature', title: '狗', type: 'dog', component: 'Dog' },
1330
+ { cat: 'nature', title: '狼', type: 'wolf', component: 'Wolf' },
1331
+ { cat: 'nature', title: '猪', type: 'pig', component: 'Pig' },
1332
+ { cat: 'nature', title: '猫', type: 'cat', component: 'Cat' },
1333
+ { cat: 'nature', title: '石头', type: 'stone', component: 'Stone' },
1334
+ { cat: 'nature', title: '竹子', type: 'bamboo', component: 'Bamboo' },
1335
+ { cat: 'nature', title: '竹笋', type: 'bamboo-shoot', component: 'BambooShoot' },
1336
+ { cat: 'nature', title: '羊', type: 'sheep', component: 'Sheep' },
1337
+ { cat: 'nature', title: '肉', type: 'meat', component: 'Meat' },
1338
+ { cat: 'nature', title: '胡萝卜', type: 'carrot', component: 'Carrot' },
1339
+ { cat: 'nature', title: '花', type: 'flower', component: 'Flower' },
1340
+ { cat: 'nature', title: '花2', type: 'flower2', component: 'Flower2' },
1341
+ { cat: 'nature', title: '花3', type: 'flower3', component: 'Flower3' },
1342
+ { cat: 'nature', title: '苹果', type: 'apple', component: 'Apple' },
1343
+ { cat: 'nature', title: '草', type: 'grass', component: 'Grass' },
1344
+ { cat: 'nature', title: '虾', type: 'shrimp', component: 'Shrimp' },
1345
+ { cat: 'nature', title: '雨', type: 'rain', component: 'Rain' },
1346
+ { cat: 'nature', title: '雨2', type: 'rain2', component: 'Rain2' },
1347
+ { cat: 'nature', title: '雪花', type: 'snowflake', component: 'Snowflake' },
1348
+ { cat: 'nature', title: '雷电', type: 'lightning', component: 'Lightning' },
1349
+ { cat: 'nature', title: '雷雨', type: 'thunderstorm', component: 'Thunderstorm' },
1350
+ { cat: 'nature', title: '雾天', type: 'fog', component: 'Fog' },
1351
+ { cat: 'nature', title: '面包', type: 'bread', component: 'Bread' },
1352
+ { cat: 'nature', title: '面包2', type: 'bread2', component: 'Bread2' },
1353
+ { cat: 'nature', title: '风', type: 'wind', component: 'Wind' },
1354
+ { cat: 'nature', title: '香蒲', type: 'cattail', component: 'Cattail' },
1355
+ { cat: 'nature', title: '鱼', type: 'fish', component: 'Fish' },
1356
+ { cat: 'nature', title: '鱼2', type: 'fish2', component: 'Fish2' },
1357
+ ]
1358
+
1359
+ // ---------- 响应式状态 ----------
1360
+ const activeCategory = ref('all')
1361
+ const searchKeyword = ref('')
1362
+ const searchText = ref('')
1363
+ const modalVisible = ref(false)
1364
+ const currentIcon = ref(null)
1365
+
1366
+ // 计算过滤后的图标列表
1367
+ const filteredIcons = computed(() => {
1368
+ let list = iconsData
1369
+ if (activeCategory.value !== 'all') {
1370
+ list = list.filter(icon => icon.cat === activeCategory.value)
1371
+ }
1372
+ if (searchText.value) {
1373
+ const kw = searchText.value.toLowerCase()
1374
+ list = list.filter(icon =>
1375
+ icon.title.toLowerCase().includes(kw) || icon.type.toLowerCase().includes(kw)
1376
+ )
1377
+ }
1378
+ return list
1379
+ })
1380
+
1381
+ // 当前代码片段(独立导入方式)
1382
+ const currentCodeSnippet = computed(() => {
1383
+ if (!currentIcon.value) return ''
1384
+ const comp = currentIcon.value.component
1385
+ return `<script setup>
1386
+ import { ${comp} } from 'cadt-icons';
1387
+ <\/script>
1388
+
1389
+ <template>
1390
+ <${comp} size="32" color="#333" />
1391
+ </template>`
1392
+ })
1393
+
1394
+ function handleSearch() {
1395
+ searchText.value = searchKeyword.value.trim()
1396
+ }
1397
+
1398
+ function openModal(icon) {
1399
+ currentIcon.value = icon
1400
+ modalVisible.value = true
1401
+ }
1402
+
1403
+ function closeModal() {
1404
+ modalVisible.value = false
1405
+ currentIcon.value = null
1406
+ }
1407
+
1408
+ async function copyType() {
1409
+ if (!currentIcon.value) return
1410
+ try {
1411
+ await navigator.clipboard.writeText(currentIcon.value.type)
1412
+ alert(`已复制 type: ${currentIcon.value.type}`)
1413
+ } catch (err) {
1414
+ console.error('复制失败', err)
1415
+ }
1416
+ }
1417
+
1418
+ async function copyCode() {
1419
+ try {
1420
+ await navigator.clipboard.writeText(currentCodeSnippet.value)
1421
+ alert('代码已复制到剪贴板')
1422
+ } catch (err) {
1423
+ console.error('复制失败', err)
1424
+ }
1425
+ }
1426
+ </script>
1427
+
1428
+ <template>
1429
+ <div class="app">
1430
+ <!-- 左侧分类 -->
1431
+ <aside class="sidebar">
1432
+ <div class="category-title">分类</div>
1433
+ <ul class="category-list">
1434
+ <li
1435
+ v-for="cat in categories"
1436
+ :key="cat.id"
1437
+ :class="{ active: activeCategory === cat.id }"
1438
+ @click="activeCategory = cat.id"
1439
+ >
1440
+ {{ cat.name }}
1441
+ </li>
1442
+ </ul>
1443
+ </aside>
1444
+
1445
+ <!-- 右侧主区域 -->
1446
+ <main class="main">
1447
+ <div class="search-bar">
1448
+ <input
1449
+ v-model="searchKeyword"
1450
+ type="text"
1451
+ placeholder="输入图标名称或 type 搜索..."
1452
+ @keyup.enter="handleSearch"
1453
+ />
1454
+ <button @click="handleSearch">搜索</button>
1455
+ </div>
1456
+
1457
+ <div class="icon-grid">
1458
+ <div
1459
+ v-for="icon in filteredIcons"
1460
+ :key="icon.type"
1461
+ class="icon-card"
1462
+ @click="openModal(icon)"
1463
+ >
1464
+ <div class="icon-display">
1465
+ <CadtIcon :type="icon.type" size="32" />
1466
+ </div>
1467
+ <span class="icon-name">{{ icon.title }}</span>
1468
+ </div>
1469
+ </div>
1470
+ </main>
1471
+
1472
+ <!-- 弹层(模态框) -->
1473
+ <Teleport to="body">
1474
+ <div v-if="modalVisible" class="modal-overlay" @click.self="closeModal">
1475
+ <div class="modal-container">
1476
+ <div class="modal-left">
1477
+ <CadtIcon :type="currentIcon?.type" size="64" />
1478
+ </div>
1479
+ <div class="modal-right">
1480
+ <div class="modal-title">{{ currentIcon?.title }}</div>
1481
+ <div class="modal-code">
1482
+ <pre><code>{{ currentCodeSnippet }}</code></pre>
1483
+ </div>
1484
+ <div class="modal-buttons">
1485
+ <button @click="copyType">复制图标 type</button>
1486
+ <button @click="copyCode">复制代码</button>
1487
+ </div>
1488
+ </div>
1489
+ <button class="modal-close" @click="closeModal">×</button>
1490
+ </div>
1491
+ </div>
1492
+ </Teleport>
1493
+ </div>
1494
+ </template>
1495
+
1496
+ <style scoped>
1497
+ * {
1498
+ margin: 0;
1499
+ padding: 0;
1500
+ box-sizing: border-box;
1501
+ }
1502
+
1503
+ .app {
1504
+ display: flex;
1505
+ height: 100vh;
1506
+ font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
1507
+ background: #f5f7fb;
1508
+ }
1509
+
1510
+ /* 侧边栏 */
1511
+ .sidebar {
1512
+ width: 260px;
1513
+ background: white;
1514
+ border-right: 1px solid #e9ecef;
1515
+ overflow-y: auto;
1516
+ padding: 24px 0;
1517
+ }
1518
+
1519
+ .category-title {
1520
+ font-size: 18px;
1521
+ font-weight: 600;
1522
+ padding: 0 20px 16px;
1523
+ color: #1e293b;
1524
+ border-bottom: 1px solid #eef2f6;
1525
+ margin-bottom: 12px;
1526
+ }
1527
+
1528
+ .category-list {
1529
+ list-style: none;
1530
+ }
1531
+
1532
+ .category-list li {
1533
+ padding: 10px 20px;
1534
+ margin: 4px 8px;
1535
+ border-radius: 12px;
1536
+ cursor: pointer;
1537
+ font-size: 14px;
1538
+ font-weight: 500;
1539
+ color: #334155;
1540
+ transition: all 0.2s;
1541
+ }
1542
+
1543
+ .category-list li:hover {
1544
+ background: #f1f5f9;
1545
+ color: #0f172a;
1546
+ }
1547
+
1548
+ .category-list li.active {
1549
+ background: #eef2ff;
1550
+ color: #3b82f6;
1551
+ }
1552
+
1553
+ /* 主区域 */
1554
+ .main {
1555
+ flex: 1;
1556
+ display: flex;
1557
+ flex-direction: column;
1558
+ overflow: hidden;
1559
+ padding: 20px 28px;
1560
+ }
1561
+
1562
+ .search-bar {
1563
+ display: flex;
1564
+ gap: 12px;
1565
+ margin-bottom: 28px;
1566
+ }
1567
+
1568
+ .search-bar input {
1569
+ flex: 1;
1570
+ padding: 10px 16px;
1571
+ border: 1px solid #e2e8f0;
1572
+ border-radius: 40px;
1573
+ font-size: 14px;
1574
+ background: white;
1575
+ outline: none;
1576
+ transition: 0.2s;
1577
+ }
1578
+
1579
+ .search-bar input:focus {
1580
+ border-color: #3b82f6;
1581
+ box-shadow: 0 0 0 3px rgba(59,130,246,0.1);
1582
+ }
1583
+
1584
+ .search-bar button {
1585
+ background: #3b82f6;
1586
+ border: none;
1587
+ padding: 0 24px;
1588
+ border-radius: 40px;
1589
+ color: white;
1590
+ font-weight: 500;
1591
+ cursor: pointer;
1592
+ transition: background 0.2s;
1593
+ }
1594
+
1595
+ .search-bar button:hover {
1596
+ background: #2563eb;
1597
+ }
1598
+
1599
+ /* 图标网格:使用 auto-fill 和 minmax,高度由内容撑开,不会拉伸 */
1600
+ .icon-grid {
1601
+ flex: 1;
1602
+ overflow-y: auto;
1603
+ display: grid;
1604
+ grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
1605
+ gap: 20px;
1606
+ align-content: start; /* 防止内容不足时拉伸 */
1607
+ padding: 4px 2px 20px;
1608
+ }
1609
+
1610
+ .icon-card {
1611
+ background: white;
1612
+ border-radius: 20px;
1613
+ padding: 18px 8px 12px;
1614
+ display: flex;
1615
+ flex-direction: column;
1616
+ align-items: center;
1617
+ cursor: pointer;
1618
+ transition: all 0.2s;
1619
+ box-shadow: 0 1px 2px rgba(0,0,0,0.05);
1620
+ border: 1px solid #edf2f7;
1621
+ }
1622
+
1623
+ .icon-card:hover {
1624
+ transform: translateY(-4px);
1625
+ box-shadow: 0 12px 20px -12px rgba(0,0,0,0.15);
1626
+ border-color: #cbd5e1;
1627
+ }
1628
+
1629
+ .icon-display {
1630
+ display: flex;
1631
+ justify-content: center;
1632
+ align-items: center;
1633
+ height: 56px;
1634
+ margin-bottom: 12px;
1635
+ }
1636
+
1637
+ .icon-name {
1638
+ font-size: 12px;
1639
+ color: #334155;
1640
+ text-align: center;
1641
+ word-break: break-word;
1642
+ max-width: 100%;
1643
+ }
1644
+
1645
+ /* 模态框 */
1646
+ .modal-overlay {
1647
+ position: fixed;
1648
+ top: 0;
1649
+ left: 0;
1650
+ width: 100%;
1651
+ height: 100%;
1652
+ background: rgba(0,0,0,0.5);
1653
+ display: flex;
1654
+ justify-content: center;
1655
+ align-items: center;
1656
+ z-index: 1000;
1657
+ backdrop-filter: blur(3px);
1658
+ }
1659
+
1660
+ .modal-container {
1661
+ background: white;
1662
+ border-radius: 32px;
1663
+ width: 720px;
1664
+ max-width: 90vw;
1665
+ display: flex;
1666
+ padding: 28px;
1667
+ gap: 28px;
1668
+ position: relative;
1669
+ box-shadow: 0 25px 40px rgba(0,0,0,0.2);
1670
+ }
1671
+
1672
+ .modal-left {
1673
+ background: #f8fafc;
1674
+ border-radius: 28px;
1675
+ width: 160px;
1676
+ height: 160px;
1677
+ display: flex;
1678
+ align-items: center;
1679
+ justify-content: center;
1680
+ flex-shrink: 0;
1681
+ }
1682
+
1683
+ .modal-right {
1684
+ flex: 1;
1685
+ }
1686
+
1687
+ .modal-title {
1688
+ font-size: 24px;
1689
+ font-weight: 700;
1690
+ margin-bottom: 16px;
1691
+ color: #0f172a;
1692
+ }
1693
+
1694
+ .modal-code {
1695
+ background: #f1f5f9;
1696
+ padding: 12px 16px;
1697
+ border-radius: 16px;
1698
+ overflow-x: auto;
1699
+ margin: 16px 0;
1700
+ }
1701
+
1702
+ .modal-code pre {
1703
+ margin: 0;
1704
+ font-family: 'Menlo', monospace;
1705
+ font-size: 13px;
1706
+ color: #1e293b;
1707
+ }
1708
+
1709
+ .modal-buttons {
1710
+ display: flex;
1711
+ gap: 12px;
1712
+ margin-top: 16px;
1713
+ }
1714
+
1715
+ .modal-buttons button {
1716
+ background: white;
1717
+ border: 1px solid #cbd5e1;
1718
+ padding: 8px 18px;
1719
+ border-radius: 40px;
1720
+ font-size: 14px;
1721
+ font-weight: 500;
1722
+ cursor: pointer;
1723
+ transition: all 0.2s;
1724
+ }
1725
+
1726
+ .modal-buttons button:hover {
1727
+ background: #f1f5f9;
1728
+ border-color: #94a3b8;
1729
+ }
1730
+
1731
+ .modal-close {
1732
+ position: absolute;
1733
+ top: 20px;
1734
+ right: 24px;
1735
+ background: none;
1736
+ border: none;
1737
+ font-size: 28px;
1738
+ cursor: pointer;
1739
+ color: #64748b;
1740
+ width: 32px;
1741
+ height: 32px;
1742
+ display: flex;
1743
+ align-items: center;
1744
+ justify-content: center;
1745
+ border-radius: 40px;
1746
+ }
1747
+
1748
+ .modal-close:hover {
1749
+ background: #f1f5f9;
1750
+ color: #0f172a;
1751
+ }
1752
+ </style>
1753
+ ```
1754
+
1755
+
748
1756
 
749
1757
  ## 6 开发调试
750
1758