lt-ppt 1.0.28 → 1.0.29

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.
@@ -1,4 +1,4 @@
1
- import { u as a, a as o, b as r, c as S, d as t } from "./screen-Brvtzttu.js";
1
+ import { u as a, a as o, b as r, c as S, d as t } from "./screen-BFHrqx9g.js";
2
2
  export {
3
3
  a as useKeyboardStore,
4
4
  o as useMainStore,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as k, resolveComponent as P, openBlock as d, createElementBlock as c, Fragment as x, renderList as A, withModifiers as p, normalizeClass as L, createElementVNode as C, toDisplayString as I, createCommentVNode as v, createBlock as O, computed as S, normalizeStyle as U, createVNode as D, render as w } from "vue";
2
- import { _ as b } from "./lib-9k4fJaGf.js";
2
+ import { _ as b } from "./lib-DZHSlxO6.js";
3
3
  import { t as G } from "./tippy.esm-Dos-q4Dz.js";
4
4
  const R = { class: "menu-content" }, X = ["onClick"], V = { class: "text" }, W = {
5
5
  key: 0,
@@ -1,5 +1,5 @@
1
- import { inject as Y, ref as w, defineComponent as Z, computed as q, onMounted as j, onBeforeUnmount as Q, watch as z, openBlock as K, createElementBlock as $, normalizeStyle as ee } from "vue";
2
- const te = {
1
+ import { inject as Q, ref as y, defineComponent as K, getCurrentInstance as $, computed as U, onMounted as ee, onBeforeUnmount as te, watch as N, openBlock as oe, createElementBlock as ie, normalizeStyle as ne } from "vue";
2
+ const le = {
3
3
  common: {
4
4
  close: "关闭",
5
5
  cancel: "取消",
@@ -1148,7 +1148,7 @@ const te = {
1148
1148
  latex: "公式"
1149
1149
  }
1150
1150
  }
1151
- }, oe = {
1151
+ }, ae = {
1152
1152
  common: {
1153
1153
  close: "Close",
1154
1154
  cancel: "Cancel",
@@ -2269,41 +2269,41 @@ const te = {
2269
2269
  latex: "Formula"
2270
2270
  }
2271
2271
  }
2272
- }, U = Symbol("lt-ppt-i18n"), ie = { "zh-CN": te, en: oe };
2273
- function N(d, c = "") {
2274
- return Object.entries(d).reduce((s, [i, u]) => {
2275
- const h = c ? `${c}.${i}` : i;
2276
- return u && typeof u == "object" && !Array.isArray(u) ? Object.assign(s, N(u, h)) : s[h] = String(u), s;
2272
+ }, M = Symbol("lt-ppt-i18n"), re = { "zh-CN": le, en: ae };
2273
+ function H(d, c = "") {
2274
+ return Object.entries(d).reduce((s, [i, p]) => {
2275
+ const S = c ? `${c}.${i}` : i;
2276
+ return p && typeof p == "object" && !Array.isArray(p) ? Object.assign(s, H(p, S)) : s[S] = String(p), s;
2277
2277
  }, {});
2278
2278
  }
2279
- const b = Object.fromEntries(
2280
- Object.entries(ie).map(([d, c]) => [d, N(c)])
2279
+ const T = Object.fromEntries(
2280
+ Object.entries(re).map(([d, c]) => [d, H(c)])
2281
2281
  );
2282
- function ce() {
2283
- const d = Y(U, { locale: w("zh-CN") });
2282
+ function he() {
2283
+ const d = Q(M, { locale: y("zh-CN") });
2284
2284
  return { t: (s) => {
2285
- var i, u;
2286
- return ((i = b[d.locale.value]) == null ? void 0 : i[s]) ?? ((u = b["zh-CN"]) == null ? void 0 : u[s]) ?? s;
2285
+ var i, p;
2286
+ return ((i = T[d.locale.value]) == null ? void 0 : i[s]) ?? ((p = T["zh-CN"]) == null ? void 0 : p[s]) ?? s;
2287
2287
  }, locale: d.locale };
2288
2288
  }
2289
- function ne(d) {
2289
+ function de(d) {
2290
2290
  return (c) => {
2291
2291
  var s, i;
2292
- return ((s = b[d.value]) == null ? void 0 : s[c]) ?? ((i = b["zh-CN"]) == null ? void 0 : i[c]) ?? c;
2292
+ return ((s = T[d.value]) == null ? void 0 : s[c]) ?? ((i = T["zh-CN"]) == null ? void 0 : i[c]) ?? c;
2293
2293
  };
2294
2294
  }
2295
- function ue(d) {
2296
- const c = w((d == null ? void 0 : d.locale) ?? "zh-CN");
2295
+ function me(d) {
2296
+ const c = y((d == null ? void 0 : d.locale) ?? "zh-CN");
2297
2297
  return {
2298
2298
  install() {
2299
2299
  },
2300
2300
  global: { locale: c, t: (i) => {
2301
- var u, h;
2302
- return ((u = b[c.value]) == null ? void 0 : u[i]) ?? ((h = b["zh-CN"]) == null ? void 0 : h[i]) ?? i;
2301
+ var p, S;
2302
+ return ((p = T[c.value]) == null ? void 0 : p[i]) ?? ((S = T["zh-CN"]) == null ? void 0 : S[i]) ?? i;
2303
2303
  } }
2304
2304
  };
2305
2305
  }
2306
- const le = /* @__PURE__ */ Z({
2306
+ const se = /* @__PURE__ */ K({
2307
2307
  __name: "LtPPT",
2308
2308
  props: {
2309
2309
  initData: {},
@@ -2321,38 +2321,41 @@ const le = /* @__PURE__ */ Z({
2321
2321
  },
2322
2322
  emits: ["image-ai-entry-click"],
2323
2323
  setup(d, { expose: c, emit: s }) {
2324
- const i = d, u = s, h = w();
2325
- let m = null, g = null, k = null, P = null, L = null, x = null, F = null;
2326
- const v = w(i.locale ?? "zh-CN"), A = w(i.theme ?? "dark"), M = q(() => ({
2324
+ const i = d, p = s, S = $(), b = y();
2325
+ let h = null, g = null, P = null, L = null, x = null, v = null, A = null;
2326
+ const F = y(i.locale ?? "zh-CN"), R = y(i.theme ?? "dark"), G = U(() => ({
2327
2327
  width: i.width,
2328
2328
  height: i.height
2329
- })), H = (e) => {
2330
- var p, r;
2331
- const t = (p = e.detail) == null ? void 0 : p.element;
2329
+ })), V = () => {
2330
+ const e = (S == null ? void 0 : S.vnode.props) || {};
2331
+ return !!(e.onImageAIEntryClick || e.onImageAiEntryClick);
2332
+ }, W = U(() => !!i.onImageAIEntryClick || V()), X = (e) => {
2333
+ var u, r;
2334
+ const t = (u = e.detail) == null ? void 0 : u.element;
2332
2335
  if (!t || t.type !== "image") return;
2333
2336
  const n = {
2334
2337
  element: JSON.parse(JSON.stringify(t))
2335
2338
  };
2336
- (r = i.onImageAIEntryClick) == null || r.call(i, n), u("image-ai-entry-click", n);
2337
- }, G = async () => {
2338
- if (!h.value || m) return;
2339
+ (r = i.onImageAIEntryClick) == null || r.call(i, n), p("image-ai-entry-click", n);
2340
+ }, _ = async () => {
2341
+ if (!b.value || h) return;
2339
2342
  const [
2340
2343
  { createApp: e },
2341
2344
  { createPinia: t },
2342
2345
  { default: n },
2343
- { default: p },
2346
+ { default: u },
2344
2347
  r
2345
2348
  ] = await Promise.all([
2346
2349
  import("vue"),
2347
2350
  import("./pinia-CVat9nJz.js"),
2348
- import("./InnerApp-BkVsQnm2.js"),
2349
- import("./index-e8Js74-o.js"),
2350
- import("./index-vmpIx8K7.js")
2351
+ import("./InnerApp-BVIJgQPL.js"),
2352
+ import("./index-CGIfpvl8.js"),
2353
+ import("./index-C0mC3XB7.js")
2351
2354
  ]);
2352
- if (!h.value) return;
2353
- k = r.useSlidesStore, P = r.useScreenStore, L = r.useMainStore, x = r.useSnapshotStore;
2355
+ if (!b.value) return;
2356
+ P = r.useSlidesStore, L = r.useScreenStore, x = r.useMainStore, v = r.useSnapshotStore;
2354
2357
  const o = document.createElement("div");
2355
- o.style.width = "100%", o.style.height = "100%", h.value.appendChild(o), m = e(n, {
2358
+ o.style.width = "100%", o.style.height = "100%", b.value.appendChild(o), h = e(n, {
2356
2359
  initData: i.initData,
2357
2360
  onUploadFile: i.onUploadFile,
2358
2361
  readonly: i.readonly,
@@ -2360,134 +2363,139 @@ const le = /* @__PURE__ */ Z({
2360
2363
  onSave: i.onSave,
2361
2364
  onInitFinished: i.onInitFinished,
2362
2365
  onReturn: i.onReturn,
2363
- theme: A.value
2364
- }), g = t(), m.use(g), m.provide(U, { locale: v }), m.provide("__lt_ppt_theme__", A), m.config.globalProperties.$t = ne(v), m.use(p), m.mount(o);
2365
- }, V = () => {
2366
- m && (m.unmount(), m = null, g = null), h.value && (h.value.innerHTML = "");
2366
+ theme: R.value
2367
+ }), g = t(), h.use(g), h.provide(M, { locale: F }), h.provide("__lt_ppt_theme__", R), h.provide("__lt_ppt_image_ai_entry_enabled__", W), h.config.globalProperties.$t = de(F), h.use(u), h.mount(o);
2368
+ }, J = () => {
2369
+ h && (h.unmount(), h = null, g = null), b.value && (b.value.innerHTML = "");
2367
2370
  };
2368
- j(() => {
2369
- F = G();
2370
- }), Q(() => {
2371
- V();
2372
- }), z(() => i.locale, (e) => {
2373
- v.value = e ?? "zh-CN";
2374
- }), z(() => i.theme, (e) => {
2375
- A.value = e ?? "dark";
2371
+ ee(() => {
2372
+ A = _();
2373
+ }), te(() => {
2374
+ J();
2375
+ }), N(() => i.locale, (e) => {
2376
+ F.value = e ?? "zh-CN";
2377
+ }), N(() => i.theme, (e) => {
2378
+ R.value = e ?? "dark";
2376
2379
  });
2377
- const T = () => !g || !k ? null : k(g), R = () => !g || !L ? null : L(g), W = () => !g || !x ? null : x(g), O = async () => (!g && F && await F, !!g), B = (e) => new Promise((t) => {
2380
+ const w = () => !g || !P ? null : P(g), O = () => !g || !x ? null : x(g), Y = () => !g || !v ? null : v(g), B = async () => (!g && A && await A, !!g), D = (e) => new Promise((t) => {
2378
2381
  if (typeof Image > "u") {
2379
2382
  t(null);
2380
2383
  return;
2381
2384
  }
2382
2385
  const n = new Image();
2383
- n.onload = () => {
2386
+ n.decoding = "sync", n.onload = async () => {
2387
+ var u;
2388
+ try {
2389
+ await ((u = n.decode) == null ? void 0 : u.call(n));
2390
+ } catch {
2391
+ }
2384
2392
  t({
2385
2393
  width: n.naturalWidth || n.width,
2386
2394
  height: n.naturalHeight || n.height
2387
2395
  });
2388
2396
  }, n.onerror = () => t(null), n.src = e;
2389
- }), y = (e, t) => Number.isFinite(e) && e > 0 ? e : t, D = (e, t) => t.slideId ? e.slides.findIndex((n) => n.id === t.slideId) : t.slideIndex !== void 0 ? Number.isInteger(t.slideIndex) && t.slideIndex >= 0 && t.slideIndex < e.slides.length ? t.slideIndex : -1 : e.slideIndex, X = async (e, t, n, p, r = { width: 300, height: 200 }) => {
2390
- const o = await B(e);
2391
- let l = y(t.width, (o == null ? void 0 : o.width) || r.width), S = y(t.height, (o == null ? void 0 : o.height) || r.height);
2397
+ }), I = (e, t) => Number.isFinite(e) && e > 0 ? e : t, E = (e, t) => t.slideId ? e.slides.findIndex((n) => n.id === t.slideId) : t.slideIndex !== void 0 ? Number.isInteger(t.slideIndex) && t.slideIndex >= 0 && t.slideIndex < e.slides.length ? t.slideIndex : -1 : e.slideIndex, Z = async (e, t, n, u, r = { width: 300, height: 200 }) => {
2398
+ const o = await D(e);
2399
+ let l = I(t.width, (o == null ? void 0 : o.width) || r.width), m = I(t.height, (o == null ? void 0 : o.height) || r.height);
2392
2400
  if (t.width !== void 0 && t.height === void 0 && (o != null && o.width) && o.height)
2393
- S = l * o.height / o.width;
2401
+ m = l * o.height / o.width;
2394
2402
  else if (t.height !== void 0 && t.width === void 0 && (o != null && o.width) && o.height)
2395
- l = S * o.width / o.height;
2403
+ l = m * o.width / o.height;
2396
2404
  else if (t.width === void 0 && t.height === void 0 && (o != null && o.width) && o.height) {
2397
- const C = Math.min(1, n / o.width, p / o.height);
2398
- l = o.width * C, S = o.height * C;
2405
+ const C = Math.min(1, n / o.width, u / o.height);
2406
+ l = o.width * C, m = o.height * C;
2399
2407
  }
2400
- return { width: l, height: S };
2401
- }, E = async () => {
2402
- const e = W();
2408
+ return { width: l, height: m };
2409
+ }, z = async () => {
2410
+ const e = Y();
2403
2411
  e && await e.addSnapshot();
2404
- }, J = async (e) => {
2405
- if (!e.src || !await O()) return null;
2406
- const t = T(), n = R();
2412
+ }, q = async (e) => {
2413
+ if (!e.src || !await B()) return null;
2414
+ const t = w(), n = O();
2407
2415
  if (!t || !n || !t.slides.length) return null;
2408
- const p = D(t, e);
2409
- if (p === -1) return null;
2410
- t.slideIndex !== p && t.updateSlideIndex(p);
2411
- const r = t.viewportSize, o = t.viewportSize * t.viewportRatio, { width: l, height: S } = await X(e.src, e, r, o), { nanoid: C } = await import("./index.browser-Wq18ov6h.js"), a = {
2416
+ const u = E(t, e);
2417
+ if (u === -1) return null;
2418
+ t.slideIndex !== u && t.updateSlideIndex(u);
2419
+ const r = t.viewportSize, o = t.viewportSize * t.viewportRatio, { width: l, height: m } = await Z(e.src, e, r, o), { nanoid: C } = await import("./index.browser-Wq18ov6h.js"), a = {
2412
2420
  type: "image",
2413
2421
  id: C(10),
2414
2422
  src: e.src,
2415
2423
  width: l,
2416
- height: S,
2424
+ height: m,
2417
2425
  left: e.left ?? (r - l) / 2,
2418
- top: e.top ?? (o - S) / 2,
2426
+ top: e.top ?? (o - m) / 2,
2419
2427
  fixedRatio: e.fixedRatio ?? !0,
2420
2428
  rotate: e.rotate ?? 0
2421
2429
  };
2422
- return t.addElement(a), e.select !== !1 && n.setActiveElementIdList([a.id]), await E(), JSON.parse(JSON.stringify(a));
2423
- }, _ = (e, t, n) => {
2424
- var S, C;
2425
- const p = !!n.slideId || n.slideIndex !== void 0, r = D(e, n), o = n.elementId || (t.activeElementIdList.length === 1 ? t.activeElementIdList[0] : t.handleElementId);
2430
+ return t.addElement(a), e.select !== !1 && n.setActiveElementIdList([a.id]), await z(), JSON.parse(JSON.stringify(a));
2431
+ }, j = (e, t, n) => {
2432
+ var m, C;
2433
+ const u = !!n.slideId || n.slideIndex !== void 0, r = E(e, n), o = n.elementId || (t.activeElementIdList.length === 1 ? t.activeElementIdList[0] : t.handleElementId);
2426
2434
  if (!o) return null;
2427
- if (p || !n.elementId) {
2435
+ if (u || !n.elementId) {
2428
2436
  if (r === -1) return null;
2429
- const a = (S = e.slides[r]) == null ? void 0 : S.elements.find((f) => f.id === o);
2437
+ const a = (m = e.slides[r]) == null ? void 0 : m.elements.find((f) => f.id === o);
2430
2438
  return (a == null ? void 0 : a.type) === "image" ? { slideIndex: r, element: a } : null;
2431
2439
  }
2432
2440
  const l = (C = e.slides[e.slideIndex]) == null ? void 0 : C.elements.find((a) => a.id === o);
2433
2441
  if ((l == null ? void 0 : l.type) === "image") return { slideIndex: e.slideIndex, element: l };
2434
2442
  for (let a = 0; a < e.slides.length; a++) {
2435
- const f = e.slides[a].elements.find((I) => I.id === o);
2443
+ const f = e.slides[a].elements.find((k) => k.id === o);
2436
2444
  if ((f == null ? void 0 : f.type) === "image") return { slideIndex: a, element: f };
2437
2445
  }
2438
2446
  return null;
2439
2447
  };
2440
2448
  return c({
2441
2449
  getSlides: () => {
2442
- const e = T();
2450
+ const e = w();
2443
2451
  return e ? JSON.parse(JSON.stringify(e.slides)) : [];
2444
2452
  },
2445
2453
  getSelectedElements: () => {
2446
- const e = R();
2454
+ const e = O();
2447
2455
  return e ? JSON.parse(JSON.stringify(e.activeElementList)) : [];
2448
2456
  },
2449
2457
  setSlides: (e) => {
2450
- const t = T();
2458
+ const t = w();
2451
2459
  t && t.setSlides(e);
2452
2460
  },
2453
2461
  startScreening: () => {
2454
- if (!g || !P) return;
2455
- P(g).setScreening(!0);
2462
+ if (!g || !L) return;
2463
+ L(g).setScreening(!0);
2456
2464
  },
2457
2465
  getCurrentIndex: () => {
2458
- const e = T();
2466
+ const e = w();
2459
2467
  return e ? e.slideIndex : 0;
2460
2468
  },
2461
- insertImage: J,
2469
+ insertImage: q,
2462
2470
  replaceImage: async (e) => {
2463
- if (!e.src || !await O()) return null;
2464
- const t = T(), n = R();
2471
+ if (!e.src || !await B()) return null;
2472
+ const t = w(), n = O();
2465
2473
  if (!t || !n || !t.slides.length) return null;
2466
- const p = _(t, n, e);
2467
- if (!p) return null;
2468
- const { slideIndex: r, element: o } = p, l = { src: e.src };
2474
+ const u = j(t, n, e);
2475
+ if (!u) return null;
2476
+ const { slideIndex: r, element: o } = u, l = { src: e.src };
2469
2477
  if (e.fixedRatio !== void 0 && (l.fixedRatio = e.fixedRatio), e.resetClip && (l.clip = void 0), !(e.keepSize === !0 && e.width === void 0 && e.height === void 0)) {
2470
- const a = await B(e.src), f = y(e.width, o.width);
2471
- let I = y(e.height, o.height);
2472
- e.height === void 0 && (a != null && a.width) && a.height && (I = f * a.height / a.width), l.width = f, l.height = I, l.left = o.left, l.top = o.top, l.clip = void 0;
2478
+ const a = await D(e.src), f = I(e.width, o.width);
2479
+ let k = I(e.height, o.height);
2480
+ e.height === void 0 && (a != null && a.width) && a.height && (k = f * a.height / a.width), l.width = f, l.height = k, l.left = o.left, l.top = o.top, l.clip = void 0;
2473
2481
  }
2474
2482
  const C = t.slides[r].id;
2475
- return t.updateElement({ id: o.id, props: l, slideId: C }), t.slideIndex !== r && t.updateSlideIndex(r), e.select !== !1 && n.setActiveElementIdList([o.id]), await E(), JSON.parse(JSON.stringify({ ...o, ...l }));
2483
+ return t.updateElement({ id: o.id, props: l, slideId: C }), t.slideIndex !== r && t.updateSlideIndex(r), e.select !== !1 && n.setActiveElementIdList([o.id]), await z(), JSON.parse(JSON.stringify({ ...o, ...l }));
2476
2484
  }
2477
- }), (e, t) => (K(), $("div", {
2485
+ }), (e, t) => (oe(), ie("div", {
2478
2486
  ref_key: "containerRef",
2479
- ref: h,
2487
+ ref: b,
2480
2488
  class: "lt-ppt-container",
2481
- style: ee(M.value),
2482
- onImageAiEntryClick: H
2489
+ style: ne(G.value),
2490
+ onImageAiEntryClick: X
2483
2491
  }, null, 36));
2484
2492
  }
2485
- }), ae = (d, c) => {
2493
+ }), ce = (d, c) => {
2486
2494
  const s = d.__vccOpts || d;
2487
- for (const [i, u] of c)
2488
- s[i] = u;
2495
+ for (const [i, p] of c)
2496
+ s[i] = p;
2489
2497
  return s;
2490
- }, pe = /* @__PURE__ */ ae(le, [["__scopeId", "data-v-aa99033b"]]), re = [
2498
+ }, Se = /* @__PURE__ */ ce(se, [["__scopeId", "data-v-6903105f"]]), ue = [
2491
2499
  "SourceHanSans",
2492
2500
  "SourceHanSerif",
2493
2501
  "WenDingPLSongTi",
@@ -2516,18 +2524,18 @@ const le = /* @__PURE__ */ Z({
2516
2524
  "Montserrat",
2517
2525
  "SourceSansPro",
2518
2526
  "Merriweather"
2519
- ], ge = (d = "/fonts") => {
2527
+ ], Ce = (d = "/fonts") => {
2520
2528
  if (typeof document > "u" || !document.head) return;
2521
2529
  const c = d.replace(/\/$/, ""), s = document.createElement("style");
2522
- s.textContent = re.map(
2530
+ s.textContent = ue.map(
2523
2531
  (i) => `@font-face { font-display: swap; font-family: ${i}; src: url('${c}/${i}.woff2') format('woff2'); }`
2524
2532
  ).join(`
2525
2533
  `), document.head.appendChild(s);
2526
2534
  };
2527
2535
  export {
2528
- pe as L,
2529
- ae as _,
2530
- ue as c,
2531
- ge as l,
2532
- ce as u
2536
+ Se as L,
2537
+ ce as _,
2538
+ me as c,
2539
+ Ce as l,
2540
+ he as u
2533
2541
  };