@veltra/desktop 1.6.2 → 1.6.4

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 (36) hide show
  1. package/dist/components/action/action-group.js.map +1 -1
  2. package/dist/components/action/action-group.vue_vue_type_script_setup_true_lang.js.map +1 -1
  3. package/dist/components/collapse/collapse-item.js +3 -3
  4. package/dist/components/collapse/collapse-item.js.map +1 -1
  5. package/dist/components/collapse/collapse.js +7 -5
  6. package/dist/components/collapse/collapse.js.map +1 -1
  7. package/dist/components/date-panel/use-date-select.js +10 -9
  8. package/dist/components/date-panel/use-date-select.js.map +1 -1
  9. package/dist/components/file-viewer/previewers/sheet-previewer.js +5 -1
  10. package/dist/components/file-viewer/previewers/sheet-previewer.js.map +1 -1
  11. package/dist/components/multi-select/multi-select.js.map +1 -1
  12. package/dist/components/rich-text-editor/toolbar.js +8 -4
  13. package/dist/components/rich-text-editor/toolbar.js.map +1 -1
  14. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js +20 -14
  15. package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -1
  16. package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js +4 -2
  17. package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js.map +1 -1
  18. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js +26 -21
  19. package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js.map +1 -1
  20. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js +22 -18
  21. package/dist/node_modules/.bun/@codemirror_search@6.7.1/node_modules/@codemirror/search/dist/index.js.map +1 -1
  22. package/dist/node_modules/.bun/@codemirror_state@6.7.1/node_modules/@codemirror/state/dist/index.js +7 -6
  23. package/dist/node_modules/.bun/@codemirror_state@6.7.1/node_modules/@codemirror/state/dist/index.js.map +1 -1
  24. package/dist/node_modules/.bun/@codemirror_view@6.43.8/node_modules/@codemirror/view/dist/index.js +142 -117
  25. package/dist/node_modules/.bun/@codemirror_view@6.43.8/node_modules/@codemirror/view/dist/index.js.map +1 -1
  26. package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js +16 -11
  27. package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js.map +1 -1
  28. package/dist/node_modules/.bun/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js +25 -15
  29. package/dist/node_modules/.bun/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js.map +1 -1
  30. package/dist/types/collapse.d.ts +1 -1
  31. package/package.json +6 -6
  32. package/src/components/action/action-group.vue +8 -25
  33. package/src/components/collapse/__test__/collapse.test.ts +30 -0
  34. package/src/components/collapse/collapse-item.vue +7 -7
  35. package/src/components/file-viewer/previewers/sheet-previewer.vue +7 -2
  36. package/src/types/collapse.ts +1 -1
@@ -43,7 +43,7 @@ interface CollapseItemProps {
43
43
  * @default false
44
44
  */
45
45
  modelValue?: boolean;
46
- /** 标题文本(也可通过 #header 插槽自定义整个头部) */
46
+ /** 标题文本(也可通过 #header 插槽自定义标题区;展开图标始终保留,可用 expandIcon 替换) */
47
47
  title?: string;
48
48
  /** 是否禁用 */
49
49
  disabled?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veltra/desktop",
3
- "version": "1.6.2",
3
+ "version": "1.6.4",
4
4
  "homepage": "https://github.com/cabinet-fe/ultra-ui#readme",
5
5
  "bugs": {
6
6
  "url": "https://github.com/cabinet-fe/ultra-ui/issues"
@@ -80,12 +80,12 @@
80
80
  "peerDependencies": {
81
81
  "@cat-kit/core": ">=1.1.8",
82
82
  "@cat-kit/fe": ">=1.1.8",
83
- "@veltra/compositions": "^1.6.2",
84
- "@veltra/directives": "^1.6.2",
83
+ "@veltra/compositions": "^1.6.4",
84
+ "@veltra/directives": "^1.6.4",
85
85
  "@veltra/icons": "^1.5.0",
86
- "@veltra/sheet-core": "^2.3.1",
87
- "@veltra/styles": "^1.6.2",
88
- "@veltra/utils": "^1.6.2",
86
+ "@veltra/sheet-core": "^2.3.2",
87
+ "@veltra/styles": "^1.6.4",
88
+ "@veltra/utils": "^1.6.4",
89
89
  "vue": ">=3.5.41"
90
90
  },
91
91
  "peerDependenciesMeta": {
@@ -12,10 +12,7 @@ import { UButton } from '../button'
12
12
  import { UTip } from '../tip'
13
13
  import { ActionDIKey } from './di'
14
14
 
15
- defineOptions({
16
- name: 'UActionGroup',
17
- inheritAttrs: false
18
- })
15
+ defineOptions({ name: 'UActionGroup', inheritAttrs: false })
19
16
 
20
17
  const props = withDefaults(defineProps<ActionGroupProps>(), {
21
18
  max: 3,
@@ -28,9 +25,7 @@ const props = withDefaults(defineProps<ActionGroupProps>(), {
28
25
 
29
26
  const cls = bem('action-group')
30
27
 
31
- const slots = defineSlots<{
32
- default?: () => VNode[]
33
- }>()
28
+ const slots = defineSlots<{ default?: () => VNode[] }>()
34
29
 
35
30
  function isInDropdownNode(node: VNode): boolean {
36
31
  const p = node.props as Record<string, unknown> | null
@@ -49,14 +44,7 @@ function withSeparators(nodes: VNode[]) {
49
44
  return nodes.flatMap((node, index) => {
50
45
  if (index === 0) return [node]
51
46
 
52
- return [
53
- <i
54
- key={`separator-${index}`}
55
- class={cls.e('separator')}
56
- aria-hidden="true"
57
- />,
58
- node
59
- ]
47
+ return [<i key={`separator-${index}`} class={cls.e('separator')} aria-hidden='true' />, node]
60
48
  })
61
49
  }
62
50
 
@@ -90,9 +78,9 @@ function getSlotsNodes() {
90
78
 
91
79
  const dropdown = hiddenNodes.length ? (
92
80
  <UTip
93
- direction="bottom"
94
- alignment="end"
95
- trigger="click"
81
+ direction='bottom'
82
+ alignment='end'
83
+ trigger='click'
96
84
  class={cls.e('dropdown')}
97
85
  visible={tipVisible.value}
98
86
  onUpdate:visible={(val: boolean) => {
@@ -118,12 +106,7 @@ function getSlotsNodes() {
118
106
  return withSeparators(dropdown ? [...visible, dropdown] : visible)
119
107
  }
120
108
 
121
- provide(ActionDIKey, {
122
- groupProps: props,
123
- closeTip
124
- })
109
+ provide(ActionDIKey, { groupProps: props, closeTip })
125
110
 
126
- defineExpose<_ActionGroupExposed>({
127
- closeTip
128
- })
111
+ defineExpose<_ActionGroupExposed>({ closeTip })
129
112
  </script>
@@ -223,11 +223,41 @@ describe('CollapseItem standalone', () => {
223
223
  expect(host.querySelector('.u-collapse__item')).toBeTruthy()
224
224
  expect(host.querySelector('.u-collapse__header')).toBeTruthy()
225
225
  expect(host.querySelector('.u-collapse__title')?.textContent).toBe('Standalone')
226
+ expect(host.querySelector('.u-collapse__icon')).toBeTruthy()
226
227
  } finally {
227
228
  unmount()
228
229
  }
229
230
  })
230
231
 
232
+ it('keeps the expand icon when #header slot is provided', async () => {
233
+ const host = document.createElement('div')
234
+ document.body.appendChild(host)
235
+
236
+ const app = createApp({
237
+ render() {
238
+ return h(
239
+ UCollapseItem,
240
+ { title: 'Fallback' },
241
+ { header: () => 'Custom header', default: () => 'Body' }
242
+ )
243
+ }
244
+ })
245
+ app.mount(host)
246
+
247
+ try {
248
+ await nextTick()
249
+ expect(host.querySelector('.u-collapse__title')?.textContent).toBe('Custom header')
250
+ expect(host.querySelector('.u-collapse__icon')).toBeTruthy()
251
+
252
+ ;(host.querySelector('.u-collapse__header') as HTMLElement).click()
253
+ await nextTick()
254
+ expect(host.querySelector('.u-collapse__header.is-active')).toBeTruthy()
255
+ } finally {
256
+ app.unmount()
257
+ host.remove()
258
+ }
259
+ })
260
+
231
261
  it('defaults to collapsed when no v-model is provided', async () => {
232
262
  const { host, model, unmount } = mountStandaloneItem({ title: 'Standalone' })
233
263
 
@@ -10,13 +10,13 @@
10
10
  @keydown.enter.prevent="handleClick"
11
11
  @keydown.space.prevent="handleClick"
12
12
  >
13
- <slot name="header" :is-active="isActive">
14
- <span :class="cls.e('title')">{{ title }}</span>
13
+ <span :class="cls.e('title')">
14
+ <slot name="header" :is-active="isActive">{{ title }}</slot>
15
+ </span>
15
16
 
16
- <span :class="cls.e('icon')">
17
- <UIcon><component :is="iconComponent" /></UIcon>
18
- </span>
19
- </slot>
17
+ <span :class="cls.e('icon')">
18
+ <UIcon><component :is="iconComponent" /></UIcon>
19
+ </span>
20
20
  </div>
21
21
  <div ref="wrapperEl" :class="cls.e('content-wrapper')" :aria-hidden="!isActive">
22
22
  <div v-if="contentMounted" :class="cls.e('content')">
@@ -42,7 +42,7 @@ const props = withDefaults(defineProps<CollapseItemProps>(), { modelValue: false
42
42
  const emit = defineEmits<CollapseItemEmits>()
43
43
 
44
44
  defineSlots<{
45
- /** 自定义整个头部,作用域参数 `isActive` 指示展开状态;缺省渲染 title + 展开图标 */
45
+ /** 自定义标题区,作用域参数 `isActive` 指示展开状态;缺省渲染 title。展开图标始终由组件渲染,活动态旋转 180° */
46
46
  header?: (scope: { isActive: boolean }) => any
47
47
  /** 折叠面板内容 */
48
48
  default?: () => any
@@ -35,7 +35,8 @@ import { getExtension, toArrayBuffer } from '../helper'
35
35
  defineOptions({ name: 'UFileViewerSheetPreviewer' })
36
36
 
37
37
  /** 仅类型查询;运行时通过动态 import 加载,未安装时不炸主入口 */
38
- type SheetCoreModule = typeof import('@veltra/sheet-core')
38
+ type SheetCoreModule = typeof import('@veltra/sheet-core') &
39
+ typeof import('@veltra/sheet-core/grid')
39
40
  type Sheet = InstanceType<SheetCoreModule['Sheet']>
40
41
  type SheetGrid = InstanceType<SheetCoreModule['SheetGrid']>
41
42
 
@@ -69,7 +70,11 @@ function releaseGrid() {
69
70
  async function resolveSheetCore(): Promise<SheetCoreModule | undefined> {
70
71
  if (sheetCore) return sheetCore
71
72
  try {
72
- sheetCore = await import('@veltra/sheet-core')
73
+ const [core, grid] = await Promise.all([
74
+ import('@veltra/sheet-core'),
75
+ import('@veltra/sheet-core/grid')
76
+ ])
77
+ sheetCore = { ...core, ...grid }
73
78
  return sheetCore
74
79
  } catch {
75
80
  return undefined
@@ -52,7 +52,7 @@ export interface CollapseItemProps {
52
52
  */
53
53
  modelValue?: boolean
54
54
 
55
- /** 标题文本(也可通过 #header 插槽自定义整个头部) */
55
+ /** 标题文本(也可通过 #header 插槽自定义标题区;展开图标始终保留,可用 expandIcon 替换) */
56
56
  title?: string
57
57
 
58
58
  /** 是否禁用 */