@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.
- package/dist/react/{CopyPaste-PPDS3AD6.js → CopyPaste-N4U2NTQT.js} +5 -5
- package/dist/react/{EventDispatcher-UV7LFSAS.js → EventDispatcher-J657SDW4.js} +12 -12
- package/dist/react/{EventDispatcher-UV7LFSAS.js.map → EventDispatcher-J657SDW4.js.map} +1 -1
- package/dist/react/{Frame-DELCMYV6.js → Frame-NHPESH4Y.js} +2 -2
- package/dist/react/IconShape-RN5HJDUF.js +10 -0
- package/dist/react/ImageShape-L7U64AVP.js +10 -0
- package/dist/react/Line-LPRTGPUQ.js +10 -0
- package/dist/react/{SceneSerializer-H6KMQCO2.js → SceneSerializer-Y6QABGZY.js} +5 -5
- package/dist/react/{Selection-CFWRGVKH.js → Selection-GCZWCNAR.js} +3 -3
- package/dist/react/{SketchEngine-UFLZJQXS.js → SketchEngine-PCMCE63L.js} +19 -19
- package/dist/react/{arrowTool-DO327FKU.js → arrowTool-UN3TNJFP.js} +2 -2
- package/dist/react/{chunk-O7KXLFZN.js → chunk-3FCIBY54.js} +2 -2
- package/dist/react/{chunk-6LWUR7XB.js → chunk-3PFVMNDJ.js} +3 -3
- package/dist/react/{chunk-6LWUR7XB.js.map → chunk-3PFVMNDJ.js.map} +1 -1
- package/dist/react/{chunk-2ALS5JGS.js → chunk-5XGQ3CMT.js} +2 -2
- package/dist/react/{chunk-KZBKYHZO.js → chunk-7NHZYKYB.js} +3 -3
- package/dist/react/{chunk-KZBKYHZO.js.map → chunk-7NHZYKYB.js.map} +1 -1
- package/dist/react/{chunk-I7TVGJFF.js → chunk-7WXEWDRL.js} +3 -3
- package/dist/react/{chunk-I7TVGJFF.js.map → chunk-7WXEWDRL.js.map} +1 -1
- package/dist/react/{chunk-CGMUXYPJ.js → chunk-JVHZVV5U.js} +3 -3
- package/dist/react/{chunk-CGMUXYPJ.js.map → chunk-JVHZVV5U.js.map} +1 -1
- package/dist/react/{chunk-37PF7FG2.js → chunk-KACRJ6AJ.js} +2 -2
- package/dist/react/{chunk-X5ENBMGL.js → chunk-KXLNEFN5.js} +2 -2
- package/dist/react/{chunk-X5ENBMGL.js.map → chunk-KXLNEFN5.js.map} +1 -1
- package/dist/react/{chunk-DODPOWNX.js → chunk-P5476S5I.js} +3 -3
- package/dist/react/{chunk-DODPOWNX.js.map → chunk-P5476S5I.js.map} +1 -1
- package/dist/react/{chunk-BOZEDUAF.js → chunk-TAJ5E6KI.js} +3 -3
- package/dist/react/chunk-TAJ5E6KI.js.map +7 -0
- package/dist/react/{chunk-KC26KJW4.js → chunk-UERV53R7.js} +2 -2
- package/dist/react/{chunk-7DD2JRBC.js → chunk-ULZW5PXM.js} +2 -2
- package/dist/react/{chunk-RK3NVAER.js → chunk-YHQ4ZAJQ.js} +4 -4
- package/dist/react/{chunk-RK3NVAER.js.map → chunk-YHQ4ZAJQ.js.map} +1 -1
- package/dist/react/{circleTool-NK4RVDAR.js → circleTool-YDTQDGYX.js} +3 -3
- package/dist/react/{codeTool-3WF4HEOW.js → codeTool-U6SYKHHD.js} +3 -3
- package/dist/react/{frameTool-VCNV2NG2.js → frameTool-VRI7OODN.js} +2 -2
- package/dist/react/{freehandTool-TBAOD46K.js → freehandTool-2ICCQHVY.js} +3 -3
- package/dist/react/{iconTool-65JCAKYF.js → iconTool-32D5NJ4I.js} +3 -3
- package/dist/react/{imageTool-UQZUBOK2.js → imageTool-Z6Y4OXBG.js} +3 -3
- package/dist/react/index.js +21 -9
- package/dist/react/index.js.map +2 -2
- package/dist/react/{lineTool-762KBYOM.js → lineTool-BUWVQ666.js} +3 -3
- package/dist/react/{rectangleTool-IQK3HZK6.js → rectangleTool-NJYG6Y6L.js} +3 -3
- package/dist/react/styles.css +4 -0
- package/dist/react/{textTool-ITG2SBJK.js → textTool-CIJCF4Z3.js} +4 -4
- package/package.json +1 -1
- package/src/react/components/sidebars/TextSidebar.jsx +10 -4
- package/src/react/store/useUIStore.js +1 -1
- package/src/react/styles.css +13 -0
- package/src/react/utils/canvasBackgrounds.js +11 -2
- package/src/shapes/Line.js +2 -2
- package/src/tools/arrowTool.js +1 -1
- package/src/tools/circleTool.js +1 -1
- package/src/tools/codeTool.js +1 -1
- package/src/tools/freehandTool.js +1 -1
- package/src/tools/lineTool.js +1 -1
- package/src/tools/rectangleTool.js +1 -1
- package/src/tools/shapeRecognitionTool.js +1 -1
- package/src/tools/textTool.js +1 -1
- package/dist/react/IconShape-PZHMZSLR.js +0 -10
- package/dist/react/ImageShape-ZMBZARRI.js +0 -10
- package/dist/react/Line-VPVPL6ET.js +0 -10
- package/dist/react/chunk-BOZEDUAF.js.map +0 -7
- /package/dist/react/{CopyPaste-PPDS3AD6.js.map → CopyPaste-N4U2NTQT.js.map} +0 -0
- /package/dist/react/{Frame-DELCMYV6.js.map → Frame-NHPESH4Y.js.map} +0 -0
- /package/dist/react/{IconShape-PZHMZSLR.js.map → IconShape-RN5HJDUF.js.map} +0 -0
- /package/dist/react/{ImageShape-ZMBZARRI.js.map → ImageShape-L7U64AVP.js.map} +0 -0
- /package/dist/react/{Line-VPVPL6ET.js.map → Line-LPRTGPUQ.js.map} +0 -0
- /package/dist/react/{SceneSerializer-H6KMQCO2.js.map → SceneSerializer-Y6QABGZY.js.map} +0 -0
- /package/dist/react/{Selection-CFWRGVKH.js.map → Selection-GCZWCNAR.js.map} +0 -0
- /package/dist/react/{SketchEngine-UFLZJQXS.js.map → SketchEngine-PCMCE63L.js.map} +0 -0
- /package/dist/react/{arrowTool-DO327FKU.js.map → arrowTool-UN3TNJFP.js.map} +0 -0
- /package/dist/react/{chunk-O7KXLFZN.js.map → chunk-3FCIBY54.js.map} +0 -0
- /package/dist/react/{chunk-2ALS5JGS.js.map → chunk-5XGQ3CMT.js.map} +0 -0
- /package/dist/react/{chunk-37PF7FG2.js.map → chunk-KACRJ6AJ.js.map} +0 -0
- /package/dist/react/{chunk-KC26KJW4.js.map → chunk-UERV53R7.js.map} +0 -0
- /package/dist/react/{chunk-7DD2JRBC.js.map → chunk-ULZW5PXM.js.map} +0 -0
- /package/dist/react/{circleTool-NK4RVDAR.js.map → circleTool-YDTQDGYX.js.map} +0 -0
- /package/dist/react/{codeTool-3WF4HEOW.js.map → codeTool-U6SYKHHD.js.map} +0 -0
- /package/dist/react/{frameTool-VCNV2NG2.js.map → frameTool-VRI7OODN.js.map} +0 -0
- /package/dist/react/{freehandTool-TBAOD46K.js.map → freehandTool-2ICCQHVY.js.map} +0 -0
- /package/dist/react/{iconTool-65JCAKYF.js.map → iconTool-32D5NJ4I.js.map} +0 -0
- /package/dist/react/{imageTool-UQZUBOK2.js.map → imageTool-Z6Y4OXBG.js.map} +0 -0
- /package/dist/react/{lineTool-762KBYOM.js.map → lineTool-BUWVQ666.js.map} +0 -0
- /package/dist/react/{rectangleTool-IQK3HZK6.js.map → rectangleTool-NJYG6Y6L.js.map} +0 -0
- /package/dist/react/{textTool-ITG2SBJK.js.map → textTool-CIJCF4Z3.js.map} +0 -0
package/dist/react/index.js
CHANGED
|
@@ -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: "#
|
|
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: "#
|
|
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" ? "#
|
|
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-
|
|
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 = ["#
|
|
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
|
|
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:
|
|
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 ${
|
|
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-
|
|
5121
|
+
const m = await import("./SceneSerializer-Y6QABGZY.js");
|
|
5110
5122
|
_saveScene = m.saveScene;
|
|
5111
5123
|
_loadScene = m.loadScene;
|
|
5112
5124
|
}
|