@gallop.software/studio 1.5.1 → 1.5.3

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.
@@ -3120,6 +3120,47 @@ var styles6 = {
3120
3120
  color: #f59e0b;
3121
3121
  transform: translateY(1px);
3122
3122
  `,
3123
+ folderStats: css6`
3124
+ display: flex;
3125
+ align-items: center;
3126
+ gap: 8px;
3127
+ margin-left: auto;
3128
+ padding-left: 8px;
3129
+ `,
3130
+ folderStat: css6`
3131
+ display: flex;
3132
+ align-items: center;
3133
+ gap: 3px;
3134
+ font-size: 11px;
3135
+ color: ${colors.textSecondary};
3136
+ `,
3137
+ folderStatIcon: css6`
3138
+ width: 14px;
3139
+ height: 14px;
3140
+ `,
3141
+ folderStatIconCloud: css6`
3142
+ width: 14px;
3143
+ height: 14px;
3144
+ color: #f59e0b;
3145
+ `,
3146
+ folderStatIconLocal: css6`
3147
+ width: 14px;
3148
+ height: 14px;
3149
+ color: ${colors.textSecondary};
3150
+ `,
3151
+ folderStatIconRemote: css6`
3152
+ width: 14px;
3153
+ height: 14px;
3154
+ color: #ef4444;
3155
+ `,
3156
+ storedLabel: css6`
3157
+ display: flex;
3158
+ align-items: center;
3159
+ gap: 4px;
3160
+ font-size: 12px;
3161
+ color: #f59e0b;
3162
+ margin: 0;
3163
+ `,
3123
3164
  globeIcon: css6`
3124
3165
  width: 18px;
3125
3166
  height: 18px;
@@ -3351,8 +3392,6 @@ function GridItem({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3351
3392
  }
3352
3393
  ),
3353
3394
  /* @__PURE__ */ jsxs6("div", { css: styles6.content, children: [
3354
- item.cdnPushed && !item.isRemote && /* @__PURE__ */ jsx6("span", { css: styles6.statusBtn, title: "Pushed to CDN", children: /* @__PURE__ */ jsx6("svg", { css: styles6.cloudIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }) }),
3355
- item.isRemote && /* @__PURE__ */ jsx6("span", { css: styles6.statusBtn, title: "Remote image", children: /* @__PURE__ */ jsx6("svg", { css: styles6.globeIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }) }),
3356
3395
  /* @__PURE__ */ jsxs6(
3357
3396
  "button",
3358
3397
  {
@@ -3391,10 +3430,26 @@ function GridItem({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3391
3430
  ] }),
3392
3431
  /* @__PURE__ */ jsx6("div", { css: styles6.label, children: /* @__PURE__ */ jsx6("div", { css: styles6.labelRow, children: /* @__PURE__ */ jsxs6("div", { css: styles6.labelText, children: [
3393
3432
  /* @__PURE__ */ jsx6("p", { css: styles6.name, title: item.name, children: item.name }),
3394
- isFolder ? /* @__PURE__ */ jsxs6("p", { css: styles6.size, children: [
3395
- item.fileCount !== void 0 ? `${item.fileCount} files` : "",
3396
- item.fileCount !== void 0 && item.totalSize !== void 0 ? " \xB7 " : "",
3397
- item.totalSize !== void 0 ? formatFileSize(item.totalSize) : ""
3433
+ isFolder ? /* @__PURE__ */ jsxs6("div", { css: styles6.folderStats, children: [
3434
+ item.localCount !== void 0 && item.localCount > 0 && /* @__PURE__ */ jsxs6("span", { css: styles6.folderStat, title: `${item.localCount} local`, children: [
3435
+ /* @__PURE__ */ jsx6("svg", { css: styles6.folderStatIconLocal, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) }),
3436
+ item.localCount
3437
+ ] }),
3438
+ item.cloudCount !== void 0 && item.cloudCount > 0 && /* @__PURE__ */ jsxs6("span", { css: styles6.folderStat, title: `${item.cloudCount} in cloud`, children: [
3439
+ /* @__PURE__ */ jsx6("svg", { css: styles6.folderStatIconCloud, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }),
3440
+ item.cloudCount
3441
+ ] }),
3442
+ item.remoteCount !== void 0 && item.remoteCount > 0 && /* @__PURE__ */ jsxs6("span", { css: styles6.folderStat, title: `${item.remoteCount} remote`, children: [
3443
+ /* @__PURE__ */ jsx6("svg", { css: styles6.folderStatIconRemote, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }),
3444
+ item.remoteCount
3445
+ ] }),
3446
+ !item.localCount && !item.cloudCount && !item.remoteCount && item.fileCount !== void 0 && /* @__PURE__ */ jsxs6("span", { css: styles6.size, children: [
3447
+ item.fileCount,
3448
+ " files"
3449
+ ] })
3450
+ ] }) : item.cdnPushed ? /* @__PURE__ */ jsxs6("p", { css: styles6.storedLabel, children: [
3451
+ /* @__PURE__ */ jsx6("svg", { css: item.isRemote ? styles6.folderStatIconRemote : styles6.folderStatIconCloud, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: item.isRemote ? /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) : /* @__PURE__ */ jsx6("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }),
3452
+ "stored"
3398
3453
  ] }) : item.size !== void 0 && /* @__PURE__ */ jsx6("p", { css: styles6.size, children: formatFileSize(item.size) })
3399
3454
  ] }) }) })
3400
3455
  ]
@@ -3597,6 +3652,40 @@ var styles7 = {
3597
3652
  color: #f59e0b;
3598
3653
  transform: translateY(1px);
3599
3654
  `,
3655
+ folderStats: css7`
3656
+ display: flex;
3657
+ align-items: center;
3658
+ gap: 8px;
3659
+ `,
3660
+ folderStat: css7`
3661
+ display: flex;
3662
+ align-items: center;
3663
+ gap: 3px;
3664
+ font-size: 12px;
3665
+ color: ${colors.textSecondary};
3666
+ `,
3667
+ folderStatIconCloud: css7`
3668
+ width: 14px;
3669
+ height: 14px;
3670
+ color: #f59e0b;
3671
+ `,
3672
+ folderStatIconLocal: css7`
3673
+ width: 14px;
3674
+ height: 14px;
3675
+ color: ${colors.textSecondary};
3676
+ `,
3677
+ folderStatIconRemote: css7`
3678
+ width: 14px;
3679
+ height: 14px;
3680
+ color: #ef4444;
3681
+ `,
3682
+ storedLabel: css7`
3683
+ display: flex;
3684
+ align-items: center;
3685
+ gap: 4px;
3686
+ font-size: 12px;
3687
+ color: #f59e0b;
3688
+ `,
3600
3689
  globeIcon: css7`
3601
3690
  width: 16px;
3602
3691
  height: 16px;
@@ -3910,8 +3999,6 @@ function ListRow({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3910
3999
  ] }) : /* @__PURE__ */ jsx7("div", { css: styles7.folderIconWrapper, children: /* @__PURE__ */ jsx7("svg", { css: styles7.folderIcon, fill: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("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" }) }) }) : isImage && item.thumbnail ? /* @__PURE__ */ jsx7("div", { css: styles7.thumbnailWrapper, children: /* @__PURE__ */ jsx7("img", { css: styles7.thumbnail, src: item.thumbnail, alt: item.name, loading: "lazy" }) }) : /* @__PURE__ */ jsx7("div", { css: styles7.thumbnailWrapper, children: /* @__PURE__ */ jsx7("svg", { css: styles7.fileIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z" }) }) }),
3911
4000
  /* @__PURE__ */ jsx7("span", { css: styles7.name, title: item.name, children: truncateMiddle(item.name) }),
3912
4001
  /* @__PURE__ */ jsxs7("div", { css: styles7.actionsCell, children: [
3913
- item.cdnPushed && !item.isRemote && /* @__PURE__ */ jsx7("span", { css: styles7.statusBtn, title: "Pushed to CDN", children: /* @__PURE__ */ jsx7("svg", { css: styles7.cloudIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }) }),
3914
- item.isRemote && /* @__PURE__ */ jsx7("span", { css: styles7.statusBtn, title: "Remote image", children: /* @__PURE__ */ jsx7("svg", { css: styles7.globeIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }) }),
3915
4002
  /* @__PURE__ */ jsxs7(
3916
4003
  "button",
3917
4004
  {
@@ -3937,7 +4024,28 @@ function ListRow({ item, isSelected, onClick, onOpen, onGenerateThumbnail }) {
3937
4024
  )
3938
4025
  ] })
3939
4026
  ] }) }),
3940
- /* @__PURE__ */ jsx7("td", { css: [styles7.td, styles7.meta], children: isFolder ? item.fileCount !== void 0 ? `${item.fileCount} files` : "--" : item.size !== void 0 ? formatFileSize2(item.size) : "--" }),
4027
+ /* @__PURE__ */ jsx7("td", { css: [styles7.td, styles7.meta], children: isFolder ? /* @__PURE__ */ jsxs7("div", { css: styles7.folderStats, children: [
4028
+ item.localCount !== void 0 && item.localCount > 0 && /* @__PURE__ */ jsxs7("span", { css: styles7.folderStat, title: `${item.localCount} local`, children: [
4029
+ /* @__PURE__ */ jsx7("svg", { css: styles7.folderStatIconLocal, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) }),
4030
+ item.localCount
4031
+ ] }),
4032
+ item.cloudCount !== void 0 && item.cloudCount > 0 && /* @__PURE__ */ jsxs7("span", { css: styles7.folderStat, title: `${item.cloudCount} in cloud`, children: [
4033
+ /* @__PURE__ */ jsx7("svg", { css: styles7.folderStatIconCloud, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }),
4034
+ item.cloudCount
4035
+ ] }),
4036
+ item.remoteCount !== void 0 && item.remoteCount > 0 && /* @__PURE__ */ jsxs7("span", { css: styles7.folderStat, title: `${item.remoteCount} remote`, children: [
4037
+ /* @__PURE__ */ jsx7("svg", { css: styles7.folderStatIconRemote, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) }),
4038
+ item.remoteCount
4039
+ ] }),
4040
+ !item.localCount && !item.cloudCount && !item.remoteCount && item.fileCount !== void 0 && /* @__PURE__ */ jsxs7("span", { children: [
4041
+ item.fileCount,
4042
+ " files"
4043
+ ] }),
4044
+ !item.localCount && !item.cloudCount && !item.remoteCount && item.fileCount === void 0 && "--"
4045
+ ] }) : item.cdnPushed ? /* @__PURE__ */ jsxs7("span", { css: styles7.storedLabel, children: [
4046
+ /* @__PURE__ */ jsx7("svg", { css: item.isRemote ? styles7.folderStatIconRemote : styles7.folderStatIconCloud, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: item.isRemote ? /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9" }) : /* @__PURE__ */ jsx7("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z" }) }),
4047
+ "stored"
4048
+ ] }) : item.size !== void 0 ? formatFileSize2(item.size) : "--" }),
3941
4049
  /* @__PURE__ */ jsx7("td", { css: [styles7.td, styles7.meta], children: isFolder ? item.totalSize !== void 0 ? formatFileSize2(item.totalSize) : "--" : item.dimensions ? `${item.dimensions.width}x${item.dimensions.height}` : "--" }),
3942
4050
  /* @__PURE__ */ jsx7("td", { css: styles7.td, children: item.cdnPushed ? item.isRemote ? /* @__PURE__ */ jsx7("span", { css: styles7.cdnBadgeRemote, children: "Remote" }) : /* @__PURE__ */ jsxs7("span", { css: styles7.cdnBadge, children: [
3943
4051
  /* @__PURE__ */ jsx7("svg", { css: styles7.cdnIcon, fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ jsx7("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }) }),
@@ -6221,4 +6329,4 @@ export {
6221
6329
  StudioUI,
6222
6330
  StudioUI_default as default
6223
6331
  };
6224
- //# sourceMappingURL=StudioUI-BHFZVR57.mjs.map
6332
+ //# sourceMappingURL=StudioUI-GAV4ZPGC.mjs.map