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
@@ -1,159 +0,0 @@
1
- <template>
2
- <div class="qiu-digital-card" :class="[`qiu-digital-card--${theme}`]">
3
- <div v-if="icon || $slots.icon" class="qiu-digital-card__icon">
4
- <slot name="icon"><qiu-icon :icon="icon!" /></slot>
5
- </div>
6
- <div class="qiu-digital-card__content">
7
- <div class="qiu-digital-card__value">
8
- <span v-if="prefix" class="qiu-digital-card__affix">{{ prefix }}</span>
9
- <span class="qiu-digital-card__num">{{ display }}</span>
10
- <span v-if="suffix" class="qiu-digital-card__affix">{{ suffix }}</span>
11
- </div>
12
- <div v-if="title || $slots.title" class="qiu-digital-card__title">
13
- <slot name="title">{{ title }}</slot>
14
- </div>
15
- <div v-if="$slots.footer" class="qiu-digital-card__footer">
16
- <slot name="footer" />
17
- </div>
18
- </div>
19
- </div>
20
- </template>
21
-
22
- <script lang="ts" setup>
23
- import { computed, watch } from 'vue'
24
-
25
- defineOptions({ name: 'QiuDigitalCard' })
26
-
27
- const props = withDefaults(
28
- defineProps<{
29
- value?: number
30
- title?: string
31
- prefix?: string
32
- suffix?: string
33
- icon?: string
34
- /** 保留小数位 */
35
- precision?: number
36
- /** 千分位分隔 */
37
- groupSeparator?: boolean
38
- /** 是否开启动画滚动 */
39
- animated?: boolean
40
- duration?: number
41
- theme?: 'light' | 'dark'
42
- }>(),
43
- {
44
- value: 0,
45
- title: '',
46
- prefix: '',
47
- suffix: '',
48
- icon: '',
49
- precision: 0,
50
- groupSeparator: true,
51
- animated: true,
52
- duration: 800,
53
- theme: 'light',
54
- }
55
- )
56
-
57
- const current = ref(0)
58
-
59
- const display = computed(() => {
60
- const n = Number(current.value.toFixed(props.precision))
61
- const fixed = n.toFixed(props.precision)
62
- if (!props.groupSeparator) return fixed
63
- const [int, dec] = fixed.split('.')
64
- const grouped = int.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
65
- return dec ? `${grouped}.${dec}` : grouped
66
- })
67
-
68
- const animateTo = (to: number) => {
69
- if (!props.animated) {
70
- current.value = to
71
- return
72
- }
73
- const from = current.value
74
- const start = performance.now()
75
- const step = (now: number) => {
76
- const t = Math.min(1, (now - start) / props.duration)
77
- const eased = 1 - Math.pow(1 - t, 3)
78
- current.value = from + (to - from) * eased
79
- if (t < 1) requestAnimationFrame(step)
80
- else current.value = to
81
- }
82
- requestAnimationFrame(step)
83
- }
84
-
85
- watch(
86
- () => props.value,
87
- (v) => animateTo(Number(v) || 0),
88
- { immediate: true }
89
- )
90
- </script>
91
-
92
- <style lang="scss" scoped>
93
- .qiu-digital-card {
94
- display: inline-flex;
95
- gap: 14px;
96
- align-items: center;
97
- box-sizing: border-box;
98
- padding: 16px 18px;
99
- background: var(--qiu-bg-color, #fff);
100
- border: 1px solid var(--qiu-border-color-lighter, #ebeef5);
101
- border-radius: 8px;
102
-
103
- &--dark {
104
- background: var(--qiu-color-primary, #409eff);
105
- border-color: transparent;
106
- color: #fff;
107
-
108
- .qiu-digital-card__title {
109
- color: rgba(255, 255, 255, 0.85);
110
- }
111
- }
112
- }
113
-
114
- .qiu-digital-card__icon {
115
- display: inline-flex;
116
- align-items: center;
117
- justify-content: center;
118
- width: 44px;
119
- height: 44px;
120
- font-size: 20px;
121
- color: var(--qiu-color-primary, #409eff);
122
- background: color-mix(in srgb, var(--qiu-color-primary, #409eff) 12%, transparent);
123
- border-radius: 10px;
124
-
125
- .qiu-digital-card--dark & {
126
- color: #fff;
127
- background: rgba(255, 255, 255, 0.18);
128
- }
129
- }
130
-
131
- .qiu-digital-card__value {
132
- display: flex;
133
- align-items: baseline;
134
- font-size: 26px;
135
- font-weight: 700;
136
- line-height: 1.1;
137
- color: var(--qiu-text-color-primary, #303133);
138
-
139
- .qiu-digital-card--dark & {
140
- color: #fff;
141
- }
142
- }
143
-
144
- .qiu-digital-card__affix {
145
- font-size: 16px;
146
- font-weight: 600;
147
- }
148
-
149
- .qiu-digital-card__title {
150
- margin-top: 4px;
151
- font-size: 13px;
152
- color: var(--qiu-text-color-secondary, #909399);
153
- }
154
-
155
- .qiu-digital-card__footer {
156
- margin-top: 6px;
157
- font-size: 12px;
158
- }
159
- </style>
@@ -1,185 +0,0 @@
1
- <template>
2
- <blockquote
3
- v-if="blockquote"
4
- class="qiu-blockquote"
5
- :class="isBorder ? `qiu-blockquote-${type} is-border` : `qiu-blockquote-${type}`"
6
- >
7
- <slot />
8
- </blockquote>
9
- <fieldset v-else-if="fieldset" class="qiu-fieldset">
10
- <legend>{{ title }}</legend>
11
- <slot />
12
- </fieldset>
13
- <div
14
- v-else
15
- class="qiu-divider"
16
- :class="[
17
- `qiu-divider--${direction}`,
18
- `qiu-divider--${contentPosition}`,
19
- `qiu-divider--${borderStyle}`,
20
- ]"
21
- role="separator"
22
- >
23
- <span v-if="$slots.default" class="qiu-divider__text">
24
- <slot />
25
- </span>
26
- </div>
27
- </template>
28
-
29
- <script lang="ts" setup>
30
- defineOptions({
31
- name: 'QiuDivider',
32
- })
33
-
34
- defineProps({
35
- direction: {
36
- type: String as () => 'horizontal' | 'vertical',
37
- default: 'horizontal',
38
- },
39
- contentPosition: {
40
- type: String as () => 'left' | 'center' | 'right',
41
- default: 'center',
42
- },
43
- borderStyle: {
44
- type: String as () => 'solid' | 'dashed' | 'dotted',
45
- default: 'solid',
46
- },
47
- blockquote: {
48
- type: Boolean,
49
- default: false,
50
- },
51
- fieldset: {
52
- type: Boolean,
53
- default: false,
54
- },
55
- type: {
56
- type: String,
57
- default: 'primary',
58
- },
59
- isBorder: {
60
- type: Boolean,
61
- default: false,
62
- },
63
- title: {
64
- type: String,
65
- default: '',
66
- },
67
- })
68
- </script>
69
-
70
- <style lang="scss" scoped>
71
- .qiu-blockquote {
72
- width: 100%;
73
- padding: 15px;
74
- margin: 0 0 10px 0;
75
- line-height: 1.8;
76
- background-color: var(--qiu-background-color);
77
- border-left: 5px solid var(--qiu-color-primary);
78
- border-radius: 0 var(--qiu-border-radius-base) var(--qiu-border-radius-base) 0;
79
-
80
- &-primary {
81
- border-left: 5px solid var(--qiu-color-primary);
82
- }
83
-
84
- &-success {
85
- border-left: 5px solid var(--qiu-color-success);
86
- }
87
-
88
- &-warning {
89
- border-left: 5px solid var(--qiu-color-warning);
90
- }
91
-
92
- &-danger {
93
- border-left: 5px solid var(--qiu-color-danger);
94
- }
95
-
96
- &-info {
97
- border-left: 5px solid var(--qiu-color-info);
98
- }
99
-
100
- &.is-border {
101
- border-top: 1px solid var(--qiu-border-color);
102
- border-right: 1px solid var(--qiu-border-color);
103
- border-bottom: 1px solid var(--qiu-border-color);
104
- }
105
- }
106
-
107
- .qiu-fieldset {
108
- padding: var(--qiu-padding);
109
- margin-bottom: 10px;
110
- border: 1px solid var(--qiu-border-color);
111
-
112
- legend {
113
- padding: 0 var(--qiu-padding) 0 var(--qiu-padding);
114
- }
115
- }
116
-
117
- .qiu-divider {
118
- position: relative;
119
- display: block;
120
- margin: 16px 0;
121
- border-color: var(--qiu-border-color, #dcdfe6);
122
-
123
- &--horizontal {
124
- width: 100%;
125
- height: 0;
126
- border-top-width: 1px;
127
-
128
- &.qiu-divider--solid {
129
- border-top-style: solid;
130
- }
131
-
132
- &.qiu-divider--dashed {
133
- border-top-style: dashed;
134
- }
135
-
136
- &.qiu-divider--dotted {
137
- border-top-style: dotted;
138
- }
139
-
140
- .qiu-divider__text {
141
- position: absolute;
142
- top: 50%;
143
- padding: 0 12px;
144
- font-size: 14px;
145
- color: var(--qiu-text-color-primary, #303133);
146
- background: var(--qiu-bg-color, #fff);
147
- transform: translateY(-50%);
148
- }
149
-
150
- &.qiu-divider--left .qiu-divider__text {
151
- left: 20px;
152
- }
153
-
154
- &.qiu-divider--center .qiu-divider__text {
155
- left: 50%;
156
- transform: translate(-50%, -50%);
157
- }
158
-
159
- &.qiu-divider--right .qiu-divider__text {
160
- right: 20px;
161
- }
162
- }
163
-
164
- &--vertical {
165
- display: inline-block;
166
- width: 0;
167
- height: 1em;
168
- margin: 0 8px;
169
- vertical-align: middle;
170
- border-left-width: 1px;
171
-
172
- &.qiu-divider--solid {
173
- border-left-style: solid;
174
- }
175
-
176
- &.qiu-divider--dashed {
177
- border-left-style: dashed;
178
- }
179
-
180
- &.qiu-divider--dotted {
181
- border-left-style: dotted;
182
- }
183
- }
184
- }
185
- </style>
@@ -1,83 +0,0 @@
1
- <template>
2
- <span :class="'qiu-dot qiu-dot-' + type"></span>
3
- </template>
4
-
5
- <script lang="ts" setup>
6
- defineOptions({
7
- name: 'QiuDot',
8
- })
9
-
10
- defineProps({
11
- type: {
12
- values: ['primary', 'success', 'warning', 'danger'],
13
- type: String,
14
- default: 'primary',
15
- },
16
- })
17
- </script>
18
-
19
- <style lang="scss" scoped>
20
- /**
21
- * qiu-dot:菜单角标圆点
22
- * 注意:过大的 scale 脉冲在侧栏 overflow 裁剪下,Windows/Chrome 易留下「细沙状」残影
23
- */
24
- .qiu-dot {
25
- position: relative;
26
- display: inline-block;
27
- width: 6px;
28
- height: 6px;
29
- margin-right: 3px;
30
- vertical-align: middle;
31
- border-radius: 50%;
32
- /* 限制绘制范围,避免切换菜单时脉冲层残留 */
33
- overflow: visible;
34
- contain: layout style;
35
- isolation: isolate;
36
- transform: translateZ(0);
37
- backface-visibility: hidden;
38
-
39
- @keyframes qiuDot {
40
- 0% {
41
- opacity: 0.55;
42
- transform: scale(1);
43
- }
44
- 100% {
45
- opacity: 0;
46
- transform: scale(1.65);
47
- }
48
- }
49
-
50
- &::after {
51
- position: absolute;
52
- top: 0;
53
- left: 0;
54
- box-sizing: border-box;
55
- display: block;
56
- width: 100%;
57
- height: 100%;
58
- pointer-events: none;
59
- content: '';
60
- border-radius: 50%;
61
- /* 用 opacity 为主、缩小放大幅度,减少合成层残影 */
62
- animation: qiuDot 1.4s ease-out infinite;
63
- will-change: opacity, transform;
64
- backface-visibility: hidden;
65
- }
66
-
67
- @mixin set-color($color) {
68
- &-#{$color} {
69
- background: var(--qiu-color-#{$color});
70
-
71
- &::after {
72
- background: var(--qiu-color-#{$color});
73
- }
74
- }
75
- }
76
-
77
- @include set-color(primary);
78
- @include set-color(success);
79
- @include set-color(warning);
80
- @include set-color(error);
81
- @include set-color(danger);
82
- }
83
- </style>