@elixpo/lixsketch 5.6.8 → 5.6.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 (85) hide show
  1. package/dist/react/{CopyPaste-PPDS3AD6.js → CopyPaste-N4U2NTQT.js} +5 -5
  2. package/dist/react/{EventDispatcher-UV7LFSAS.js → EventDispatcher-J657SDW4.js} +12 -12
  3. package/dist/react/{EventDispatcher-UV7LFSAS.js.map → EventDispatcher-J657SDW4.js.map} +1 -1
  4. package/dist/react/{Frame-DELCMYV6.js → Frame-NHPESH4Y.js} +2 -2
  5. package/dist/react/IconShape-RN5HJDUF.js +10 -0
  6. package/dist/react/ImageShape-L7U64AVP.js +10 -0
  7. package/dist/react/Line-LPRTGPUQ.js +10 -0
  8. package/dist/react/{SceneSerializer-H6KMQCO2.js → SceneSerializer-Y6QABGZY.js} +5 -5
  9. package/dist/react/{Selection-CFWRGVKH.js → Selection-GCZWCNAR.js} +3 -3
  10. package/dist/react/{SketchEngine-UFLZJQXS.js → SketchEngine-PCMCE63L.js} +19 -19
  11. package/dist/react/{arrowTool-DO327FKU.js → arrowTool-UN3TNJFP.js} +2 -2
  12. package/dist/react/{chunk-O7KXLFZN.js → chunk-3FCIBY54.js} +2 -2
  13. package/dist/react/{chunk-6LWUR7XB.js → chunk-3PFVMNDJ.js} +3 -3
  14. package/dist/react/{chunk-6LWUR7XB.js.map → chunk-3PFVMNDJ.js.map} +1 -1
  15. package/dist/react/{chunk-2ALS5JGS.js → chunk-5XGQ3CMT.js} +2 -2
  16. package/dist/react/{chunk-KZBKYHZO.js → chunk-7NHZYKYB.js} +3 -3
  17. package/dist/react/{chunk-KZBKYHZO.js.map → chunk-7NHZYKYB.js.map} +1 -1
  18. package/dist/react/{chunk-I7TVGJFF.js → chunk-7WXEWDRL.js} +3 -3
  19. package/dist/react/{chunk-I7TVGJFF.js.map → chunk-7WXEWDRL.js.map} +1 -1
  20. package/dist/react/{chunk-CGMUXYPJ.js → chunk-JVHZVV5U.js} +3 -3
  21. package/dist/react/{chunk-CGMUXYPJ.js.map → chunk-JVHZVV5U.js.map} +1 -1
  22. package/dist/react/{chunk-37PF7FG2.js → chunk-KACRJ6AJ.js} +2 -2
  23. package/dist/react/{chunk-X5ENBMGL.js → chunk-KXLNEFN5.js} +2 -2
  24. package/dist/react/{chunk-X5ENBMGL.js.map → chunk-KXLNEFN5.js.map} +1 -1
  25. package/dist/react/{chunk-DODPOWNX.js → chunk-P5476S5I.js} +3 -3
  26. package/dist/react/{chunk-DODPOWNX.js.map → chunk-P5476S5I.js.map} +1 -1
  27. package/dist/react/{chunk-BOZEDUAF.js → chunk-TAJ5E6KI.js} +3 -3
  28. package/dist/react/chunk-TAJ5E6KI.js.map +7 -0
  29. package/dist/react/{chunk-KC26KJW4.js → chunk-UERV53R7.js} +2 -2
  30. package/dist/react/{chunk-7DD2JRBC.js → chunk-ULZW5PXM.js} +2 -2
  31. package/dist/react/{chunk-RK3NVAER.js → chunk-YHQ4ZAJQ.js} +4 -4
  32. package/dist/react/{chunk-RK3NVAER.js.map → chunk-YHQ4ZAJQ.js.map} +1 -1
  33. package/dist/react/{circleTool-NK4RVDAR.js → circleTool-YDTQDGYX.js} +3 -3
  34. package/dist/react/{codeTool-3WF4HEOW.js → codeTool-U6SYKHHD.js} +3 -3
  35. package/dist/react/{frameTool-VCNV2NG2.js → frameTool-VRI7OODN.js} +2 -2
  36. package/dist/react/{freehandTool-TBAOD46K.js → freehandTool-2ICCQHVY.js} +3 -3
  37. package/dist/react/{iconTool-65JCAKYF.js → iconTool-32D5NJ4I.js} +3 -3
  38. package/dist/react/{imageTool-UQZUBOK2.js → imageTool-Z6Y4OXBG.js} +3 -3
  39. package/dist/react/index.js +21 -9
  40. package/dist/react/index.js.map +2 -2
  41. package/dist/react/{lineTool-762KBYOM.js → lineTool-BUWVQ666.js} +3 -3
  42. package/dist/react/{rectangleTool-IQK3HZK6.js → rectangleTool-NJYG6Y6L.js} +3 -3
  43. package/dist/react/styles.css +4 -0
  44. package/dist/react/{textTool-ITG2SBJK.js → textTool-CIJCF4Z3.js} +4 -4
  45. package/package.json +1 -1
  46. package/src/react/components/sidebars/TextSidebar.jsx +10 -4
  47. package/src/react/store/useUIStore.js +1 -1
  48. package/src/react/styles.css +13 -0
  49. package/src/react/utils/canvasBackgrounds.js +11 -2
  50. package/src/shapes/Line.js +2 -2
  51. package/src/tools/arrowTool.js +1 -1
  52. package/src/tools/circleTool.js +1 -1
  53. package/src/tools/codeTool.js +1 -1
  54. package/src/tools/freehandTool.js +1 -1
  55. package/src/tools/lineTool.js +1 -1
  56. package/src/tools/rectangleTool.js +1 -1
  57. package/src/tools/shapeRecognitionTool.js +1 -1
  58. package/src/tools/textTool.js +1 -1
  59. package/dist/react/IconShape-PZHMZSLR.js +0 -10
  60. package/dist/react/ImageShape-ZMBZARRI.js +0 -10
  61. package/dist/react/Line-VPVPL6ET.js +0 -10
  62. package/dist/react/chunk-BOZEDUAF.js.map +0 -7
  63. /package/dist/react/{CopyPaste-PPDS3AD6.js.map → CopyPaste-N4U2NTQT.js.map} +0 -0
  64. /package/dist/react/{Frame-DELCMYV6.js.map → Frame-NHPESH4Y.js.map} +0 -0
  65. /package/dist/react/{IconShape-PZHMZSLR.js.map → IconShape-RN5HJDUF.js.map} +0 -0
  66. /package/dist/react/{ImageShape-ZMBZARRI.js.map → ImageShape-L7U64AVP.js.map} +0 -0
  67. /package/dist/react/{Line-VPVPL6ET.js.map → Line-LPRTGPUQ.js.map} +0 -0
  68. /package/dist/react/{SceneSerializer-H6KMQCO2.js.map → SceneSerializer-Y6QABGZY.js.map} +0 -0
  69. /package/dist/react/{Selection-CFWRGVKH.js.map → Selection-GCZWCNAR.js.map} +0 -0
  70. /package/dist/react/{SketchEngine-UFLZJQXS.js.map → SketchEngine-PCMCE63L.js.map} +0 -0
  71. /package/dist/react/{arrowTool-DO327FKU.js.map → arrowTool-UN3TNJFP.js.map} +0 -0
  72. /package/dist/react/{chunk-O7KXLFZN.js.map → chunk-3FCIBY54.js.map} +0 -0
  73. /package/dist/react/{chunk-2ALS5JGS.js.map → chunk-5XGQ3CMT.js.map} +0 -0
  74. /package/dist/react/{chunk-37PF7FG2.js.map → chunk-KACRJ6AJ.js.map} +0 -0
  75. /package/dist/react/{chunk-KC26KJW4.js.map → chunk-UERV53R7.js.map} +0 -0
  76. /package/dist/react/{chunk-7DD2JRBC.js.map → chunk-ULZW5PXM.js.map} +0 -0
  77. /package/dist/react/{circleTool-NK4RVDAR.js.map → circleTool-YDTQDGYX.js.map} +0 -0
  78. /package/dist/react/{codeTool-3WF4HEOW.js.map → codeTool-U6SYKHHD.js.map} +0 -0
  79. /package/dist/react/{frameTool-VCNV2NG2.js.map → frameTool-VRI7OODN.js.map} +0 -0
  80. /package/dist/react/{freehandTool-TBAOD46K.js.map → freehandTool-2ICCQHVY.js.map} +0 -0
  81. /package/dist/react/{iconTool-65JCAKYF.js.map → iconTool-32D5NJ4I.js.map} +0 -0
  82. /package/dist/react/{imageTool-UQZUBOK2.js.map → imageTool-Z6Y4OXBG.js.map} +0 -0
  83. /package/dist/react/{lineTool-762KBYOM.js.map → lineTool-BUWVQ666.js.map} +0 -0
  84. /package/dist/react/{rectangleTool-IQK3HZK6.js.map → rectangleTool-NJYG6Y6L.js.map} +0 -0
  85. /package/dist/react/{textTool-ITG2SBJK.js.map → textTool-CIJCF4Z3.js.map} +0 -0
@@ -20,7 +20,7 @@ import { create } from "zustand";
20
20
  // src/react/utils/canvasBackgrounds.js
21
21
  var CANVAS_BACKGROUNDS = {
22
22
  light: [
23
- { color: "#FBE4DB", label: "menu.canvasBg.white" },
23
+ { color: "#FFFFFF", label: "menu.canvasBg.white" },
24
24
  { color: "#F6DBC0", label: "menu.canvasBg.cream" },
25
25
  { color: "#F5EED2", label: "menu.canvasBg.paper" },
26
26
  { color: "#F5F2ED", label: "menu.canvasBg.skyTint" },
@@ -34,12 +34,21 @@ var CANVAS_BACKGROUNDS = {
34
34
  { color: "#1B1615", label: "menu.canvasBg.darkBrown" }
35
35
  ]
36
36
  };
37
- var DEFAULT_CANVAS_BACKGROUNDS = { dark: "#15111f", light: "#F5F2ED" };
37
+ var DEFAULT_CANVAS_BACKGROUNDS = { dark: "#15111f", light: "#FFFFFF" };
38
+ var LEGACY_LIGHT_DEFAULT = "#F5F2ED";
39
+ var LIGHT_DEFAULT_MIGRATION_KEY = "lixsketch-canvas-light-default-v2";
38
40
  var canvasBackgroundStorageKey = (theme) => `lixsketch-canvas-background-${theme}`;
39
41
  function readCanvasBackground(theme, storage) {
40
42
  const resolved = theme === "light" ? "light" : "dark";
41
43
  try {
42
44
  const stored = storage?.getItem(canvasBackgroundStorageKey(resolved));
45
+ if (resolved === "light" && storage?.getItem(LIGHT_DEFAULT_MIGRATION_KEY) !== "1") {
46
+ storage?.setItem?.(LIGHT_DEFAULT_MIGRATION_KEY, "1");
47
+ if (stored?.toLowerCase() === LEGACY_LIGHT_DEFAULT.toLowerCase()) {
48
+ storage?.setItem?.(canvasBackgroundStorageKey(resolved), DEFAULT_CANVAS_BACKGROUNDS.light);
49
+ return DEFAULT_CANVAS_BACKGROUNDS.light;
50
+ }
51
+ }
43
52
  const match = CANVAS_BACKGROUNDS[resolved].find(({ color }) => color.toLowerCase() === stored?.toLowerCase());
44
53
  if (match) return match.color;
45
54
  } catch {
@@ -450,7 +459,7 @@ function applyTheme(theme) {
450
459
  body.classList.remove("theme-dark", "theme-light");
451
460
  body.classList.add(`theme-${resolved}`);
452
461
  const svgEl = window.svg;
453
- if (svgEl) svgEl.style.background = resolved === "light" ? "#fbf9fd" : "#15111f";
462
+ if (svgEl) svgEl.style.background = resolved === "light" ? "#ffffff" : "#15111f";
454
463
  }
455
464
  var useUIStore = create2((set, get) => ({
456
465
  // --- Modals ---
@@ -625,7 +634,7 @@ function useSketchEngine(svgRef, ready = true) {
625
634
  setZoom: (zoom) => useSketchStore_default.setState({ zoom }),
626
635
  getState: () => useSketchStore_default.getState()
627
636
  };
628
- const { SketchEngine } = await import("./SketchEngine-UFLZJQXS.js");
637
+ const { SketchEngine } = await import("./SketchEngine-PCMCE63L.js");
629
638
  if (cancelled) return;
630
639
  const engine = new SketchEngine(svgRef.current);
631
640
  await engine.init();
@@ -2610,7 +2619,7 @@ function PaintbrushSidebar() {
2610
2619
  // src/react/components/sidebars/TextSidebar.jsx
2611
2620
  import { useState as useState12, useCallback as useCallback8, useEffect as useEffect8 } from "react";
2612
2621
  import { Fragment as Fragment6, jsx as jsx13, jsxs as jsxs13 } from "react/jsx-runtime";
2613
- var TEXT_COLORS = ["#1a1a20", "#ffffff", "#FF8383", "#3A994C", "#56A2E8", "#FFD700", "#FF69B4", "#A855F7"];
2622
+ var TEXT_COLORS = ["#000000", "#ffffff", "#FF8383", "#3A994C", "#56A2E8", "#FFD700", "#FF69B4", "#A855F7"];
2614
2623
  var FONTS = [
2615
2624
  { value: "lixFont", label: "Lix" },
2616
2625
  { value: "lixCode", label: "Code" },
@@ -2644,7 +2653,10 @@ function TextSidebar() {
2644
2653
  const { t } = useTranslation();
2645
2654
  const activeTool = useSketchStore_default((s) => s.activeTool);
2646
2655
  const selectedShapeSidebar = useSketchStore_default((s) => s.selectedShapeSidebar);
2647
- const [textColor, setTextColor] = useState12("#fff");
2656
+ const theme = useUIStore_default((s) => s.theme);
2657
+ const resolvedTheme = theme === "system" && typeof window !== "undefined" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : theme;
2658
+ const [textColor, setTextColor] = useState12(null);
2659
+ const displayedTextColor = textColor ?? (resolvedTheme === "light" ? "#000000" : "#ffffff");
2648
2660
  const [fontSize, setFontSize] = useState12("S");
2649
2661
  const [font, setFont] = useState12("lixFont");
2650
2662
  const [codeMode, setCodeMode] = useState12(false);
@@ -2691,14 +2703,14 @@ function TextSidebar() {
2691
2703
  ToolbarButton,
2692
2704
  {
2693
2705
  tooltip: t("sidebar.textColor"),
2694
- preview: /* @__PURE__ */ jsx13("span", { className: "w-4 h-4 rounded-md border border-white/20", style: { backgroundColor: textColor } }),
2706
+ preview: /* @__PURE__ */ jsx13("span", { className: "w-4 h-4 rounded-md border border-white/20", style: { backgroundColor: displayedTextColor } }),
2695
2707
  children: [
2696
2708
  /* @__PURE__ */ jsx13("p", { className: "text-xs text-text-muted uppercase tracking-wider mb-2", children: t("sidebar.color") }),
2697
2709
  /* @__PURE__ */ jsx13("div", { className: "grid grid-cols-4 gap-1.5", children: TEXT_COLORS.map((c) => /* @__PURE__ */ jsx13(
2698
2710
  "button",
2699
2711
  {
2700
2712
  onClick: () => updateColor(c),
2701
- className: `w-7 h-7 rounded-md border-[1.5px] transition-all duration-100 ${textColor === c ? "border-[#7667a8] scale-110" : "border-white/[0.08] hover:border-white/20"}`,
2713
+ className: `w-7 h-7 rounded-md border-[1.5px] transition-all duration-100 ${displayedTextColor.toLowerCase() === c.toLowerCase() ? "border-[#7667a8] scale-110" : "border-white/[0.08] hover:border-white/20"}`,
2702
2714
  style: { backgroundColor: c }
2703
2715
  },
2704
2716
  c
@@ -5106,7 +5118,7 @@ var _saveScene = null;
5106
5118
  var _loadScene = null;
5107
5119
  async function ensureSceneSerializer() {
5108
5120
  if (_saveScene && _loadScene) return;
5109
- const m = await import("./SceneSerializer-H6KMQCO2.js");
5121
+ const m = await import("./SceneSerializer-Y6QABGZY.js");
5110
5122
  _saveScene = m.saveScene;
5111
5123
  _loadScene = m.loadScene;
5112
5124
  }