foucui 1.0.1 → 2.0.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.
Files changed (371) hide show
  1. package/README.md +8 -8
  2. package/README.publish.md +19 -0
  3. package/dist/components/{QiuAnchor → FouAnchor}/context.d.ts +4 -4
  4. package/dist/components/{QiuBadge → FouBadge}/composables/useTableHostHeight.d.ts +1 -1
  5. package/dist/components/FouBadge/index.d.ts +18 -0
  6. package/dist/components/{QiuBadge → FouBadge}/shared/BadgeTemplateRenderer.vue.d.ts +1 -1
  7. package/dist/components/{QiuBadge → FouBadge}/shared/badgeTemplate.d.ts +1 -1
  8. package/dist/components/{QiuButton → FouButton}/index.vue.d.ts +4 -4
  9. package/dist/components/{QiuCanvasKit/QiuCanvasEditor.vue.d.ts → FouCanvasKit/FouCanvasEditor.vue.d.ts} +4 -2
  10. package/dist/components/{QiuCanvasKit → FouCanvasKit}/components/DataModulesPanel.vue.d.ts +1 -0
  11. package/dist/components/{QiuCanvasKit → FouCanvasKit}/index.d.ts +4 -4
  12. package/dist/components/{QiuCanvasKit → FouCanvasKit}/types.d.ts +1 -1
  13. package/dist/components/{QiuCarousel → FouCarousel}/context.d.ts +4 -4
  14. package/dist/components/{QiuCascader → FouCascader}/types.d.ts +7 -7
  15. package/dist/components/{QiuCheckbox → FouCheckbox}/types.d.ts +1 -1
  16. package/dist/components/{QiuCollapse → FouCollapse}/context.d.ts +2 -2
  17. package/dist/components/{QiuDescriptions → FouDescriptions}/context.d.ts +4 -4
  18. package/dist/components/{QiuDropdown → FouDropdown}/context.d.ts +2 -2
  19. package/dist/components/{QiuForm → FouForm}/types.d.ts +10 -10
  20. package/dist/components/FouLoading/index.d.ts +26 -0
  21. package/dist/components/{QiuLoading → FouLoading}/spinner.vue.d.ts +3 -3
  22. package/dist/components/{QiuLoading → FouLoading}/types.d.ts +2 -2
  23. package/dist/components/{QiuMenu → FouMenu}/context.d.ts +2 -2
  24. package/dist/components/{QiuMenuNav → FouMenuNav}/context.d.ts +2 -2
  25. package/dist/components/{QiuMsg/QiuMsgItem.vue.d.ts → FouMsg/FouMsgItem.vue.d.ts} +3 -3
  26. package/dist/components/FouMsg/index.d.ts +30 -0
  27. package/dist/components/{QiuMsg → FouMsg}/types.d.ts +5 -5
  28. package/dist/components/{QiuMsgBox → FouMsgBox}/index.d.ts +3 -3
  29. package/dist/components/{QiuNotification/QiuNotificationItem.vue.d.ts → FouNotification/FouNotificationItem.vue.d.ts} +3 -3
  30. package/dist/components/FouNotification/index.d.ts +30 -0
  31. package/dist/components/FouNotification/types.d.ts +12 -0
  32. package/dist/components/{QiuRadio → FouRadio}/types.d.ts +1 -1
  33. package/dist/components/FouRow/types.d.ts +4 -0
  34. package/dist/components/{QiuSelect → FouSelect}/index.vue.d.ts +3 -3
  35. package/dist/components/{QiuSelect → FouSelect}/types.d.ts +3 -3
  36. package/dist/components/{QiuStep → FouStep}/index.vue.d.ts +1 -1
  37. package/dist/components/{QiuSteps → FouSteps}/context.d.ts +5 -5
  38. package/dist/components/{QiuTabBar → FouTabBar}/index.vue.d.ts +3 -3
  39. package/dist/components/{QiuTabBar → FouTabBar}/types.d.ts +5 -5
  40. package/dist/components/{QiuTable → FouTable}/export.d.ts +5 -5
  41. package/dist/components/FouTable/index.d.ts +3 -0
  42. package/dist/components/{QiuTable → FouTable}/index.vue.d.ts +60 -60
  43. package/dist/components/FouTable/registry.d.ts +39 -0
  44. package/dist/components/{QiuTable → FouTable}/types.d.ts +60 -60
  45. package/dist/components/{QiuTable → FouTable}/useArea.d.ts +10 -10
  46. package/dist/components/{QiuTable → FouTable}/useColumns.d.ts +5 -5
  47. package/dist/components/FouTable/useEdit.d.ts +36 -0
  48. package/dist/components/{QiuTable → FouTable}/useHistory.d.ts +5 -5
  49. package/dist/components/{QiuTable → FouTable}/useMerge.d.ts +6 -6
  50. package/dist/components/{QiuTable → FouTable}/useScrollSync.d.ts +1 -1
  51. package/dist/components/{QiuTable → FouTable}/utils.d.ts +17 -17
  52. package/dist/components/FouTree/types.d.ts +13 -0
  53. package/dist/components/{QiuUpload → FouUpload}/index.vue.d.ts +17 -17
  54. package/dist/foucui.css +1 -1
  55. package/dist/foucui.js +10749 -10646
  56. package/dist/foucui.umd.cjs +40 -40
  57. package/dist/index.d.ts +43 -43
  58. package/dist/src/bridge/@/config/index.d.ts +1 -1
  59. package/dist/src/bridge/@fou/plugins/shortcuts.d.ts +2 -0
  60. package/package.json +27 -15
  61. package/components/QiuAffix/index.vue +0 -186
  62. package/components/QiuAlert/index.vue +0 -208
  63. package/components/QiuAnchor/context.ts +0 -18
  64. package/components/QiuAnchor/index.vue +0 -180
  65. package/components/QiuAnchorLink/index.vue +0 -67
  66. package/components/QiuApp/index.vue +0 -9
  67. package/components/QiuAutocomplete/index.vue +0 -408
  68. package/components/QiuAvatar/index.vue +0 -140
  69. package/components/QiuBacktop/index.vue +0 -121
  70. package/components/QiuBadge/api/index.ts +0 -389
  71. package/components/QiuBadge/components/BadgeImagePickerDialog.vue +0 -243
  72. package/components/QiuBadge/components/BadgeLibraryManagerDialog.vue +0 -30
  73. package/components/QiuBadge/components/BadgeLibraryPanel.vue +0 -182
  74. package/components/QiuBadge/composables/useTableHostHeight.ts +0 -53
  75. package/components/QiuBadge/index.ts +0 -18
  76. package/components/QiuBadge/shared/BadgeTemplateRenderer.vue +0 -32
  77. package/components/QiuBadge/shared/assetUrl.ts +0 -26
  78. package/components/QiuBadge/shared/badgeTemplate.ts +0 -309
  79. package/components/QiuBadge/utils/chinaAreaData.ts +0 -44
  80. package/components/QiuBadge/utils/hostRegion.ts +0 -22
  81. package/components/QiuBadge/utils/pca-code.json +0 -1
  82. package/components/QiuBadge/utils/pdfFromElement.ts +0 -348
  83. package/components/QiuBadge/views/BadgeLibraryView.vue +0 -32
  84. package/components/QiuBadge/views/BadgeManageView.vue +0 -1364
  85. package/components/QiuBadge/views/BadgeTemplateEditorView.vue +0 -10
  86. package/components/QiuBadge/views/BadgeTemplateListView.vue +0 -229
  87. package/components/QiuBadge/views/DeskLabelTemplateListView.vue +0 -227
  88. package/components/QiuBadge/views/DeskLabelView.vue +0 -683
  89. package/components/QiuBadgeDot/index.vue +0 -87
  90. package/components/QiuButton/index.vue +0 -247
  91. package/components/QiuButtonGroup/index.vue +0 -63
  92. package/components/QiuCanvasKit/QiuCanvasEditor.vue +0 -5503
  93. package/components/QiuCanvasKit/QiuCanvasRenderer.vue +0 -348
  94. package/components/QiuCanvasKit/assetUrl.ts +0 -11
  95. package/components/QiuCanvasKit/components/DataModulesPanel.vue +0 -352
  96. package/components/QiuCanvasKit/export/html.ts +0 -132
  97. package/components/QiuCanvasKit/export/pdf.ts +0 -48
  98. package/components/QiuCanvasKit/export/png.ts +0 -50
  99. package/components/QiuCanvasKit/index.ts +0 -20
  100. package/components/QiuCanvasKit/modules/badgeCompat.ts +0 -84
  101. package/components/QiuCanvasKit/modules/dataRegistry.ts +0 -207
  102. package/components/QiuCanvasKit/modules/merge.ts +0 -71
  103. package/components/QiuCanvasKit/presets/badge.ts +0 -67
  104. package/components/QiuCanvasKit/presets/banner.ts +0 -79
  105. package/components/QiuCanvasKit/types.ts +0 -138
  106. package/components/QiuCard/index.vue +0 -104
  107. package/components/QiuCarousel/context.ts +0 -16
  108. package/components/QiuCarousel/index.vue +0 -343
  109. package/components/QiuCarouselItem/index.vue +0 -47
  110. package/components/QiuCascader/index.vue +0 -879
  111. package/components/QiuCascader/types.ts +0 -48
  112. package/components/QiuCheckbox/QiuCheckboxGroup.vue +0 -78
  113. package/components/QiuCheckbox/index.vue +0 -231
  114. package/components/QiuCheckbox/types.ts +0 -8
  115. package/components/QiuCode/index.vue +0 -64
  116. package/components/QiuCol/col.scss +0 -55
  117. package/components/QiuCol/index.vue +0 -64
  118. package/components/QiuCollapse/context.ts +0 -10
  119. package/components/QiuCollapse/index.vue +0 -70
  120. package/components/QiuCollapseItem/index.vue +0 -167
  121. package/components/QiuColorField/index.vue +0 -296
  122. package/components/QiuColorPicker/README.md +0 -118
  123. package/components/QiuColorPicker/index.vue +0 -60
  124. package/components/QiuColorfulCard/index.vue +0 -101
  125. package/components/QiuCombobox/index.vue +0 -277
  126. package/components/QiuConfigProvider/index.vue +0 -31
  127. package/components/QiuContextMenu/index.vue +0 -209
  128. package/components/QiuDate/index.vue +0 -1134
  129. package/components/QiuDescriptions/context.ts +0 -20
  130. package/components/QiuDescriptions/index.vue +0 -115
  131. package/components/QiuDescriptionsItem/index.vue +0 -103
  132. package/components/QiuDialog/index.vue +0 -828
  133. package/components/QiuDigitalCard/index.vue +0 -159
  134. package/components/QiuDivider/index.vue +0 -185
  135. package/components/QiuDot/index.vue +0 -83
  136. package/components/QiuDrawer/index.vue +0 -350
  137. package/components/QiuDropdown/QiuDropdownItem.vue +0 -74
  138. package/components/QiuDropdown/QiuDropdownMenu.vue +0 -22
  139. package/components/QiuDropdown/context.ts +0 -9
  140. package/components/QiuDropdown/index.vue +0 -189
  141. package/components/QiuEmpty/index.vue +0 -73
  142. package/components/QiuForm/index.vue +0 -172
  143. package/components/QiuForm/types.ts +0 -39
  144. package/components/QiuFormItem/index.vue +0 -276
  145. package/components/QiuFullscreen/index.vue +0 -11
  146. package/components/QiuGrid/index.vue +0 -408
  147. package/components/QiuHoverCard/index.vue +0 -192
  148. package/components/QiuIcon/index.vue +0 -117
  149. package/components/QiuIconPicker/iconify.libraries.ts +0 -182
  150. package/components/QiuIconPicker/icons.catalog.ts +0 -3072
  151. package/components/QiuIconPicker/index.vue +0 -488
  152. package/components/QiuImage/index.vue +0 -177
  153. package/components/QiuInput/index.vue +0 -328
  154. package/components/QiuInputNumber/index.vue +0 -295
  155. package/components/QiuInputOtp/index.vue +0 -190
  156. package/components/QiuKbd/index.vue +0 -57
  157. package/components/QiuLayoutContainer/index.vue +0 -50
  158. package/components/QiuLinkPreview/index.vue +0 -224
  159. package/components/QiuLoading/index.ts +0 -176
  160. package/components/QiuLoading/spinner.vue +0 -820
  161. package/components/QiuLoading/types.ts +0 -44
  162. package/components/QiuMention/index.vue +0 -299
  163. package/components/QiuMenu/QiuMenuRoot.vue +0 -241
  164. package/components/QiuMenu/components/QiuMenuItem.vue +0 -340
  165. package/components/QiuMenu/components/QiuSubMenu.vue +0 -504
  166. package/components/QiuMenu/context.ts +0 -21
  167. package/components/QiuMenu/index.vue +0 -43
  168. package/components/QiuMenuNav/QiuMenuNavItem.vue +0 -100
  169. package/components/QiuMenuNav/QiuMenuNavSub.vue +0 -120
  170. package/components/QiuMenuNav/context.ts +0 -14
  171. package/components/QiuMenuNav/index.vue +0 -148
  172. package/components/QiuMsg/QiuMsgItem.vue +0 -180
  173. package/components/QiuMsg/index.ts +0 -158
  174. package/components/QiuMsg/types.ts +0 -23
  175. package/components/QiuMsgBox/index.ts +0 -147
  176. package/components/QiuNotification/QiuNotificationItem.vue +0 -168
  177. package/components/QiuNotification/index.ts +0 -155
  178. package/components/QiuNotification/types.ts +0 -14
  179. package/components/QiuPage/index.vue +0 -12
  180. package/components/QiuPageHeader/index.vue +0 -115
  181. package/components/QiuPageMain/index.vue +0 -78
  182. package/components/QiuPagination/index.vue +0 -421
  183. package/components/QiuPasswordStrength/index.vue +0 -101
  184. package/components/QiuPopconfirm/index.vue +0 -196
  185. package/components/QiuPopover/index.vue +0 -277
  186. package/components/QiuProgress/index.vue +0 -235
  187. package/components/QiuQrcode/index.vue +0 -302
  188. package/components/QiuQueryForm/components/QiuQueryFormBottomPanel.vue +0 -13
  189. package/components/QiuQueryForm/components/QiuQueryFormLeftPanel.vue +0 -37
  190. package/components/QiuQueryForm/components/QiuQueryFormRightPanel.vue +0 -37
  191. package/components/QiuQueryForm/components/QiuQueryFormTopPanel.vue +0 -13
  192. package/components/QiuQueryForm/index.vue +0 -117
  193. package/components/QiuRadio/QiuRadioGroup.vue +0 -75
  194. package/components/QiuRadio/index.vue +0 -191
  195. package/components/QiuRadio/types.ts +0 -9
  196. package/components/QiuRate/index.vue +0 -184
  197. package/components/QiuRefresh/index.vue +0 -32
  198. package/components/QiuResult/index.vue +0 -103
  199. package/components/QiuRow/index.vue +0 -60
  200. package/components/QiuRow/types.ts +0 -5
  201. package/components/QiuScrollbar/index.vue +0 -107
  202. package/components/QiuSearchBar/index.vue +0 -154
  203. package/components/QiuSegmented/index.vue +0 -120
  204. package/components/QiuSelect/QiuOption.vue +0 -93
  205. package/components/QiuSelect/index.vue +0 -452
  206. package/components/QiuSelect/types.ts +0 -15
  207. package/components/QiuSkeleton/index.vue +0 -78
  208. package/components/QiuSlider/index.vue +0 -266
  209. package/components/QiuSpace/index.vue +0 -95
  210. package/components/QiuSparkline/index.vue +0 -92
  211. package/components/QiuStatistic/index.vue +0 -4
  212. package/components/QiuStatistics/index.vue +0 -123
  213. package/components/QiuStep/index.vue +0 -220
  214. package/components/QiuSteps/context.ts +0 -25
  215. package/components/QiuSteps/index.vue +0 -84
  216. package/components/QiuSwitch/index.vue +0 -145
  217. package/components/QiuTabBar/index.vue +0 -218
  218. package/components/QiuTabBar/types.ts +0 -19
  219. package/components/QiuTabPane/index.vue +0 -82
  220. package/components/QiuTable/columns.ts +0 -16
  221. package/components/QiuTable/export.ts +0 -102
  222. package/components/QiuTable/index.ts +0 -24
  223. package/components/QiuTable/index.vue +0 -3503
  224. package/components/QiuTable/registry.ts +0 -75
  225. package/components/QiuTable/styles/table.scss +0 -1230
  226. package/components/QiuTable/types.ts +0 -413
  227. package/components/QiuTable/useArea.ts +0 -202
  228. package/components/QiuTable/useColumns.ts +0 -325
  229. package/components/QiuTable/useEdit.ts +0 -136
  230. package/components/QiuTable/useExtras.ts +0 -115
  231. package/components/QiuTable/useHistory.ts +0 -77
  232. package/components/QiuTable/useMerge.ts +0 -105
  233. package/components/QiuTable/useResize.ts +0 -86
  234. package/components/QiuTable/useScrollSync.ts +0 -152
  235. package/components/QiuTable/useVirtual.ts +0 -97
  236. package/components/QiuTable/utils.ts +0 -165
  237. package/components/QiuTableColumn/index.vue +0 -101
  238. package/components/QiuTag/index.vue +0 -143
  239. package/components/QiuText/index.vue +0 -99
  240. package/components/QiuTime/index.vue +0 -548
  241. package/components/QiuTimeAgo/index.vue +0 -103
  242. package/components/QiuTimeline/index.vue +0 -54
  243. package/components/QiuTimelineItem/index.vue +0 -140
  244. package/components/QiuTips/index.vue +0 -323
  245. package/components/QiuTooltip/index.vue +0 -237
  246. package/components/QiuTransfer/index.vue +0 -277
  247. package/components/QiuTree/QiuTreeNode.vue +0 -146
  248. package/components/QiuTree/index.vue +0 -143
  249. package/components/QiuTree/types.ts +0 -30
  250. package/components/QiuTreeSelect/index.vue +0 -259
  251. package/components/QiuTrend/index.vue +0 -92
  252. package/components/QiuUpload/index.vue +0 -628
  253. package/components/QiuUploadCrop/index.vue +0 -1267
  254. package/components/QiuWatermark/index.vue +0 -121
  255. package/components/useBodyScrollLock.ts +0 -28
  256. package/dist/components/QiuBadge/index.d.ts +0 -18
  257. package/dist/components/QiuBadge/utils/pca-code.json.d.ts +0 -3
  258. package/dist/components/QiuLoading/index.d.ts +0 -26
  259. package/dist/components/QiuMsg/index.d.ts +0 -30
  260. package/dist/components/QiuNotification/index.d.ts +0 -30
  261. package/dist/components/QiuNotification/types.d.ts +0 -12
  262. package/dist/components/QiuRow/types.d.ts +0 -4
  263. package/dist/components/QiuTable/index.d.ts +0 -3
  264. package/dist/components/QiuTable/registry.d.ts +0 -39
  265. package/dist/components/QiuTable/useEdit.d.ts +0 -36
  266. package/dist/components/QiuTree/types.d.ts +0 -13
  267. package/dist/src/bridge/@qiu/plugins/shortcuts.d.ts +0 -2
  268. package/plugins/qiu.ts +0 -83
  269. package/plugins/shortcuts.ts +0 -69
  270. package/src/bridge/@/api/media.ts +0 -8
  271. package/src/bridge/@/api/notice.ts +0 -5
  272. package/src/bridge/@/config/index.ts +0 -38
  273. package/src/bridge/@/config/media.config.ts +0 -37
  274. package/src/bridge/@/config/security.config.ts +0 -8
  275. package/src/bridge/@/i18n/index.ts +0 -6
  276. package/src/bridge/@/store/modules/bing.ts +0 -9
  277. package/src/bridge/@/store/modules/errorLog.ts +0 -9
  278. package/src/bridge/@/store/modules/media.ts +0 -10
  279. package/src/bridge/@/store/modules/routes.ts +0 -10
  280. package/src/bridge/@/store/modules/settings.ts +0 -9
  281. package/src/bridge/@/store/modules/tabs.ts +0 -9
  282. package/src/bridge/@/store/modules/user.ts +0 -9
  283. package/src/bridge/@/utils/convertToCamelCase.ts +0 -11
  284. package/src/bridge/@/utils/index.ts +0 -9
  285. package/src/bridge/@/utils/pageTitle.ts +0 -4
  286. package/src/bridge/@/utils/routes.ts +0 -14
  287. package/src/bridge/@/utils/validate.ts +0 -17
  288. package/src/bridge/@qiu/plugins/shortcuts.ts +0 -3
  289. package/src/i18n.ts +0 -8
  290. package/src/icons/qiu-logo.svg +0 -1
  291. package/styles/dark.scss +0 -194
  292. package/styles/normalize.css +0 -349
  293. package/styles/plain.scss +0 -423
  294. package/styles/qiu-tokens.scss +0 -40
  295. package/styles/qiu.scss +0 -1149
  296. package/styles/technology.scss +0 -452
  297. package/styles/var.scss +0 -382
  298. package/styles/variables.scss +0 -77
  299. /package/dist/components/{QiuAnchorLink → FouAnchorLink}/index.vue.d.ts +0 -0
  300. /package/dist/components/{QiuBadge → FouBadge}/api/index.d.ts +0 -0
  301. /package/dist/components/{QiuBadge → FouBadge}/components/BadgeImagePickerDialog.vue.d.ts +0 -0
  302. /package/dist/components/{QiuBadge → FouBadge}/components/BadgeLibraryManagerDialog.vue.d.ts +0 -0
  303. /package/dist/components/{QiuBadge → FouBadge}/components/BadgeLibraryPanel.vue.d.ts +0 -0
  304. /package/dist/components/{QiuBadge → FouBadge}/shared/assetUrl.d.ts +0 -0
  305. /package/dist/components/{QiuBadge → FouBadge}/utils/chinaAreaData.d.ts +0 -0
  306. /package/dist/components/{QiuBadge → FouBadge}/utils/hostRegion.d.ts +0 -0
  307. /package/dist/components/{QiuBadge → FouBadge}/utils/pdfFromElement.d.ts +0 -0
  308. /package/dist/components/{QiuBadge → FouBadge}/views/BadgeLibraryView.vue.d.ts +0 -0
  309. /package/dist/components/{QiuBadge → FouBadge}/views/BadgeManageView.vue.d.ts +0 -0
  310. /package/dist/components/{QiuBadge → FouBadge}/views/BadgeTemplateListView.vue.d.ts +0 -0
  311. /package/dist/components/{QiuBadge → FouBadge}/views/DeskLabelTemplateListView.vue.d.ts +0 -0
  312. /package/dist/components/{QiuBadge → FouBadge}/views/DeskLabelView.vue.d.ts +0 -0
  313. /package/dist/components/{QiuCanvasKit/QiuCanvasRenderer.vue.d.ts → FouCanvasKit/FouCanvasRenderer.vue.d.ts} +0 -0
  314. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/assetUrl.d.ts +0 -0
  315. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/export/html.d.ts +0 -0
  316. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/export/pdf.d.ts +0 -0
  317. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/export/png.d.ts +0 -0
  318. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/modules/badgeCompat.d.ts +0 -0
  319. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/modules/dataRegistry.d.ts +0 -0
  320. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/modules/merge.d.ts +0 -0
  321. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/presets/badge.d.ts +0 -0
  322. /package/dist/components/{QiuCanvasKit → FouCanvasKit}/presets/banner.d.ts +0 -0
  323. /package/dist/components/{QiuCarouselItem → FouCarouselItem}/index.vue.d.ts +0 -0
  324. /package/dist/components/{QiuCheckbox/QiuCheckboxGroup.vue.d.ts → FouCheckbox/FouCheckboxGroup.vue.d.ts} +0 -0
  325. /package/dist/components/{QiuCheckbox → FouCheckbox}/index.vue.d.ts +0 -0
  326. /package/dist/components/{QiuCode → FouCode}/index.vue.d.ts +0 -0
  327. /package/dist/components/{QiuCollapseItem → FouCollapseItem}/index.vue.d.ts +0 -0
  328. /package/dist/components/{QiuColorField → FouColorField}/index.vue.d.ts +0 -0
  329. /package/dist/components/{QiuColorPicker → FouColorPicker}/index.vue.d.ts +0 -0
  330. /package/dist/components/{QiuCombobox → FouCombobox}/index.vue.d.ts +0 -0
  331. /package/dist/components/{QiuContextMenu → FouContextMenu}/index.vue.d.ts +0 -0
  332. /package/dist/components/{QiuDescriptionsItem → FouDescriptionsItem}/index.vue.d.ts +0 -0
  333. /package/dist/components/{QiuDigitalCard → FouDigitalCard}/index.vue.d.ts +0 -0
  334. /package/dist/components/{QiuDropdown/QiuDropdownItem.vue.d.ts → FouDropdown/FouDropdownItem.vue.d.ts} +0 -0
  335. /package/dist/components/{QiuDropdown/QiuDropdownMenu.vue.d.ts → FouDropdown/FouDropdownMenu.vue.d.ts} +0 -0
  336. /package/dist/components/{QiuDropdown → FouDropdown}/index.vue.d.ts +0 -0
  337. /package/dist/components/{QiuHoverCard → FouHoverCard}/index.vue.d.ts +0 -0
  338. /package/dist/components/{QiuIcon → FouIcon}/index.vue.d.ts +0 -0
  339. /package/dist/components/{QiuIconPicker → FouIconPicker}/iconify.libraries.d.ts +0 -0
  340. /package/dist/components/{QiuIconPicker → FouIconPicker}/icons.catalog.d.ts +0 -0
  341. /package/dist/components/{QiuInput → FouInput}/index.vue.d.ts +0 -0
  342. /package/dist/components/{QiuInputNumber → FouInputNumber}/index.vue.d.ts +0 -0
  343. /package/dist/components/{QiuInputOtp → FouInputOtp}/index.vue.d.ts +0 -0
  344. /package/dist/components/{QiuKbd → FouKbd}/index.vue.d.ts +0 -0
  345. /package/dist/components/{QiuLayoutContainer → FouLayoutContainer}/index.vue.d.ts +0 -0
  346. /package/dist/components/{QiuLinkPreview → FouLinkPreview}/index.vue.d.ts +0 -0
  347. /package/dist/components/{QiuMention → FouMention}/index.vue.d.ts +0 -0
  348. /package/dist/components/{QiuMenu/QiuMenuRoot.vue.d.ts → FouMenu/FouMenuRoot.vue.d.ts} +0 -0
  349. /package/dist/components/{QiuMenuNav/QiuMenuNavItem.vue.d.ts → FouMenuNav/FouMenuNavItem.vue.d.ts} +0 -0
  350. /package/dist/components/{QiuMenuNav/QiuMenuNavSub.vue.d.ts → FouMenuNav/FouMenuNavSub.vue.d.ts} +0 -0
  351. /package/dist/components/{QiuMenuNav → FouMenuNav}/index.vue.d.ts +0 -0
  352. /package/dist/components/{QiuPageMain → FouPageMain}/index.vue.d.ts +0 -0
  353. /package/dist/components/{QiuPagination → FouPagination}/index.vue.d.ts +0 -0
  354. /package/dist/components/{QiuPasswordStrength → FouPasswordStrength}/index.vue.d.ts +0 -0
  355. /package/dist/components/{QiuQrcode → FouQrcode}/index.vue.d.ts +0 -0
  356. /package/dist/components/{QiuRadio/QiuRadioGroup.vue.d.ts → FouRadio/FouRadioGroup.vue.d.ts} +0 -0
  357. /package/dist/components/{QiuSearchBar → FouSearchBar}/index.vue.d.ts +0 -0
  358. /package/dist/components/{QiuSelect/QiuOption.vue.d.ts → FouSelect/FouOption.vue.d.ts} +0 -0
  359. /package/dist/components/{QiuSparkline → FouSparkline}/index.vue.d.ts +0 -0
  360. /package/dist/components/{QiuSwitch → FouSwitch}/index.vue.d.ts +0 -0
  361. /package/dist/components/{QiuTabPane → FouTabPane}/index.vue.d.ts +0 -0
  362. /package/dist/components/{QiuTable → FouTable}/columns.d.ts +0 -0
  363. /package/dist/components/{QiuTable → FouTable}/useExtras.d.ts +0 -0
  364. /package/dist/components/{QiuTable → FouTable}/useResize.d.ts +0 -0
  365. /package/dist/components/{QiuTable → FouTable}/useVirtual.d.ts +0 -0
  366. /package/dist/components/{QiuTime → FouTime}/index.vue.d.ts +0 -0
  367. /package/dist/components/{QiuTimeAgo → FouTimeAgo}/index.vue.d.ts +0 -0
  368. /package/dist/components/{QiuTimelineItem → FouTimelineItem}/index.vue.d.ts +0 -0
  369. /package/dist/components/{QiuTooltip → FouTooltip}/index.vue.d.ts +0 -0
  370. /package/dist/components/{QiuTrend → FouTrend}/index.vue.d.ts +0 -0
  371. /package/dist/components/{QiuUploadCrop → FouUploadCrop}/index.vue.d.ts +0 -0
@@ -1,348 +0,0 @@
1
- import html2canvas from 'html2canvas'
2
- import { jsPDF } from 'jspdf'
3
- import { qiuLoading } from '../../QiuLoading'
4
-
5
- type LoadingInstance = ReturnType<typeof qiuLoading.service>
6
-
7
- export type PaperKind = 'a4' | 'a3' | 'custom'
8
- export type PaperOrientation = 'portrait' | 'landscape'
9
- export interface PaperSpec {
10
- size: PaperKind
11
- orientation?: PaperOrientation
12
- widthMm?: number
13
- heightMm?: number
14
- }
15
-
16
- interface PdfProgressState {
17
- phase: 'render' | 'compose' | 'save'
18
- current: number
19
- total: number
20
- percent: number
21
- text: string
22
- }
23
-
24
- interface PdfBuildOptions {
25
- onProgress?: (state: PdfProgressState) => void
26
- }
27
-
28
- function normalizePaperSpec(paper: PaperKind | PaperSpec): PaperSpec {
29
- if (typeof paper === 'string') {
30
- return { size: paper, orientation: 'portrait' }
31
- }
32
- return {
33
- size: paper.size,
34
- orientation: paper.orientation ?? 'portrait',
35
- widthMm: Number(paper.widthMm || 0) || undefined,
36
- heightMm: Number(paper.heightMm || 0) || undefined,
37
- }
38
- }
39
-
40
- function createJsPdfDocument(spec: PaperSpec): jsPDF {
41
- const isCustom = spec.size === 'custom'
42
- return new jsPDF({
43
- unit: 'mm',
44
- format: isCustom ? [Math.max(1, Number(spec.widthMm || 0)), Math.max(1, Number(spec.heightMm || 0))] : spec.size === 'a4' ? 'a4' : 'a3',
45
- orientation: isCustom ? 'p' : spec.orientation === 'landscape' ? 'l' : 'p',
46
- compress: true,
47
- })
48
- }
49
-
50
- function cssPageSize(spec: PaperSpec): string {
51
- if (spec.size === 'custom') {
52
- return `${Math.max(1, Number(spec.widthMm || 0))}mm ${Math.max(1, Number(spec.heightMm || 0))}mm`
53
- }
54
- return `${spec.size.toUpperCase()} ${spec.orientation}`
55
- }
56
-
57
- /**
58
- * 将 DOM 区域导出为多页 PDF(按纸张高度纵向切片),供证件/桌面贴整版预览下载。
59
- */
60
- export async function downloadPdfFromHtmlElement(
61
- element: HTMLElement,
62
- filename: string,
63
- paper: PaperKind | PaperSpec
64
- ): Promise<void> {
65
- const loading = createPdfLoading()
66
- const spec = normalizePaperSpec(paper)
67
- try {
68
- updatePdfLoading(loading, {
69
- phase: 'render',
70
- current: 0,
71
- total: 1,
72
- percent: 5,
73
- text: '正在渲染第 1 / 1 页 5%',
74
- })
75
- const pdf = createJsPdfDocument(spec)
76
- const pageW = pdf.internal.pageSize.getWidth()
77
- const pageH = pdf.internal.pageSize.getHeight()
78
- const margin = 8
79
- const usableW = pageW - 2 * margin
80
- const usableH = pageH - 2 * margin
81
-
82
- const canvas = await html2canvas(element, {
83
- scale: 2,
84
- useCORS: true,
85
- logging: false,
86
- backgroundColor: '#ffffff',
87
- scrollX: 0,
88
- scrollY: -window.scrollY,
89
- windowWidth: element.scrollWidth,
90
- windowHeight: element.scrollHeight,
91
- })
92
-
93
- updatePdfLoading(loading, {
94
- phase: 'compose',
95
- current: 1,
96
- total: 1,
97
- percent: 75,
98
- text: '正在写入 PDF 75%',
99
- })
100
-
101
- const imgW = canvas.width
102
- const imgH = canvas.height
103
- const ratio = usableW / imgW
104
- const sliceSourceH = usableH / ratio
105
-
106
- let srcY = 0
107
- let first = true
108
- while (srcY < imgH - 0.5) {
109
- if (!first) pdf.addPage()
110
- first = false
111
- const sliceH = Math.min(sliceSourceH, imgH - srcY)
112
- const sliceCanvas = document.createElement('canvas')
113
- sliceCanvas.width = imgW
114
- sliceCanvas.height = Math.ceil(sliceH)
115
- const ctx = sliceCanvas.getContext('2d')
116
- if (!ctx) break
117
- ctx.drawImage(canvas, 0, srcY, imgW, sliceH, 0, 0, imgW, sliceH)
118
- const data = sliceCanvas.toDataURL('image/png', 0.92)
119
- const displayH = sliceH * ratio
120
- pdf.addImage(data, 'PNG', margin, margin, usableW, displayH)
121
- srcY += sliceH
122
- }
123
-
124
- updatePdfLoading(loading, {
125
- phase: 'save',
126
- current: 1,
127
- total: 1,
128
- percent: 100,
129
- text: '正在下载 PDF 100%',
130
- })
131
- pdf.save(filename)
132
- } finally {
133
- closePdfLoading(loading)
134
- }
135
- }
136
-
137
- export async function downloadPdfPagesFromElements(
138
- pages: HTMLElement[],
139
- filename: string,
140
- paper: PaperKind | PaperSpec
141
- ): Promise<void> {
142
- if (!pages.length) return
143
- const loading = createPdfLoading()
144
- try {
145
- const pdf = await buildPdfFromElements(pages, paper, {
146
- onProgress: (state) => updatePdfLoading(loading, state),
147
- })
148
- updatePdfLoading(loading, {
149
- phase: 'save',
150
- current: pages.length,
151
- total: pages.length,
152
- percent: 100,
153
- text: '正在下载 PDF 100%',
154
- })
155
- pdf.save(filename)
156
- } finally {
157
- closePdfLoading(loading)
158
- }
159
- }
160
-
161
- export async function printPdfPagesFromElements(
162
- pages: HTMLElement[],
163
- title: string,
164
- paper: PaperKind | PaperSpec
165
- ): Promise<void> {
166
- if (!pages.length) return
167
- const loading = qiuLoading.service({
168
- fullscreen: true,
169
- text: '正在准备打印预览',
170
- })
171
- const spec = normalizePaperSpec(paper)
172
- const styleHtml = Array.from(document.querySelectorAll('style'))
173
- .map((node) => node.outerHTML)
174
- .join('\n')
175
- const linkHtml = Array.from(document.querySelectorAll('link[rel="stylesheet"]'))
176
- .map((node) => node.outerHTML)
177
- .join('\n')
178
- const pageSize = cssPageSize(spec)
179
- const bodyHtml = pages
180
- .map((page) => `<section class="print-page">${page.outerHTML}</section>`)
181
- .join('\n')
182
- const iframe = document.createElement('iframe')
183
- iframe.setAttribute('aria-hidden', 'true')
184
- iframe.style.position = 'fixed'
185
- iframe.style.left = '-10000px'
186
- iframe.style.top = '0'
187
- iframe.style.width = '1px'
188
- iframe.style.height = '1px'
189
- iframe.style.border = '0'
190
- iframe.style.opacity = '0'
191
- iframe.style.pointerEvents = 'none'
192
- document.body.appendChild(iframe)
193
-
194
- const doc = iframe.contentDocument
195
- const win = iframe.contentWindow
196
- if (!doc || !win) {
197
- iframe.remove()
198
- loading.close()
199
- throw new Error('打印环境初始化失败')
200
- }
201
- iframe.title = title
202
- iframe.srcdoc = `<!doctype html>
203
- <html lang="zh-CN">
204
- <head>
205
- <meta charset="utf-8" />
206
- <meta name="viewport" content="width=device-width, initial-scale=1" />
207
- <title>${escapeHtml(title)}</title>
208
- ${linkHtml}
209
- ${styleHtml}
210
- <style>
211
- @page { size: ${pageSize}; margin: 0; }
212
- html, body {
213
- margin: 0;
214
- padding: 0;
215
- background: #fff;
216
- }
217
- body {
218
- -webkit-print-color-adjust: exact;
219
- print-color-adjust: exact;
220
- }
221
- .print-page {
222
- break-after: page;
223
- page-break-after: always;
224
- }
225
- .print-page:last-child {
226
- break-after: auto;
227
- page-break-after: auto;
228
- }
229
- .pdf-page {
230
- margin: 0 !important;
231
- box-shadow: none !important;
232
- }
233
- </style>
234
- </head>
235
- <body>
236
- ${bodyHtml}
237
- </body>
238
- </html>`
239
- try {
240
- await waitForPrintWindow(win)
241
- loading.close()
242
- win.focus()
243
- await new Promise((resolve) => window.setTimeout(resolve, 180))
244
- win.print()
245
- } finally {
246
- window.setTimeout(() => loading.close(), 120)
247
- }
248
-
249
- win.addEventListener(
250
- 'afterprint',
251
- () => {
252
- window.setTimeout(() => {
253
- iframe.remove()
254
- }, 300)
255
- },
256
- { once: true }
257
- )
258
- window.setTimeout(() => {
259
- iframe.remove()
260
- }, 4000)
261
- }
262
-
263
- async function buildPdfFromElements(
264
- pages: HTMLElement[],
265
- paper: PaperKind | PaperSpec,
266
- options: PdfBuildOptions = {}
267
- ): Promise<jsPDF> {
268
- const spec = normalizePaperSpec(paper)
269
- const pdf = createJsPdfDocument(spec)
270
- const pageW = pdf.internal.pageSize.getWidth()
271
- const pageH = pdf.internal.pageSize.getHeight()
272
-
273
- for (let i = 0; i < pages.length; i++) {
274
- if (i > 0) pdf.addPage()
275
- options.onProgress?.({
276
- phase: 'render',
277
- current: i + 1,
278
- total: pages.length,
279
- percent: Math.min(95, Math.round(((i + 1) / pages.length) * 90)),
280
- text: `正在渲染第 ${i + 1} / ${pages.length} 页`,
281
- })
282
- const canvas = await html2canvas(pages[i], {
283
- scale: 2,
284
- useCORS: true,
285
- logging: false,
286
- backgroundColor: '#ffffff',
287
- scrollX: 0,
288
- scrollY: -window.scrollY,
289
- windowWidth: pages[i].scrollWidth,
290
- windowHeight: pages[i].scrollHeight,
291
- })
292
- const data = canvas.toDataURL('image/png', 0.92)
293
- pdf.addImage(data, 'PNG', 0, 0, pageW, pageH)
294
- }
295
-
296
- return pdf
297
- }
298
-
299
- function createPdfLoading(): LoadingInstance {
300
- return qiuLoading.service({
301
- fullscreen: true,
302
- text: '正在生成 PDF 0%',
303
- })
304
- }
305
-
306
- function updatePdfLoading(loading: LoadingInstance, state: PdfProgressState): void {
307
- void state
308
- /* QiuLoading has no setText API; close and reopen with updated text would flicker — keep initial text */
309
- }
310
-
311
- function closePdfLoading(loading: LoadingInstance): void {
312
- window.setTimeout(() => loading.close(), 120)
313
- }
314
-
315
- function escapeHtml(value: string): string {
316
- return value
317
- .replace(/&/g, '&amp;')
318
- .replace(/</g, '&lt;')
319
- .replace(/>/g, '&gt;')
320
- .replace(/"/g, '&quot;')
321
- .replace(/'/g, '&#39;')
322
- }
323
-
324
- async function waitForPrintWindow(win: Window): Promise<void> {
325
- await new Promise<void>((resolve) => {
326
- if (win.document.readyState === 'complete') {
327
- resolve()
328
- return
329
- }
330
- win.addEventListener('load', () => resolve(), { once: true })
331
- setTimeout(() => resolve(), 1200)
332
- })
333
- const images = Array.from(win.document.images)
334
- await Promise.all(
335
- images.map(
336
- (img) =>
337
- new Promise<void>((resolve) => {
338
- if (img.complete) {
339
- resolve()
340
- return
341
- }
342
- img.addEventListener('load', () => resolve(), { once: true })
343
- img.addEventListener('error', () => resolve(), { once: true })
344
- setTimeout(() => resolve(), 1200)
345
- })
346
- )
347
- )
348
- }
@@ -1,32 +0,0 @@
1
- <template>
2
- <div class="page-container badge-library-page">
3
- <div class="page-head">
4
- <h2 class="page-h2">证件图片库</h2>
5
- <p class="page-desc">管理模板编辑中上传的图片,可删除不再使用的文件;删除后已保存模板里若仍引用该地址将无法显示。</p>
6
- </div>
7
-
8
- <BadgeLibraryPanel />
9
- </div>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import BadgeLibraryPanel from '../components/BadgeLibraryPanel.vue'
14
- </script>
15
-
16
- <style scoped>
17
- .page-head {
18
- margin-bottom: 16px;
19
- }
20
- .page-h2 {
21
- margin: 0 0 8px;
22
- font-size: 20px;
23
- font-weight: 600;
24
- color: #303133;
25
- }
26
- .page-desc {
27
- margin: 0;
28
- font-size: 14px;
29
- color: #909399;
30
- line-height: 1.5;
31
- }
32
- </style>