@emailmaker/filemanager 0.10.69 → 0.10.71

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.
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ControlledImageLoader } from '../../hooks/useControlledImageLoader';
3
+ export interface ControlledImageProps extends Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'src'> {
4
+ imageId: string;
5
+ sourceUrl: string;
6
+ shouldLoad?: boolean;
7
+ loader: ControlledImageLoader;
8
+ }
9
+ export declare const ControlledImage: React.FC<ControlledImageProps>;
10
+ export default ControlledImage;
@@ -13,7 +13,7 @@ interface FolderTreeProps {
13
13
  fetchChildFolders?: (parentId: string | null) => Promise<Folder[]>;
14
14
  disabledFolders?: string[];
15
15
  showFileCounts?: boolean;
16
- folderFileCounts?: Record<string, number>;
16
+ folderFileCounts?: Record<string, number | null>;
17
17
  className?: string;
18
18
  expandedKeys?: Key[];
19
19
  setExpandedKeys?: (keys: Key[]) => void;
@@ -2,15 +2,15 @@ import React from 'react';
2
2
  import type { StreamlineSearchItem } from '../../types';
3
3
  export interface IconsGridProps {
4
4
  items: StreamlineSearchItem[];
5
- hasMore: boolean;
6
5
  loading: boolean;
6
+ isCollectingResults?: boolean;
7
+ hasMore?: boolean;
7
8
  hasQuery: boolean;
8
9
  mode: 'global' | 'family';
9
10
  selectedHash: string | null;
10
- onLoadMore: () => void;
11
11
  onItemClick: (item: StreamlineSearchItem) => void;
12
12
  onInsert: (item: StreamlineSearchItem) => void;
13
- scrollContainerRef: React.RefObject<HTMLDivElement>;
13
+ onLoadMore?: () => void;
14
14
  colorVars?: {
15
15
  colorHex: string;
16
16
  colorHex2: string;
package/file-manager.css CHANGED
@@ -1239,12 +1239,15 @@
1239
1239
  }
1240
1240
  .em-filemanager .gifTab {
1241
1241
  height: 100%;
1242
+ min-height: 0;
1242
1243
  }
1243
1244
 
1244
1245
  .em-filemanager .scrollableDiv {
1245
1246
  width: 100%;
1246
1247
  height: 100%;
1247
1248
  overflow: auto;
1249
+ overflow-x: hidden;
1250
+ box-sizing: border-box;
1248
1251
  line-height: 0;
1249
1252
  display: flex;
1250
1253
  flex-direction: column;
@@ -1271,6 +1274,11 @@
1271
1274
  width: 100%;
1272
1275
  }
1273
1276
 
1277
+ .em-filemanager .virtualCanvas {
1278
+ position: relative;
1279
+ width: 100%;
1280
+ }
1281
+
1274
1282
  .em-filemanager .myMasonryGrid {
1275
1283
  display: flex;
1276
1284
  width: auto;
@@ -1358,7 +1366,9 @@
1358
1366
  }
1359
1367
 
1360
1368
  .em-filemanager .searchOutputWrapper {
1361
- height: calc(100vh - 32px);
1369
+ height: 100%;
1370
+ min-height: 0;
1371
+ overflow: hidden;
1362
1372
  }
1363
1373
 
1364
1374
  .em-filemanager .divider {
@@ -1381,6 +1391,7 @@
1381
1391
  width: 640px;
1382
1392
  max-width: 100%;
1383
1393
  overflow: auto;
1394
+ box-sizing: border-box;
1384
1395
  padding: 60px 16px;
1385
1396
  border-radius: 12px;
1386
1397
  background-color: var(--colorBgContainer);
@@ -1409,6 +1420,7 @@
1409
1420
  }
1410
1421
  .em-filemanager .stockTab {
1411
1422
  height: 100%;
1423
+ min-height: 0;
1412
1424
  }
1413
1425
 
1414
1426
  .em-filemanager .stockSearchInput {
@@ -1419,7 +1431,9 @@
1419
1431
  }
1420
1432
 
1421
1433
  .em-filemanager .searchOutputWrapper {
1422
- height: calc(100vh - 32px);
1434
+ height: 100%;
1435
+ min-height: 0;
1436
+ overflow: hidden;
1423
1437
  }
1424
1438
 
1425
1439
  .em-filemanager .divider {
@@ -1442,6 +1456,11 @@
1442
1456
  line-height: calc(var(--formControlHeight) * 1px);
1443
1457
  }
1444
1458
 
1459
+ .em-filemanager .virtualCanvas {
1460
+ position: relative;
1461
+ width: 100%;
1462
+ }
1463
+
1445
1464
  .em-filemanager .blocksSearchDividerWrapper {
1446
1465
  margin: 0;
1447
1466
  }
@@ -1450,6 +1469,8 @@
1450
1469
  width: 100%;
1451
1470
  height: 100%;
1452
1471
  overflow: auto;
1472
+ overflow-x: hidden;
1473
+ box-sizing: border-box;
1453
1474
  line-height: 0;
1454
1475
  display: flex;
1455
1476
  flex-direction: column;
@@ -1610,6 +1631,7 @@
1610
1631
  width: 640px;
1611
1632
  max-width: 100%;
1612
1633
  overflow: auto;
1634
+ box-sizing: border-box;
1613
1635
  padding: 60px 16px;
1614
1636
  border-radius: 12px;
1615
1637
  background-color: var(--colorBgContainer);
@@ -1842,6 +1864,7 @@
1842
1864
  display: flex;
1843
1865
  flex-direction: column;
1844
1866
  height: 100%;
1867
+ min-height: 0;
1845
1868
  }
1846
1869
  .em-filemanager .iconsTab.hasSearch {
1847
1870
  padding-top: 0;
@@ -1850,7 +1873,9 @@
1850
1873
  .em-filemanager .iconsSearchWrapper {
1851
1874
  width: 100%;
1852
1875
  height: 100%;
1853
- overflow: auto;
1876
+ min-height: 0;
1877
+ overflow: hidden;
1878
+ box-sizing: border-box;
1854
1879
  line-height: 0;
1855
1880
  display: flex;
1856
1881
  flex-direction: column;
@@ -2044,6 +2069,8 @@
2044
2069
  flex: 1 1 auto;
2045
2070
  min-height: 0;
2046
2071
  overflow: auto;
2072
+ overflow-x: hidden;
2073
+ box-sizing: border-box;
2047
2074
  padding: 24px;
2048
2075
  }
2049
2076
 
@@ -2077,6 +2104,7 @@
2077
2104
  width: 640px;
2078
2105
  max-width: 100%;
2079
2106
  overflow: auto;
2107
+ box-sizing: border-box;
2080
2108
  padding: 60px 16px;
2081
2109
  border-radius: 12px;
2082
2110
  background-color: var(--colorBgContainer);
@@ -2109,24 +2137,42 @@
2109
2137
  overflow: hidden !important;
2110
2138
  }
2111
2139
 
2140
+ .em-filemanager .iconsGridLoadingMore {
2141
+ display: flex;
2142
+ justify-content: center;
2143
+ padding: 16px 0;
2144
+ }
2145
+
2112
2146
  .em-filemanager .iconsGridGrid {
2113
2147
  display: grid;
2114
2148
  grid-template-columns: repeat(auto-fill, minmax(var(--icons-grid-min-col, 148px), 1fr));
2115
2149
  gap: 16px;
2116
2150
  }
2117
2151
 
2152
+ .em-filemanager .iconsGridVirtualCanvas {
2153
+ position: relative;
2154
+ width: 100%;
2155
+ }
2156
+
2118
2157
  .em-filemanager .iconsGridItem {
2119
2158
  position: relative;
2120
2159
  border-radius: 8px;
2121
2160
  padding: 12px;
2122
2161
  background: #fff;
2123
2162
  cursor: pointer;
2163
+ display: flex;
2164
+ flex-direction: column;
2165
+ box-sizing: border-box;
2166
+ overflow: hidden;
2167
+ box-shadow: inset 0 0 0 1px #f0f0f0;
2124
2168
  }
2125
2169
 
2126
2170
  .em-filemanager .iconsGridItemThumbnail {
2127
2171
  display: flex;
2128
2172
  align-items: center;
2129
2173
  justify-content: center;
2174
+ flex: 1 1 auto;
2175
+ min-height: 0;
2130
2176
  }
2131
2177
 
2132
2178
  .em-filemanager .iconsGridItemSvg {
@@ -2145,9 +2191,20 @@
2145
2191
  .em-filemanager .iconsGridItemName {
2146
2192
  margin-top: 8px;
2147
2193
  font-size: 12px;
2194
+ line-height: 1.2;
2148
2195
  white-space: nowrap;
2149
2196
  text-overflow: ellipsis;
2150
2197
  overflow: hidden;
2198
+ flex: 0 0 auto;
2199
+ }
2200
+
2201
+ .em-filemanager .iconsGridItemSelected::after {
2202
+ content: "";
2203
+ position: absolute;
2204
+ inset: 0;
2205
+ border: 2px solid #1890ff;
2206
+ border-radius: inherit;
2207
+ pointer-events: none;
2151
2208
  }
2152
2209
 
2153
2210
  .em-filemanager .iconsGridItemInsertButton {
@@ -2157,9 +2214,11 @@
2157
2214
  }
2158
2215
 
2159
2216
  .em-filemanager .iconsGridLoading {
2160
- position: absolute;
2161
- top: 8;
2162
- right: 8;
2217
+ display: flex;
2218
+ align-items: center;
2219
+ justify-content: center;
2220
+ width: 100%;
2221
+ min-height: 50vh;
2163
2222
  }
2164
2223
 
2165
2224
  .em-filemanager .iconsControlsBackButton {
@@ -2191,8 +2250,10 @@
2191
2250
  align-items: center;
2192
2251
  justify-content: space-between;
2193
2252
  gap: 12px;
2194
- padding: 25px 0;
2195
- margin: 0 24px;
2253
+ width: 100%;
2254
+ box-sizing: border-box;
2255
+ padding: 24px 24px;
2256
+ margin: 0;
2196
2257
  border-bottom: 1px solid var(--colorBorder);
2197
2258
  }
2198
2259