@lark-apaas/client-toolkit-lite 1.1.19-alpha.2 → 1.1.19-beta.0

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.
package/dist/index.cjs CHANGED
@@ -2273,12 +2273,24 @@ var Pill = /* @__PURE__ */ __name(({ variant, onClose, showClose = false }) => {
2273
2273
  }, "Pill");
2274
2274
  var MenuRow = /* @__PURE__ */ __name(({ icon, label, fontSize, onClick }) => {
2275
2275
  const [hover, setHover] = (0, import_react6.useState)(false);
2276
+ const rowRef = (0, import_react6.useRef)(null);
2277
+ (0, import_react6.useEffect)(() => {
2278
+ const el = rowRef.current;
2279
+ if (!el) return;
2280
+ const enter = /* @__PURE__ */ __name(() => setHover(true), "enter");
2281
+ const leave = /* @__PURE__ */ __name(() => setHover(false), "leave");
2282
+ el.addEventListener("mouseenter", enter);
2283
+ el.addEventListener("mouseleave", leave);
2284
+ return () => {
2285
+ el.removeEventListener("mouseenter", enter);
2286
+ el.removeEventListener("mouseleave", leave);
2287
+ };
2288
+ }, []);
2276
2289
  return /* @__PURE__ */ import_react6.default.createElement("div", {
2290
+ ref: rowRef,
2277
2291
  role: "menuitem",
2278
2292
  "data-label": label,
2279
2293
  onClick,
2280
- onMouseEnter: /* @__PURE__ */ __name(() => setHover(true), "onMouseEnter"),
2281
- onMouseLeave: /* @__PURE__ */ __name(() => setHover(false), "onMouseLeave"),
2282
2294
  style: {
2283
2295
  boxSizing: "border-box",
2284
2296
  display: "flex",
@@ -2421,23 +2433,35 @@ var ShadowRootUI = /* @__PURE__ */ __name(({ shadowRoot }) => {
2421
2433
  }, "ShadowRootUI");
2422
2434
  var WatermarkContent = /* @__PURE__ */ __name(({ isMobile: isMobile2, onClose, portalContainer }) => {
2423
2435
  const [open, setOpen] = (0, import_react6.useState)(false);
2424
- const timer = (0, import_react6.useRef)(null);
2425
- (0, import_react6.useEffect)(() => () => {
2426
- if (timer.current) clearTimeout(timer.current);
2427
- }, []);
2436
+ const containerRef = (0, import_react6.useRef)(null);
2437
+ (0, import_react6.useEffect)(() => {
2438
+ if (isMobile2) return;
2439
+ const el = containerRef.current;
2440
+ if (!el) return;
2441
+ let leaveTimer = null;
2442
+ const enter = /* @__PURE__ */ __name(() => {
2443
+ if (leaveTimer) clearTimeout(leaveTimer);
2444
+ setOpen(true);
2445
+ }, "enter");
2446
+ const leave = /* @__PURE__ */ __name(() => {
2447
+ leaveTimer = setTimeout(() => setOpen(false), 100);
2448
+ }, "leave");
2449
+ el.addEventListener("mouseenter", enter);
2450
+ el.addEventListener("mouseleave", leave);
2451
+ return () => {
2452
+ if (leaveTimer) clearTimeout(leaveTimer);
2453
+ el.removeEventListener("mouseenter", enter);
2454
+ el.removeEventListener("mouseleave", leave);
2455
+ };
2456
+ }, [
2457
+ isMobile2
2458
+ ]);
2428
2459
  if (isMobile2) {
2429
2460
  return /* @__PURE__ */ import_react6.default.createElement(MobileWatermark, {
2430
2461
  onDontShow: onClose,
2431
2462
  portalContainer
2432
2463
  });
2433
2464
  }
2434
- const enter = /* @__PURE__ */ __name(() => {
2435
- if (timer.current) clearTimeout(timer.current);
2436
- setOpen(true);
2437
- }, "enter");
2438
- const leave = /* @__PURE__ */ __name(() => {
2439
- timer.current = setTimeout(() => setOpen(false), 100);
2440
- }, "leave");
2441
2465
  const desktopItems = [];
2442
2466
  if (REPORT_ENABLED) {
2443
2467
  desktopItems.push({
@@ -2447,9 +2471,8 @@ var WatermarkContent = /* @__PURE__ */ __name(({ isMobile: isMobile2, onClose, p
2447
2471
  });
2448
2472
  }
2449
2473
  return /* @__PURE__ */ import_react6.default.createElement("div", {
2474
+ ref: containerRef,
2450
2475
  "data-custom-element": "doubao-watermark",
2451
- onMouseEnter: enter,
2452
- onMouseLeave: leave,
2453
2476
  style: {
2454
2477
  display: "flex",
2455
2478
  flexDirection: "column",
@@ -2476,14 +2499,20 @@ var Watermark = /* @__PURE__ */ __name(() => {
2476
2499
  const shadow = host.shadowRoot ?? host.attachShadow({
2477
2500
  mode: "open"
2478
2501
  });
2479
- const root = (0, import_client.createRoot)(shadow);
2502
+ const wrapper = document.createElement("div");
2503
+ shadow.appendChild(wrapper);
2504
+ const root = (0, import_client.createRoot)(wrapper);
2480
2505
  rootRef.current = root;
2481
2506
  root.render(/* @__PURE__ */ import_react6.default.createElement(ShadowRootUI, {
2482
2507
  shadowRoot: shadow
2483
2508
  }));
2484
2509
  return () => {
2485
- const r = root;
2486
- queueMicrotask(() => r.unmount());
2510
+ const oldRoot = root;
2511
+ const oldWrapper = wrapper;
2512
+ queueMicrotask(() => {
2513
+ oldRoot.unmount();
2514
+ oldWrapper.remove();
2515
+ });
2487
2516
  rootRef.current = null;
2488
2517
  };
2489
2518
  }, []);