@yh-ui/components 0.1.25 → 0.1.27

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 (41) hide show
  1. package/dist/ai-artifacts/src/ai-artifacts.vue +1 -1
  2. package/dist/ai-bubble/src/ai-bubble.vue +2 -2
  3. package/dist/ai-code-block/src/ai-code-block.vue +1 -1
  4. package/dist/ai-mention/index.d.ts +0 -1
  5. package/dist/ai-mention/src/ai-mention.vue +24 -9
  6. package/dist/ai-mention/src/ai-mention.vue.d.ts +1 -1
  7. package/dist/ai-thought-chain/src/ai-thought-chain.vue +1 -1
  8. package/dist/calendar/index.d.ts +84 -612
  9. package/dist/calendar/src/calendar.vue +3 -3
  10. package/dist/calendar/src/calendar.vue.d.ts +43 -220
  11. package/dist/date-picker/src/date-picker.vue +1 -1
  12. package/dist/date-picker/src/date-table.vue +1 -1
  13. package/dist/date-picker/src/month-table.vue +1 -1
  14. package/dist/date-picker/src/panel-utils.cjs +13 -13
  15. package/dist/date-picker/src/panel-utils.d.ts +1 -1
  16. package/dist/date-picker/src/panel-utils.mjs +13 -13
  17. package/dist/date-picker/src/quarter-table.vue +1 -1
  18. package/dist/date-picker/src/year-table.vue +1 -1
  19. package/dist/dayjs.cjs +11 -0
  20. package/dist/dayjs.d.ts +4 -0
  21. package/dist/dayjs.mjs +3 -0
  22. package/dist/form/src/form-schema.vue +13 -14
  23. package/dist/gantt-chart/src/gantt-chart.vue +7 -15
  24. package/dist/gantt-chart/src/gantt-chart.vue.d.ts +1 -1
  25. package/dist/highlight.cjs +34 -0
  26. package/dist/highlight.d.ts +13 -0
  27. package/dist/highlight.mjs +54 -0
  28. package/dist/image/src/image-viewer.vue +48 -26
  29. package/dist/image/src/image.vue +7 -5
  30. package/dist/markdown-it.cjs +11 -0
  31. package/dist/markdown-it.d.ts +2 -0
  32. package/dist/markdown-it.mjs +3 -0
  33. package/dist/menu/src/menu.vue +5 -5
  34. package/dist/transfer/index.cjs +9 -3
  35. package/dist/transfer/index.mjs +9 -3
  36. package/dist/typography/src/paragraph.vue +9 -2
  37. package/dist/upload/src/upload.vue +5 -4
  38. package/dist/viewerjs.cjs +11 -0
  39. package/dist/viewerjs.d.ts +2 -0
  40. package/dist/viewerjs.mjs +3 -0
  41. package/package.json +6 -6
@@ -0,0 +1,13 @@
1
+ type HighlightResult = {
2
+ value: string;
3
+ };
4
+ type HighlightOptions = {
5
+ language?: string;
6
+ ignoreIllegals?: boolean;
7
+ };
8
+ declare const hljs: {
9
+ getLanguage(language?: string): string | undefined;
10
+ highlight(code: string, _options?: HighlightOptions): HighlightResult;
11
+ highlightAuto(code: string): HighlightResult;
12
+ };
13
+ export default hljs;
@@ -0,0 +1,54 @@
1
+ const KNOWN_LANGUAGES = /* @__PURE__ */ new Set([
2
+ "bash",
3
+ "c",
4
+ "cpp",
5
+ "css",
6
+ "go",
7
+ "html",
8
+ "java",
9
+ "javascript",
10
+ "json",
11
+ "jsx",
12
+ "markdown",
13
+ "md",
14
+ "plaintext",
15
+ "python",
16
+ "rust",
17
+ "shell",
18
+ "sql",
19
+ "text",
20
+ "ts",
21
+ "tsx",
22
+ "typescript",
23
+ "vue",
24
+ "xml",
25
+ "yaml",
26
+ "yml"
27
+ ]);
28
+ const escapeHtml = (value) => value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&#39;");
29
+ const normalizeLanguage = (language) => {
30
+ if (!language) return "";
31
+ const normalized = language.toLowerCase();
32
+ if (normalized === "vue") return "html";
33
+ if (normalized === "ts") return "typescript";
34
+ if (normalized === "js") return "javascript";
35
+ if (normalized === "sh") return "shell";
36
+ if (normalized === "md") return "markdown";
37
+ return normalized;
38
+ };
39
+ const render = (code) => ({
40
+ value: escapeHtml(code)
41
+ });
42
+ const hljs = {
43
+ getLanguage(language) {
44
+ const normalized = normalizeLanguage(language);
45
+ return normalized && KNOWN_LANGUAGES.has(normalized) ? normalized : void 0;
46
+ },
47
+ highlight(code, _options) {
48
+ return render(code);
49
+ },
50
+ highlightAuto(code) {
51
+ return render(code);
52
+ }
53
+ };
54
+ export default hljs;
@@ -2,7 +2,7 @@
2
2
  import { computed, ref, onMounted, onUnmounted, watch } from "vue";
3
3
  import { useNamespace } from "@yh-ui/hooks";
4
4
  import { imageViewerProps, imageViewerEmits } from "./image-viewer";
5
- import Viewer from "viewerjs";
5
+ import Viewer from "../../viewerjs";
6
6
  import "viewerjs/dist/viewer.css";
7
7
  defineOptions({
8
8
  name: "YhImageViewer"
@@ -31,7 +31,7 @@ const initViewerJS = () => {
31
31
  });
32
32
  document.body.appendChild(list);
33
33
  viewerList = list;
34
- viewer = new Viewer(list, {
34
+ const nextViewer = new Viewer(list, {
35
35
  ...props.viewerOptions,
36
36
  initialViewIndex: props.initialIndex,
37
37
  hidden: () => {
@@ -44,7 +44,8 @@ const initViewerJS = () => {
44
44
  emit("close");
45
45
  }
46
46
  });
47
- viewer.show();
47
+ viewer = nextViewer;
48
+ nextViewer.show();
48
49
  };
49
50
  const handlePrev = () => {
50
51
  const len = props.urlList.length;
@@ -84,9 +85,12 @@ watch(index, (val) => {
84
85
  reset();
85
86
  emit("switch", val);
86
87
  });
87
- watch(() => props.initialIndex, (val) => {
88
- index.value = val;
89
- });
88
+ watch(
89
+ () => props.initialIndex,
90
+ (val) => {
91
+ index.value = val;
92
+ }
93
+ );
90
94
  const handleKeyDown = (e) => {
91
95
  if (props.viewerMode === "viewerjs") return;
92
96
  if (e.key === "Escape" && props.closeOnPressEscape) {
@@ -131,8 +135,10 @@ onUnmounted(() => {
131
135
  <!-- Close -->
132
136
  <span :class="[ns.e('btn'), ns.e('close')]" @click="handleClose">
133
137
  <svg viewBox="0 0 1024 1024" width="1em" height="1em">
134
- <path fill="currentColor"
135
- d="M512 456.2L794.8 173.4l55.8 55.8L567.8 512l282.8 282.8-55.8 55.8L512 567.8 229.2 850.6l-55.8-55.8L456.2 512 173.4 229.2l55.8-55.8L512 456.2z" />
138
+ <path
139
+ fill="currentColor"
140
+ d="M512 456.2L794.8 173.4l55.8 55.8L567.8 512l282.8 282.8-55.8 55.8L512 567.8 229.2 850.6l-55.8-55.8L456.2 512 173.4 229.2l55.8-55.8L512 456.2z"
141
+ />
136
142
  </svg>
137
143
  </span>
138
144
 
@@ -140,14 +146,18 @@ onUnmounted(() => {
140
146
  <template v-if="urlList.length > 1">
141
147
  <span :class="[ns.e('btn'), ns.e('prev')]" @click="handlePrev">
142
148
  <svg viewBox="0 0 1024 1024" width="1em" height="1em">
143
- <path fill="currentColor"
144
- d="M609.4 824.6L296.8 512l312.6-312.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L228.9 489.4c-12.5 12.5-12.5 32.8 0 45.3l335.2 335.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z" />
149
+ <path
150
+ fill="currentColor"
151
+ d="M609.4 824.6L296.8 512l312.6-312.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L228.9 489.4c-12.5 12.5-12.5 32.8 0 45.3l335.2 335.2c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z"
152
+ />
145
153
  </svg>
146
154
  </span>
147
155
  <span :class="[ns.e('btn'), ns.e('next')]" @click="handleNext">
148
156
  <svg viewBox="0 0 1024 1024" width="1em" height="1em">
149
- <path fill="currentColor"
150
- d="M414.6 824.6l312.6-312.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L346.7 802.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L727.2 512 414.6 199.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l335.2 335.2c12.5 12.5 12.5 32.8 0 45.3L369.3 915.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z" />
157
+ <path
158
+ fill="currentColor"
159
+ d="M414.6 824.6l312.6-312.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L346.7 802.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L727.2 512 414.6 199.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l335.2 335.2c12.5 12.5 12.5 32.8 0 45.3L369.3 915.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0z"
160
+ />
151
161
  </svg>
152
162
  </span>
153
163
  </template>
@@ -155,26 +165,38 @@ onUnmounted(() => {
155
165
  <!-- Actions -->
156
166
  <div v-if="showProgress" :class="ns.e('actions')">
157
167
  <div :class="ns.e('actions-inner')">
158
- <i :class="ns.e('zoom-out')" @click="handleZoomOut"><svg viewBox="0 0 1024 1024" width="1em" height="1em">
159
- <path fill="currentColor" d="M192 480h640v64H192z" />
160
- </svg></i>
161
- <i :class="ns.e('zoom-in')" @click="handleZoomIn"><svg viewBox="0 0 1024 1024" width="1em" height="1em">
162
- <path fill="currentColor" d="M480 480V224h64v256h256v64H544v256h-64V544H224v-64h256z" />
163
- </svg></i>
164
- <i :class="ns.e('reset')" @click="reset"><svg viewBox="0 0 1024 1024" width="1em" height="1em">
165
- <path fill="currentColor"
166
- d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 64a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0 128a256 256 0 1 1 0 512 256 256 0 0 1 0-512z" />
167
- </svg></i>
168
+ <i :class="ns.e('zoom-out')" @click="handleZoomOut"
169
+ ><svg viewBox="0 0 1024 1024" width="1em" height="1em">
170
+ <path fill="currentColor" d="M192 480h640v64H192z" /></svg
171
+ ></i>
172
+ <i :class="ns.e('zoom-in')" @click="handleZoomIn"
173
+ ><svg viewBox="0 0 1024 1024" width="1em" height="1em">
174
+ <path
175
+ fill="currentColor"
176
+ d="M480 480V224h64v256h256v64H544v256h-64V544H224v-64h256z"
177
+ /></svg
178
+ ></i>
179
+ <i :class="ns.e('reset')" @click="reset"
180
+ ><svg viewBox="0 0 1024 1024" width="1em" height="1em">
181
+ <path
182
+ fill="currentColor"
183
+ d="M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 64a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0 128a256 256 0 1 1 0 512 256 256 0 0 1 0-512z"
184
+ /></svg
185
+ ></i>
168
186
  <i :class="ns.e('rotate-left')" @click="handleRotateLeft">
169
187
  <svg viewBox="0 0 1024 1024" width="1em" height="1em">
170
- <path fill="currentColor"
171
- d="M512 128c-212.1 0-384 171.9-384 384s171.9 384 384 384 384-171.9 384-384h-64c0 176.7-143.3 320-320 320s-320-143.3-320-320 143.3-320 320-320v64l192-128-192-128v64z" />
188
+ <path
189
+ fill="currentColor"
190
+ d="M512 128c-212.1 0-384 171.9-384 384s171.9 384 384 384 384-171.9 384-384h-64c0 176.7-143.3 320-320 320s-320-143.3-320-320 143.3-320 320-320v64l192-128-192-128v64z"
191
+ />
172
192
  </svg>
173
193
  </i>
174
194
  <i :class="ns.e('rotate-right')" @click="handleRotateRight">
175
195
  <svg viewBox="0 0 1024 1024" width="1em" height="1em">
176
- <path fill="currentColor"
177
- d="M512 128V64L320 192l192 128v-64c176.7 0 320 143.3 320 320s-143.3 320-320 320-320-143.3-320-320h-64c0 212.1 171.9 384 384 384s384-171.9 384-384-171.9-384-384-384z" />
196
+ <path
197
+ fill="currentColor"
198
+ d="M512 128V64L320 192l192 128v-64c176.7 0 320 143.3 320 320s-143.3 320-320 320-320-143.3-320-320h-64c0 212.1 171.9 384 384 384s384-171.9 384-384-171.9-384-384-384z"
199
+ />
178
200
  </svg>
179
201
  </i>
180
202
  </div>
@@ -5,7 +5,7 @@ import { useComponentTheme } from "@yh-ui/theme";
5
5
  import { isClient, getScrollContainer } from "@yh-ui/utils";
6
6
  import { imageProps } from "./image";
7
7
  import YhImageViewer from "./image-viewer.vue";
8
- import Viewer from "viewerjs";
8
+ import Viewer from "../../viewerjs";
9
9
  import "viewerjs/dist/viewer.css";
10
10
  defineOptions({
11
11
  name: "YhImage"
@@ -118,7 +118,7 @@ const initViewerJS = () => {
118
118
  });
119
119
  document.body.appendChild(list);
120
120
  viewerList = list;
121
- viewer = new Viewer(list, {
121
+ const nextViewer = new Viewer(list, {
122
122
  ...props.viewerOptions,
123
123
  hidden: () => {
124
124
  if (viewerList) {
@@ -129,10 +129,12 @@ const initViewerJS = () => {
129
129
  viewer = null;
130
130
  }
131
131
  });
132
- viewer.view(props.initialIndex);
132
+ viewer = nextViewer;
133
+ nextViewer.view(props.initialIndex);
133
134
  } else {
134
- viewer = new Viewer(imgElement, props.viewerOptions);
135
- viewer.show();
135
+ const nextViewer = new Viewer(imgElement, props.viewerOptions);
136
+ viewer = nextViewer;
137
+ nextViewer.show();
136
138
  }
137
139
  };
138
140
  watch(
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var markdownItModule = _interopRequireWildcard(require("markdown-it"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const MarkdownIt = "default" in markdownItModule ? markdownItModule.default ?? markdownItModule : markdownItModule;
11
+ module.exports = MarkdownIt;
@@ -0,0 +1,2 @@
1
+ declare const MarkdownIt: any;
2
+ export default MarkdownIt;
@@ -0,0 +1,3 @@
1
+ import * as markdownItModule from "markdown-it";
2
+ const MarkdownIt = "default" in markdownItModule ? markdownItModule.default ?? markdownItModule : markdownItModule;
3
+ export default MarkdownIt;
@@ -35,6 +35,10 @@ const menuStyle = computed(() => {
35
35
  ...themeStyle.value
36
36
  };
37
37
  });
38
+ const getMenuItemKey = (item) => {
39
+ const value = item[props.keyField || "key"] ?? item.index ?? item.key;
40
+ return value == null ? "" : String(value);
41
+ };
38
42
  const menuClass = computed(() => [
39
43
  ns.b(),
40
44
  ns.m(props.mode),
@@ -131,11 +135,7 @@ defineExpose({
131
135
  <template>
132
136
  <ul :class="menuClass" :style="menuStyle" role="menu">
133
137
  <slot>
134
- <yh-menu-recursive-item
135
- v-for="item in options"
136
- :key="(item[keyField] as string) || item.index || (item.key as string) || ''"
137
- :item="item"
138
- />
138
+ <yh-menu-recursive-item v-for="item in options" :key="getMenuItemKey(item)" :item="item" />
139
139
  </slot>
140
140
  </ul>
141
141
  </template>
@@ -23,12 +23,18 @@ Object.keys(_transfer2).forEach(function (key) {
23
23
  });
24
24
  });
25
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
26
+ const registerComponent = (app, component) => {
27
+ const name = component.name;
28
+ if (name && !app.component(name)) {
29
+ app.component(name, component);
30
+ }
31
+ };
26
32
  _transfer.default.install = app => {
27
- app.component(_transfer.default.name, _transfer.default);
28
- app.component(_transferPanel.default.name, _transferPanel.default);
33
+ registerComponent(app, _transfer.default);
34
+ registerComponent(app, _transferPanel.default);
29
35
  };
30
36
  _transferPanel.default.install = app => {
31
- app.component(_transferPanel.default.name, _transferPanel.default);
37
+ registerComponent(app, _transferPanel.default);
32
38
  };
33
39
  const YhTransfer = exports.YhTransfer = _transfer.default;
34
40
  const YhTransferPanel = exports.YhTransferPanel = _transferPanel.default;
@@ -1,11 +1,17 @@
1
1
  import Transfer from "./src/transfer.vue";
2
2
  import TransferPanel from "./src/transfer-panel.vue";
3
+ const registerComponent = (app, component) => {
4
+ const name = component.name;
5
+ if (name && !app.component(name)) {
6
+ app.component(name, component);
7
+ }
8
+ };
3
9
  Transfer.install = (app) => {
4
- app.component(Transfer.name, Transfer);
5
- app.component(TransferPanel.name, TransferPanel);
10
+ registerComponent(app, Transfer);
11
+ registerComponent(app, TransferPanel);
6
12
  };
7
13
  TransferPanel.install = (app) => {
8
- app.component(TransferPanel.name, TransferPanel);
14
+ registerComponent(app, TransferPanel);
9
15
  };
10
16
  export const YhTransfer = Transfer;
11
17
  export const YhTransferPanel = TransferPanel;
@@ -15,7 +15,10 @@ const props = defineProps({
15
15
  themeOverrides: { type: null, required: false }
16
16
  });
17
17
  const ns = useNamespace("typography");
18
- const { themeStyle } = useComponentTheme("typography", computed(() => props.themeOverrides));
18
+ const { themeStyle } = useComponentTheme(
19
+ "typography",
20
+ computed(() => props.themeOverrides)
21
+ );
19
22
  const paragraphClasses = computed(() => [
20
23
  ns.e("paragraph"),
21
24
  props.type && ns.em("paragraph", props.type),
@@ -37,10 +40,14 @@ const ellipsisStyle = computed(() => {
37
40
  }
38
41
  return {};
39
42
  });
43
+ const paragraphStyle = computed(() => ({
44
+ ...themeStyle.value || {},
45
+ ...ellipsisStyle.value
46
+ }));
40
47
  </script>
41
48
 
42
49
  <template>
43
- <p :class="paragraphClasses" :style="{ ...themeStyle as Record<string, string>, ...ellipsisStyle }">
50
+ <p :class="paragraphClasses" :style="paragraphStyle">
44
51
  <mark v-if="mark">
45
52
  <slot />
46
53
  </mark>
@@ -200,7 +200,7 @@ import {
200
200
  import { useNamespace, useLocale } from "@yh-ui/hooks";
201
201
  import { useComponentTheme } from "@yh-ui/theme";
202
202
  import { YhIcon } from "../../icon";
203
- import Viewer from "viewerjs";
203
+ import Viewer from "../../viewerjs";
204
204
  import "viewerjs/dist/viewer.css";
205
205
  defineOptions({
206
206
  name: "YhUpload"
@@ -486,7 +486,7 @@ const handlePreview = (file) => {
486
486
  container.innerHTML = imgList;
487
487
  const initialIndex = images.indexOf(file.url);
488
488
  if (viewer) viewer.destroy();
489
- viewer = new Viewer(container, {
489
+ const nextViewer = new Viewer(container, {
490
490
  hidden: () => {
491
491
  viewer?.destroy();
492
492
  viewer = null;
@@ -509,8 +509,9 @@ const handlePreview = (file) => {
509
509
  flipVertical: 4
510
510
  }
511
511
  });
512
- viewer.view(initialIndex !== -1 ? initialIndex : 0);
513
- viewer.show();
512
+ viewer = nextViewer;
513
+ nextViewer.view(initialIndex !== -1 ? initialIndex : 0);
514
+ nextViewer.show();
514
515
  }
515
516
  };
516
517
  const handleDownload = async (file) => {
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var viewerModule = _interopRequireWildcard(require("viewerjs"));
8
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
+ const Viewer = "default" in viewerModule ? viewerModule.default ?? viewerModule : viewerModule;
11
+ module.exports = Viewer;
@@ -0,0 +1,2 @@
1
+ declare const Viewer: any;
2
+ export default Viewer;
@@ -0,0 +1,3 @@
1
+ import * as viewerModule from "viewerjs";
2
+ const Viewer = "default" in viewerModule ? viewerModule.default ?? viewerModule : viewerModule;
3
+ export default Viewer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yh-ui/components",
3
- "version": "0.1.25",
3
+ "version": "0.1.27",
4
4
  "description": "YH-UI Vue 3 Components",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -36,16 +36,16 @@
36
36
  "dependencies": {
37
37
  "@webcontainer/api": "^1.6.1",
38
38
  "@floating-ui/dom": "^1.7.4",
39
+ "@yh-ui/hooks": "^0.1.27",
40
+ "@yh-ui/locale": "^0.1.27",
41
+ "@yh-ui/theme": "^0.1.27",
42
+ "@yh-ui/utils": "^0.1.27",
39
43
  "async-validator": "^4.2.5",
40
44
  "dayjs": "^1.11.19",
41
45
  "markdown-it": "^14.1.1",
42
46
  "monaco-editor": "^0.55.1",
43
47
  "xlsx": "^0.18.5",
44
- "viewerjs": "^1.11.7",
45
- "@yh-ui/hooks": "0.1.25",
46
- "@yh-ui/theme": "0.1.25",
47
- "@yh-ui/locale": "0.1.25",
48
- "@yh-ui/utils": "0.1.25"
48
+ "viewerjs": "^1.11.7"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "vue": "^3.5.27"