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,147 +0,0 @@
1
- /**
2
- * 简易确认/警告框(无 Element Plus)
3
- */
4
- import { createApp, h, reactive } from 'vue'
5
-
6
- type BoxOptions = {
7
- title?: string
8
- message: string | any
9
- type?: 'warning' | 'info' | 'success' | 'error'
10
- showCancel?: boolean
11
- confirmButtonText?: string
12
- cancelButtonText?: string
13
- dangerouslyUseHTMLString?: boolean
14
- }
15
-
16
- const mountBox = (opts: BoxOptions) =>
17
- new Promise<'confirm' | 'cancel'>((resolve) => {
18
- const host = document.createElement('div')
19
- document.body.appendChild(host)
20
-
21
- const state = reactive({
22
- title: opts.title || '温馨提示',
23
- message: opts.message,
24
- showCancel: !!opts.showCancel,
25
- confirmText: opts.confirmButtonText || '确定',
26
- cancelText: opts.cancelButtonText || '取消',
27
- html: !!opts.dangerouslyUseHTMLString,
28
- })
29
-
30
- const close = (result: 'confirm' | 'cancel') => {
31
- app.unmount()
32
- host.remove()
33
- resolve(result)
34
- }
35
-
36
- const app = createApp({
37
- setup() {
38
- return () =>
39
- h('div', { class: 'qiu-msgbox-root' }, [
40
- h('div', { class: 'qiu-msgbox-mask', onClick: () => state.showCancel && close('cancel') }),
41
- h('div', { class: 'qiu-msgbox', role: 'dialog' }, [
42
- h('div', { class: 'qiu-msgbox__title' }, state.title),
43
- state.html
44
- ? h('div', {
45
- class: 'qiu-msgbox__body',
46
- innerHTML: String(state.message ?? ''),
47
- })
48
- : h('div', { class: 'qiu-msgbox__body' }, state.message),
49
- h('div', { class: 'qiu-msgbox__footer' }, [
50
- state.showCancel
51
- ? h(
52
- 'button',
53
- {
54
- type: 'button',
55
- class: 'qiu-msgbox__btn',
56
- onClick: () => close('cancel'),
57
- },
58
- state.cancelText
59
- )
60
- : null,
61
- h(
62
- 'button',
63
- {
64
- type: 'button',
65
- class: 'qiu-msgbox__btn qiu-msgbox__btn--primary',
66
- onClick: () => close('confirm'),
67
- },
68
- state.confirmText
69
- ),
70
- ]),
71
- ]),
72
- ])
73
- },
74
- })
75
-
76
- if (!document.getElementById('qiu-msgbox-style')) {
77
- const style = document.createElement('style')
78
- style.id = 'qiu-msgbox-style'
79
- style.textContent = `
80
- .qiu-msgbox-root{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center}
81
- .qiu-msgbox-mask{position:absolute;inset:0;background:rgba(0,0,0,.45)}
82
- .qiu-msgbox{position:relative;z-index:1;width:min(420px,92vw);padding:16px 18px;border-radius:8px;background:var(--qiu-bg-color,#fff);box-shadow:0 12px 32px rgba(0,0,0,.18);color:var(--qiu-text-color,#303133)}
83
- .qiu-msgbox__title{font-size:16px;font-weight:600;margin-bottom:10px}
84
- .qiu-msgbox__body{font-size:14px;line-height:1.6;color:var(--qiu-text-color-regular,#606266);max-height:50vh;overflow:auto}
85
- .qiu-msgbox__footer{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
86
- .qiu-msgbox__btn{height:32px;padding:0 14px;border-radius:4px;border:1px solid var(--qiu-border-color,#dcdfe6);background:#fff;cursor:pointer}
87
- .qiu-msgbox__btn--primary{color:#fff;background:var(--qiu-color-primary,#0f766e);border-color:var(--qiu-color-primary,#0f766e)}
88
- `
89
- document.head.appendChild(style)
90
- }
91
-
92
- app.mount(host)
93
- })
94
-
95
- export const qiuAlert = async (
96
- content: any,
97
- title = '温馨提示',
98
- callback?: () => void
99
- ) => {
100
- if (title && typeof title === 'function') {
101
- callback = title
102
- title = '温馨提示'
103
- }
104
- await mountBox({
105
- title: String(title),
106
- message: content,
107
- dangerouslyUseHTMLString: true,
108
- showCancel: false,
109
- })
110
- callback?.()
111
- }
112
-
113
- export const qiuConfirm = (
114
- content: any,
115
- title = '温馨提示',
116
- onOk?: () => void,
117
- onCancel?: () => void,
118
- confirmButtonText = '确定',
119
- cancelButtonText = '取消'
120
- ) =>
121
- mountBox({
122
- title,
123
- message: content,
124
- showCancel: true,
125
- confirmButtonText,
126
- cancelButtonText,
127
- dangerouslyUseHTMLString: typeof content === 'string' && content.includes('<'),
128
- }).then((r) => {
129
- if (r === 'confirm') onOk?.()
130
- else onCancel?.()
131
- })
132
-
133
- /** Promise 版:返回 'confirm' | 'cancel',便于 async/await */
134
- export const qiuConfirmPromise = (
135
- content: any,
136
- title = '温馨提示',
137
- opts?: Pick<BoxOptions, 'confirmButtonText' | 'cancelButtonText' | 'dangerouslyUseHTMLString'>
138
- ) =>
139
- mountBox({
140
- title,
141
- message: content,
142
- showCancel: true,
143
- confirmButtonText: opts?.confirmButtonText || '确定',
144
- cancelButtonText: opts?.cancelButtonText || '取消',
145
- dangerouslyUseHTMLString:
146
- opts?.dangerouslyUseHTMLString ?? (typeof content === 'string' && content.includes('<')),
147
- })
@@ -1,168 +0,0 @@
1
- <template>
2
- <transition name="qiu-notify-fade">
3
- <div
4
- v-show="visible"
5
- class="qiu-notify"
6
- :class="[`qiu-notify--${type}`, `qiu-notify--${position}`]"
7
- >
8
- <i class="qiu-notify__icon" :class="iconClass" />
9
- <div class="qiu-notify__content">
10
- <div v-if="title" class="qiu-notify__title">{{ title }}</div>
11
- <div v-if="message" class="qiu-notify__message">{{ message }}</div>
12
- </div>
13
- <i v-if="showClose" class="qiu-notify__close ri-close-line" @click="$emit('close')" />
14
- </div>
15
- </transition>
16
- </template>
17
-
18
- <script lang="ts" setup>
19
- import type { QiuNotifyPosition, QiuNotifyType } from './types'
20
-
21
- defineOptions({ name: 'QiuNotificationItem' })
22
-
23
- const props = defineProps<{
24
- id: string
25
- type: QiuNotifyType
26
- position: QiuNotifyPosition
27
- title: string
28
- message: string
29
- showClose: boolean
30
- visible: boolean
31
- }>()
32
-
33
- defineEmits<{ close: [] }>()
34
-
35
- const iconClass = computed(() => {
36
- const map: Record<QiuNotifyType, string> = {
37
- success: 'ri-checkbox-circle-line',
38
- warning: 'ri-alert-line',
39
- info: 'ri-information-line',
40
- error: 'ri-close-circle-line',
41
- }
42
- return map[props.type]
43
- })
44
- </script>
45
-
46
- <style lang="scss">
47
- .qiu-notify-host {
48
- position: fixed;
49
- z-index: 5001;
50
- display: flex;
51
- flex-direction: column;
52
- gap: 12px;
53
- pointer-events: none;
54
-
55
- &--top-right {
56
- top: var(--qiu-notify-offset, 20px);
57
- right: var(--qiu-notify-offset, 20px);
58
- align-items: flex-end;
59
- }
60
-
61
- &--top-left {
62
- top: var(--qiu-notify-offset, 20px);
63
- left: var(--qiu-notify-offset, 20px);
64
- align-items: flex-start;
65
- }
66
-
67
- &--bottom-right {
68
- right: var(--qiu-notify-offset, 20px);
69
- bottom: var(--qiu-notify-offset, 20px);
70
- align-items: flex-end;
71
- }
72
-
73
- &--bottom-left {
74
- bottom: var(--qiu-notify-offset, 20px);
75
- left: var(--qiu-notify-offset, 20px);
76
- align-items: flex-start;
77
- }
78
- }
79
-
80
- .qiu-notify-wrap {
81
- pointer-events: auto;
82
- }
83
-
84
- .qiu-notify {
85
- display: flex;
86
- align-items: flex-start;
87
- width: 330px;
88
- max-width: min(330px, 90vw);
89
- padding: 14px 16px;
90
- background: var(--qiu-bg-color, var(--qiu-bg-color, #fff));
91
- border: 1px solid var(--qiu-border-color-lighter, var(--qiu-border-color-lighter, #ebeef5));
92
- border-radius: var(--qiu-border-radius-base, 4px);
93
- box-shadow: var(--qiu-box-shadow-light, 0 4px 12px rgba(0, 0, 0, 0.1));
94
-
95
- &__icon {
96
- flex-shrink: 0;
97
- margin-right: 10px;
98
- font-size: 20px;
99
- line-height: 1.4;
100
- }
101
-
102
- &__content {
103
- flex: 1;
104
- min-width: 0;
105
- }
106
-
107
- &__title {
108
- font-size: 16px;
109
- font-weight: 600;
110
- line-height: 1.4;
111
- color: var(--qiu-text-color-primary, var(--qiu-text-color-primary, #303133));
112
- }
113
-
114
- &__message {
115
- margin-top: 4px;
116
- font-size: 14px;
117
- line-height: 1.5;
118
- color: var(--qiu-text-color-regular, var(--qiu-text-color-regular, #606266));
119
- word-break: break-word;
120
- }
121
-
122
- &__close {
123
- flex-shrink: 0;
124
- margin-left: 10px;
125
- font-size: 16px;
126
- color: var(--qiu-text-color-secondary, var(--qiu-text-color-secondary, #909399));
127
- cursor: pointer;
128
-
129
- &:hover {
130
- color: var(--qiu-text-color-primary, var(--qiu-text-color-primary, #303133));
131
- }
132
- }
133
-
134
- &--success .qiu-notify__icon {
135
- color: var(--qiu-color-success, var(--qiu-color-success, #67c23a));
136
- }
137
-
138
- &--warning .qiu-notify__icon {
139
- color: var(--qiu-color-warning, var(--qiu-color-warning, #e6a23c));
140
- }
141
-
142
- &--info .qiu-notify__icon {
143
- color: var(--qiu-color-info, var(--qiu-color-info, #909399));
144
- }
145
-
146
- &--error .qiu-notify__icon {
147
- color: var(--qiu-color-danger, var(--qiu-color-danger, #f56c6c));
148
- }
149
- }
150
-
151
- .qiu-notify-fade-enter-active,
152
- .qiu-notify-fade-leave-active {
153
- transition: opacity 0.2s ease, transform 0.2s ease;
154
- }
155
-
156
- .qiu-notify-fade-enter-from,
157
- .qiu-notify-fade-leave-to {
158
- opacity: 0;
159
- transform: translateX(12px);
160
- }
161
-
162
- .qiu-notify-host--top-left .qiu-notify-fade-enter-from,
163
- .qiu-notify-host--top-left .qiu-notify-fade-leave-to,
164
- .qiu-notify-host--bottom-left .qiu-notify-fade-enter-from,
165
- .qiu-notify-host--bottom-left .qiu-notify-fade-leave-to {
166
- transform: translateX(-12px);
167
- }
168
- </style>
@@ -1,155 +0,0 @@
1
- /**
2
- * QiuNotification — 角落通知服务
3
- */
4
- import { createApp, h, ref, type App } from 'vue'
5
- import QiuNotificationItem from './QiuNotificationItem.vue'
6
- import type { QiuNotifyOptions, QiuNotifyPosition, QiuNotifyType } from './types'
7
-
8
- export type { QiuNotifyOptions, QiuNotifyPosition, QiuNotifyType } from './types'
9
-
10
- interface NotifyRecord {
11
- id: string
12
- app: App
13
- el: HTMLElement
14
- position: QiuNotifyPosition
15
- timer?: ReturnType<typeof setTimeout>
16
- }
17
-
18
- const stacks: Record<QiuNotifyPosition, NotifyRecord[]> = {
19
- 'top-right': [],
20
- 'top-left': [],
21
- 'bottom-right': [],
22
- 'bottom-left': [],
23
- }
24
-
25
- let seed = 0
26
-
27
- const ensureHost = (position: QiuNotifyPosition, offset = 20) => {
28
- const id = `qiu-notify-host-${position}`
29
- let host = document.getElementById(id)
30
- if (!host) {
31
- host = document.createElement('div')
32
- host.id = id
33
- host.className = `qiu-notify-host qiu-notify-host--${position}`
34
- document.body.appendChild(host)
35
- }
36
- host.style.setProperty('--qiu-notify-offset', `${offset}px`)
37
- return host
38
- }
39
-
40
- const closeById = (id: string) => {
41
- ;(Object.keys(stacks) as QiuNotifyPosition[]).forEach((pos) => {
42
- const idx = stacks[pos].findIndex((x) => x.id === id)
43
- if (idx >= 0) {
44
- const [rec] = stacks[pos].splice(idx, 1)
45
- if (rec.timer) clearTimeout(rec.timer)
46
- rec.app.unmount()
47
- rec.el.remove()
48
- }
49
- })
50
- }
51
-
52
- const closeAll = (position?: QiuNotifyPosition) => {
53
- const positions = position ? [position] : (Object.keys(stacks) as QiuNotifyPosition[])
54
- positions.forEach((pos) => {
55
- ;[...stacks[pos]].forEach((rec) => closeById(rec.id))
56
- })
57
- }
58
-
59
- export const qiuNotify = Object.assign(
60
- (options: QiuNotifyOptions | string) => {
61
- const opts: QiuNotifyOptions =
62
- typeof options === 'string' ? { message: options } : { ...options }
63
- const position = opts.position || 'top-right'
64
- const type = opts.type || 'info'
65
- const duration = opts.duration ?? 4500
66
- const id = opts.id || `qiu-notify-${++seed}`
67
- const offset = opts.offset ?? 20
68
-
69
- closeById(id)
70
-
71
- const host = ensureHost(position, offset)
72
- const el = document.createElement('div')
73
- el.className = 'qiu-notify-wrap'
74
- host.appendChild(el)
75
-
76
- const visible = ref(true)
77
- const rec: NotifyRecord = { id, app: null as unknown as App, el, position }
78
-
79
- const handleClose = () => {
80
- if (rec.timer) {
81
- clearTimeout(rec.timer)
82
- rec.timer = undefined
83
- }
84
- visible.value = false
85
- setTimeout(() => {
86
- closeById(id)
87
- opts.onClose?.()
88
- }, 200)
89
- }
90
-
91
- const app = createApp({
92
- setup() {
93
- return () =>
94
- h(QiuNotificationItem, {
95
- id,
96
- type,
97
- position,
98
- title: opts.title || '',
99
- message: opts.message || '',
100
- showClose: true,
101
- visible: visible.value,
102
- onClose: handleClose,
103
- })
104
- },
105
- })
106
-
107
- if (duration > 0) {
108
- rec.timer = setTimeout(handleClose, duration)
109
- }
110
-
111
- app.mount(el)
112
- rec.app = app
113
- stacks[position].push(rec)
114
-
115
- return { close: () => closeById(id), id }
116
- },
117
- {
118
- success(options: string | QiuNotifyOptions) {
119
- return typeof options === 'string'
120
- ? qiuNotify({ message: options, type: 'success' })
121
- : qiuNotify({ ...options, type: 'success' })
122
- },
123
- warning(options: string | QiuNotifyOptions) {
124
- return typeof options === 'string'
125
- ? qiuNotify({ message: options, type: 'warning' })
126
- : qiuNotify({ ...options, type: 'warning' })
127
- },
128
- info(options: string | QiuNotifyOptions) {
129
- return typeof options === 'string'
130
- ? qiuNotify({ message: options, type: 'info' })
131
- : qiuNotify({ ...options, type: 'info' })
132
- },
133
- error(options: string | QiuNotifyOptions) {
134
- return typeof options === 'string'
135
- ? qiuNotify({ message: options, type: 'error' })
136
- : qiuNotify({ ...options, type: 'error' })
137
- },
138
- closeAll,
139
- }
140
- ) as QiuNotifyFn
141
-
142
- export default {
143
- install(app: App) {
144
- app.config.globalProperties.$qiuNotify = qiuNotify
145
- app.provide('$qiuNotify', qiuNotify)
146
- },
147
- }
148
-
149
- export type QiuNotifyFn = ((options: QiuNotifyOptions | string) => { close: () => void; id: string }) & {
150
- success: (options: string | QiuNotifyOptions) => { close: () => void; id: string }
151
- warning: (options: string | QiuNotifyOptions) => { close: () => void; id: string }
152
- info: (options: string | QiuNotifyOptions) => { close: () => void; id: string }
153
- error: (options: string | QiuNotifyOptions) => { close: () => void; id: string }
154
- closeAll: (position?: QiuNotifyPosition) => void
155
- }
@@ -1,14 +0,0 @@
1
- export type QiuNotifyPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'
2
-
3
- export type QiuNotifyType = 'success' | 'warning' | 'info' | 'error'
4
-
5
- export interface QiuNotifyOptions {
6
- title?: string
7
- message?: string
8
- type?: QiuNotifyType
9
- duration?: number
10
- position?: QiuNotifyPosition
11
- offset?: number
12
- id?: string
13
- onClose?: () => void
14
- }
@@ -1,12 +0,0 @@
1
- <template>
2
- <qiu-pagination v-bind="$attrs">
3
- <slot />
4
- </qiu-pagination>
5
- </template>
6
-
7
- <script lang="ts" setup>
8
- /**
9
- * QiuPage — QiuPagination 别名封装
10
- */
11
- defineOptions({ name: 'QiuPage', inheritAttrs: false })
12
- </script>
@@ -1,115 +0,0 @@
1
- <template>
2
- <div class="qiu-page-header">
3
- <div v-if="$slots.breadcrumb" class="qiu-page-header__breadcrumb">
4
- <slot name="breadcrumb" />
5
- </div>
6
- <div class="qiu-page-header__main">
7
- <div class="qiu-page-header__left">
8
- <button type="button" class="qiu-page-header__back" aria-label="返回" @click="emit('back')">
9
- <slot name="icon">
10
- <qiu-icon :icon="icon || 'arrow-left-line'" />
11
- </slot>
12
- </button>
13
- <div class="qiu-page-header__heading">
14
- <div v-if="title || $slots.title" class="qiu-page-header__title">
15
- <slot name="title">{{ title }}</slot>
16
- </div>
17
- <div v-if="content || $slots.content" class="qiu-page-header__content">
18
- <slot name="content">{{ content }}</slot>
19
- </div>
20
- </div>
21
- </div>
22
- <div v-if="$slots.extra" class="qiu-page-header__extra">
23
- <slot name="extra" />
24
- </div>
25
- </div>
26
- </div>
27
- </template>
28
-
29
- <script lang="ts" setup>
30
- defineOptions({ name: 'QiuPageHeader' })
31
-
32
- withDefaults(
33
- defineProps<{
34
- title?: string
35
- content?: string
36
- icon?: string
37
- }>(),
38
- {
39
- title: '',
40
- content: '',
41
- icon: '',
42
- }
43
- )
44
-
45
- const emit = defineEmits<{ back: [] }>()
46
- </script>
47
-
48
- <style lang="scss" scoped>
49
- .qiu-page-header {
50
- padding: 16px 0;
51
- background: var(--qiu-bg-color, var(--qiu-bg-color, #fff));
52
-
53
- &__breadcrumb {
54
- margin-bottom: 12px;
55
- font-size: 13px;
56
- color: var(--qiu-text-color-secondary, var(--qiu-text-color-secondary, #909399));
57
- }
58
-
59
- &__main {
60
- display: flex;
61
- gap: 16px;
62
- align-items: flex-start;
63
- justify-content: space-between;
64
- }
65
-
66
- &__left {
67
- display: flex;
68
- gap: 12px;
69
- align-items: flex-start;
70
- min-width: 0;
71
- }
72
-
73
- &__back {
74
- display: inline-flex;
75
- align-items: center;
76
- justify-content: center;
77
- width: 32px;
78
- height: 32px;
79
- margin-top: 2px;
80
- font-size: 18px;
81
- color: var(--qiu-text-color-primary, var(--qiu-text-color-primary, #303133));
82
- cursor: pointer;
83
- background: transparent;
84
- border: 0;
85
- border-radius: 4px;
86
- transition: background 0.15s;
87
-
88
- &:hover {
89
- background: var(--qiu-fill-color-light, var(--qiu-fill-color-light, #f5f7fa));
90
- }
91
- }
92
-
93
- &__heading {
94
- min-width: 0;
95
- }
96
-
97
- &__title {
98
- font-size: 20px;
99
- font-weight: 600;
100
- line-height: 1.4;
101
- color: var(--qiu-text-color-primary, var(--qiu-text-color-primary, #303133));
102
- }
103
-
104
- &__content {
105
- margin-top: 6px;
106
- font-size: var(--qiu-font-size, 14px);
107
- line-height: 1.6;
108
- color: var(--qiu-text-color-secondary, var(--qiu-text-color-secondary, #909399));
109
- }
110
-
111
- &__extra {
112
- flex-shrink: 0;
113
- }
114
- }
115
- </style>
@@ -1,78 +0,0 @@
1
- <template>
2
- <section class="qiu-page-main">
3
- <header v-if="title || $slots.title || $slots.extra" class="qiu-page-main__header">
4
- <div class="qiu-page-main__heading">
5
- <slot name="title">
6
- <h2 v-if="title" class="qiu-page-main__title">{{ title }}</h2>
7
- </slot>
8
- <p v-if="description || $slots.description" class="qiu-page-main__desc">
9
- <slot name="description">{{ description }}</slot>
10
- </p>
11
- </div>
12
- <div v-if="$slots.extra" class="qiu-page-main__extra">
13
- <slot name="extra" />
14
- </div>
15
- </header>
16
- <div class="qiu-page-main__body">
17
- <slot />
18
- </div>
19
- </section>
20
- </template>
21
-
22
- <script lang="ts" setup>
23
- defineOptions({ name: 'QiuPageMain' })
24
-
25
- withDefaults(
26
- defineProps<{
27
- title?: string
28
- description?: string
29
- }>(),
30
- {
31
- title: '',
32
- description: '',
33
- }
34
- )
35
- </script>
36
-
37
- <style lang="scss" scoped>
38
- .qiu-page-main {
39
- display: flex;
40
- flex-direction: column;
41
- box-sizing: border-box;
42
- padding: 16px;
43
- background: var(--qiu-bg-color, #fff);
44
- border-radius: var(--qiu-border-radius-base, 4px);
45
- }
46
-
47
- .qiu-page-main__header {
48
- display: flex;
49
- align-items: flex-start;
50
- justify-content: space-between;
51
- gap: 16px;
52
- padding-bottom: 12px;
53
- margin-bottom: 16px;
54
- border-bottom: 1px solid var(--qiu-border-color-lighter, #ebeef5);
55
- }
56
-
57
- .qiu-page-main__title {
58
- margin: 0;
59
- font-size: 16px;
60
- font-weight: 600;
61
- color: var(--qiu-text-color-primary, #303133);
62
- }
63
-
64
- .qiu-page-main__desc {
65
- margin: 4px 0 0;
66
- font-size: 13px;
67
- color: var(--qiu-text-color-secondary, #909399);
68
- }
69
-
70
- .qiu-page-main__extra {
71
- flex-shrink: 0;
72
- }
73
-
74
- .qiu-page-main__body {
75
- flex: 1;
76
- min-height: 0;
77
- }
78
- </style>