@veltra/desktop 1.1.7 → 1.1.10

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 (63) hide show
  1. package/dist/components/action/action-group.vue.d.ts +2 -2
  2. package/dist/components/action/action.vue.d.ts +2 -2
  3. package/dist/components/button/style2.css +75 -11
  4. package/dist/components/card/style2.css +4 -6
  5. package/dist/components/cascade/cascade.vue.d.ts +4 -4
  6. package/dist/components/checkbox/checkbox-button.vue.d.ts +1 -1
  7. package/dist/components/checkbox-group/checkbox-group.vue.d.ts +1 -1
  8. package/dist/components/collapse/collapse-item.js +8 -23
  9. package/dist/components/collapse/collapse-item.js.map +1 -1
  10. package/dist/components/collapse/collapse-item.vue.d.ts +5 -9
  11. package/dist/components/collapse/collapse.js +22 -44
  12. package/dist/components/collapse/collapse.js.map +1 -1
  13. package/dist/components/collapse/collapse.vue.d.ts +3 -4
  14. package/dist/components/collapse/di.js.map +1 -1
  15. package/dist/components/collapse/style2.css +36 -38
  16. package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
  17. package/dist/components/date-picker/date-picker.vue.d.ts +1 -1
  18. package/dist/components/date-range-picker/date-range-picker.vue.d.ts +1 -1
  19. package/dist/components/drawer/drawer.vue.d.ts +2 -2
  20. package/dist/components/file-viewer/file-viewer.vue.d.ts +3 -3
  21. package/dist/components/file-viewer/previewers/image-previewer.js +2 -2
  22. package/dist/components/file-viewer/previewers/image-previewer.js.map +1 -1
  23. package/dist/components/file-viewer/previewers/pdf-previewer.js +2 -2
  24. package/dist/components/file-viewer/previewers/pdf-previewer.js.map +1 -1
  25. package/dist/components/file-viewer/previewers/video-previewer.js +2 -2
  26. package/dist/components/file-viewer/previewers/video-previewer.js.map +1 -1
  27. package/dist/components/input/input.vue.d.ts +2 -2
  28. package/dist/components/multi-select/multi-select.vue.d.ts +2 -2
  29. package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +4 -4
  30. package/dist/components/notification/notification.vue.d.ts +1 -1
  31. package/dist/components/number-input/number-input.vue.d.ts +2 -2
  32. package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
  33. package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
  34. package/dist/components/progress-nodes/progress-nodes.vue.d.ts +2 -2
  35. package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
  36. package/dist/components/select/select.vue.d.ts +1 -1
  37. package/dist/components/tabs/style.js +1 -0
  38. package/dist/components/tabs/tabs-horizontal.vue.d.ts +3 -3
  39. package/dist/components/tabs/tabs-vertical.vue.d.ts +2 -2
  40. package/dist/components/tabs/tabs.vue.d.ts +3 -3
  41. package/dist/components/textarea/textarea.vue.d.ts +2 -2
  42. package/dist/components/tip/tip.vue.d.ts +1 -1
  43. package/dist/components/tree-select/tree-select.vue.d.ts +4 -4
  44. package/dist/index.d.ts +3 -3
  45. package/dist/types/collapse.d.ts +5 -28
  46. package/dist/types/index.d.ts +2 -2
  47. package/package.json +11 -11
  48. package/src/components/button/style.scss +51 -11
  49. package/src/components/card/style.scss +4 -18
  50. package/src/components/cascade/style.scss +5 -1
  51. package/src/components/collapse/__test__/collapse.test.ts +178 -0
  52. package/src/components/collapse/collapse-item.vue +3 -12
  53. package/src/components/collapse/collapse.vue +42 -52
  54. package/src/components/collapse/di.ts +3 -2
  55. package/src/components/collapse/style.scss +32 -80
  56. package/src/components/expression-editor/style.scss +10 -2
  57. package/src/components/file-viewer/previewers/image-previewer.vue +2 -2
  58. package/src/components/file-viewer/previewers/pdf-previewer.vue +2 -2
  59. package/src/components/file-viewer/previewers/video-previewer.vue +2 -2
  60. package/src/components/paginator/style.scss +10 -2
  61. package/src/components/tabs/style.ts +1 -0
  62. package/src/components/tree/style.scss +5 -1
  63. package/src/types/collapse.ts +4 -32
@@ -1,4 +1,4 @@
1
- import { CollapseIconPosition, CollapseModelValue, CollapseProps, _CollapseExposed } from "../../types/collapse.js";
1
+ import { CollapseModelValue, CollapseProps } from "../../types/collapse.js";
2
2
  import * as _$vue from "vue";
3
3
 
4
4
  //#region src/components/collapse/collapse.vue.d.ts
@@ -6,16 +6,15 @@ declare var __VLS_1: {};
6
6
  type __VLS_Slots = {} & {
7
7
  default?: (props: typeof __VLS_1) => any;
8
8
  };
9
- declare const __VLS_base: _$vue.DefineComponent<CollapseProps, _CollapseExposed, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {} & {
9
+ declare const __VLS_base: _$vue.DefineComponent<CollapseProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {} & {
10
10
  "update:modelValue": (value: CollapseModelValue) => any;
11
11
  change: (value: CollapseModelValue) => any;
12
12
  }, string, _$vue.PublicProps, Readonly<CollapseProps> & Readonly<{
13
13
  "onUpdate:modelValue"?: ((value: CollapseModelValue) => any) | undefined;
14
14
  onChange?: ((value: CollapseModelValue) => any) | undefined;
15
15
  }>, {
16
- iconPosition: CollapseIconPosition;
17
16
  accordion: boolean;
18
- bordered: boolean;
17
+ defaultCollapseAll: boolean;
19
18
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
20
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
21
20
  declare const _default: typeof __VLS_export;
@@ -1 +1 @@
1
- {"version":3,"file":"di.js","names":[],"sources":["../../../src/components/collapse/di.ts"],"sourcesContent":["import { type BEM, type ComponentSize, ExpandTransition } from '@veltra/utils'\nimport type { Component, ComputedRef, InjectionKey } from 'vue'\n\nimport type { CollapseIconPosition, CollapseValue } from '../../types'\n\nexport interface CollapseContext {\n cls: BEM<'collapse'>\n size: ComputedRef<ComponentSize>\n iconPosition: ComputedRef<CollapseIconPosition>\n expandIcon: ComputedRef<Component | undefined>\n activeValues: ComputedRef<CollapseValue[]>\n toggle: (value: CollapseValue) => void\n expandTransition: ExpandTransition\n}\n\nexport const CollapseDIKey: InjectionKey<CollapseContext> = Symbol('Collapse')\n"],"mappings":";;AAeA,MAAa,gBAA+C,OAAO,WAAW"}
1
+ {"version":3,"file":"di.js","names":[],"sources":["../../../src/components/collapse/di.ts"],"sourcesContent":["import { type BEM, type ComponentSize, ExpandTransition } from '@veltra/utils'\nimport type { Component, ComputedRef, InjectionKey } from 'vue'\n\nimport type { CollapseValue } from '../../types'\n\nexport interface CollapseContext {\n cls: BEM<'collapse'>\n size: ComputedRef<ComponentSize>\n expandIcon: ComputedRef<Component | undefined>\n activeValues: ComputedRef<CollapseValue[]>\n toggle: (value: CollapseValue) => void\n expandTransition: ExpandTransition\n register: (value: CollapseValue) => void\n unregister: (value: CollapseValue) => void\n}\n\nexport const CollapseDIKey: InjectionKey<CollapseContext> = Symbol('Collapse')\n"],"mappings":";;AAgBA,MAAa,gBAA+C,OAAO,WAAW"}
@@ -19,16 +19,21 @@
19
19
  width: 100%;
20
20
  font-size: var(--u-font-size-main-default);
21
21
  color: var(--u-text-color-main);
22
+ background-color: transparent;
22
23
  }
23
- .u-collapse.is-bordered {
24
- border: 1px solid var(--u-border-color);
25
- border-radius: calc(var(--u-radius-large) + 2px);
26
- background-color: var(--u-bg-color-top);
27
- box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.04);
28
- overflow: hidden;
24
+ .u-collapse__item {
25
+ border-radius: calc(var(--u-radius-default) + 2px);
26
+ background-color: var(--u-bg-color-hover);
27
+ transition: background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
28
+ }
29
+ .u-collapse__item + .u-collapse__item {
30
+ margin-top: var(--u-gap-default);
31
+ }
32
+ .u-collapse__item:not(.is-disabled):hover {
33
+ background-color: color-mix(in srgb, var(--u-text-color-main) 6%, var(--u-bg-color-hover));
29
34
  }
30
- .u-collapse.is-bordered__item:not(:first-child) {
31
- border-top: 1px solid color-mix(in srgb, var(--u-border-color) 60%, transparent);
35
+ .u-collapse__item.is-active {
36
+ background-color: color-mix(in srgb, var(--u-text-color-main) 6%, var(--u-bg-color-hover));
32
37
  }
33
38
  .u-collapse__item.is-disabled {
34
39
  opacity: 0.55;
@@ -45,9 +50,7 @@
45
50
  user-select: none;
46
51
  outline: none;
47
52
  transition: color 0.18s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
48
- }
49
- .u-collapse__header:not(.is-disabled):hover {
50
- background-color: var(--u-bg-color-hover);
53
+ border-radius: inherit;
51
54
  }
52
55
  .u-collapse__header:focus-visible {
53
56
  box-shadow: inset 0 0 0 2px var(--u-color-primary);
@@ -56,10 +59,6 @@
56
59
  cursor: not-allowed;
57
60
  color: var(--u-text-color-placeholder);
58
61
  }
59
- .u-collapse__header.is-disabled:hover {
60
- background-color: transparent;
61
- color: var(--u-text-color-placeholder);
62
- }
63
62
  .u-collapse__header.is-active {
64
63
  font-weight: 600;
65
64
  }
@@ -94,51 +93,50 @@
94
93
  font-size: var(--u-font-size-main-small);
95
94
  }
96
95
  .u-collapse--small .u-collapse__header {
97
- padding: 10px 12px;
96
+ padding: calc(var(--u-gap-small) - 2px) var(--u-gap-small);
98
97
  font-size: var(--u-font-size-title-small);
99
98
  }
100
99
  .u-collapse--small .u-collapse__content {
101
100
  font-size: var(--u-font-size-main-small);
102
- padding: 0 12px 10px;
101
+ padding: calc(var(--u-gap-small) - 2px) var(--u-gap-small) var(--u-gap-small);
102
+ }
103
+ .u-collapse--small .u-collapse__item {
104
+ border-radius: calc(var(--u-radius-small) + 2px);
105
+ }
106
+ .u-collapse--small .u-collapse__item + .u-collapse__item {
107
+ margin-top: var(--u-gap-small);
103
108
  }
104
109
  .u-collapse--default {
105
110
  font-size: var(--u-font-size-main-default);
106
111
  }
107
112
  .u-collapse--default .u-collapse__header {
108
- padding: 14px 16px;
113
+ padding: calc(var(--u-gap-default) - 2px) var(--u-gap-default);
109
114
  font-size: var(--u-font-size-title-default);
110
115
  }
111
116
  .u-collapse--default .u-collapse__content {
112
117
  font-size: var(--u-font-size-main-default);
113
- padding: 0 16px 14px;
118
+ padding: calc(var(--u-gap-default) - 2px) var(--u-gap-default) var(--u-gap-default);
119
+ }
120
+ .u-collapse--default .u-collapse__item {
121
+ border-radius: calc(var(--u-radius-default) + 2px);
122
+ }
123
+ .u-collapse--default .u-collapse__item + .u-collapse__item {
124
+ margin-top: var(--u-gap-default);
114
125
  }
115
126
  .u-collapse--large {
116
127
  font-size: var(--u-font-size-main-large);
117
128
  }
118
129
  .u-collapse--large .u-collapse__header {
119
- padding: 18px 20px;
130
+ padding: calc(var(--u-gap-large) - 2px) var(--u-gap-large);
120
131
  font-size: var(--u-font-size-title-large);
121
132
  }
122
133
  .u-collapse--large .u-collapse__content {
123
134
  font-size: var(--u-font-size-main-large);
124
- padding: 0 20px 18px;
135
+ padding: calc(var(--u-gap-large) - 2px) var(--u-gap-large) var(--u-gap-large);
125
136
  }
126
- .u-collapse:not(.is-bordered) {
127
- background-color: transparent;
128
- }
129
- .u-collapse:not(.is-bordered) .u-collapse__item {
130
- border-radius: calc(var(--u-radius-default) + 2px);
131
- transition: background-color 0.18s cubic-bezier(0.4, 0, 0.2, 1);
132
- }
133
- .u-collapse:not(.is-bordered) .u-collapse__item + .u-collapse__item {
134
- margin-top: 4px;
135
- }
136
- .u-collapse:not(.is-bordered) .u-collapse__item:not(.is-disabled):hover {
137
- background-color: var(--u-bg-color-hover);
138
- }
139
- .u-collapse:not(.is-bordered) .u-collapse__header {
140
- border-radius: inherit;
137
+ .u-collapse--large .u-collapse__item {
138
+ border-radius: calc(var(--u-radius-large) + 2px);
141
139
  }
142
- .u-collapse:not(.is-bordered) .u-collapse__header:not(.is-disabled):hover {
143
- background-color: transparent;
140
+ .u-collapse--large .u-collapse__item + .u-collapse__item {
141
+ margin-top: var(--u-gap-large);
144
142
  }
@@ -11,8 +11,8 @@ declare const __VLS_export: _$vue.DefineComponent<DatePanelProps, {}, {}, {}, {}
11
11
  "onSelect:range-date"?: ((rangeDate?: [_$_cat_kit_core0.Dater, _$_cat_kit_core0.Dater] | undefined) => any) | undefined;
12
12
  "onSelect:date"?: ((date: _$_cat_kit_core0.Dater) => any) | undefined;
13
13
  }>, {
14
- type: "date" | "month" | "year";
15
14
  size: _$_veltra_utils0.ComponentSize;
15
+ type: "date" | "month" | "year";
16
16
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
17
17
  declare const _default: typeof __VLS_export;
18
18
  //#endregion
@@ -8,8 +8,8 @@ declare const __VLS_export: _$vue.DefineComponent<DatePickerProps, {}, {}, {}, {
8
8
  "onUpdate:modelValue"?: ((value?: string | number | Date | undefined) => any) | undefined;
9
9
  }>, {
10
10
  disabled: boolean;
11
- type: "date" | "month" | "year";
12
11
  readonly: boolean;
12
+ type: "date" | "month" | "year";
13
13
  placeholder: string;
14
14
  clearable: boolean;
15
15
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -8,8 +8,8 @@ declare const __VLS_export: _$vue.DefineComponent<DateRangePickerProps, {}, {},
8
8
  "onUpdate:modelValue"?: ((value?: [string, string] | undefined) => any) | undefined;
9
9
  }>, {
10
10
  disabled: boolean;
11
- type: "date" | "month" | "year";
12
11
  readonly: boolean;
12
+ type: "date" | "month" | "year";
13
13
  placeholder: [string, string];
14
14
  clearable: boolean;
15
15
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -14,12 +14,12 @@ type __VLS_Slots = {} & {
14
14
  declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
15
15
  "update:modelValue": (value: boolean) => any;
16
16
  } & {
17
- close: () => any;
18
17
  "update:modelValue": (value: boolean) => any;
18
+ close: () => any;
19
19
  closed: () => any;
20
20
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
- onClose?: (() => any) | undefined;
22
21
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
22
+ onClose?: (() => any) | undefined;
23
23
  onClosed?: (() => any) | undefined;
24
24
  }>, {
25
25
  direction: DrawerDirection;
@@ -14,22 +14,22 @@ declare const __VLS_export: _$vue.DefineComponent<__VLS_PublicProps, _FileViewer
14
14
  } & {
15
15
  "update:modelValue": (id: string) => any;
16
16
  change: (file: FileViewerItem) => any;
17
+ "update:open": (value: boolean) => any;
17
18
  error: (err: {
18
19
  file: FileViewerItem;
19
20
  error: unknown;
20
21
  }) => any;
21
- "update:open": (value: boolean) => any;
22
22
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
23
23
  "onUpdate:modelValue"?: ((id: string) => any) | undefined;
24
24
  onChange?: ((file: FileViewerItem) => any) | undefined;
25
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
25
26
  onError?: ((err: {
26
27
  file: FileViewerItem;
27
28
  error: unknown;
28
29
  }) => any) | undefined;
29
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
30
30
  }>, {
31
- open: boolean;
32
31
  modelValue: string;
32
+ open: boolean;
33
33
  sidebarWidth: string | number | false;
34
34
  sheetMaxRows: number;
35
35
  downloadable: boolean;
@@ -1,3 +1,4 @@
1
+ import { toBlobUrl } from "../helper.js";
1
2
  import { createCommentVNode, createElementBlock, defineComponent, mergeProps, normalizeClass, onBeforeUnmount, openBlock, ref, shallowRef, unref, useAttrs, watch } from "vue";
2
3
  import { bem } from "@veltra/utils";
3
4
  //#region src/components/file-viewer/previewers/image-previewer.vue
@@ -17,11 +18,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  const loading = ref(true);
18
19
  const failed = ref(false);
19
20
  let revoke;
20
- async function load() {
21
+ function load() {
21
22
  loading.value = true;
22
23
  failed.value = false;
23
24
  revoke?.();
24
- const { toBlobUrl } = await import("../helper.js");
25
25
  const r = toBlobUrl(props.file.src, props.file.mime);
26
26
  url.value = r.url;
27
27
  revoke = r.revoke;
@@ -1 +1 @@
1
- {"version":3,"file":"image-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/image-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('image')\" v-bind=\"attrs\">\n <img\n v-if=\"url\"\n :src=\"url\"\n :alt=\"file.name\"\n draggable=\"false\"\n @load=\"loading = false\"\n @error=\"onImgError\"\n />\n <div v-if=\"loading\" :class=\"cls.e('loading')\">加载中…</div>\n <div v-if=\"failed\" :class=\"cls.e('loading')\">图片加载失败</div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { onBeforeUnmount, ref, shallowRef, useAttrs, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\n\ndefineOptions({ name: 'FileViewerImagePreviewer', inheritAttrs: false })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\nconst attrs = useAttrs()\n\nconst url = shallowRef<string>('')\nconst loading = ref(true)\nconst failed = ref(false)\n\nlet revoke: (() => void) | undefined\n\nasync function load() {\n loading.value = true\n failed.value = false\n revoke?.()\n const { toBlobUrl } = await import('../helper')\n const r = toBlobUrl(props.file.src, props.file.mime)\n url.value = r.url\n revoke = r.revoke\n}\n\nfunction onImgError(e: Event) {\n loading.value = false\n failed.value = true\n emit('error', e)\n}\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nonBeforeUnmount(() => {\n revoke?.()\n url.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;;EAuBA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAC7B,MAAM,QAAQ,UAAS;EAEvB,MAAM,MAAM,WAAmB,GAAE;EACjC,MAAM,UAAU,IAAI,KAAI;EACxB,MAAM,SAAS,IAAI,MAAK;EAExB,IAAI;EAEJ,eAAe,OAAO;AACpB,WAAQ,QAAQ;AAChB,UAAO,QAAQ;AACf,aAAS;GACT,MAAM,EAAE,cAAc,MAAM,OAAO;GACnC,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,KAAI;AACnD,OAAI,QAAQ,EAAE;AACd,YAAS,EAAE;;EAGb,SAAS,WAAW,GAAU;AAC5B,WAAQ,QAAQ;AAChB,UAAO,QAAQ;AACf,QAAK,SAAS,EAAC;;AAGjB,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,wBAAsB;AACpB,aAAS;AACT,OAAI,QAAQ;IACb;;uBA5DC,mBAWM,OAXN,WAWM,EAXA,OAAO,MAAA,IAAG,CAAC,EAAC,QAAA,EAAA,EAAmB,MAAA,MAAK,CAAA,EAAA;IAEhC,IAAA,SAAA,WAAA,EADR,mBAOE,OAAA;;KALC,KAAK,IAAA;KACL,KAAK,QAAA,KAAK;KACX,WAAU;KACT,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,QAAO;KACb,SAAO;;IAEC,QAAA,SAAA,WAAA,EAAX,mBAAwD,OAAA;;KAAnC,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;OAAa,QAAI,EAAA,IAAA,mBAAA,QAAA,KAAA;IACvC,OAAA,SAAA,WAAA,EAAX,mBAAyD,OAAA;;KAArC,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;OAAa,UAAM,EAAA,IAAA,mBAAA,QAAA,KAAA"}
1
+ {"version":3,"file":"image-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/image-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('image')\" v-bind=\"attrs\">\n <img\n v-if=\"url\"\n :src=\"url\"\n :alt=\"file.name\"\n draggable=\"false\"\n @load=\"loading = false\"\n @error=\"onImgError\"\n />\n <div v-if=\"loading\" :class=\"cls.e('loading')\">加载中…</div>\n <div v-if=\"failed\" :class=\"cls.e('loading')\">图片加载失败</div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { onBeforeUnmount, ref, shallowRef, useAttrs, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\nimport { toBlobUrl } from '../helper'\n\ndefineOptions({ name: 'FileViewerImagePreviewer', inheritAttrs: false })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\nconst attrs = useAttrs()\n\nconst url = shallowRef<string>('')\nconst loading = ref(true)\nconst failed = ref(false)\n\nlet revoke: (() => void) | undefined\n\nfunction load() {\n loading.value = true\n failed.value = false\n revoke?.()\n const r = toBlobUrl(props.file.src, props.file.mime)\n url.value = r.url\n revoke = r.revoke\n}\n\nfunction onImgError(e: Event) {\n loading.value = false\n failed.value = true\n emit('error', e)\n}\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nonBeforeUnmount(() => {\n revoke?.()\n url.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;;;EAwBA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAC7B,MAAM,QAAQ,UAAS;EAEvB,MAAM,MAAM,WAAmB,GAAE;EACjC,MAAM,UAAU,IAAI,KAAI;EACxB,MAAM,SAAS,IAAI,MAAK;EAExB,IAAI;EAEJ,SAAS,OAAO;AACd,WAAQ,QAAQ;AAChB,UAAO,QAAQ;AACf,aAAS;GACT,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,KAAI;AACnD,OAAI,QAAQ,EAAE;AACd,YAAS,EAAE;;EAGb,SAAS,WAAW,GAAU;AAC5B,WAAQ,QAAQ;AAChB,UAAO,QAAQ;AACf,QAAK,SAAS,EAAC;;AAGjB,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,wBAAsB;AACpB,aAAS;AACT,OAAI,QAAQ;IACb;;uBA5DC,mBAWM,OAXN,WAWM,EAXA,OAAO,MAAA,IAAG,CAAC,EAAC,QAAA,EAAA,EAAmB,MAAA,MAAK,CAAA,EAAA;IAEhC,IAAA,SAAA,WAAA,EADR,mBAOE,OAAA;;KALC,KAAK,IAAA;KACL,KAAK,QAAA,KAAK;KACX,WAAU;KACT,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,QAAA,QAAO;KACb,SAAO;;IAEC,QAAA,SAAA,WAAA,EAAX,mBAAwD,OAAA;;KAAnC,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;OAAa,QAAI,EAAA,IAAA,mBAAA,QAAA,KAAA;IACvC,OAAA,SAAA,WAAA,EAAX,mBAAyD,OAAA;;KAArC,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;OAAa,UAAM,EAAA,IAAA,mBAAA,QAAA,KAAA"}
@@ -1,3 +1,4 @@
1
+ import { toBlobUrl } from "../helper.js";
1
2
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, shallowRef, unref, useAttrs, watch, withCtx } from "vue";
2
3
  import { bem } from "@veltra/utils";
3
4
  import { createPluginRegistration } from "@embedpdf/core";
@@ -22,9 +23,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
22
23
  const { engine, isLoading, error } = usePdfiumEngine();
23
24
  const pdfUrl = shallowRef("");
24
25
  let revoke;
25
- async function load() {
26
+ function load() {
26
27
  revoke?.();
27
- const { toBlobUrl } = await import("../helper.js");
28
28
  const r = toBlobUrl(props.file.src, props.file.mime ?? "application/pdf");
29
29
  pdfUrl.value = r.url;
30
30
  revoke = r.revoke;
@@ -1 +1 @@
1
- {"version":3,"file":"pdf-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/pdf-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('pdf')\" v-bind=\"attrs\">\n <div v-if=\"!engine || isLoading\" :class=\"cls.e('loading')\">正在加载 PDF 引擎…</div>\n <EmbedPDF v-else-if=\"pdfUrl\" :engine=\"engine\" :plugins=\"plugins\" v-slot=\"{ activeDocumentId }\">\n <DocumentContent\n v-if=\"activeDocumentId\"\n :document-id=\"activeDocumentId\"\n v-slot=\"{ isLoaded }\"\n >\n <Viewport v-if=\"isLoaded\" :document-id=\"activeDocumentId\" :class=\"cls.e('pdf-viewport')\">\n <Scroller :document-id=\"activeDocumentId\">\n <template #default=\"{ page }\">\n <div\n :class=\"cls.e('pdf-page')\"\n :style=\"{ width: page.width + 'px', height: page.height + 'px' }\"\n >\n <RenderLayer :document-id=\"activeDocumentId\" :page-index=\"page.pageIndex\" />\n </div>\n </template>\n </Scroller>\n </Viewport>\n </DocumentContent>\n </EmbedPDF>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createPluginRegistration } from '@embedpdf/core'\nimport { EmbedPDF } from '@embedpdf/core/vue'\nimport { usePdfiumEngine } from '@embedpdf/engines/vue'\nimport {\n DocumentContent,\n DocumentManagerPluginPackage\n} from '@embedpdf/plugin-document-manager/vue'\nimport { RenderLayer, RenderPluginPackage } from '@embedpdf/plugin-render/vue'\nimport { ScrollPluginPackage, Scroller } from '@embedpdf/plugin-scroll/vue'\nimport { ViewportPluginPackage, Viewport } from '@embedpdf/plugin-viewport/vue'\nimport { bem } from '@veltra/utils'\nimport { computed, onBeforeUnmount, shallowRef, useAttrs, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\n\ndefineOptions({ name: 'FileViewerPdfPreviewer', inheritAttrs: false })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\nconst attrs = useAttrs()\n\nconst { engine, isLoading, error } = usePdfiumEngine()\n\nconst pdfUrl = shallowRef<string>('')\nlet revoke: (() => void) | undefined\n\nasync function load() {\n revoke?.()\n const { toBlobUrl } = await import('../helper')\n const r = toBlobUrl(props.file.src, props.file.mime ?? 'application/pdf')\n pdfUrl.value = r.url\n revoke = r.revoke\n}\n\nconst plugins = computed(() => {\n if (!pdfUrl.value) return []\n return [\n createPluginRegistration(DocumentManagerPluginPackage, {\n initialDocuments: [{ url: pdfUrl.value }]\n }),\n createPluginRegistration(ViewportPluginPackage),\n createPluginRegistration(ScrollPluginPackage),\n createPluginRegistration(RenderPluginPackage)\n ]\n})\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nwatch(error, (err) => {\n if (err) emit('error', err)\n})\n\nonBeforeUnmount(() => {\n revoke?.()\n pdfUrl.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;EA4CA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAC7B,MAAM,QAAQ,UAAS;EAEvB,MAAM,EAAE,QAAQ,WAAW,UAAU,iBAAgB;EAErD,MAAM,SAAS,WAAmB,GAAE;EACpC,IAAI;EAEJ,eAAe,OAAO;AACpB,aAAS;GACT,MAAM,EAAE,cAAc,MAAM,OAAO;GACnC,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,QAAQ,kBAAiB;AACxE,UAAO,QAAQ,EAAE;AACjB,YAAS,EAAE;;EAGb,MAAM,UAAU,eAAe;AAC7B,OAAI,CAAC,OAAO,MAAO,QAAO,EAAC;AAC3B,UAAO;IACL,yBAAyB,8BAA8B,EACrD,kBAAkB,CAAC,EAAE,KAAK,OAAO,OAAO,CAAA,EACzC,CAAC;IACF,yBAAyB,sBAAsB;IAC/C,yBAAyB,oBAAoB;IAC7C,yBAAyB,oBAAmB;IAC9C;IACD;AAED,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,QAAM,QAAQ,QAAQ;AACpB,OAAI,IAAK,MAAK,SAAS,IAAG;IAC3B;AAED,wBAAsB;AACpB,aAAS;AACT,UAAO,QAAQ;IAChB;;uBAxFC,mBAsBM,OAtBN,WAsBM,EAtBA,OAAO,MAAA,IAAG,CAAC,EAAC,MAAA,EAAA,EAAiB,MAAA,MAAK,CAAA,EAAA,CAAA,CAC1B,MAAA,OAAM,IAAI,MAAA,UAAS,IAAA,WAAA,EAA/B,mBAA6E,OAAA;;IAA3C,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;MAAa,gBAAY,EAAA,IAClD,OAAA,SAAA,WAAA,EAArB,YAmBW,MAAA,SAAA,EAAA;;IAnBmB,QAAQ,MAAA,OAAM;IAAG,SAAS,QAAA;;sBAkBpC,EAlBuD,uBAAgB,CAEjF,oBAAA,WAAA,EADR,YAiBkB,MAAA,gBAAA,EAAA;;KAff,eAAa;;uBAcH,EAbD,eAAQ,CAEF,YAAA,WAAA,EAAhB,YAWW,MAAA,SAAA,EAAA;;MAXgB,eAAa;MAAmB,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,eAAA,CAAA;;6BAU1D,CATX,YASW,MAAA,SAAA,EAAA,EATA,eAAa,kBAAgB,EAAA;OAC3B,SAAO,SAMV,EANc,WAAI,CACxB,mBAKM,OAAA;QAJH,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,WAAA,CAAA;QACZ,OAAK,eAAA;SAAA,OAAW,KAAK,QAAK;SAAA,QAAiB,KAAK,SAAM;SAAA,CAAA;WAEvD,YAA4E,MAAA,YAAA,EAAA;QAA9D,eAAa;QAAmB,cAAY,KAAK"}
1
+ {"version":3,"file":"pdf-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/pdf-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('pdf')\" v-bind=\"attrs\">\n <div v-if=\"!engine || isLoading\" :class=\"cls.e('loading')\">正在加载 PDF 引擎…</div>\n <EmbedPDF v-else-if=\"pdfUrl\" :engine=\"engine\" :plugins=\"plugins\" v-slot=\"{ activeDocumentId }\">\n <DocumentContent\n v-if=\"activeDocumentId\"\n :document-id=\"activeDocumentId\"\n v-slot=\"{ isLoaded }\"\n >\n <Viewport v-if=\"isLoaded\" :document-id=\"activeDocumentId\" :class=\"cls.e('pdf-viewport')\">\n <Scroller :document-id=\"activeDocumentId\">\n <template #default=\"{ page }\">\n <div\n :class=\"cls.e('pdf-page')\"\n :style=\"{ width: page.width + 'px', height: page.height + 'px' }\"\n >\n <RenderLayer :document-id=\"activeDocumentId\" :page-index=\"page.pageIndex\" />\n </div>\n </template>\n </Scroller>\n </Viewport>\n </DocumentContent>\n </EmbedPDF>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createPluginRegistration } from '@embedpdf/core'\nimport { EmbedPDF } from '@embedpdf/core/vue'\nimport { usePdfiumEngine } from '@embedpdf/engines/vue'\nimport {\n DocumentContent,\n DocumentManagerPluginPackage\n} from '@embedpdf/plugin-document-manager/vue'\nimport { RenderLayer, RenderPluginPackage } from '@embedpdf/plugin-render/vue'\nimport { ScrollPluginPackage, Scroller } from '@embedpdf/plugin-scroll/vue'\nimport { ViewportPluginPackage, Viewport } from '@embedpdf/plugin-viewport/vue'\nimport { bem } from '@veltra/utils'\nimport { computed, onBeforeUnmount, shallowRef, useAttrs, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\nimport { toBlobUrl } from '../helper'\n\ndefineOptions({ name: 'FileViewerPdfPreviewer', inheritAttrs: false })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\nconst attrs = useAttrs()\n\nconst { engine, isLoading, error } = usePdfiumEngine()\n\nconst pdfUrl = shallowRef<string>('')\nlet revoke: (() => void) | undefined\n\nfunction load() {\n revoke?.()\n const r = toBlobUrl(props.file.src, props.file.mime ?? 'application/pdf')\n pdfUrl.value = r.url\n revoke = r.revoke\n}\n\nconst plugins = computed(() => {\n if (!pdfUrl.value) return []\n return [\n createPluginRegistration(DocumentManagerPluginPackage, {\n initialDocuments: [{ url: pdfUrl.value }]\n }),\n createPluginRegistration(ViewportPluginPackage),\n createPluginRegistration(ScrollPluginPackage),\n createPluginRegistration(RenderPluginPackage)\n ]\n})\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nwatch(error, (err) => {\n if (err) emit('error', err)\n})\n\nonBeforeUnmount(() => {\n revoke?.()\n pdfUrl.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAC7B,MAAM,QAAQ,UAAS;EAEvB,MAAM,EAAE,QAAQ,WAAW,UAAU,iBAAgB;EAErD,MAAM,SAAS,WAAmB,GAAE;EACpC,IAAI;EAEJ,SAAS,OAAO;AACd,aAAS;GACT,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,QAAQ,kBAAiB;AACxE,UAAO,QAAQ,EAAE;AACjB,YAAS,EAAE;;EAGb,MAAM,UAAU,eAAe;AAC7B,OAAI,CAAC,OAAO,MAAO,QAAO,EAAC;AAC3B,UAAO;IACL,yBAAyB,8BAA8B,EACrD,kBAAkB,CAAC,EAAE,KAAK,OAAO,OAAO,CAAA,EACzC,CAAC;IACF,yBAAyB,sBAAsB;IAC/C,yBAAyB,oBAAoB;IAC7C,yBAAyB,oBAAmB;IAC9C;IACD;AAED,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,QAAM,QAAQ,QAAQ;AACpB,OAAI,IAAK,MAAK,SAAS,IAAG;IAC3B;AAED,wBAAsB;AACpB,aAAS;AACT,UAAO,QAAQ;IAChB;;uBAxFC,mBAsBM,OAtBN,WAsBM,EAtBA,OAAO,MAAA,IAAG,CAAC,EAAC,MAAA,EAAA,EAAiB,MAAA,MAAK,CAAA,EAAA,CAAA,CAC1B,MAAA,OAAM,IAAI,MAAA,UAAS,IAAA,WAAA,EAA/B,mBAA6E,OAAA;;IAA3C,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,UAAA,CAAA;MAAa,gBAAY,EAAA,IAClD,OAAA,SAAA,WAAA,EAArB,YAmBW,MAAA,SAAA,EAAA;;IAnBmB,QAAQ,MAAA,OAAM;IAAG,SAAS,QAAA;;sBAkBpC,EAlBuD,uBAAgB,CAEjF,oBAAA,WAAA,EADR,YAiBkB,MAAA,gBAAA,EAAA;;KAff,eAAa;;uBAcH,EAbD,eAAQ,CAEF,YAAA,WAAA,EAAhB,YAWW,MAAA,SAAA,EAAA;;MAXgB,eAAa;MAAmB,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,eAAA,CAAA;;6BAU1D,CATX,YASW,MAAA,SAAA,EAAA,EATA,eAAa,kBAAgB,EAAA;OAC3B,SAAO,SAMV,EANc,WAAI,CACxB,mBAKM,OAAA;QAJH,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,WAAA,CAAA;QACZ,OAAK,eAAA;SAAA,OAAW,KAAK,QAAK;SAAA,QAAiB,KAAK,SAAM;SAAA,CAAA;WAEvD,YAA4E,MAAA,YAAA,EAAA;QAA9D,eAAa;QAAmB,cAAY,KAAK"}
@@ -1,3 +1,4 @@
1
+ import { toBlobUrl } from "../helper.js";
1
2
  import { createCommentVNode, createElementBlock, defineComponent, normalizeClass, onBeforeUnmount, openBlock, shallowRef, unref, useTemplateRef, watch } from "vue";
2
3
  import { bem } from "@veltra/utils";
3
4
  //#region src/components/file-viewer/previewers/video-previewer.vue
@@ -15,9 +16,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15
16
  const videoRef = useTemplateRef("videoRef");
16
17
  let revoke;
17
18
  let unmounting = false;
18
- async function load() {
19
+ function load() {
19
20
  revoke?.();
20
- const { toBlobUrl } = await import("../helper.js");
21
21
  const r = toBlobUrl(props.file.src, props.file.mime);
22
22
  url.value = r.url;
23
23
  revoke = r.revoke;
@@ -1 +1 @@
1
- {"version":3,"file":"video-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/video-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('video')\">\n <video\n v-if=\"url\"\n ref=\"videoRef\"\n :src=\"url\"\n :type=\"file.mime\"\n controls\n preload=\"metadata\"\n playsinline\n @error=\"onVideoError\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { onBeforeUnmount, shallowRef, useTemplateRef, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\n\ndefineOptions({ name: 'FileViewerVideoPreviewer' })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\n\nconst url = shallowRef<string>('')\nconst videoRef = useTemplateRef<HTMLVideoElement>('videoRef')\n\nlet revoke: (() => void) | undefined\nlet unmounting = false\n\nasync function load() {\n revoke?.()\n const { toBlobUrl } = await import('../helper')\n const r = toBlobUrl(props.file.src, props.file.mime)\n url.value = r.url\n revoke = r.revoke\n}\n\nfunction onVideoError(e: Event) {\n if (unmounting) return\n const v = e.target as HTMLVideoElement | null\n if (!v?.src) return\n emit('error', e)\n}\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nonBeforeUnmount(() => {\n unmounting = true\n const v = videoRef.value\n if (v) {\n v.pause()\n v.removeAttribute('src')\n try {\n v.load()\n } catch {\n /* noop */\n }\n }\n revoke?.()\n url.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;EAuBA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAE7B,MAAM,MAAM,WAAmB,GAAE;EACjC,MAAM,WAAW,eAAiC,WAAU;EAE5D,IAAI;EACJ,IAAI,aAAa;EAEjB,eAAe,OAAO;AACpB,aAAS;GACT,MAAM,EAAE,cAAc,MAAM,OAAO;GACnC,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,KAAI;AACnD,OAAI,QAAQ,EAAE;AACd,YAAS,EAAE;;EAGb,SAAS,aAAa,GAAU;AAC9B,OAAI,WAAY;AAEhB,OAAI,CADM,EAAE,QACJ,IAAK;AACb,QAAK,SAAS,EAAC;;AAGjB,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,wBAAsB;AACpB,gBAAa;GACb,MAAM,IAAI,SAAS;AACnB,OAAI,GAAG;AACL,MAAE,OAAM;AACR,MAAE,gBAAgB,MAAK;AACvB,QAAI;AACF,OAAE,MAAK;YACD;;AAIV,aAAS;AACT,OAAI,QAAQ;IACb;;uBArEC,mBAWM,OAAA,EAXA,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,QAAA,CAAA,EAAA,EAAA,CAER,IAAA,SAAA,WAAA,EADR,mBASE,SAAA;;aAPI;IAAJ,KAAI;IACH,KAAK,IAAA;IACL,MAAM,QAAA,KAAK;IACZ,UAAA;IACA,SAAQ;IACR,aAAA;IACC,SAAO"}
1
+ {"version":3,"file":"video-previewer.js","names":[],"sources":["../../../../src/components/file-viewer/previewers/video-previewer.vue"],"sourcesContent":["<template>\n <div :class=\"cls.e('video')\">\n <video\n v-if=\"url\"\n ref=\"videoRef\"\n :src=\"url\"\n :type=\"file.mime\"\n controls\n preload=\"metadata\"\n playsinline\n @error=\"onVideoError\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { bem } from '@veltra/utils'\nimport { onBeforeUnmount, shallowRef, useTemplateRef, watch } from 'vue'\n\nimport type { FileViewerItem } from '../../../types/file-viewer'\nimport { toBlobUrl } from '../helper'\n\ndefineOptions({ name: 'FileViewerVideoPreviewer' })\n\nconst props = defineProps<{ file: FileViewerItem }>()\n\nconst emit = defineEmits<{ (e: 'error', err: unknown): void }>()\n\nconst cls = bem('file-viewer')\n\nconst url = shallowRef<string>('')\nconst videoRef = useTemplateRef<HTMLVideoElement>('videoRef')\n\nlet revoke: (() => void) | undefined\nlet unmounting = false\n\nfunction load() {\n revoke?.()\n const r = toBlobUrl(props.file.src, props.file.mime)\n url.value = r.url\n revoke = r.revoke\n}\n\nfunction onVideoError(e: Event) {\n if (unmounting) return\n const v = e.target as HTMLVideoElement | null\n if (!v?.src) return\n emit('error', e)\n}\n\nwatch(\n () => props.file,\n () => load(),\n { immediate: true }\n)\n\nonBeforeUnmount(() => {\n unmounting = true\n const v = videoRef.value\n if (v) {\n v.pause()\n v.removeAttribute('src')\n try {\n v.load()\n } catch {\n /* noop */\n }\n }\n revoke?.()\n url.value = ''\n})\n</script>\n"],"mappings":";;;;;;;;;;;EAwBA,MAAM,QAAQ;EAEd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,cAAa;EAE7B,MAAM,MAAM,WAAmB,GAAE;EACjC,MAAM,WAAW,eAAiC,WAAU;EAE5D,IAAI;EACJ,IAAI,aAAa;EAEjB,SAAS,OAAO;AACd,aAAS;GACT,MAAM,IAAI,UAAU,MAAM,KAAK,KAAK,MAAM,KAAK,KAAI;AACnD,OAAI,QAAQ,EAAE;AACd,YAAS,EAAE;;EAGb,SAAS,aAAa,GAAU;AAC9B,OAAI,WAAY;AAEhB,OAAI,CADM,EAAE,QACJ,IAAK;AACb,QAAK,SAAS,EAAC;;AAGjB,cACQ,MAAM,YACN,MAAM,EACZ,EAAE,WAAW,MAAK,CACpB;AAEA,wBAAsB;AACpB,gBAAa;GACb,MAAM,IAAI,SAAS;AACnB,OAAI,GAAG;AACL,MAAE,OAAM;AACR,MAAE,gBAAgB,MAAK;AACvB,QAAI;AACF,OAAE,MAAK;YACD;;AAIV,aAAS;AACT,OAAI,QAAQ;IACb;;uBArEC,mBAWM,OAAA,EAXA,OAAK,eAAE,MAAA,IAAG,CAAC,EAAC,QAAA,CAAA,EAAA,EAAA,CAER,IAAA,SAAA,WAAA,EADR,mBASE,SAAA;;aAPI;IAAJ,KAAI;IACH,KAAK,IAAA;IACL,MAAM,QAAA,KAAK;IACZ,UAAA;IACA,SAAQ;IACR,aAAA;IACC,SAAO"}
@@ -17,20 +17,20 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, _InputExposed
17
17
  "update:modelValue": (value: string | undefined) => any;
18
18
  } & {
19
19
  "update:modelValue": (value: string) => any;
20
+ clear: () => any;
20
21
  change: (value: string) => any;
21
22
  "suffix:click": (value?: string | undefined) => any;
22
23
  "prefix:click": (value?: string | undefined) => any;
23
24
  focus: (value?: string | undefined) => any;
24
- clear: () => any;
25
25
  blur: (value?: string | undefined) => any;
26
26
  "native:input": (ev: Event) => any;
27
27
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
28
28
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
29
+ onClear?: (() => any) | undefined;
29
30
  onChange?: ((value: string) => any) | undefined;
30
31
  "onSuffix:click"?: ((value?: string | undefined) => any) | undefined;
31
32
  "onPrefix:click"?: ((value?: string | undefined) => any) | undefined;
32
33
  onFocus?: ((value?: string | undefined) => any) | undefined;
33
- onClear?: (() => any) | undefined;
34
34
  onBlur?: ((value?: string | undefined) => any) | undefined;
35
35
  "onNative:input"?: ((ev: Event) => any) | undefined;
36
36
  }>, {
@@ -28,11 +28,11 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {
28
28
  "onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
29
29
  onChange?: ((options: Record<string, any>[]) => any) | undefined;
30
30
  }>, {
31
- minWidth: string;
32
31
  disabled: boolean;
32
+ readonly: boolean;
33
33
  labelKey: string;
34
34
  valueKey: string;
35
- readonly: boolean;
35
+ minWidth: string;
36
36
  placeholder: string;
37
37
  clearable: boolean;
38
38
  visibilityLimit: number;
@@ -15,19 +15,19 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {
15
15
  "update:modelValue": (value: (string | number)[]) => any;
16
16
  } & {
17
17
  "update:modelValue": (value: any[]) => any;
18
- change: (checked: Record<string, any>[]) => any;
19
18
  clear: () => any;
19
+ change: (checked: Record<string, any>[]) => any;
20
20
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
21
  "onUpdate:modelValue"?: ((value: any[]) => any) | undefined;
22
- onChange?: ((checked: Record<string, any>[]) => any) | undefined;
23
22
  onClear?: (() => any) | undefined;
23
+ onChange?: ((checked: Record<string, any>[]) => any) | undefined;
24
24
  }>, {
25
- minWidth: string;
26
25
  disabled: boolean;
26
+ readonly: boolean;
27
27
  expandAll: boolean;
28
28
  labelKey: string;
29
29
  valueKey: string;
30
- readonly: boolean;
30
+ minWidth: string;
31
31
  placeholder: string;
32
32
  clearable: boolean;
33
33
  filterable: boolean;
@@ -4,9 +4,9 @@ import * as _$_veltra_utils0 from "@veltra/utils";
4
4
 
5
5
  //#region src/components/notification/notification.vue.d.ts
6
6
  declare const __VLS_export: _$vue.DefineComponent<NotificationProps, _$_veltra_utils0.DeconstructValue<_NotificationExposed>, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {}, string, _$vue.PublicProps, Readonly<NotificationProps> & Readonly<{}>, {
7
- duration: number;
8
7
  closable: boolean;
9
8
  position: "top-left" | "top-right" | "bottom-left" | "bottom-right";
9
+ duration: number;
10
10
  offset: number;
11
11
  buttonText: string;
12
12
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -15,12 +15,12 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {
15
15
  "update:modelValue": (value: number | undefined) => any;
16
16
  } & {
17
17
  "update:modelValue": (value?: number | undefined) => any;
18
- change: (value?: number | undefined) => any;
19
18
  clear: () => any;
19
+ change: (value?: number | undefined) => any;
20
20
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
21
  "onUpdate:modelValue"?: ((value?: number | undefined) => any) | undefined;
22
- onChange?: ((value?: number | undefined) => any) | undefined;
23
22
  onClear?: (() => any) | undefined;
23
+ onChange?: ((value?: number | undefined) => any) | undefined;
24
24
  }>, {
25
25
  disabled: boolean;
26
26
  readonly: boolean;
@@ -27,9 +27,9 @@ declare const __VLS_export: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {},
27
27
  disabled: boolean;
28
28
  readonly: boolean;
29
29
  clearable: boolean;
30
+ separator: string;
30
31
  startPlaceholder: string;
31
32
  endPlaceholder: string;
32
- separator: string;
33
33
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
34
34
  declare const _default: typeof __VLS_export;
35
35
  //#endregion
@@ -14,8 +14,8 @@ declare const __VLS_base: _$vue.DefineComponent<PopConfirmProps, {}, {}, {}, {},
14
14
  onConfirm?: (() => any) | undefined;
15
15
  onCancel?: (() => any) | undefined;
16
16
  }>, {
17
- trigger: "hover" | "click";
18
17
  direction: TipDirection;
18
+ trigger: "hover" | "click";
19
19
  icon: _$vue.Component;
20
20
  iconColor: string;
21
21
  confirmText: string;
@@ -16,11 +16,11 @@ type __VLS_Slots = {} & {
16
16
  default?: (props: typeof __VLS_3) => any;
17
17
  };
18
18
  declare const __VLS_base: _$vue.DefineComponent<ProgressNodesProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {} & {
19
- click: (node: Record<string, any>, index: number) => any;
20
19
  "update:modelValue": (value: string | number) => any;
20
+ click: (node: Record<string, any>, index: number) => any;
21
21
  }, string, _$vue.PublicProps, Readonly<ProgressNodesProps> & Readonly<{
22
- onClick?: ((node: Record<string, any>, index: number) => any) | undefined;
23
22
  "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
23
+ onClick?: ((node: Record<string, any>, index: number) => any) | undefined;
24
24
  }>, {
25
25
  labelKey: string;
26
26
  valueKey: string;
@@ -17,9 +17,9 @@ declare const __VLS_export: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {},
17
17
  onChange?: ((item: Record<string, any>) => any) | undefined;
18
18
  }>, {
19
19
  disabled: boolean;
20
+ readonly: boolean;
20
21
  labelKey: string;
21
22
  valueKey: string;
22
- readonly: boolean;
23
23
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
24
24
  declare const _default: typeof __VLS_export;
25
25
  //#endregion
@@ -27,9 +27,9 @@ declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {
27
27
  "onUpdate:label"?: ((label?: string | undefined) => any) | undefined;
28
28
  }>, {
29
29
  disabled: boolean;
30
+ readonly: boolean;
30
31
  labelKey: string;
31
32
  valueKey: string;
32
- readonly: boolean;
33
33
  placeholder: string;
34
34
  clearable: boolean;
35
35
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
@@ -2,3 +2,4 @@ import "../icon/style.js";
2
2
  import "../scroll/style.js";
3
3
  import "./style2.css";
4
4
  import "@veltra/directives/ripple/style.js";
5
+ import "@veltra/styles/anime/fade.scss";
@@ -15,18 +15,18 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
15
15
  declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
16
  "update:modelValue": (value: string | undefined) => any;
17
17
  } & {
18
+ "update:modelValue": (value: string) => any;
18
19
  close: (item: TabItem, index: number) => any;
19
20
  click: (item: TabItem, index: number) => any;
20
- "update:modelValue": (value: string) => any;
21
21
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
22
23
  onClose?: ((item: TabItem, index: number) => any) | undefined;
23
24
  onClick?: ((item: TabItem, index: number) => any) | undefined;
24
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
25
25
  }>, {
26
- block: boolean;
27
26
  closable: boolean;
28
27
  rounded: boolean;
29
28
  position: "top" | "bottom";
29
+ block: boolean;
30
30
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
31
31
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
32
  declare const _default: typeof __VLS_export;
@@ -14,13 +14,13 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_2>]?: (props: typeof __
14
14
  declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
15
15
  "update:modelValue": (value: string | undefined) => any;
16
16
  } & {
17
+ "update:modelValue": (value: string) => any;
17
18
  close: (item: TabItem, index: number) => any;
18
19
  click: (item: TabItem, index: number) => any;
19
- "update:modelValue": (value: string) => any;
20
20
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
21
22
  onClose?: ((item: TabItem, index: number) => any) | undefined;
22
23
  onClick?: ((item: TabItem, index: number) => any) | undefined;
23
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
24
24
  }>, {
25
25
  closable: boolean;
26
26
  rounded: boolean;
@@ -10,18 +10,18 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
10
  declare const __VLS_export: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
11
11
  "update:modelValue": (value: string | undefined) => any;
12
12
  } & {
13
+ "update:modelValue": (value: string) => any;
13
14
  close: (item: TabItem, index: number) => any;
14
15
  click: (item: TabItem, index: number) => any;
15
- "update:modelValue": (value: string) => any;
16
16
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
17
18
  onClose?: ((item: TabItem, index: number) => any) | undefined;
18
19
  onClick?: ((item: TabItem, index: number) => any) | undefined;
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
20
  }>, {
21
- block: boolean;
22
21
  closable: boolean;
23
22
  rounded: boolean;
24
23
  position: "left" | "right" | "top" | "bottom";
24
+ block: boolean;
25
25
  keepAlive: boolean;
26
26
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
27
27
  declare const _default: typeof __VLS_export;
@@ -11,15 +11,15 @@ declare const __VLS_export: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {},
11
11
  "update:modelValue": (value: string | undefined) => any;
12
12
  } & {
13
13
  "update:modelValue": (value: string) => any;
14
+ clear: () => any;
14
15
  change: (value: string) => any;
15
16
  focus: () => any;
16
- clear: () => any;
17
17
  blur: () => any;
18
18
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
19
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
+ onClear?: (() => any) | undefined;
20
21
  onChange?: ((value: string) => any) | undefined;
21
22
  onFocus?: (() => any) | undefined;
22
- onClear?: (() => any) | undefined;
23
23
  onBlur?: (() => any) | undefined;
24
24
  }>, {
25
25
  disabled: boolean;
@@ -11,11 +11,11 @@ declare const __VLS_base: _$vue.DefineComponent<TipProps, {}, {}, {}, {}, _$vue.
11
11
  }, string, _$vue.PublicProps, Readonly<TipProps> & Readonly<{
12
12
  "onUpdate:visible"?: ((value: boolean) => any) | undefined;
13
13
  }>, {
14
+ direction: TipDirection;
14
15
  trigger: "hover" | "click";
15
16
  contentTag: string;
16
17
  visible: boolean;
17
18
  content: string;
18
- direction: TipDirection;
19
19
  alignment: TipAlign;
20
20
  }, {}, {}, {}, string, _$vue.ComponentProvideOptions, false, {}, any>;
21
21
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -15,21 +15,21 @@ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
15
15
  declare const __VLS_base: _$vue.DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, _$vue.ComponentOptionsMixin, _$vue.ComponentOptionsMixin, {
16
16
  "update:modelValue": (value: string | number | undefined) => any;
17
17
  } & {
18
- change: (value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any;
19
18
  clear: () => any;
19
+ change: (value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any;
20
20
  "update:text": (text?: string | undefined) => any;
21
21
  }, string, _$vue.PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
22
22
  "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
23
- onChange?: ((value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any) | undefined;
24
23
  onClear?: (() => any) | undefined;
24
+ onChange?: ((value?: string | number | undefined, selectedData?: Record<string, any> | undefined) => any) | undefined;
25
25
  "onUpdate:text"?: ((text?: string | undefined) => any) | undefined;
26
26
  }>, {
27
- minWidth: string;
28
27
  disabled: boolean;
28
+ readonly: boolean;
29
29
  expandAll: boolean;
30
30
  labelKey: string;
31
31
  valueKey: string;
32
- readonly: boolean;
32
+ minWidth: string;
33
33
  placeholder: string;
34
34
  clearable: boolean;
35
35
  filterable: boolean;