@gallop.software/studio 0.1.64 → 0.1.66
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/{StudioUI-57YOECIG.mjs → StudioUI-BFPT2G4P.mjs} +97 -5
- package/dist/StudioUI-BFPT2G4P.mjs.map +1 -0
- package/dist/{StudioUI-ILJIWA7T.js → StudioUI-RVVJ4TYS.js} +104 -12
- package/dist/StudioUI-RVVJ4TYS.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/StudioUI-57YOECIG.mjs.map +0 -1
- package/dist/StudioUI-ILJIWA7T.js.map +0 -1
|
@@ -447,22 +447,54 @@ var styles2 = {
|
|
|
447
447
|
folderList: css2`
|
|
448
448
|
display: flex;
|
|
449
449
|
flex-direction: column;
|
|
450
|
-
gap:
|
|
450
|
+
gap: 0;
|
|
451
451
|
`,
|
|
452
452
|
folderItem: css2`
|
|
453
453
|
display: flex;
|
|
454
454
|
align-items: center;
|
|
455
455
|
gap: 8px;
|
|
456
|
-
padding:
|
|
456
|
+
padding: 8px 12px;
|
|
457
457
|
border-radius: 6px;
|
|
458
458
|
cursor: pointer;
|
|
459
459
|
transition: all 0.15s ease;
|
|
460
460
|
border: 1px solid transparent;
|
|
461
|
+
position: relative;
|
|
461
462
|
|
|
462
463
|
&:hover {
|
|
463
464
|
background-color: ${colors.surfaceHover};
|
|
464
465
|
}
|
|
465
466
|
`,
|
|
467
|
+
treeIndent: css2`
|
|
468
|
+
display: flex;
|
|
469
|
+
align-items: center;
|
|
470
|
+
height: 100%;
|
|
471
|
+
`,
|
|
472
|
+
treeLine: css2`
|
|
473
|
+
width: 16px;
|
|
474
|
+
height: 100%;
|
|
475
|
+
position: relative;
|
|
476
|
+
flex-shrink: 0;
|
|
477
|
+
|
|
478
|
+
&::before {
|
|
479
|
+
content: '';
|
|
480
|
+
position: absolute;
|
|
481
|
+
left: 8px;
|
|
482
|
+
top: 0;
|
|
483
|
+
bottom: 50%;
|
|
484
|
+
width: 0;
|
|
485
|
+
border-left: 1px dashed ${colors.border};
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
&::after {
|
|
489
|
+
content: '';
|
|
490
|
+
position: absolute;
|
|
491
|
+
left: 8px;
|
|
492
|
+
top: 50%;
|
|
493
|
+
width: 8px;
|
|
494
|
+
height: 0;
|
|
495
|
+
border-top: 1px dashed ${colors.border};
|
|
496
|
+
}
|
|
497
|
+
`,
|
|
466
498
|
folderItemSelected: css2`
|
|
467
499
|
background-color: ${colors.primaryLight};
|
|
468
500
|
border-color: ${colors.primary};
|
|
@@ -607,9 +639,10 @@ function StudioFolderPicker({ selectedItems, currentPath, onMove, onCancel }) {
|
|
|
607
639
|
selectedFolder === folder.path && styles2.folderItemSelected,
|
|
608
640
|
disabled && styles2.folderItemDisabled
|
|
609
641
|
],
|
|
610
|
-
style: { paddingLeft: 12
|
|
642
|
+
style: { paddingLeft: 12 },
|
|
611
643
|
onClick: () => !disabled && setSelectedFolder(folder.path),
|
|
612
644
|
children: [
|
|
645
|
+
folder.depth > 0 && /* @__PURE__ */ jsx2("div", { css: styles2.treeIndent, children: Array.from({ length: folder.depth }).map((_, i) => /* @__PURE__ */ jsx2("div", { css: styles2.treeLine }, i)) }),
|
|
613
646
|
/* @__PURE__ */ jsx2("svg", { css: styles2.folderIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx2("path", { d: "M10 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V8a2 2 0 00-2-2h-8l-2-2z" }) }),
|
|
614
647
|
/* @__PURE__ */ jsxs2("span", { css: styles2.folderName, children: [
|
|
615
648
|
folder.name,
|
|
@@ -3469,6 +3502,44 @@ var styles8 = {
|
|
|
3469
3502
|
margin: 0;
|
|
3470
3503
|
letter-spacing: -0.02em;
|
|
3471
3504
|
`,
|
|
3505
|
+
headerLeft: css8`
|
|
3506
|
+
display: flex;
|
|
3507
|
+
align-items: center;
|
|
3508
|
+
gap: 12px;
|
|
3509
|
+
min-width: 0;
|
|
3510
|
+
flex: 1;
|
|
3511
|
+
`,
|
|
3512
|
+
breadcrumbs: css8`
|
|
3513
|
+
display: flex;
|
|
3514
|
+
align-items: center;
|
|
3515
|
+
gap: 6px;
|
|
3516
|
+
font-size: ${fontSize.base};
|
|
3517
|
+
color: ${colors.textSecondary};
|
|
3518
|
+
min-width: 0;
|
|
3519
|
+
overflow: hidden;
|
|
3520
|
+
`,
|
|
3521
|
+
breadcrumbSeparator: css8`
|
|
3522
|
+
color: ${colors.border};
|
|
3523
|
+
flex-shrink: 0;
|
|
3524
|
+
`,
|
|
3525
|
+
breadcrumbItem: css8`
|
|
3526
|
+
color: ${colors.textSecondary};
|
|
3527
|
+
text-decoration: none;
|
|
3528
|
+
cursor: pointer;
|
|
3529
|
+
transition: color 0.15s ease;
|
|
3530
|
+
white-space: nowrap;
|
|
3531
|
+
|
|
3532
|
+
&:hover {
|
|
3533
|
+
color: ${colors.primary};
|
|
3534
|
+
}
|
|
3535
|
+
`,
|
|
3536
|
+
breadcrumbCurrent: css8`
|
|
3537
|
+
color: ${colors.text};
|
|
3538
|
+
font-weight: 500;
|
|
3539
|
+
white-space: nowrap;
|
|
3540
|
+
overflow: hidden;
|
|
3541
|
+
text-overflow: ellipsis;
|
|
3542
|
+
`,
|
|
3472
3543
|
headerActions: css8`
|
|
3473
3544
|
display: flex;
|
|
3474
3545
|
align-items: center;
|
|
@@ -3685,7 +3756,10 @@ function StudioUI({ onClose, isVisible = true }) {
|
|
|
3685
3756
|
};
|
|
3686
3757
|
return /* @__PURE__ */ jsx8(StudioContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs8("div", { css: styles8.container, children: [
|
|
3687
3758
|
/* @__PURE__ */ jsxs8("div", { css: styles8.header, children: [
|
|
3688
|
-
/* @__PURE__ */
|
|
3759
|
+
/* @__PURE__ */ jsxs8("div", { css: styles8.headerLeft, children: [
|
|
3760
|
+
/* @__PURE__ */ jsx8("h1", { css: styles8.title, children: "Studio" }),
|
|
3761
|
+
/* @__PURE__ */ jsx8(Breadcrumbs, { currentPath, onNavigate: setCurrentPath })
|
|
3762
|
+
] }),
|
|
3689
3763
|
/* @__PURE__ */ jsxs8("div", { css: styles8.headerActions, children: [
|
|
3690
3764
|
/* @__PURE__ */ jsx8(StudioSettings, {}),
|
|
3691
3765
|
/* @__PURE__ */ jsx8(
|
|
@@ -3719,6 +3793,24 @@ function StudioUI({ onClose, isVisible = true }) {
|
|
|
3719
3793
|
focusedItem && /* @__PURE__ */ jsx8(StudioDetailView, {})
|
|
3720
3794
|
] }) });
|
|
3721
3795
|
}
|
|
3796
|
+
function Breadcrumbs({ currentPath, onNavigate }) {
|
|
3797
|
+
const parts = currentPath.split("/").filter(Boolean);
|
|
3798
|
+
const breadcrumbs = parts.map((part, index) => ({
|
|
3799
|
+
name: part,
|
|
3800
|
+
path: parts.slice(0, index + 1).join("/")
|
|
3801
|
+
}));
|
|
3802
|
+
return /* @__PURE__ */ jsx8("div", { css: styles8.breadcrumbs, children: breadcrumbs.map((crumb, index) => /* @__PURE__ */ jsxs8("span", { style: { display: "flex", alignItems: "center", gap: 6 }, children: [
|
|
3803
|
+
index > 0 && /* @__PURE__ */ jsx8("span", { css: styles8.breadcrumbSeparator, children: "/" }),
|
|
3804
|
+
index === breadcrumbs.length - 1 ? /* @__PURE__ */ jsx8("span", { css: styles8.breadcrumbCurrent, children: crumb.name }) : /* @__PURE__ */ jsx8(
|
|
3805
|
+
"span",
|
|
3806
|
+
{
|
|
3807
|
+
css: styles8.breadcrumbItem,
|
|
3808
|
+
onClick: () => onNavigate(crumb.path),
|
|
3809
|
+
children: crumb.name
|
|
3810
|
+
}
|
|
3811
|
+
)
|
|
3812
|
+
] }, crumb.path)) });
|
|
3813
|
+
}
|
|
3722
3814
|
function CloseIcon() {
|
|
3723
3815
|
return /* @__PURE__ */ jsxs8(
|
|
3724
3816
|
"svg",
|
|
@@ -3743,4 +3835,4 @@ export {
|
|
|
3743
3835
|
StudioUI,
|
|
3744
3836
|
StudioUI_default as default
|
|
3745
3837
|
};
|
|
3746
|
-
//# sourceMappingURL=StudioUI-
|
|
3838
|
+
//# sourceMappingURL=StudioUI-BFPT2G4P.mjs.map
|