@qwanyx/carousel 0.1.8 → 0.1.9

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.js CHANGED
@@ -2063,15 +2063,15 @@ function LayerItemRow({
2063
2063
  "div",
2064
2064
  {
2065
2065
  className: `
2066
- flex items-center h-8 px-2 cursor-pointer select-none
2067
- ${isSelected ? "bg-blue-500/20" : "hover:bg-neutral-100"}
2066
+ flex items-center h-8 px-2 cursor-pointer select-none group
2067
+ ${isSelected ? "bg-[#4a6fa5]/40" : "hover:bg-[#3a3a3a]"}
2068
2068
  ${!layer.visible ? "opacity-50" : ""}
2069
2069
  `,
2070
2070
  style: { paddingLeft: `${depth * 16 + 8}px` },
2071
2071
  onClick: (e) => onSelect(layer.id, e.shiftKey || e.ctrlKey || e.metaKey),
2072
2072
  onDoubleClick: handleDoubleClick,
2073
2073
  children: [
2074
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-400 mr-2", style: { fontSize: 16 }, children: getObjectIcon() }),
2074
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-500 mr-2", style: { fontSize: 16 }, children: getObjectIcon() }),
2075
2075
  isEditing ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2076
2076
  "input",
2077
2077
  {
@@ -2081,10 +2081,10 @@ function LayerItemRow({
2081
2081
  onChange: (e) => setEditName(e.target.value),
2082
2082
  onBlur: handleNameSubmit,
2083
2083
  onKeyDown: handleKeyDown,
2084
- className: "flex-1 px-1 text-sm bg-white border border-blue-500 rounded outline-none",
2084
+ className: "flex-1 px-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-blue-500 rounded outline-none",
2085
2085
  onClick: (e) => e.stopPropagation()
2086
2086
  }
2087
- ) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "flex-1 text-sm text-neutral-700 truncate", children: layer.name }),
2087
+ ) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "flex-1 text-sm text-neutral-300 truncate", children: layer.name }),
2088
2088
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [
2089
2089
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
2090
2090
  "button",
@@ -2093,9 +2093,9 @@ function LayerItemRow({
2093
2093
  e.stopPropagation();
2094
2094
  onToggleVisibility(layer.id);
2095
2095
  },
2096
- className: "p-0.5 hover:bg-neutral-200 rounded",
2096
+ className: "p-0.5 hover:bg-[#4a4a4a] rounded",
2097
2097
  title: layer.visible ? "Hide" : "Show",
2098
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 14 }, children: layer.visible ? "visibility" : "visibility_off" })
2098
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 14 }, children: layer.visible ? "visibility" : "visibility_off" })
2099
2099
  }
2100
2100
  ),
2101
2101
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -2105,9 +2105,9 @@ function LayerItemRow({
2105
2105
  e.stopPropagation();
2106
2106
  onToggleLock(layer.id);
2107
2107
  },
2108
- className: "p-0.5 hover:bg-neutral-200 rounded",
2108
+ className: "p-0.5 hover:bg-[#4a4a4a] rounded",
2109
2109
  title: layer.locked ? "Unlock" : "Lock",
2110
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 14 }, children: layer.locked ? "lock" : "lock_open" })
2110
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 14 }, children: layer.locked ? "lock" : "lock_open" })
2111
2111
  }
2112
2112
  ),
2113
2113
  /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
@@ -2117,9 +2117,9 @@ function LayerItemRow({
2117
2117
  e.stopPropagation();
2118
2118
  onDelete(layer.id);
2119
2119
  },
2120
- className: "p-0.5 hover:bg-red-100 rounded",
2120
+ className: "p-0.5 hover:bg-red-900/50 rounded",
2121
2121
  title: "Delete",
2122
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-400 hover:text-red-500", style: { fontSize: 14 }, children: "delete" })
2122
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "material-icons text-neutral-500 hover:text-red-400", style: { fontSize: 14 }, children: "delete" })
2123
2123
  }
2124
2124
  )
2125
2125
  ] })
@@ -2180,7 +2180,7 @@ function LayerFolderRow({
2180
2180
  {
2181
2181
  className: `
2182
2182
  flex items-center h-8 px-2 cursor-pointer select-none
2183
- ${isSelected ? "bg-blue-500/20" : "hover:bg-neutral-100"}
2183
+ ${isSelected ? "bg-[#4a6fa5]/40" : "hover:bg-[#3a3a3a]"}
2184
2184
  ${!folder.visible ? "opacity-50" : ""}
2185
2185
  `,
2186
2186
  style: { paddingLeft: `${depth * 16 + 8}px` },
@@ -2194,11 +2194,11 @@ function LayerFolderRow({
2194
2194
  e.stopPropagation();
2195
2195
  onToggleCollapsed(folder.id);
2196
2196
  },
2197
- className: "p-0.5 hover:bg-neutral-200 rounded mr-1",
2197
+ className: "p-0.5 hover:bg-[#4a4a4a] rounded mr-1",
2198
2198
  children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
2199
2199
  "span",
2200
2200
  {
2201
- className: "material-icons text-neutral-400 transition-transform",
2201
+ className: "material-icons text-neutral-500 transition-transform",
2202
2202
  style: {
2203
2203
  fontSize: 14,
2204
2204
  transform: folder.collapsed ? "rotate(-90deg)" : "rotate(0deg)"
@@ -2218,11 +2218,11 @@ function LayerFolderRow({
2218
2218
  onChange: (e) => setEditName(e.target.value),
2219
2219
  onBlur: handleNameSubmit,
2220
2220
  onKeyDown: handleKeyDown,
2221
- className: "flex-1 px-1 text-sm bg-white border border-blue-500 rounded outline-none",
2221
+ className: "flex-1 px-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-blue-500 rounded outline-none",
2222
2222
  onClick: (e) => e.stopPropagation()
2223
2223
  }
2224
- ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "flex-1 text-sm font-medium text-neutral-800 truncate", children: folder.name }),
2225
- /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { className: "text-xs text-neutral-400 mr-2", children: [
2224
+ ) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "flex-1 text-sm font-medium text-neutral-200 truncate", children: folder.name }),
2225
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { className: "text-xs text-neutral-500 mr-2", children: [
2226
2226
  "(",
2227
2227
  folder.children.length,
2228
2228
  ")"
@@ -2235,9 +2235,9 @@ function LayerFolderRow({
2235
2235
  e.stopPropagation();
2236
2236
  onToggleVisibility(folder.id);
2237
2237
  },
2238
- className: "p-0.5 hover:bg-neutral-200 rounded",
2238
+ className: "p-0.5 hover:bg-[#4a4a4a] rounded",
2239
2239
  title: folder.visible ? "Hide" : "Show",
2240
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 14 }, children: folder.visible ? "visibility" : "visibility_off" })
2240
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 14 }, children: folder.visible ? "visibility" : "visibility_off" })
2241
2241
  }
2242
2242
  ),
2243
2243
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
@@ -2247,9 +2247,9 @@ function LayerFolderRow({
2247
2247
  e.stopPropagation();
2248
2248
  onToggleLock(folder.id);
2249
2249
  },
2250
- className: "p-0.5 hover:bg-neutral-200 rounded",
2250
+ className: "p-0.5 hover:bg-[#4a4a4a] rounded",
2251
2251
  title: folder.locked ? "Unlock" : "Lock",
2252
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 14 }, children: folder.locked ? "lock" : "lock_open" })
2252
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 14 }, children: folder.locked ? "lock" : "lock_open" })
2253
2253
  }
2254
2254
  ),
2255
2255
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
@@ -2259,9 +2259,9 @@ function LayerFolderRow({
2259
2259
  e.stopPropagation();
2260
2260
  onDelete(folder.id);
2261
2261
  },
2262
- className: "p-0.5 hover:bg-red-100 rounded",
2262
+ className: "p-0.5 hover:bg-red-900/50 rounded",
2263
2263
  title: "Delete folder",
2264
- children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-400 hover:text-red-500", style: { fontSize: 14 }, children: "delete" })
2264
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "material-icons text-neutral-500 hover:text-red-400", style: { fontSize: 14 }, children: "delete" })
2265
2265
  }
2266
2266
  )
2267
2267
  ] })
@@ -2321,17 +2321,17 @@ function LayerPanel({
2321
2321
  layer.id
2322
2322
  );
2323
2323
  };
2324
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-col h-full bg-white border-r border-neutral-200", children: [
2325
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-neutral-200", children: [
2326
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { className: "text-sm font-semibold text-neutral-700", children: "Layers" }),
2324
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-col h-full bg-[#232323] border-r border-[#3a3a3a]", children: [
2325
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex items-center justify-between px-3 py-2 border-b border-[#3a3a3a]", children: [
2326
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { className: "text-sm font-semibold text-neutral-300", children: "Layers" }),
2327
2327
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "relative", children: [
2328
2328
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
2329
2329
  "button",
2330
2330
  {
2331
2331
  onClick: () => setShowAddMenu(!showAddMenu),
2332
- className: "p-1 hover:bg-neutral-100 rounded",
2332
+ className: "p-1 hover:bg-[#3a3a3a] rounded",
2333
2333
  title: "Add layer",
2334
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 18 }, children: "add" })
2334
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 18 }, children: "add" })
2335
2335
  }
2336
2336
  ),
2337
2337
  showAddMenu && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_jsx_runtime6.Fragment, { children: [
@@ -2342,7 +2342,7 @@ function LayerPanel({
2342
2342
  onClick: () => setShowAddMenu(false)
2343
2343
  }
2344
2344
  ),
2345
- /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "absolute right-0 top-full mt-1 bg-white rounded-lg shadow-lg border border-neutral-200 py-1 z-20 min-w-[140px]", children: [
2345
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "absolute right-0 top-full mt-1 bg-[#2a2a2a] rounded-lg shadow-lg border border-[#3a3a3a] py-1 z-20 min-w-[140px]", children: [
2346
2346
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
2347
2347
  "button",
2348
2348
  {
@@ -2350,14 +2350,14 @@ function LayerPanel({
2350
2350
  onAddFolder();
2351
2351
  setShowAddMenu(false);
2352
2352
  },
2353
- className: "w-full px-3 py-1.5 text-left text-sm hover:bg-neutral-100 flex items-center gap-2",
2353
+ className: "w-full px-3 py-1.5 text-left text-sm text-neutral-300 hover:bg-[#3a3a3a] flex items-center gap-2",
2354
2354
  children: [
2355
2355
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-amber-500", style: { fontSize: 16 }, children: "create_new_folder" }),
2356
2356
  "New Folder"
2357
2357
  ]
2358
2358
  }
2359
2359
  ),
2360
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "h-px bg-neutral-200 my-1" }),
2360
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "h-px bg-[#3a3a3a] my-1" }),
2361
2361
  /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
2362
2362
  "button",
2363
2363
  {
@@ -2365,9 +2365,9 @@ function LayerPanel({
2365
2365
  onAddItem("image");
2366
2366
  setShowAddMenu(false);
2367
2367
  },
2368
- className: "w-full px-3 py-1.5 text-left text-sm hover:bg-neutral-100 flex items-center gap-2",
2368
+ className: "w-full px-3 py-1.5 text-left text-sm text-neutral-300 hover:bg-[#3a3a3a] flex items-center gap-2",
2369
2369
  children: [
2370
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-blue-500", style: { fontSize: 16 }, children: "image" }),
2370
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-blue-400", style: { fontSize: 16 }, children: "image" }),
2371
2371
  "Image"
2372
2372
  ]
2373
2373
  }
@@ -2379,9 +2379,9 @@ function LayerPanel({
2379
2379
  onAddItem("text");
2380
2380
  setShowAddMenu(false);
2381
2381
  },
2382
- className: "w-full px-3 py-1.5 text-left text-sm hover:bg-neutral-100 flex items-center gap-2",
2382
+ className: "w-full px-3 py-1.5 text-left text-sm text-neutral-300 hover:bg-[#3a3a3a] flex items-center gap-2",
2383
2383
  children: [
2384
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-green-500", style: { fontSize: 16 }, children: "text_fields" }),
2384
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-green-400", style: { fontSize: 16 }, children: "text_fields" }),
2385
2385
  "Text"
2386
2386
  ]
2387
2387
  }
@@ -2393,9 +2393,9 @@ function LayerPanel({
2393
2393
  onAddItem("shape");
2394
2394
  setShowAddMenu(false);
2395
2395
  },
2396
- className: "w-full px-3 py-1.5 text-left text-sm hover:bg-neutral-100 flex items-center gap-2",
2396
+ className: "w-full px-3 py-1.5 text-left text-sm text-neutral-300 hover:bg-[#3a3a3a] flex items-center gap-2",
2397
2397
  children: [
2398
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-purple-500", style: { fontSize: 16 }, children: "category" }),
2398
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons text-purple-400", style: { fontSize: 16 }, children: "category" }),
2399
2399
  "Shape"
2400
2400
  ]
2401
2401
  }
@@ -2404,12 +2404,12 @@ function LayerPanel({
2404
2404
  ] })
2405
2405
  ] })
2406
2406
  ] }),
2407
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex-1 overflow-y-auto", children: layers.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-col items-center justify-center h-full text-neutral-400 text-sm", children: [
2407
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "flex-1 overflow-y-auto", children: layers.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-col items-center justify-center h-full text-neutral-500 text-sm", children: [
2408
2408
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { className: "material-icons mb-2", style: { fontSize: 32 }, children: "layers" }),
2409
2409
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { children: "No layers yet" }),
2410
2410
  /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "text-xs mt-1", children: "Click + to add a layer" })
2411
2411
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "py-1", children: layers.map((layer) => renderLayer(layer, 0)) }) }),
2412
- selectedIds.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "px-3 py-2 border-t border-neutral-200 bg-neutral-50", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { className: "text-xs text-neutral-500", children: [
2412
+ selectedIds.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "px-3 py-2 border-t border-[#3a3a3a] bg-[#1a1a1a]", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("p", { className: "text-xs text-neutral-400", children: [
2413
2413
  selectedIds.length,
2414
2414
  " layer",
2415
2415
  selectedIds.length > 1 ? "s" : "",
@@ -2468,7 +2468,7 @@ function TimelineRuler({
2468
2468
  "div",
2469
2469
  {
2470
2470
  ref: rulerRef,
2471
- className: "relative h-6 bg-neutral-100 border-b border-neutral-300 cursor-pointer select-none",
2471
+ className: "relative h-6 bg-[#1a1a1a] border-b border-[#3a3a3a] cursor-pointer select-none",
2472
2472
  style: { width: totalWidth },
2473
2473
  onClick: handleClick,
2474
2474
  children: ticks.map(({ time, isMajor }) => {
@@ -2482,14 +2482,14 @@ function TimelineRuler({
2482
2482
  /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
2483
2483
  "div",
2484
2484
  {
2485
- className: `w-px ${isMajor ? "h-4 bg-neutral-400" : "h-2 bg-neutral-300"}`,
2485
+ className: `w-px ${isMajor ? "h-4 bg-neutral-500" : "h-2 bg-neutral-600"}`,
2486
2486
  style: { marginTop: isMajor ? 0 : 8 }
2487
2487
  }
2488
2488
  ),
2489
2489
  isMajor && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
2490
2490
  "span",
2491
2491
  {
2492
- className: "absolute text-[10px] text-neutral-500 whitespace-nowrap",
2492
+ className: "absolute text-[10px] text-neutral-400 whitespace-nowrap",
2493
2493
  style: {
2494
2494
  top: 12,
2495
2495
  left: 2
@@ -2661,8 +2661,8 @@ function KeyframeTrack({
2661
2661
  {
2662
2662
  ref: trackRef,
2663
2663
  className: `
2664
- relative h-7 border-b border-neutral-200
2665
- ${isLayerSelected ? "bg-blue-500/10" : "hover:bg-neutral-50"}
2664
+ relative h-7 border-b border-[#2a2a2a]
2665
+ ${isLayerSelected ? "bg-[#4a6fa5]/20" : "hover:bg-[#2a2a2a]"}
2666
2666
  ${!layer.visible ? "opacity-50" : ""}
2667
2667
  `,
2668
2668
  style: {
@@ -2676,7 +2676,7 @@ function KeyframeTrack({
2676
2676
  {
2677
2677
  className: `
2678
2678
  absolute top-1 bottom-1 left-0 right-0 rounded
2679
- ${isFolder ? "bg-amber-100/50" : "bg-neutral-100"}
2679
+ ${isFolder ? "bg-amber-900/30" : "bg-[#2a2a2a]"}
2680
2680
  `,
2681
2681
  style: { marginLeft: depth * 16 }
2682
2682
  }
@@ -2884,14 +2884,14 @@ function Timeline({
2884
2884
  const audioHeight = 48;
2885
2885
  const totalHeight = 24 + // Ruler
2886
2886
  flatLayers.length * layerHeight + (composition.audioTracks?.length ?? 0) * audioHeight;
2887
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col h-full bg-white border-t border-neutral-200", children: [
2888
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 border-b border-neutral-200 bg-neutral-50", children: [
2887
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col h-full bg-[#1a1a1a] border-t border-[#3a3a3a]", children: [
2888
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-2 px-3 py-2 border-b border-[#3a3a3a] bg-[#232323]", children: [
2889
2889
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex items-center gap-1", children: [
2890
2890
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2891
2891
  "button",
2892
2892
  {
2893
2893
  onClick: onStop,
2894
- className: "p-1.5 hover:bg-neutral-200 rounded",
2894
+ className: "p-1.5 hover:bg-[#3a3a3a] rounded text-neutral-400 hover:text-white",
2895
2895
  title: "Stop (go to start)",
2896
2896
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons", style: { fontSize: 18 }, children: "stop" })
2897
2897
  }
@@ -2900,13 +2900,13 @@ function Timeline({
2900
2900
  "button",
2901
2901
  {
2902
2902
  onClick: isPlaying ? onPause : onPlay,
2903
- className: "p-1.5 hover:bg-neutral-200 rounded",
2903
+ className: "p-1.5 hover:bg-[#3a3a3a] rounded text-neutral-400 hover:text-white",
2904
2904
  title: isPlaying ? "Pause" : "Play",
2905
2905
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons", style: { fontSize: 18 }, children: isPlaying ? "pause" : "play_arrow" })
2906
2906
  }
2907
2907
  )
2908
2908
  ] }),
2909
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "px-2 py-1 bg-neutral-900 text-white font-mono text-sm rounded", children: [
2909
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "px-2 py-1 bg-[#0a0a0a] text-blue-400 font-mono text-sm rounded border border-[#3a3a3a]", children: [
2910
2910
  formatTimecode(currentTime),
2911
2911
  " / ",
2912
2912
  formatTimecode(composition.duration)
@@ -2917,7 +2917,7 @@ function Timeline({
2917
2917
  "button",
2918
2918
  {
2919
2919
  onClick: () => onZoomChange(Math.max(10, zoom * 0.8)),
2920
- className: "p-1 hover:bg-neutral-200 rounded",
2920
+ className: "p-1 hover:bg-[#3a3a3a] rounded text-neutral-400 hover:text-white",
2921
2921
  title: "Zoom out",
2922
2922
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons", style: { fontSize: 16 }, children: "remove" })
2923
2923
  }
@@ -2930,7 +2930,7 @@ function Timeline({
2930
2930
  "button",
2931
2931
  {
2932
2932
  onClick: () => onZoomChange(Math.min(500, zoom * 1.25)),
2933
- className: "p-1 hover:bg-neutral-200 rounded",
2933
+ className: "p-1 hover:bg-[#3a3a3a] rounded text-neutral-400 hover:text-white",
2934
2934
  title: "Zoom in",
2935
2935
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons", style: { fontSize: 16 }, children: "add" })
2936
2936
  }
@@ -2941,29 +2941,29 @@ function Timeline({
2941
2941
  {
2942
2942
  onClick: () => {
2943
2943
  },
2944
- className: `p-1.5 rounded ${snapToGrid ? "bg-blue-100 text-blue-600" : "hover:bg-neutral-200"}`,
2944
+ className: `p-1.5 rounded ${snapToGrid ? "bg-blue-900/50 text-blue-400" : "hover:bg-[#3a3a3a] text-neutral-400"}`,
2945
2945
  title: "Snap to grid",
2946
2946
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons", style: { fontSize: 16 }, children: "grid_on" })
2947
2947
  }
2948
2948
  )
2949
2949
  ] }),
2950
2950
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-1 overflow-hidden", children: [
2951
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "w-[150px] flex-shrink-0 border-r border-neutral-200 overflow-y-auto", children: [
2952
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "h-6 bg-neutral-100 border-b border-neutral-300 px-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-500", children: "Layers" }) }),
2951
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "w-[150px] flex-shrink-0 border-r border-[#3a3a3a] overflow-y-auto bg-[#232323]", children: [
2952
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "h-6 bg-[#1a1a1a] border-b border-[#3a3a3a] px-2 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-500", children: "Layers" }) }),
2953
2953
  flatLayers.map((layer) => {
2954
2954
  const depth = getLayerDepth(layer, composition.layers);
2955
2955
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2956
2956
  "div",
2957
2957
  {
2958
2958
  className: `
2959
- h-7 border-b border-neutral-200 px-2 flex items-center
2960
- ${selectedLayerIds.includes(layer.id) ? "bg-blue-500/10" : ""}
2959
+ h-7 border-b border-[#2a2a2a] px-2 flex items-center
2960
+ ${selectedLayerIds.includes(layer.id) ? "bg-[#4a6fa5]/30" : ""}
2961
2961
  ${!layer.visible ? "opacity-50" : ""}
2962
2962
  `,
2963
2963
  style: { paddingLeft: depth * 12 + 8 },
2964
2964
  children: [
2965
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons text-neutral-400 mr-1", style: { fontSize: 12 }, children: layer.type === "folder" ? "folder" : "lens" }),
2966
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-700 truncate", children: layer.name })
2965
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons text-neutral-500 mr-1", style: { fontSize: 12 }, children: layer.type === "folder" ? "folder" : "lens" }),
2966
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-300 truncate", children: layer.name })
2967
2967
  ]
2968
2968
  },
2969
2969
  layer.id
@@ -2972,10 +2972,10 @@ function Timeline({
2972
2972
  composition.audioTracks?.map((track) => /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
2973
2973
  "div",
2974
2974
  {
2975
- className: "h-12 border-b border-neutral-200 px-2 flex items-center",
2975
+ className: "h-12 border-b border-[#2a2a2a] px-2 flex items-center",
2976
2976
  children: [
2977
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons text-blue-500 mr-1", style: { fontSize: 12 }, children: "audiotrack" }),
2978
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-700 truncate", children: track.name })
2977
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "material-icons text-blue-400 mr-1", style: { fontSize: 12 }, children: "audiotrack" }),
2978
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "text-xs text-neutral-300 truncate", children: track.name })
2979
2979
  ]
2980
2980
  },
2981
2981
  track.id
@@ -2985,7 +2985,7 @@ function Timeline({
2985
2985
  "div",
2986
2986
  {
2987
2987
  ref: containerRef,
2988
- className: "flex-1 overflow-auto relative",
2988
+ className: "flex-1 overflow-auto relative bg-[#1e1e1e]",
2989
2989
  onScroll: handleScroll,
2990
2990
  onWheel: handleWheel,
2991
2991
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style: { width: totalWidth, minHeight: totalHeight }, children: [
@@ -3532,16 +3532,16 @@ function PropertiesPanel({
3532
3532
  onAddKeyframe
3533
3533
  }) {
3534
3534
  if (selectedLayers.length === 0) {
3535
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-white border-l border-neutral-200 flex flex-col", children: [
3536
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "px-3 py-2 border-b border-neutral-200", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-700", children: "Properties" }) }),
3537
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex-1 flex items-center justify-center text-neutral-400 text-sm p-4 text-center", children: "Select a layer to edit its properties" })
3535
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-[#232323] border-l border-[#3a3a3a] flex flex-col", children: [
3536
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "px-3 py-2 border-b border-[#3a3a3a]", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-300", children: "Properties" }) }),
3537
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex-1 flex items-center justify-center text-neutral-500 text-sm p-4 text-center", children: "Select a layer to edit its properties" })
3538
3538
  ] });
3539
3539
  }
3540
3540
  if (selectedLayers.length > 1) {
3541
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-white border-l border-neutral-200 flex flex-col", children: [
3542
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "px-3 py-2 border-b border-neutral-200", children: [
3543
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-700", children: "Properties" }),
3544
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs text-neutral-400", children: [
3541
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-[#232323] border-l border-[#3a3a3a] flex flex-col", children: [
3542
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "px-3 py-2 border-b border-[#3a3a3a]", children: [
3543
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-300", children: "Properties" }),
3544
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("p", { className: "text-xs text-neutral-500", children: [
3545
3545
  selectedLayers.length,
3546
3546
  " layers selected"
3547
3547
  ] })
@@ -3550,10 +3550,10 @@ function PropertiesPanel({
3550
3550
  ] });
3551
3551
  }
3552
3552
  const layer = selectedLayers[0];
3553
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-white border-l border-neutral-200 flex flex-col", children: [
3554
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "px-3 py-2 border-b border-neutral-200", children: [
3555
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-700", children: "Properties" }),
3556
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-xs text-neutral-400 truncate", children: layer.name })
3553
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "w-[250px] flex-shrink-0 bg-[#232323] border-l border-[#3a3a3a] flex flex-col", children: [
3554
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "px-3 py-2 border-b border-[#3a3a3a]", children: [
3555
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("h3", { className: "text-sm font-semibold text-neutral-300", children: "Properties" }),
3556
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-xs text-neutral-500 truncate", children: layer.name })
3557
3557
  ] }),
3558
3558
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex-1 overflow-y-auto", children: [
3559
3559
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(PropertySection, { title: "Layer", children: [
@@ -3563,7 +3563,7 @@ function PropertiesPanel({
3563
3563
  type: "text",
3564
3564
  value: layer.name,
3565
3565
  onChange: (e) => onUpdateLayer(layer.id, { name: e.target.value }),
3566
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded focus:outline-none focus:border-blue-500"
3566
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded focus:outline-none focus:border-blue-500"
3567
3567
  }
3568
3568
  ) }),
3569
3569
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Visible", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3572,7 +3572,7 @@ function PropertiesPanel({
3572
3572
  type: "checkbox",
3573
3573
  checked: layer.visible,
3574
3574
  onChange: (e) => onUpdateLayer(layer.id, { visible: e.target.checked }),
3575
- className: "w-4 h-4"
3575
+ className: "w-4 h-4 accent-blue-500"
3576
3576
  }
3577
3577
  ) }),
3578
3578
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Locked", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3581,7 +3581,7 @@ function PropertiesPanel({
3581
3581
  type: "checkbox",
3582
3582
  checked: layer.locked,
3583
3583
  onChange: (e) => onUpdateLayer(layer.id, { locked: e.target.checked }),
3584
- className: "w-4 h-4"
3584
+ className: "w-4 h-4 accent-blue-500"
3585
3585
  }
3586
3586
  ) }),
3587
3587
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Opacity", keyframeable: true, onAddKeyframe: () => onAddKeyframe(layer.id, "opacity"), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-2", children: [
@@ -3594,10 +3594,10 @@ function PropertiesPanel({
3594
3594
  step: 0.01,
3595
3595
  value: layer.opacity,
3596
3596
  onChange: (e) => onUpdateLayer(layer.id, { opacity: parseFloat(e.target.value) }),
3597
- className: "flex-1"
3597
+ className: "flex-1 accent-blue-500"
3598
3598
  }
3599
3599
  ),
3600
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "text-xs text-neutral-500 w-10 text-right", children: [
3600
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("span", { className: "text-xs text-neutral-400 w-10 text-right", children: [
3601
3601
  Math.round(layer.opacity * 100),
3602
3602
  "%"
3603
3603
  ] })
@@ -3607,7 +3607,7 @@ function PropertiesPanel({
3607
3607
  {
3608
3608
  value: layer.blendMode || "normal",
3609
3609
  onChange: (e) => onUpdateLayer(layer.id, { blendMode: e.target.value }),
3610
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded focus:outline-none focus:border-blue-500",
3610
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded focus:outline-none focus:border-blue-500",
3611
3611
  children: [
3612
3612
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "normal", children: "Normal" }),
3613
3613
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "multiply", children: "Multiply" }),
@@ -3635,10 +3635,10 @@ function PropertiesPanel({
3635
3635
  layer.keyframes && layer.keyframes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "mt-2 space-y-1", children: layer.keyframes.map((kf) => /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3636
3636
  "div",
3637
3637
  {
3638
- className: "text-xs px-2 py-1 bg-neutral-50 rounded flex justify-between",
3638
+ className: "text-xs px-2 py-1 bg-[#1a1a1a] rounded flex justify-between text-neutral-300",
3639
3639
  children: [
3640
3640
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children: formatTimecode(kf.time) }),
3641
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-neutral-400", children: Object.keys(kf.properties).join(", ") })
3641
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-neutral-500", children: Object.keys(kf.properties).join(", ") })
3642
3642
  ]
3643
3643
  },
3644
3644
  kf.id
@@ -3649,15 +3649,15 @@ function PropertiesPanel({
3649
3649
  }
3650
3650
  function PropertySection({ title, children }) {
3651
3651
  const [isOpen, setIsOpen] = import_react17.default.useState(true);
3652
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "border-b border-neutral-200", children: [
3652
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "border-b border-[#3a3a3a]", children: [
3653
3653
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
3654
3654
  "button",
3655
3655
  {
3656
3656
  onClick: () => setIsOpen(!isOpen),
3657
- className: "w-full px-3 py-2 flex items-center justify-between hover:bg-neutral-50",
3657
+ className: "w-full px-3 py-2 flex items-center justify-between hover:bg-[#2a2a2a]",
3658
3658
  children: [
3659
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-xs font-semibold text-neutral-600 uppercase", children: title }),
3660
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "material-icons text-neutral-400", style: { fontSize: 16 }, children: isOpen ? "expand_less" : "expand_more" })
3659
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-xs font-semibold text-neutral-400 uppercase", children: title }),
3660
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "material-icons text-neutral-500", style: { fontSize: 16 }, children: isOpen ? "expand_less" : "expand_more" })
3661
3661
  ]
3662
3662
  }
3663
3663
  ),
@@ -3676,7 +3676,7 @@ function PropertyRow({
3676
3676
  "button",
3677
3677
  {
3678
3678
  onClick: onAddKeyframe,
3679
- className: "p-0.5 hover:bg-amber-100 rounded",
3679
+ className: "p-0.5 hover:bg-amber-900/50 rounded",
3680
3680
  title: "Add keyframe",
3681
3681
  children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "material-icons text-amber-500", style: { fontSize: 12 }, children: "diamond" })
3682
3682
  }
@@ -3701,7 +3701,7 @@ function ObjectProperties({
3701
3701
  type: "text",
3702
3702
  value: object.src,
3703
3703
  onChange: (e) => onUpdate({ object: { ...object, src: e.target.value } }),
3704
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded focus:outline-none focus:border-blue-500",
3704
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded focus:outline-none focus:border-blue-500",
3705
3705
  placeholder: "Image URL"
3706
3706
  }
3707
3707
  ) }),
@@ -3712,7 +3712,7 @@ function ObjectProperties({
3712
3712
  onChange: (e) => onUpdate({
3713
3713
  object: { ...object, objectFit: e.target.value }
3714
3714
  }),
3715
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded",
3715
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded",
3716
3716
  children: [
3717
3717
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "contain", children: "Contain" }),
3718
3718
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "cover", children: "Cover" }),
@@ -3730,7 +3730,7 @@ function ObjectProperties({
3730
3730
  value: object.content,
3731
3731
  onChange: (e) => onUpdate({ object: { ...object, content: e.target.value } }),
3732
3732
  rows: 3,
3733
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded focus:outline-none focus:border-blue-500 resize-none"
3733
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded focus:outline-none focus:border-blue-500 resize-none"
3734
3734
  }
3735
3735
  ) }),
3736
3736
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Size", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3739,7 +3739,7 @@ function ObjectProperties({
3739
3739
  type: "number",
3740
3740
  value: object.fontSize || 16,
3741
3741
  onChange: (e) => onUpdate({ object: { ...object, fontSize: parseInt(e.target.value) || 16 } }),
3742
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded"
3742
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded"
3743
3743
  }
3744
3744
  ) }),
3745
3745
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Color", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3748,7 +3748,7 @@ function ObjectProperties({
3748
3748
  type: "color",
3749
3749
  value: object.color || "#000000",
3750
3750
  onChange: (e) => onUpdate({ object: { ...object, color: e.target.value } }),
3751
- className: "w-8 h-6 cursor-pointer"
3751
+ className: "w-8 h-6 cursor-pointer bg-transparent"
3752
3752
  }
3753
3753
  ) }),
3754
3754
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Align", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
@@ -3758,7 +3758,7 @@ function ObjectProperties({
3758
3758
  onChange: (e) => onUpdate({
3759
3759
  object: { ...object, textAlign: e.target.value }
3760
3760
  }),
3761
- className: "w-full px-2 py-1 text-sm border border-neutral-200 rounded",
3761
+ className: "w-full px-2 py-1 text-sm bg-[#1a1a1a] text-neutral-200 border border-[#3a3a3a] rounded",
3762
3762
  children: [
3763
3763
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "left", children: "Left" }),
3764
3764
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("option", { value: "center", children: "Center" }),
@@ -3775,7 +3775,7 @@ function ObjectProperties({
3775
3775
  type: "color",
3776
3776
  value: object.fill || "#cccccc",
3777
3777
  onChange: (e) => onUpdate({ object: { ...object, fill: e.target.value } }),
3778
- className: "w-8 h-6 cursor-pointer"
3778
+ className: "w-8 h-6 cursor-pointer bg-transparent"
3779
3779
  }
3780
3780
  ) }),
3781
3781
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(PropertyRow, { label: "Stroke", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3784,7 +3784,7 @@ function ObjectProperties({
3784
3784
  type: "color",
3785
3785
  value: object.stroke || "#000000",
3786
3786
  onChange: (e) => onUpdate({ object: { ...object, stroke: e.target.value } }),
3787
- className: "w-8 h-6 cursor-pointer"
3787
+ className: "w-8 h-6 cursor-pointer bg-transparent"
3788
3788
  }
3789
3789
  ) })
3790
3790
  ] });