foucui 1.0.1 → 1.0.2

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 (234) hide show
  1. package/dist/components/QiuCanvasKit/QiuCanvasEditor.vue.d.ts +3 -1
  2. package/dist/components/QiuCanvasKit/components/DataModulesPanel.vue.d.ts +1 -0
  3. package/dist/components/QiuTable/index.vue.d.ts +12 -12
  4. package/dist/foucui.css +1 -1
  5. package/dist/foucui.js +7476 -7373
  6. package/dist/foucui.umd.cjs +19 -19
  7. package/package.json +23 -13
  8. package/components/QiuAffix/index.vue +0 -186
  9. package/components/QiuAlert/index.vue +0 -208
  10. package/components/QiuAnchor/context.ts +0 -18
  11. package/components/QiuAnchor/index.vue +0 -180
  12. package/components/QiuAnchorLink/index.vue +0 -67
  13. package/components/QiuApp/index.vue +0 -9
  14. package/components/QiuAutocomplete/index.vue +0 -408
  15. package/components/QiuAvatar/index.vue +0 -140
  16. package/components/QiuBacktop/index.vue +0 -121
  17. package/components/QiuBadge/api/index.ts +0 -389
  18. package/components/QiuBadge/components/BadgeImagePickerDialog.vue +0 -243
  19. package/components/QiuBadge/components/BadgeLibraryManagerDialog.vue +0 -30
  20. package/components/QiuBadge/components/BadgeLibraryPanel.vue +0 -182
  21. package/components/QiuBadge/composables/useTableHostHeight.ts +0 -53
  22. package/components/QiuBadge/index.ts +0 -18
  23. package/components/QiuBadge/shared/BadgeTemplateRenderer.vue +0 -32
  24. package/components/QiuBadge/shared/assetUrl.ts +0 -26
  25. package/components/QiuBadge/shared/badgeTemplate.ts +0 -309
  26. package/components/QiuBadge/utils/chinaAreaData.ts +0 -44
  27. package/components/QiuBadge/utils/hostRegion.ts +0 -22
  28. package/components/QiuBadge/utils/pca-code.json +0 -1
  29. package/components/QiuBadge/utils/pdfFromElement.ts +0 -348
  30. package/components/QiuBadge/views/BadgeLibraryView.vue +0 -32
  31. package/components/QiuBadge/views/BadgeManageView.vue +0 -1364
  32. package/components/QiuBadge/views/BadgeTemplateEditorView.vue +0 -10
  33. package/components/QiuBadge/views/BadgeTemplateListView.vue +0 -229
  34. package/components/QiuBadge/views/DeskLabelTemplateListView.vue +0 -227
  35. package/components/QiuBadge/views/DeskLabelView.vue +0 -683
  36. package/components/QiuBadgeDot/index.vue +0 -87
  37. package/components/QiuButton/index.vue +0 -247
  38. package/components/QiuButtonGroup/index.vue +0 -63
  39. package/components/QiuCanvasKit/QiuCanvasEditor.vue +0 -5503
  40. package/components/QiuCanvasKit/QiuCanvasRenderer.vue +0 -348
  41. package/components/QiuCanvasKit/assetUrl.ts +0 -11
  42. package/components/QiuCanvasKit/components/DataModulesPanel.vue +0 -352
  43. package/components/QiuCanvasKit/export/html.ts +0 -132
  44. package/components/QiuCanvasKit/export/pdf.ts +0 -48
  45. package/components/QiuCanvasKit/export/png.ts +0 -50
  46. package/components/QiuCanvasKit/index.ts +0 -20
  47. package/components/QiuCanvasKit/modules/badgeCompat.ts +0 -84
  48. package/components/QiuCanvasKit/modules/dataRegistry.ts +0 -207
  49. package/components/QiuCanvasKit/modules/merge.ts +0 -71
  50. package/components/QiuCanvasKit/presets/badge.ts +0 -67
  51. package/components/QiuCanvasKit/presets/banner.ts +0 -79
  52. package/components/QiuCanvasKit/types.ts +0 -138
  53. package/components/QiuCard/index.vue +0 -104
  54. package/components/QiuCarousel/context.ts +0 -16
  55. package/components/QiuCarousel/index.vue +0 -343
  56. package/components/QiuCarouselItem/index.vue +0 -47
  57. package/components/QiuCascader/index.vue +0 -879
  58. package/components/QiuCascader/types.ts +0 -48
  59. package/components/QiuCheckbox/QiuCheckboxGroup.vue +0 -78
  60. package/components/QiuCheckbox/index.vue +0 -231
  61. package/components/QiuCheckbox/types.ts +0 -8
  62. package/components/QiuCode/index.vue +0 -64
  63. package/components/QiuCol/col.scss +0 -55
  64. package/components/QiuCol/index.vue +0 -64
  65. package/components/QiuCollapse/context.ts +0 -10
  66. package/components/QiuCollapse/index.vue +0 -70
  67. package/components/QiuCollapseItem/index.vue +0 -167
  68. package/components/QiuColorField/index.vue +0 -296
  69. package/components/QiuColorPicker/README.md +0 -118
  70. package/components/QiuColorPicker/index.vue +0 -60
  71. package/components/QiuColorfulCard/index.vue +0 -101
  72. package/components/QiuCombobox/index.vue +0 -277
  73. package/components/QiuConfigProvider/index.vue +0 -31
  74. package/components/QiuContextMenu/index.vue +0 -209
  75. package/components/QiuDate/index.vue +0 -1134
  76. package/components/QiuDescriptions/context.ts +0 -20
  77. package/components/QiuDescriptions/index.vue +0 -115
  78. package/components/QiuDescriptionsItem/index.vue +0 -103
  79. package/components/QiuDialog/index.vue +0 -828
  80. package/components/QiuDigitalCard/index.vue +0 -159
  81. package/components/QiuDivider/index.vue +0 -185
  82. package/components/QiuDot/index.vue +0 -83
  83. package/components/QiuDrawer/index.vue +0 -350
  84. package/components/QiuDropdown/QiuDropdownItem.vue +0 -74
  85. package/components/QiuDropdown/QiuDropdownMenu.vue +0 -22
  86. package/components/QiuDropdown/context.ts +0 -9
  87. package/components/QiuDropdown/index.vue +0 -189
  88. package/components/QiuEmpty/index.vue +0 -73
  89. package/components/QiuForm/index.vue +0 -172
  90. package/components/QiuForm/types.ts +0 -39
  91. package/components/QiuFormItem/index.vue +0 -276
  92. package/components/QiuFullscreen/index.vue +0 -11
  93. package/components/QiuGrid/index.vue +0 -408
  94. package/components/QiuHoverCard/index.vue +0 -192
  95. package/components/QiuIcon/index.vue +0 -117
  96. package/components/QiuIconPicker/iconify.libraries.ts +0 -182
  97. package/components/QiuIconPicker/icons.catalog.ts +0 -3072
  98. package/components/QiuIconPicker/index.vue +0 -488
  99. package/components/QiuImage/index.vue +0 -177
  100. package/components/QiuInput/index.vue +0 -328
  101. package/components/QiuInputNumber/index.vue +0 -295
  102. package/components/QiuInputOtp/index.vue +0 -190
  103. package/components/QiuKbd/index.vue +0 -57
  104. package/components/QiuLayoutContainer/index.vue +0 -50
  105. package/components/QiuLinkPreview/index.vue +0 -224
  106. package/components/QiuLoading/index.ts +0 -176
  107. package/components/QiuLoading/spinner.vue +0 -820
  108. package/components/QiuLoading/types.ts +0 -44
  109. package/components/QiuMention/index.vue +0 -299
  110. package/components/QiuMenu/QiuMenuRoot.vue +0 -241
  111. package/components/QiuMenu/components/QiuMenuItem.vue +0 -340
  112. package/components/QiuMenu/components/QiuSubMenu.vue +0 -504
  113. package/components/QiuMenu/context.ts +0 -21
  114. package/components/QiuMenu/index.vue +0 -43
  115. package/components/QiuMenuNav/QiuMenuNavItem.vue +0 -100
  116. package/components/QiuMenuNav/QiuMenuNavSub.vue +0 -120
  117. package/components/QiuMenuNav/context.ts +0 -14
  118. package/components/QiuMenuNav/index.vue +0 -148
  119. package/components/QiuMsg/QiuMsgItem.vue +0 -180
  120. package/components/QiuMsg/index.ts +0 -158
  121. package/components/QiuMsg/types.ts +0 -23
  122. package/components/QiuMsgBox/index.ts +0 -147
  123. package/components/QiuNotification/QiuNotificationItem.vue +0 -168
  124. package/components/QiuNotification/index.ts +0 -155
  125. package/components/QiuNotification/types.ts +0 -14
  126. package/components/QiuPage/index.vue +0 -12
  127. package/components/QiuPageHeader/index.vue +0 -115
  128. package/components/QiuPageMain/index.vue +0 -78
  129. package/components/QiuPagination/index.vue +0 -421
  130. package/components/QiuPasswordStrength/index.vue +0 -101
  131. package/components/QiuPopconfirm/index.vue +0 -196
  132. package/components/QiuPopover/index.vue +0 -277
  133. package/components/QiuProgress/index.vue +0 -235
  134. package/components/QiuQrcode/index.vue +0 -302
  135. package/components/QiuQueryForm/components/QiuQueryFormBottomPanel.vue +0 -13
  136. package/components/QiuQueryForm/components/QiuQueryFormLeftPanel.vue +0 -37
  137. package/components/QiuQueryForm/components/QiuQueryFormRightPanel.vue +0 -37
  138. package/components/QiuQueryForm/components/QiuQueryFormTopPanel.vue +0 -13
  139. package/components/QiuQueryForm/index.vue +0 -117
  140. package/components/QiuRadio/QiuRadioGroup.vue +0 -75
  141. package/components/QiuRadio/index.vue +0 -191
  142. package/components/QiuRadio/types.ts +0 -9
  143. package/components/QiuRate/index.vue +0 -184
  144. package/components/QiuRefresh/index.vue +0 -32
  145. package/components/QiuResult/index.vue +0 -103
  146. package/components/QiuRow/index.vue +0 -60
  147. package/components/QiuRow/types.ts +0 -5
  148. package/components/QiuScrollbar/index.vue +0 -107
  149. package/components/QiuSearchBar/index.vue +0 -154
  150. package/components/QiuSegmented/index.vue +0 -120
  151. package/components/QiuSelect/QiuOption.vue +0 -93
  152. package/components/QiuSelect/index.vue +0 -452
  153. package/components/QiuSelect/types.ts +0 -15
  154. package/components/QiuSkeleton/index.vue +0 -78
  155. package/components/QiuSlider/index.vue +0 -266
  156. package/components/QiuSpace/index.vue +0 -95
  157. package/components/QiuSparkline/index.vue +0 -92
  158. package/components/QiuStatistic/index.vue +0 -4
  159. package/components/QiuStatistics/index.vue +0 -123
  160. package/components/QiuStep/index.vue +0 -220
  161. package/components/QiuSteps/context.ts +0 -25
  162. package/components/QiuSteps/index.vue +0 -84
  163. package/components/QiuSwitch/index.vue +0 -145
  164. package/components/QiuTabBar/index.vue +0 -218
  165. package/components/QiuTabBar/types.ts +0 -19
  166. package/components/QiuTabPane/index.vue +0 -82
  167. package/components/QiuTable/columns.ts +0 -16
  168. package/components/QiuTable/export.ts +0 -102
  169. package/components/QiuTable/index.ts +0 -24
  170. package/components/QiuTable/index.vue +0 -3503
  171. package/components/QiuTable/registry.ts +0 -75
  172. package/components/QiuTable/styles/table.scss +0 -1230
  173. package/components/QiuTable/types.ts +0 -413
  174. package/components/QiuTable/useArea.ts +0 -202
  175. package/components/QiuTable/useColumns.ts +0 -325
  176. package/components/QiuTable/useEdit.ts +0 -136
  177. package/components/QiuTable/useExtras.ts +0 -115
  178. package/components/QiuTable/useHistory.ts +0 -77
  179. package/components/QiuTable/useMerge.ts +0 -105
  180. package/components/QiuTable/useResize.ts +0 -86
  181. package/components/QiuTable/useScrollSync.ts +0 -152
  182. package/components/QiuTable/useVirtual.ts +0 -97
  183. package/components/QiuTable/utils.ts +0 -165
  184. package/components/QiuTableColumn/index.vue +0 -101
  185. package/components/QiuTag/index.vue +0 -143
  186. package/components/QiuText/index.vue +0 -99
  187. package/components/QiuTime/index.vue +0 -548
  188. package/components/QiuTimeAgo/index.vue +0 -103
  189. package/components/QiuTimeline/index.vue +0 -54
  190. package/components/QiuTimelineItem/index.vue +0 -140
  191. package/components/QiuTips/index.vue +0 -323
  192. package/components/QiuTooltip/index.vue +0 -237
  193. package/components/QiuTransfer/index.vue +0 -277
  194. package/components/QiuTree/QiuTreeNode.vue +0 -146
  195. package/components/QiuTree/index.vue +0 -143
  196. package/components/QiuTree/types.ts +0 -30
  197. package/components/QiuTreeSelect/index.vue +0 -259
  198. package/components/QiuTrend/index.vue +0 -92
  199. package/components/QiuUpload/index.vue +0 -628
  200. package/components/QiuUploadCrop/index.vue +0 -1267
  201. package/components/QiuWatermark/index.vue +0 -121
  202. package/components/useBodyScrollLock.ts +0 -28
  203. package/dist/components/QiuBadge/utils/pca-code.json.d.ts +0 -3
  204. package/plugins/qiu.ts +0 -83
  205. package/plugins/shortcuts.ts +0 -69
  206. package/src/bridge/@/api/media.ts +0 -8
  207. package/src/bridge/@/api/notice.ts +0 -5
  208. package/src/bridge/@/config/index.ts +0 -38
  209. package/src/bridge/@/config/media.config.ts +0 -37
  210. package/src/bridge/@/config/security.config.ts +0 -8
  211. package/src/bridge/@/i18n/index.ts +0 -6
  212. package/src/bridge/@/store/modules/bing.ts +0 -9
  213. package/src/bridge/@/store/modules/errorLog.ts +0 -9
  214. package/src/bridge/@/store/modules/media.ts +0 -10
  215. package/src/bridge/@/store/modules/routes.ts +0 -10
  216. package/src/bridge/@/store/modules/settings.ts +0 -9
  217. package/src/bridge/@/store/modules/tabs.ts +0 -9
  218. package/src/bridge/@/store/modules/user.ts +0 -9
  219. package/src/bridge/@/utils/convertToCamelCase.ts +0 -11
  220. package/src/bridge/@/utils/index.ts +0 -9
  221. package/src/bridge/@/utils/pageTitle.ts +0 -4
  222. package/src/bridge/@/utils/routes.ts +0 -14
  223. package/src/bridge/@/utils/validate.ts +0 -17
  224. package/src/bridge/@qiu/plugins/shortcuts.ts +0 -3
  225. package/src/i18n.ts +0 -8
  226. package/src/icons/qiu-logo.svg +0 -1
  227. package/styles/dark.scss +0 -194
  228. package/styles/normalize.css +0 -349
  229. package/styles/plain.scss +0 -423
  230. package/styles/qiu-tokens.scss +0 -40
  231. package/styles/qiu.scss +0 -1149
  232. package/styles/technology.scss +0 -452
  233. package/styles/var.scss +0 -382
  234. package/styles/variables.scss +0 -77
package/plugins/qiu.ts DELETED
@@ -1,83 +0,0 @@
1
- import { head, toArray } from 'lodash-es'
2
- import mitt from 'mitt'
3
- import type { App, VNode } from 'vue'
4
- import { loadingText, messageDuration } from '/@/config'
5
- import { qiuLoading } from '../components/QiuLoading'
6
- import { qiuMsg } from '../components/QiuMsg'
7
- import { qiuAlert, qiuConfirm } from '../components/QiuMsgBox'
8
-
9
- /** 全局助手(供非 setup 场景调用) */
10
- export let qiuApp: Record<string, any>
11
-
12
- export default {
13
- install: (app: App<Element>) => {
14
- const $baseLoading = (text = loadingText, _background?: string) => {
15
- return qiuLoading.service({
16
- text,
17
- fullscreen: true,
18
- })
19
- }
20
-
21
- const $baseAlert = (content: string | VNode, title = '温馨提示', callback?: any) => {
22
- qiuAlert(content, title, callback)
23
- }
24
-
25
- const $baseConfirm = (
26
- content: string | VNode,
27
- title: string,
28
- callback1: any,
29
- callback2: any,
30
- confirmButtonText = '确定',
31
- cancelButtonText = '取消'
32
- ) => {
33
- qiuConfirm(content, title || '温馨提示', callback1, callback2, confirmButtonText, cancelButtonText)
34
- }
35
-
36
- const $baseNotify = (
37
- message: string,
38
- title: string,
39
- type: 'success' | 'warning' | 'info' | 'error' = 'success',
40
- _position?: string,
41
- duration: number = messageDuration
42
- ) => {
43
- qiuMsg({
44
- message: title ? `${title}:${message}` : message,
45
- type,
46
- duration,
47
- position: 'right-top',
48
- })
49
- }
50
-
51
- const _emitter = mitt()
52
-
53
- const $pub = (...args: any[]) => {
54
- _emitter.emit(head(args), args[1])
55
- }
56
-
57
- const $sub = (...args: any[]) => {
58
- Reflect.apply(_emitter.on, _emitter, toArray(args))
59
- }
60
-
61
- const $unsub = (...args: any[]) => {
62
- Reflect.apply(_emitter.off, _emitter, toArray(args))
63
- }
64
-
65
- app.provide('$baseAlert', $baseAlert)
66
- app.provide('$baseConfirm', $baseConfirm)
67
- app.provide('$baseLoading', $baseLoading)
68
- app.provide('$baseNotify', $baseNotify)
69
- app.provide('$pub', $pub)
70
- app.provide('$sub', $sub)
71
- app.provide('$unsub', $unsub)
72
-
73
- qiuApp = {
74
- $baseAlert,
75
- $baseConfirm,
76
- $baseLoading,
77
- $baseNotify,
78
- $pub,
79
- $sub,
80
- $unsub,
81
- }
82
- },
83
- }
@@ -1,69 +0,0 @@
1
- /**
2
- * 全局快捷键:锁屏 / 计算器 / 播放器 / 全屏 / 刷新
3
- */
4
- import type { App } from 'vue'
5
- import { qiuMsg } from '../components/QiuMsg'
6
- import { qiuApp } from './qiu'
7
- import { useSettingsStore } from '/@/store/modules/settings'
8
-
9
- export const QIU_SHORTCUTS = [
10
- { keys: 'Alt+L', action: 'lock', label: '锁屏' },
11
- { keys: 'Alt+J', action: 'calculator', label: '计算器' },
12
- { keys: 'Alt+M', action: 'media', label: '音乐播放器' },
13
- { keys: 'Alt+F', action: 'fullscreen', label: '全屏' },
14
- { keys: 'Alt+R', action: 'refresh', label: '刷新' },
15
- { keys: 'Alt+/', action: 'help', label: '快捷键帮助' },
16
- ] as const
17
-
18
- function isTypingTarget(el: EventTarget | null) {
19
- if (!(el instanceof HTMLElement)) return false
20
- const tag = el.tagName
21
- return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || el.isContentEditable
22
- }
23
-
24
- export default {
25
- install(_app: App) {
26
- const onKey = (e: KeyboardEvent) => {
27
- if (!e.altKey || isTypingTarget(e.target)) return
28
- const key = e.key.toLowerCase()
29
- const pub = qiuApp?.$pub
30
- if (!pub) return
31
-
32
- let locked = false
33
- try {
34
- locked = !!useSettingsStore().lock
35
- } catch {
36
- locked = false
37
- }
38
-
39
- // 锁屏后禁止除帮助外的快捷键操作
40
- if (locked && key !== '/' && key !== '?' && key !== 'l') {
41
- e.preventDefault()
42
- return
43
- }
44
-
45
- if (key === 'l') {
46
- e.preventDefault()
47
- pub('qiu-shortcut-lock')
48
- } else if (key === 'j') {
49
- e.preventDefault()
50
- pub('qiu-shortcut-calculator')
51
- } else if (key === 'm') {
52
- e.preventDefault()
53
- pub('qiu-shortcut-media')
54
- } else if (key === 'f') {
55
- e.preventDefault()
56
- pub('qiu-shortcut-fullscreen')
57
- } else if (key === 'r') {
58
- e.preventDefault()
59
- pub('reload-router-view')
60
- pub('refresh-rotate')
61
- } else if (key === '/' || key === '?') {
62
- e.preventDefault()
63
- const tips = QIU_SHORTCUTS.map((s) => `${s.keys} ${s.label}`).join(' · ')
64
- qiuMsg.info(tips, 'top-center')
65
- }
66
- }
67
- window.addEventListener('keydown', onKey)
68
- },
69
- }
@@ -1,8 +0,0 @@
1
- // bridge stub: 媒体接口
2
- export async function fetchHolidayBreaks(params?: any): Promise<any[]> {
3
- return []
4
- }
5
- export async function fetchMediaPersist(params?: any): Promise<any> {
6
- return {}
7
- }
8
- export default { fetchHolidayBreaks, fetchMediaPersist }
@@ -1,5 +0,0 @@
1
- // bridge stub: 通知接口
2
- export async function getList(params?: any): Promise<any[]> {
3
- return []
4
- }
5
- export default { getList }
@@ -1,38 +0,0 @@
1
- // bridge stub: 主应用配置的自包含轻量替代
2
- export const defaultOpeneds: string[] = []
3
- export const isHashRouterMode = false
4
- export const uniqueOpened = true
5
- export const openFirstMenu = false
6
- export const keepAliveMaxNum = 99
7
- export const color: string[] = [
8
- '#1890ff',
9
- '#f5222d',
10
- '#fa541c',
11
- '#fadb14',
12
- '#52c41a',
13
- '#13c2c2',
14
- '#2f54eb',
15
- '#722ed1',
16
- ]
17
- export const title = 'qiu-ui'
18
- export const logo = ''
19
- export const tokenName = 'token'
20
- export const tokenTableName = 'token'
21
- export const loginInterception = true
22
- export const supportVisit = false
23
- export const loginRSA = false
24
- export const loadingText = '加载中...'
25
- export const messageDuration = 3000
26
- export const copyright = ''
27
- export const footerCopyright = ''
28
- export const record = ''
29
- export const GITHUB = ''
30
- export const unauthorized = '401'
31
- export const noPermission = '403'
32
- export const notFound = '404'
33
- export const serviceError = '500'
34
- export const errorLog = ['prod']
35
- export const errorLogUrl = ''
36
- export const defaultRouter = '/index'
37
- export const routesWhiteList = ['/login', '/register']
38
- export default {}
@@ -1,37 +0,0 @@
1
- // bridge stub: 媒体播放配置的自包含轻量替代
2
- function makeSafe(): any {
3
- return new Proxy(function () {}, {
4
- get: () => makeSafe(),
5
- apply: () => makeSafe(),
6
- })
7
- }
8
-
9
- export const mediaConfig = {
10
- workspaceEnabled: false,
11
- holidayEnabled: false,
12
- defaultPlan: null,
13
- }
14
-
15
- // 媒体调度相关工具的占位实现(库内不依赖真实后端配置)
16
- export function getSecondsUntilStart(_plan?: any): number {
17
- return 0
18
- }
19
- export function isInHolidayBreak(_date?: Date): boolean {
20
- return false
21
- }
22
- export function isInSchedule(_date?: Date): boolean {
23
- return false
24
- }
25
- export function findScheduledItem(_items?: any[]): any {
26
- return undefined
27
- }
28
- export function findUpcomingItem(_items?: any[]): any {
29
- return undefined
30
- }
31
-
32
- // 类型仅在编译期使用,运行时提供占位值即可
33
- export const MediaHolidayBreak = makeSafe()
34
- export const MediaItem = makeSafe()
35
- export const MediaSchedule = makeSafe()
36
- export const TimedPlayPlan = makeSafe()
37
- export default mediaConfig
@@ -1,8 +0,0 @@
1
- // bridge stub
2
- export const securityConfig = {
3
- authentication: 'all',
4
- loginFailCount: 5,
5
- lockTime: 0,
6
- verifyCode: false,
7
- }
8
- export default securityConfig
@@ -1,6 +0,0 @@
1
- // bridge stub: 国际化翻译透传(独立运行时不做翻译,直接返回原文/key)
2
- export function translate(key: string, ...args: any[]): string {
3
- return key
4
- }
5
- export const t = translate
6
- export default { translate, t }
@@ -1,9 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const useBingStore = () => makeSafe()
9
- export default makeSafe()
@@ -1,9 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const useErrorLogStore = () => makeSafe()
9
- export default makeSafe()
@@ -1,10 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const MEDIA_WORKSPACE_EVENT = makeSafe()
9
- export const useMediaStore = () => makeSafe()
10
- export default makeSafe()
@@ -1,10 +0,0 @@
1
- // bridge stub: 主应用 store 的自包含轻量替代,仅用于让组件库独立打包/运行降级
2
- function makeSafe(): any {
3
- return new Proxy(function () {}, {
4
- get: () => makeSafe(),
5
- apply: () => makeSafe(),
6
- })
7
- }
8
-
9
- export const useRoutesStore = () => makeSafe()
10
- export default makeSafe()
@@ -1,9 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const useSettingsStore = () => makeSafe()
9
- export default makeSafe()
@@ -1,9 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const useTabsStore = () => makeSafe()
9
- export default makeSafe()
@@ -1,9 +0,0 @@
1
- function makeSafe(): any {
2
- return new Proxy(function () {}, {
3
- get: () => makeSafe(),
4
- apply: () => makeSafe(),
5
- })
6
- }
7
-
8
- export const useUserStore = () => makeSafe()
9
- export default makeSafe()
@@ -1,11 +0,0 @@
1
- // bridge stub: 字符串转驼峰(自包含实现,使布局组件库内可用)
2
- export const convertToCamelCase = (str: any) => {
3
- const parts = String(str).split('-')
4
- let out = ''
5
- for (const part of parts) {
6
- if (part) out += part[0].toUpperCase() + part.slice(1)
7
- }
8
- return out
9
- }
10
-
11
- export default convertToCamelCase
@@ -1,9 +0,0 @@
1
- // bridge stub: 通用工具
2
- export function moveElement(arr: any[] = [], from: number, to: number): any[] {
3
- const list = [...arr]
4
- if (from < 0 || from >= list.length) return list
5
- const [item] = list.splice(from, 1)
6
- list.splice(to, 0, item)
7
- return list
8
- }
9
- export default { moveElement }
@@ -1,4 +0,0 @@
1
- // bridge stub: 页面标题
2
- export default function getPageTitle(route: any): string {
3
- return route?.meta?.title || ''
4
- }
@@ -1,14 +0,0 @@
1
- // bridge stub: 路由工具
2
- export function handleActivePath(route: any, type = 'one'): string {
3
- return route?.name || route?.path || ''
4
- }
5
- export function handleMatched(routes: any[] = [], path = ''): any[] {
6
- return []
7
- }
8
- export function handleTabs(routes: any[] = []): any[] {
9
- return []
10
- }
11
- export function toLoginRoute(currentPath = '/'): any {
12
- return { name: 'Login', path: '/login', query: { redirect: currentPath } }
13
- }
14
- export default { handleActivePath, handleMatched, handleTabs, toLoginRoute }
@@ -1,17 +0,0 @@
1
- // bridge stub: 校验工具
2
- export function isArray(val: unknown): val is unknown[] {
3
- return Array.isArray(val)
4
- }
5
- export function isExternal(path: string): boolean {
6
- return /^(https?:|mailto:|tel:|http)/.test(path || '')
7
- }
8
- export function isNumber(val: unknown): boolean {
9
- return typeof val === 'number' && !Number.isNaN(val)
10
- }
11
- export function isString(val: unknown): val is string {
12
- return typeof val === 'string'
13
- }
14
- export function isObject(val: unknown): val is Record<string, unknown> {
15
- return val !== null && typeof val === 'object'
16
- }
17
- export default { isArray, isExternal, isNumber, isString, isObject }
@@ -1,3 +0,0 @@
1
- // bridge stub: 主应用快捷键集合的自包含轻量替代
2
- export const QIU_SHORTCUTS: any[] = []
3
- export default QIU_SHORTCUTS
package/src/i18n.ts DELETED
@@ -1,8 +0,0 @@
1
- // 组件库内置轻量 i18n 桥接:默认原样返回文案,业务如需多语言可自行覆盖
2
- let _translate: (key: string, ...args: any[]) => string = (key: string) => key
3
-
4
- export const setTranslate = (fn: (key: string, ...args: any[]) => string) => {
5
- _translate = fn
6
- }
7
-
8
- export const translate = (key: string, ...args: any[]): string => _translate(key, ...args)
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024"><path d="M512 64l448 256v384L512 960 64 704V320z" fill="currentColor"/></svg>
package/styles/dark.scss DELETED
@@ -1,194 +0,0 @@
1
- html.dark > body,
2
- html.dark > body[class*='qiu-theme-'] {
3
- --qiu-color-black: #ffffff;
4
- --qiu-color-white: #1d1e1f;
5
- --qiu-color-grey: #ffffff;
6
- --qiu-menu-background-color-second: #1d1e1f;
7
- --qiu-border-color: #414243;
8
- --qiu-menu-background-color: #1d1e1f;
9
- --qiu-menu-color-text: #ffffff;
10
- --qiu-menu-color-text-second: #e5eaf3;
11
- --qiu-mask-color: rgba(0, 0, 0, 0.8);
12
- --qiu-background-color: #1d1e1f;
13
-
14
- --w-e-textarea-bg-color: #333;
15
- --w-e-textarea-color: #fff;
16
- --w-e-textarea-border-color: var(--qiu-border-color);
17
- --w-e-textarea-slight-border-color: var(--qiu-border-color);
18
- --w-e-textarea-slight-color: var(--qiu-border-color);
19
- --w-e-textarea-slight-bg-color: var(--qiu-border-color);
20
- --w-e-textarea-selected-border-color: var(--qiu-color-primary);
21
- --w-e-textarea-handler-bg-color: var(--qiu-color-primary);
22
- --w-e-toolbar-color: #fff;
23
- --w-e-toolbar-bg-color: #333;
24
- --w-e-toolbar-active-color: #fff;
25
- --w-e-toolbar-active-bg-color: #333;
26
- --w-e-toolbar-disabled-color: #999;
27
- --w-e-toolbar-border-color: #333;
28
- --w-e-modal-button-bg-color: #333;
29
- --w-e-modal-button-border-color: #d9d9d9;
30
-
31
- color: #ffffff !important;
32
- background-color: var(--qiu-color-white) !important;
33
-
34
- .qiu-nav {
35
- background: var(--qiu-color-white) !important;
36
- border-bottom: 1px solid var(--qiu-border-color) !important;
37
- }
38
-
39
- .qiu-tabs {
40
- border-top: 1px solid var(--qiu-border-color) !important;
41
- border-bottom: 1px solid var(--qiu-border-color) !important;
42
- }
43
-
44
- [class*='-container'],
45
- .no-background-container {
46
- background: var(--qiu-color-white) !important;
47
- }
48
-
49
- .table {
50
- td {
51
- border: 1px solid var(--qiu-border-color) !important;
52
- }
53
- }
54
-
55
- .login-container .login-form {
56
- background: rgba(#1d1e1f, 0.9);
57
- }
58
-
59
- .qiu-column-bar {
60
- margin-left: 0 !important;
61
- border-right: 0 !important;
62
-
63
- .qiu-column-bar__divider {
64
- background: var(--qiu-border-color) !important;
65
- }
66
-
67
- &::before {
68
- background: var(--qiu-border-color) !important;
69
- }
70
-
71
- &::after {
72
- display: none;
73
- }
74
-
75
- .el-tabs {
76
- border-right: 0 !important;
77
-
78
- .el-tabs__nav {
79
- background: var(--qiu-color-white) !important;
80
- }
81
-
82
- .el-tabs__item {
83
- color: var(--qiu-color-grey) !important;
84
- }
85
- }
86
-
87
- &-arrow {
88
- .el-tabs {
89
- .el-tabs__item {
90
- &.is-active {
91
- color: var(--qiu-menu-color-text) !important;
92
- background: transparent !important;
93
-
94
- .qiu-column-grid {
95
- background: transparent !important;
96
-
97
- &:after {
98
- border-color: transparent var(--qiu-menu-color-text) transparent transparent;
99
- }
100
- }
101
- }
102
- }
103
- }
104
- }
105
- }
106
-
107
- .qiu-tabs-content-card {
108
- .el-tabs__header {
109
- .el-tabs__item {
110
- border: 1px solid var(--qiu-border-color) !important;
111
- }
112
- }
113
- }
114
-
115
- .qiu-logo-column {
116
- .logo {
117
- background: transparent !important;
118
- border-right: 0 !important;
119
- border-bottom: 0 !important;
120
- }
121
-
122
- .title {
123
- border-bottom: 0 !important;
124
- }
125
- }
126
-
127
- .qiu-layout-column,
128
- .qiu-layout-vertical {
129
- .qiu-nav {
130
- border-bottom: 0 !important;
131
- }
132
-
133
- .qiu-tabs {
134
- border-top: 0 !important;
135
- }
136
- }
137
-
138
- .qiu-side-bar {
139
- border-right: 1px solid var(--qiu-border-color) !important;
140
- }
141
-
142
- .qiu-header {
143
- border-bottom: 1px solid var(--qiu-border-color) !important;
144
-
145
- .qiu-logo-horizontal {
146
- height: calc(var(--qiu-header-height) - 2px);
147
- }
148
-
149
- .qiu-main {
150
- .right-panel {
151
- [class*='ri-'],
152
- .username {
153
- color: var(--qiu-color-grey) !important;
154
- }
155
- }
156
- }
157
- }
158
-
159
- /* svg */
160
- [fill='#fff'] {
161
- fill: var(--qiu-color-white) !important;
162
- }
163
-
164
- .el-button,
165
- .el-switch,
166
- .el-checkbox,
167
- .el-checkbox-group,
168
- .el-radio,
169
- .el-radio-group,
170
- .el-slider,
171
- .el-tag,
172
- .el-pagination,
173
- .el-segmented,
174
- .el-carousel,
175
- .el-menu,
176
- .el-card__body::after,
177
- .el-alert.is-dark,
178
- .el-badge,
179
- .fold-unfold,
180
- .schedule-box,
181
- .transition-box,
182
- .top-card-blue,
183
- .icon-panel {
184
- --el-color-white: var(--qiu-menu-text-color);
185
- }
186
-
187
- .el-divider__text {
188
- background-color: transparent !important;
189
- }
190
-
191
- .qiu-blockquote {
192
- background-color: rgba(0, 0, 0, 0.1) !important;
193
- }
194
- }