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,180 +0,0 @@
1
- <template>
2
- <div class="qiu-anchor">
3
- <slot />
4
- </div>
5
- </template>
6
-
7
- <script lang="ts" setup>
8
- import type { QiuAnchorContext, QiuAnchorLinkRecord } from './context'
9
- import { QIU_ANCHOR_KEY } from './context'
10
-
11
- defineOptions({ name: 'QiuAnchor' })
12
-
13
- const props = withDefaults(
14
- defineProps<{
15
- offset?: number
16
- /** 滚动容器选择器 */
17
- bound?: string
18
- }>(),
19
- {
20
- offset: 0,
21
- bound: '',
22
- }
23
- )
24
-
25
- const links = ref<QiuAnchorLinkRecord[]>([])
26
- const activeLink = ref('')
27
-
28
- const isScrollable = (el: HTMLElement) => {
29
- const style = window.getComputedStyle(el)
30
- return /(auto|scroll)/.test(style.overflow + style.overflowY + style.overflowX)
31
- }
32
-
33
- const findScrollContainer = (el: Element): HTMLElement | Window => {
34
- let node: HTMLElement | null = el.parentElement
35
- while (node) {
36
- if (isScrollable(node)) return node
37
- node = node.parentElement
38
- }
39
- return window
40
- }
41
-
42
- const getScrollContainer = (target?: Element): HTMLElement | Window => {
43
- if (props.bound) {
44
- const el = document.querySelector(props.bound)
45
- return (el as HTMLElement) || window
46
- }
47
- if (target) return findScrollContainer(target)
48
- return window
49
- }
50
-
51
- const getScrollTop = (container: HTMLElement | Window) => {
52
- if (container === window) return window.scrollY || document.documentElement.scrollTop
53
- return (container as HTMLElement).scrollTop
54
- }
55
-
56
- const scrollToLink = (href: string) => {
57
- const id = href.replace(/^#/, '')
58
- const target = document.getElementById(id)
59
- if (!target) return
60
-
61
- const container = getScrollContainer(target)
62
- if (container === window) {
63
- const top = target.getBoundingClientRect().top + getScrollTop(window) - props.offset
64
- window.scrollTo({ top, behavior: 'smooth' })
65
- } else {
66
- const c = container as HTMLElement
67
- const cRect = c.getBoundingClientRect()
68
- const tRect = target.getBoundingClientRect()
69
- const top = tRect.top - cRect.top + c.scrollTop - props.offset
70
- c.scrollTo({ top, behavior: 'smooth' })
71
- }
72
- activeLink.value = href
73
- }
74
-
75
- const registerLink = (link: QiuAnchorLinkRecord) => {
76
- const idx = links.value.findIndex((l) => l.href === link.href)
77
- if (idx >= 0) links.value[idx] = link
78
- else links.value.push(link)
79
- links.value.sort((a, b) => {
80
- const elA = document.querySelector(a.href)
81
- const elB = document.querySelector(b.href)
82
- if (!elA || !elB) return 0
83
- return elA.getBoundingClientRect().top - elB.getBoundingClientRect().top
84
- })
85
- }
86
-
87
- const unregisterLink = (href: string) => {
88
- links.value = links.value.filter((l) => l.href !== href)
89
- }
90
-
91
- const resolveContainer = (): HTMLElement | Window => {
92
- if (props.bound) {
93
- const el = document.querySelector(props.bound)
94
- return (el as HTMLElement) || window
95
- }
96
- // 未指定 bound 时自动探测:以第一个锚点目标元素的可滚动祖先作为滚动容器
97
- for (const link of links.value) {
98
- const el = document.querySelector(link.href)
99
- if (el) return findScrollContainer(el)
100
- }
101
- return window
102
- }
103
-
104
- const updateActive = () => {
105
- const container = resolveContainer()
106
- const scrollTop = getScrollTop(container)
107
- const containerTop =
108
- container === window ? 0 : (container as HTMLElement).getBoundingClientRect().top
109
-
110
- let current = ''
111
- for (const link of links.value) {
112
- const id = link.href.replace(/^#/, '')
113
- const el = document.getElementById(id)
114
- if (!el) continue
115
- const top =
116
- container === window
117
- ? el.getBoundingClientRect().top + scrollTop
118
- : el.getBoundingClientRect().top - containerTop + scrollTop
119
- if (top - props.offset <= scrollTop + 1) current = link.href
120
- }
121
- if (current) activeLink.value = current
122
- }
123
-
124
- provide<QiuAnchorContext>(QIU_ANCHOR_KEY, {
125
- offset: toRef(props, 'offset'),
126
- bound: toRef(props, 'bound'),
127
- activeLink,
128
- registerLink,
129
- unregisterLink,
130
- scrollToLink,
131
- })
132
-
133
- let containerEl: HTMLElement | Window = window
134
-
135
- const onScroll = () => updateActive()
136
-
137
- const rebindScrollContainer = () => {
138
- const next = resolveContainer()
139
- if (next !== containerEl) {
140
- containerEl.removeEventListener('scroll', onScroll)
141
- containerEl = next
142
- containerEl.addEventListener('scroll', onScroll, { passive: true })
143
- }
144
- }
145
-
146
- onMounted(() => {
147
- containerEl = resolveContainer()
148
- containerEl.addEventListener('scroll', onScroll, { passive: true })
149
- updateActive()
150
- })
151
-
152
- onBeforeUnmount(() => {
153
- containerEl.removeEventListener('scroll', onScroll)
154
- })
155
-
156
- watch(
157
- () => props.bound,
158
- () => {
159
- rebindScrollContainer()
160
- updateActive()
161
- }
162
- )
163
-
164
- // 锚点链接注册完成后,若之前未探测到滚动容器则重新探测并切换事件监听
165
- watch(
166
- () => links.value.map((l) => l.href).join(','),
167
- () => {
168
- rebindScrollContainer()
169
- updateActive()
170
- },
171
- { flush: 'post' }
172
- )
173
- </script>
174
-
175
- <style lang="scss" scoped>
176
- .qiu-anchor {
177
- font-size: var(--qiu-font-size, 14px);
178
- line-height: 1.5;
179
- }
180
- </style>
@@ -1,67 +0,0 @@
1
- <template>
2
- <a
3
- class="qiu-anchor-link"
4
- :class="{ 'is-active': isActive }"
5
- :href="href"
6
- @click.prevent="onClick"
7
- >
8
- <slot>{{ title }}</slot>
9
- </a>
10
- </template>
11
-
12
- <script lang="ts" setup>
13
- import { QIU_ANCHOR_KEY } from '../QiuAnchor/context'
14
-
15
- defineOptions({ name: 'QiuAnchorLink' })
16
-
17
- const props = withDefaults(
18
- defineProps<{
19
- href: string
20
- title?: string
21
- }>(),
22
- {
23
- title: '',
24
- }
25
- )
26
-
27
- const anchor = inject(QIU_ANCHOR_KEY, null)
28
- const linkRef = ref<HTMLElement | null>(null)
29
-
30
- const isActive = computed(() => anchor?.activeLink.value === props.href)
31
-
32
- const onClick = () => {
33
- anchor?.scrollToLink(props.href)
34
- }
35
-
36
- onMounted(() => {
37
- anchor?.registerLink({
38
- href: props.href,
39
- title: props.title,
40
- el: linkRef.value,
41
- })
42
- })
43
-
44
- onBeforeUnmount(() => {
45
- anchor?.unregisterLink(props.href)
46
- })
47
- </script>
48
-
49
- <style lang="scss" scoped>
50
- .qiu-anchor-link {
51
- display: block;
52
- padding: 4px 0 4px 12px;
53
- color: var(--qiu-text-color-regular, var(--qiu-text-color-regular, #606266));
54
- text-decoration: none;
55
- border-left: 2px solid transparent;
56
- transition: color 0.15s, border-color 0.15s;
57
-
58
- &:hover {
59
- color: var(--qiu-color-primary, var(--qiu-color-primary, #0f766e));
60
- }
61
-
62
- &.is-active {
63
- color: var(--qiu-color-primary, var(--qiu-color-primary, #0f766e));
64
- border-left-color: var(--qiu-color-primary, var(--qiu-color-primary, #0f766e));
65
- }
66
- }
67
- </style>
@@ -1,9 +0,0 @@
1
- <template>
2
- <router-view />
3
- </template>
4
-
5
- <script lang="ts" setup>
6
- defineOptions({
7
- name: 'QiuApp',
8
- })
9
- </script>
@@ -1,408 +0,0 @@
1
- <template>
2
- <div
3
- class="qiu-autocomplete"
4
- :class="{
5
- 'is-disabled': props.disabled,
6
- 'is-focused': focused,
7
- 'is-clearable': props.clearable,
8
- 'has-value': hasValue,
9
- }"
10
- :style="{ width: props.width }"
11
- >
12
- <input
13
- ref="inputRef"
14
- :autofocus="props.autofocus"
15
- class="qiu-autocomplete-input"
16
- :disabled="props.disabled"
17
- :placeholder="props.placeholder"
18
- :readonly="props.readonly"
19
- :required="props.required"
20
- :style="{ height: props.height }"
21
- :type="props.type"
22
- :value="displayValue"
23
- @change="handleInput"
24
- @input="handleInput"
25
- @focus="onFocus"
26
- @blur="focused = false"
27
- @keydown.down.prevent="moveActive(1)"
28
- @keydown.up.prevent="moveActive(-1)"
29
- @keydown.enter.prevent="confirmActive"
30
- @keydown.esc="selectshow = false"
31
- />
32
- <div class="qiu-autocomplete-suffix">
33
- <button
34
- v-show="props.clearable && hasValue"
35
- type="button"
36
- class="qiu-autocomplete-clear"
37
- tabindex="-1"
38
- :title="'清空'"
39
- @mousedown.prevent
40
- @click="clearvalue"
41
- >
42
- <qiu-icon icon="close-circle-fill" />
43
- </button>
44
- <button
45
- type="button"
46
- class="qiu-autocomplete-caret"
47
- tabindex="-1"
48
- :class="{ 'is-open': selectshow }"
49
- @mousedown.prevent
50
- @click="toggleSelect"
51
- >
52
- <qiu-icon icon="arrow-down-s-line" />
53
- </button>
54
- </div>
55
- <div v-if="selectshow" class="qiu-autocomplete-list">
56
- <div
57
- v-for="(item, idx) in serachList"
58
- :key="idx"
59
- class="qiu-autocomplete-list-item"
60
- :class="{ 'is-active': idx === activeIndex }"
61
- :title="buildDisplayString(item)"
62
- @mousedown.prevent
63
- @click="handleItem(item)"
64
- @mouseenter="activeIndex = idx"
65
- >
66
- <span class="qiu-ellipsis">{{ buildDisplayString(item) }}</span>
67
- </div>
68
- <div v-if="!serachList.length" class="qiu-autocomplete-empty">无匹配数据</div>
69
- </div>
70
- </div>
71
- </template>
72
-
73
- <script lang="ts" setup>
74
- /**
75
- * QiuAutocomplete — 多字段模糊搜索下拉(兼容 Vite / Vue3)
76
- */
77
- defineOptions({ name: 'QiuAutocomplete' })
78
-
79
- export interface AutocompleteItem {
80
- value?: string | number | boolean
81
- [key: string]: unknown
82
- }
83
-
84
- const props = withDefaults(
85
- defineProps<{
86
- value?: string
87
- modelValue?: string | boolean
88
- placeholder?: string
89
- disabled?: boolean
90
- clearable?: boolean
91
- autofocus?: boolean
92
- required?: boolean
93
- readonly?: boolean
94
- type?: string
95
- maxlength?: number
96
- minlength?: number
97
- width?: string
98
- height?: string
99
- list?: AutocompleteItem[]
100
- searchekey?: string[]
101
- showkey?: string[]
102
- showline?: string
103
- valueKey?: string
104
- }>(),
105
- {
106
- value: '',
107
- modelValue: '',
108
- placeholder: '',
109
- disabled: false,
110
- clearable: false,
111
- autofocus: false,
112
- required: false,
113
- readonly: false,
114
- type: 'text',
115
- maxlength: 0,
116
- minlength: 1,
117
- width: '100%',
118
- height: '32px',
119
- list: () => [],
120
- searchekey: () => ['value'],
121
- showkey: () => ['value'],
122
- showline: ' - ',
123
- valueKey: 'value',
124
- }
125
- )
126
-
127
- const emit = defineEmits<{
128
- 'update:modelValue': [string]
129
- change: [string]
130
- itemclick: [AutocompleteItem | true]
131
- }>()
132
-
133
- const selectshow = ref(false)
134
- const focused = ref(false)
135
- const inputRef = ref<HTMLInputElement | null>(null)
136
- const serachList = ref<AutocompleteItem[]>([...props.list])
137
- const activeIndex = ref(-1)
138
-
139
- const displayValue = computed(() => {
140
- if (props.modelValue !== '' && props.modelValue !== undefined && props.modelValue !== null) {
141
- return String(props.modelValue)
142
- }
143
- return props.value || ''
144
- })
145
-
146
- const hasValue = computed(() => displayValue.value.length > 0)
147
-
148
- watch(
149
- () => props.list,
150
- (list) => {
151
- serachList.value = [...list]
152
- },
153
- { deep: true }
154
- )
155
-
156
- const buildDisplayString = (item: AutocompleteItem) => {
157
- return props.showkey
158
- .map((key) => (Reflect.has(item, key) ? String(item[key] ?? '') : ''))
159
- .filter(Boolean)
160
- .join(props.showline)
161
- }
162
-
163
- const searchData = (data: AutocompleteItem[], searchText: string, searchFields: string[]) => {
164
- const result: AutocompleteItem[] = []
165
- if (!Array.isArray(data) || typeof searchText !== 'string') {
166
- serachList.value = result
167
- return result
168
- }
169
- const fields = Array.isArray(searchFields) ? searchFields : ['value']
170
- const lower = searchText.toLowerCase()
171
- for (const item of data) {
172
- for (const field of fields) {
173
- if (Reflect.has(item, field) && String(item[field]).toLowerCase().includes(lower)) {
174
- result.push(item)
175
- break
176
- }
177
- }
178
- }
179
- serachList.value = result
180
- activeIndex.value = result.length ? 0 : -1
181
- return result
182
- }
183
-
184
- const handleInput = (e: Event) => {
185
- const target = e.target as HTMLInputElement
186
- nextTick(() => {
187
- if (!inputRef.value) return
188
- if (target.value.length > 0) {
189
- selectshow.value = true
190
- searchData(props.list, target.value, props.searchekey)
191
- } else {
192
- selectshow.value = false
193
- serachList.value = [...props.list]
194
- }
195
- })
196
- emit('update:modelValue', target.value)
197
- emit('change', target.value)
198
- }
199
-
200
- const handleItem = (item: AutocompleteItem) => {
201
- const v = String(item[props.valueKey] ?? item.value ?? '')
202
- if (inputRef.value) inputRef.value.value = v
203
- emit('change', v)
204
- emit('update:modelValue', v)
205
- emit('itemclick', item)
206
- selectshow.value = false
207
- }
208
-
209
- const toggleSelect = () => {
210
- if (props.disabled || props.readonly) return
211
- selectshow.value = !selectshow.value
212
- if (selectshow.value) {
213
- inputRef.value?.focus()
214
- const q = inputRef.value?.value || ''
215
- if (q) searchData(props.list, q, props.searchekey)
216
- else serachList.value = [...props.list]
217
- }
218
- }
219
-
220
- const onFocus = () => {
221
- focused.value = true
222
- if (!props.disabled && !props.readonly) {
223
- selectshow.value = true
224
- const q = inputRef.value?.value || ''
225
- if (q) searchData(props.list, q, props.searchekey)
226
- else serachList.value = [...props.list]
227
- }
228
- }
229
-
230
- const clearvalue = () => {
231
- if (inputRef.value) inputRef.value.value = ''
232
- selectshow.value = false
233
- serachList.value = [...props.list]
234
- emit('change', '')
235
- emit('update:modelValue', '')
236
- inputRef.value?.focus()
237
- }
238
-
239
- const moveActive = (delta: number) => {
240
- if (!selectshow.value || !serachList.value.length) return
241
- const len = serachList.value.length
242
- activeIndex.value = (activeIndex.value + delta + len) % len
243
- }
244
-
245
- const confirmActive = () => {
246
- if (activeIndex.value >= 0 && serachList.value[activeIndex.value]) {
247
- handleItem(serachList.value[activeIndex.value])
248
- }
249
- }
250
-
251
- const onDocClick = (e: MouseEvent) => {
252
- const root = (e.target as HTMLElement)?.closest?.('.qiu-autocomplete')
253
- const self = inputRef.value?.closest('.qiu-autocomplete')
254
- if (self && root !== self) selectshow.value = false
255
- }
256
-
257
- onMounted(() => document.addEventListener('mousedown', onDocClick))
258
- onUnmounted(() => document.removeEventListener('mousedown', onDocClick))
259
- </script>
260
-
261
- <style scoped lang="scss">
262
- .qiu-autocomplete {
263
- position: relative;
264
- display: inline-flex;
265
- align-items: center;
266
- box-sizing: border-box;
267
- width: 100%;
268
- vertical-align: middle;
269
-
270
- &.is-focused .qiu-autocomplete-input {
271
- border-color: var(--qiu-color-primary);
272
- box-shadow: 0 0 0 1px color-mix(in srgb, var(--qiu-color-primary) 25%, transparent);
273
- }
274
-
275
- &.is-disabled {
276
- cursor: not-allowed;
277
- opacity: 0.7;
278
-
279
- .qiu-autocomplete-input {
280
- cursor: not-allowed;
281
- background: var(--qiu-fill-color-light, #f5f7fa);
282
- }
283
- }
284
- }
285
-
286
- .qiu-autocomplete-input {
287
- box-sizing: border-box;
288
- width: 100%;
289
- height: 32px;
290
- padding: 0 36px 0 12px;
291
- font-size: 14px;
292
- line-height: 1;
293
- color: var(--qiu-text-color-primary, #303133);
294
- background: var(--qiu-bg-color, #fff);
295
- border: 1px solid var(--qiu-border-color, #dcdfe6);
296
- border-radius: var(--qiu-border-radius-base, 4px);
297
- outline: none;
298
- transition: border-color 0.2s ease;
299
- }
300
-
301
- .qiu-autocomplete.is-clearable.has-value .qiu-autocomplete-input {
302
- padding-right: 56px;
303
- }
304
-
305
- .qiu-autocomplete-suffix {
306
- position: absolute;
307
- top: 0;
308
- right: 4px;
309
- bottom: 0;
310
- z-index: 2;
311
- display: inline-flex;
312
- gap: 2px;
313
- align-items: center;
314
- justify-content: flex-end;
315
- pointer-events: none;
316
- }
317
-
318
- .qiu-autocomplete-clear,
319
- .qiu-autocomplete-caret {
320
- display: inline-flex;
321
- align-items: center;
322
- justify-content: center;
323
- width: 22px;
324
- height: 22px;
325
- padding: 0;
326
- color: var(--qiu-text-color-placeholder, #a8abb2);
327
- cursor: pointer;
328
- pointer-events: auto;
329
- background: transparent;
330
- border: 0;
331
- border-radius: 50%;
332
- outline: none;
333
- transition: color 0.15s ease, background 0.15s ease;
334
-
335
- :deep(.qiu-icon) {
336
- font-size: 14px;
337
- line-height: 1;
338
- }
339
-
340
- &:hover {
341
- color: var(--qiu-text-color-regular, #606266);
342
- background: var(--qiu-fill-color-light, #f5f7fa);
343
- }
344
- }
345
-
346
- .qiu-autocomplete-clear:hover {
347
- color: var(--qiu-color-info);
348
- }
349
-
350
- .qiu-autocomplete-caret {
351
- &.is-open {
352
- color: var(--qiu-color-primary);
353
-
354
- :deep(.qiu-icon) {
355
- transform: rotate(180deg);
356
- }
357
- }
358
-
359
- :deep(.qiu-icon) {
360
- transition: transform 0.2s ease;
361
- }
362
- }
363
-
364
- .qiu-autocomplete-list {
365
- position: absolute;
366
- top: calc(100% + 4px);
367
- left: 0;
368
- z-index: 3000;
369
- width: 100%;
370
- max-height: 280px;
371
- overflow-y: auto;
372
- background: var(--qiu-bg-color-overlay, #fff);
373
- border: 1px solid var(--qiu-border-color-light, #e4e7ed);
374
- border-radius: 6px;
375
- box-shadow: var(--qiu-box-shadow-light, 0 4px 12px rgb(0 0 0 / 10%));
376
- }
377
-
378
- .qiu-autocomplete-list-item {
379
- height: 34px;
380
- padding: 0 12px;
381
- overflow: hidden;
382
- line-height: 34px;
383
- text-align: left;
384
- text-overflow: ellipsis;
385
- white-space: nowrap;
386
- cursor: pointer;
387
-
388
- &:hover,
389
- &.is-active {
390
- color: var(--qiu-color-primary);
391
- background: var(--qiu-fill-color-light, #f5f7fa);
392
- }
393
- }
394
-
395
- .qiu-autocomplete-empty {
396
- padding: 14px 12px;
397
- font-size: 13px;
398
- color: var(--qiu-text-color-secondary);
399
- text-align: center;
400
- }
401
-
402
- .qiu-ellipsis {
403
- display: block;
404
- overflow: hidden;
405
- text-overflow: ellipsis;
406
- white-space: nowrap;
407
- }
408
- </style>