@emailmaker/filemanager 0.10.96 → 0.10.98
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/adapters/DataSourceProxyBase.upload.test.d.ts +1 -0
- package/adapters/TreeCache.d.ts +2 -0
- package/adapters/TreeCache.forceInvalidate.test.d.ts +1 -0
- package/adapters/cacheViewStrategy.d.ts +10 -1
- package/adapters/cacheViewTypes.d.ts +5 -0
- package/{file-manager-IconsTab-DdEH0cIx.js → file-manager-IconsTab-DbYi7sur.js} +2 -2
- package/{file-manager-ImageCodeGenerator-B7oNhyZs.js → file-manager-ImageCodeGenerator-BsDmogJl.js} +2 -2
- package/{file-manager-JsBarcode-BgGNBn9o.js → file-manager-JsBarcode-DDF8pVlB.js} +2 -2
- package/{file-manager-browser-DzjzMXem.js → file-manager-browser-e3az9wxp.js} +2 -2
- package/file-manager-index-B8YIsLbs.js +10 -0
- package/file-manager.css +22 -1
- package/file-manager.esm.js +1 -1
- package/file-manager.js +95 -33
- package/{fm-icons-tab.9fb59ff579663a515590.js → fm-icons-tab.dbc6aea218d2ab6b3de5.js} +2 -2
- package/hooks/core/useFolders.d.ts +8 -0
- package/hooks/core/useFolders.mergeLazyRootFolders.test.d.ts +1 -0
- package/index.d.ts +1 -1
- package/package.json +1 -1
- package/presentation/file-list/FileListAdapter.d.ts +1 -1
- package/presentation/file-list/FileListAdapter.previewFallback.test.d.ts +1 -0
- package/types.d.ts +2 -1
- package/file-manager-index-BOM8wOfQ.js +0 -10
package/file-manager.js
CHANGED
|
@@ -356,13 +356,14 @@ const FolderTree = ({ selectedFolder, onSelect, onExpand, generateMenuItems, fet
|
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
358
|
}, [defaultExpandAll, mode, generateMenuItems, getAllFolderKeys, controlledExpandedKeys]);
|
|
359
|
-
const handleTreeSelect = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(
|
|
359
|
+
const handleTreeSelect = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)((selectedKeys) => {
|
|
360
360
|
const key = selectedKeys[0];
|
|
361
361
|
if (!key || key === 'empty' || key.endsWith('_input'))
|
|
362
362
|
return;
|
|
363
|
+
// onSelect (FolderSidebar.handleTreeSelect) сам вызывает fetchChildFolders(key)
|
|
364
|
+
// внутри — здесь его вызывать повторно не нужно.
|
|
363
365
|
onSelect === null || onSelect === void 0 ? void 0 : onSelect(selectedKeys);
|
|
364
|
-
|
|
365
|
-
}, [onSelect, fetchChildFolders]);
|
|
366
|
+
}, [onSelect]);
|
|
366
367
|
const handleTreeExpand = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(async (keys, info) => {
|
|
367
368
|
var _a;
|
|
368
369
|
setExpandedKeys(keys);
|
|
@@ -422,7 +423,13 @@ const FolderTree = ({ selectedFolder, onSelect, onExpand, generateMenuItems, fet
|
|
|
422
423
|
return (0,jsx_runtime.jsx)(ExpandFolderIcon, { size: 20, strokeWidth: config === null || config === void 0 ? void 0 : config.iconStrokeWidth });
|
|
423
424
|
};
|
|
424
425
|
const currentFolderIcon = renderCurrentFolderIcon();
|
|
425
|
-
const title = ((0,jsx_runtime.jsxs)("div", { className: `${FolderTree_FolderTree_module.folderItemContainer} folder-item-container`, onClick:
|
|
426
|
+
const title = ((0,jsx_runtime.jsxs)("div", { className: `${FolderTree_FolderTree_module.folderItemContainer} folder-item-container`, onClick: event => {
|
|
427
|
+
// Гасим всплытие: иначе клик по заголовку узла долетает и до нативного
|
|
428
|
+
// onSelect antd Tree, и handleTreeSelect срабатывает дважды на один клик.
|
|
429
|
+
event.stopPropagation();
|
|
430
|
+
if (!isDisabled)
|
|
431
|
+
onClickHandle(item.key);
|
|
432
|
+
}, style: {
|
|
426
433
|
opacity: isDisabled ? 0.5 : 1,
|
|
427
434
|
cursor: isDisabled ? 'not-allowed' : 'pointer',
|
|
428
435
|
}, children: [(0,jsx_runtime.jsxs)("div", { className: FolderTree_FolderTree_module.folderLabel, children: [item.icon !== undefined ? item.icon : currentFolderIcon, (0,jsx_runtime.jsx)("span", { className: FolderTree_FolderTree_module.folderLabelItem, children: item.label })] }), showFileCounts && ((0,jsx_runtime.jsx)("div", { className: FolderTree_FolderTree_module.fileCount, title: filesCount === null
|
|
@@ -436,10 +443,16 @@ const FolderTree = ({ selectedFolder, onSelect, onExpand, generateMenuItems, fet
|
|
|
436
443
|
};
|
|
437
444
|
};
|
|
438
445
|
const isRootExpanded = expandedKeys.includes('folders');
|
|
439
|
-
const rootTitle = ((0,jsx_runtime.jsx)("div", { className: FolderTree_FolderTree_module.foldersTitle, onClick:
|
|
446
|
+
const rootTitle = ((0,jsx_runtime.jsx)("div", { className: FolderTree_FolderTree_module.foldersTitle, onClick: event => {
|
|
447
|
+
event.stopPropagation();
|
|
448
|
+
onClickHandle('folders');
|
|
449
|
+
}, children: (0,jsx_runtime.jsxs)("div", { className: FolderTree_FolderTree_module.foldersTitleItem, children: [isRootExpanded ? ((0,jsx_runtime.jsx)(CollapseFolderIcon, { size: 20, strokeWidth: config === null || config === void 0 ? void 0 : config.iconStrokeWidth })) : ((0,jsx_runtime.jsx)(ExpandFolderIcon, { size: 20, strokeWidth: config === null || config === void 0 ? void 0 : config.iconStrokeWidth })), (0,jsx_runtime.jsx)("span", { className: `${FolderTree_FolderTree_module.folderLabelItem} folder-label-item`, children: ((_a = sanitizedMenuItems[0]) === null || _a === void 0 ? void 0 : _a.key) === 'folders' ? sanitizedMenuItems[0].label : t('Folders') })] }) }));
|
|
440
450
|
const buildTrashNode = () => ({
|
|
441
451
|
key: 'Trash',
|
|
442
|
-
title: ((0,jsx_runtime.jsx)("div", { className: FolderTree_FolderTree_module.foldersTitle, onClick:
|
|
452
|
+
title: ((0,jsx_runtime.jsx)("div", { className: FolderTree_FolderTree_module.foldersTitle, onClick: event => {
|
|
453
|
+
event.stopPropagation();
|
|
454
|
+
onClickHandle('Trash');
|
|
455
|
+
}, children: (0,jsx_runtime.jsxs)("div", { className: FolderTree_FolderTree_module.foldersTitleItem, children: [(0,jsx_runtime.jsx)(icons_.Trash03, { size: 20, strokeWidth: config === null || config === void 0 ? void 0 : config.iconStrokeWidth }), (0,jsx_runtime.jsx)("span", { className: FolderTree_FolderTree_module.folderLabelItem, children: t('Trash') })] }) })),
|
|
443
456
|
children: undefined,
|
|
444
457
|
});
|
|
445
458
|
if (isEmpty) {
|
|
@@ -17092,7 +17105,7 @@ var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(1354);
|
|
|
17092
17105
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
|
|
17093
17106
|
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
|
|
17094
17107
|
// Module
|
|
17095
|
-
___CSS_LOADER_EXPORT___.push([module.id, `.ImageStock-module__stockTab__nLVOT{height:100%;min-height:0}.ImageStock-module__stockTab__nLVOT .img{max-width:none;max-height:none;border-radius:0}.ImageStock-module__stockTab__nLVOT .ant-divider-horizontal.ant-divider-with-text::before .ant-divider-horizontal.ant-divider-with-text::after{transform:none}.ImageStock-module__stockSearchInput__KpIug{padding:0;width:640px;transition:all 200ms ease;margin:auto auto 24px}.ImageStock-module__searchOutputWrapper__W7BMj{height:100%;min-height:0;overflow:hidden}.ImageStock-module__divider__BbtaV{margin-bottom:calc(var(--marginLG)*1px);border-color:var(--colorBorder)}.ImageStock-module__search__DKxrP{max-width:100%}.ImageStock-module__searchResults__ZGOZf{width:100%}.ImageStock-module__searchResults__ZGOZf .ImageStock-module__stockSearchInput__KpIug{width:100%}.ImageStock-module__searchResults__ZGOZf label{height:calc(var(--formControlHeight)*1px);line-height:calc(var(--formControlHeight)*1px)}.ImageStock-module__virtualCanvas__WmymP{position:relative;width:100%}.ImageStock-module__blocksSearchDividerWrapper__Jopqt{margin:0}.ImageStock-module__scrollableDiv__LrQPg{width:100%;height:100%;overflow:auto;overflow-x:hidden;box-sizing:border-box;line-height:0;display:flex;flex-direction:column;align-items:center;padding:24px}.ImageStock-module__myMasonryGrid__iYrl6{display:flex;width:auto;text-align:center;gap:calc(var(--marginLG)*1px)}.ImageStock-module__myMasonryGridColumn__Tjc1a{background-clip:padding-box}.ImageStock-module__listItem__Zi1py{cursor:pointer;position:relative;transition:all .3s ease;border:1px solid #f0f2f5;margin-bottom:20px;display:inline-block;border-radius:6px;min-height:100px;max-height:100px;max-width:inherit;overflow:hidden;background:#f0f2f5}.ImageStock-module__listItem__Zi1py .ImageStock-module__overlayImage__rdVIc{position:absolute;bottom:10px;right:10px;width:110px;height:40px;background-size:cover;opacity:0;transition:opacity .5s ease}.ImageStock-module__listItem__Zi1py .ant-spin{font-size:20px;color:#f0f2f5;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.ImageStock-module__listItem__Zi1py img{display:block;border-radius:6px;height:auto;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8{max-height:1000px;border:1px solid #d9d9d9}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8 img{opacity:1;height:100%;width:100%;margin:auto}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8 .ImageStock-module__loadedImage__heBOD{opacity:.5}.ImageStock-module__listItem__Zi1py:hover{box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ImageStock-module__listItem__Zi1py:hover p.ImageStock-module__creatorInfo__xFXkA{opacity:1}.ImageStock-module__listItem__Zi1py:hover .ImageStock-module__overlayImage__rdVIc{opacity:1}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA{position:absolute;border-radius:0 0 6px 0;bottom:0;right:0;margin:0;background-color:rgba(0,0,0,.5);color:#fff;padding:5px;font-size:10px;opacity:0;line-height:1.2}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA:hover a{color:#fff;text-decoration:underline}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA a{color:#fff;text-decoration:none}.ImageStock-module__stockColorFilter__YNDk1{display:flex}.ImageStock-module__stockColorFilter__YNDk1 label,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio]{border-radius:6px !important;width:24px;height:24px;margin:4px 4px;padding:0;font-size:0;border-width:1px}.ImageStock-module__stockColorFilter__YNDk1 label::before,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio]::before{display:none}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__allColors__qJDDJ,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__allColors__qJDDJ{background-image:linear-gradient(135deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #8b00ff)}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__blackColor__OphMv,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__blackColor__OphMv{background:#222}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__bwColor__fbYsd,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__bwColor__fbYsd{background-image:linear-gradient(135deg, #222222 50%, white 50%)}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__whiteColor__E8EXb,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__whiteColor__E8EXb{background:#fff}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__orangeColor__FA62Q,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__orangeColor__FA62Q{background:#fa8c16}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__redColor__QqLbj,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__redColor__QqLbj{background:#f5222d}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__purpleColor__ZYxsy,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__purpleColor__ZYxsy{background:#722ed1}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__magentaColor__OIcvp,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__magentaColor__OIcvp{background:#eb2f96}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__greenColor__xkcIL,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__greenColor__xkcIL{background:#52c41a}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__tealColor__LiqDE,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__tealColor__LiqDE{background:#43c3c3}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__blueColor__AiCDS,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__blueColor__AiCDS{background:#1677ff}.ImageStock-module__stockColorFilter__YNDk1 label.ant-radio-button-wrapper:not(:first-child)::before{display:none}.ImageStock-module__resultsContainer__cGxRN{width:640px;max-width:100%;overflow:auto;box-sizing:border-box;padding:60px 16px;border-radius:12px;background-color:var(--colorBgContainer);display:flex;align-items:center;justify-content:center;flex-direction:column}.ImageStock-module__playButton__zUoU6{color:var(--colorPrimary);margin-bottom:16px}.ImageStock-module__title___XSIh{font-size:16px;font-weight:600;line-height:1.2;margin-bottom:4px}.ImageStock-module__subtitle__zZgjf{font-size:14px;color:var(--colorSecondary);line-height:1.2}.ImageStock-module__dark__bPNKl .ImageStock-module__stockTab__nLVOT .ImageStock-module__listItem__Zi1py{border:1px solid #2b2b2b;background:#2b2b2b}`, "",{"version":3,"sources":["webpack://./src/components/ImageStock/ImageStock.module.scss"],"names":[],"mappings":"AAAA,oCACI,WAAA,CACA,YAAA,CAEA,yCACI,cAAA,CACA,eAAA,CACA,eAAA,CAGJ,+IACI,cAAA,CAIR,4CACI,SAAA,CACA,WAAA,CAEA,yBAAA,CACA,qBAAA,CAGJ,+CACI,WAAA,CACA,YAAA,CACA,eAAA,CAGJ,mCACI,uCAAA,CACA,+BAAA,CAGJ,kCACI,cAAA,CAGJ,yCACI,UAAA,CAEA,qFACI,UAAA,CAGJ,+CACI,yCAAA,CACA,8CAAA,CAMR,yCACI,iBAAA,CACA,UAAA,CAGJ,sDACI,QAAA,CAGJ,yCACI,UAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,qBAAA,CACA,aAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CAGJ,yCACI,YAAA,CACA,UAAA,CACA,iBAAA,CACA,6BAAA,CAGJ,+CACI,2BAAA,CAGJ,oCACI,cAAA,CACA,iBAAA,CACA,uBAAA,CACA,wBAAA,CACA,kBAAA,CACA,oBAAA,CACA,iBAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,4EACI,iBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,SAAA,CACA,2BAAA,CAGJ,8CACI,cAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CAGJ,wCACI,aAAA,CACA,iBAAA,CACA,WAAA,CACA,kBAAA,CACA,SAAA,CACA,kCAAA,CAGJ,qEACI,iBAAA,CACA,wBAAA,CAEA,yEACI,SAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CAGJ,4GACI,UAAA,CAIR,0CACI,oGAAA,CAGA,kFACI,SAAA,CAGJ,kFACI,SAAA,CAIR,4EACI,iBAAA,CACA,uBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,eAAA,CAGI,oFACI,UAAA,CACA,yBAAA,CAIR,8EACI,UAAA,CACA,oBAAA,CAKZ,4CACI,YAAA,CAEA,iHAEI,4BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,WAAA,CACA,gBAAA,CAEA,iIACI,YAAA,CAGJ,yLACI,8FAAA,CASJ,2LACI,eAAA,CAGJ,qLACI,gEAAA,CAGJ,2LACI,eAAA,CAGJ,6LACI,kBAAA,CAGJ,uLACI,kBAAA,CAGJ,6LACI,kBAAA,CAGJ,+LACI,kBAAA,CAGJ,2LACI,kBAAA,CAGJ,yLACI,kBAAA,CAGJ,yLACI,kBAAA,CAIR,qGACI,YAAA,CAIR,4CACI,WAAA,CACA,cAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAAA,CACA,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CAGJ,sCACI,yBAAA,CACA,kBAAA,CAGJ,iCACI,cAAA,CACA,eAAA,CACA,eAAA,CACA,iBAAA,CAGJ,oCACI,cAAA,CACA,2BAAA,CACA,eAAA,CAKI,wGACI,wBAAA,CACA,kBAAA","sourcesContent":[".stockTab {\r\n height: 100%;\r\n min-height: 0;\r\n\r\n :global(.img) {\r\n max-width: none;\r\n max-height: none;\r\n border-radius: 0;\r\n }\r\n\r\n :global(.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after) {\r\n transform: none;\r\n }\r\n}\r\n\r\n.stockSearchInput {\r\n padding: 0;\r\n width: 640px;\r\n //max-width: 100%;\r\n transition: all 200ms ease;\r\n margin: auto auto 24px;\r\n}\r\n\r\n.searchOutputWrapper {\r\n height: 100%;\r\n min-height: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.divider {\r\n margin-bottom: calc(var(--marginLG) * 1px);\r\n border-color: var(--colorBorder);\r\n}\r\n\r\n.search {\r\n max-width: 100%;\r\n}\r\n\r\n.searchResults {\r\n width: 100%;\r\n\r\n .stockSearchInput {\r\n width: 100%;\r\n }\r\n\r\n label {\r\n height: calc(var(--formControlHeight) * 1px);\r\n line-height: calc(var(--formControlHeight) * 1px);\r\n }\r\n\r\n\r\n}\r\n\r\n.virtualCanvas {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.blocksSearchDividerWrapper {\r\n margin: 0;\r\n}\r\n\r\n.scrollableDiv {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n overflow-x: hidden;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 24px;\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n gap: calc(var(--marginLG) * 1px);\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.listItem {\r\n cursor: pointer;\r\n position: relative;\r\n transition: all 0.3s ease;\r\n border: 1px solid #f0f2f5;\r\n margin-bottom: 20px;\r\n display: inline-block;\r\n border-radius: 6px;\r\n min-height: 100px;\r\n max-height: 100px;\r\n max-width: inherit;\r\n overflow: hidden;\r\n background: #f0f2f5;\r\n\r\n .overlayImage {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n width: 110px;\r\n height: 40px;\r\n background-size: cover;\r\n opacity: 0;\r\n transition: opacity 0.5s ease;\r\n }\r\n\r\n :global(.ant-spin) {\r\n font-size: 20px;\r\n color: #f0f2f5;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n\r\n & img {\r\n display: block;\r\n border-radius: 6px;\r\n height: auto;\r\n object-fit: contain;\r\n opacity: 0;\r\n transition: opacity 0.5s ease-in-out;\r\n }\r\n\r\n &.loaded {\r\n max-height: 1000px;\r\n border: 1px solid #d9d9d9;\r\n\r\n & img {\r\n opacity: 1;\r\n height: 100%;\r\n width: 100%;\r\n margin: auto;\r\n }\r\n\r\n & .loadedImage {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n &:hover {\r\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),\r\n 0 5px 12px 4px rgba(0, 0, 0, 0.09);\r\n\r\n & p.creatorInfo {\r\n opacity: 1;\r\n }\r\n\r\n .overlayImage {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n p.creatorInfo {\r\n position: absolute;\r\n border-radius: 0 0 6px 0;\r\n bottom: 0;\r\n right: 0;\r\n margin: 0;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n color: #fff;\r\n padding: 5px;\r\n font-size: 10px;\r\n opacity: 0;\r\n line-height: 1.2;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n & a {\r\n color: #fff;\r\n text-decoration: none;\r\n }\r\n }\r\n}\r\n\r\n.stockColorFilter {\r\n display: flex;\r\n\r\n label,\r\n [class^=\"ant-radio\"] {\r\n border-radius: 6px !important;\r\n width: 24px;\r\n height: 24px;\r\n margin: 4px 4px;\r\n padding: 0;\r\n font-size: 0;\r\n border-width: 1px;\r\n\r\n &::before {\r\n display: none;\r\n }\r\n\r\n &.allColors {\r\n background-image: linear-gradient(135deg,\r\n #ff0000,\r\n #ff7f00,\r\n #ffff00,\r\n #00ff00,\r\n #0000ff,\r\n #8b00ff);\r\n }\r\n\r\n &.blackColor {\r\n background: #222222;\r\n }\r\n\r\n &.bwColor {\r\n background-image: linear-gradient(135deg, #222222 50%, white 50%);\r\n }\r\n\r\n &.whiteColor {\r\n background: #ffffff;\r\n }\r\n\r\n &.orangeColor {\r\n background: #fa8c16;\r\n }\r\n\r\n &.redColor {\r\n background: #f5222d;\r\n }\r\n\r\n &.purpleColor {\r\n background: #722ed1;\r\n }\r\n\r\n &.magentaColor {\r\n background: #eb2f96;\r\n }\r\n\r\n &.greenColor {\r\n background: #52c41a;\r\n }\r\n\r\n &.tealColor {\r\n background: #43c3c3;\r\n }\r\n\r\n &.blueColor {\r\n background: #1677ff;\r\n }\r\n }\r\n\r\n label:global(.ant-radio-button-wrapper:not(:first-child))::before {\r\n display: none;\r\n }\r\n}\r\n\r\n.resultsContainer {\r\n width: 640px;\r\n max-width: 100%;\r\n overflow: auto;\r\n box-sizing: border-box;\r\n padding: 60px 16px;\r\n border-radius: 12px;\r\n background-color: var(--colorBgContainer);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n}\r\n\r\n.playButton {\r\n color: var(--colorPrimary);\r\n margin-bottom: 16px;\r\n}\r\n\r\n.title {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.subtitle {\r\n font-size: 14px;\r\n color: var(--colorSecondary);\r\n line-height: 1.2;\r\n}\r\n\r\n.dark {\r\n .stockTab {\r\n & .listItem {\r\n border: 1px solid #2b2b2b;\r\n background: #2b2b2b;\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
|
17108
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.ImageStock-module__stockTab__nLVOT{height:100%;min-height:0}.ImageStock-module__stockTab__nLVOT .img{max-width:none;max-height:none;border-radius:0}.ImageStock-module__stockTab__nLVOT .ant-divider-horizontal.ant-divider-with-text::before .ant-divider-horizontal.ant-divider-with-text::after{transform:none}.ImageStock-module__stockSearchInput__KpIug{padding:0;width:640px;transition:all 200ms ease;margin:auto auto 24px}.ImageStock-module__searchOutputWrapper__W7BMj{height:100%;min-height:0;overflow:hidden}.ImageStock-module__divider__BbtaV{margin-bottom:calc(var(--marginLG)*1px);border-color:var(--colorBorder)}.ImageStock-module__search__DKxrP{max-width:100%}.ImageStock-module__searchResults__ZGOZf{width:100%}.ImageStock-module__searchResults__ZGOZf .ImageStock-module__stockSearchInput__KpIug{width:100%}.ImageStock-module__searchResults__ZGOZf label{height:calc(var(--formControlHeight)*1px);line-height:calc(var(--formControlHeight)*1px)}.ImageStock-module__virtualCanvas__WmymP{position:relative;width:100%}.ImageStock-module__blocksSearchDividerWrapper__Jopqt{margin:0}.ImageStock-module__scrollableDiv__LrQPg{width:100%;height:100%;overflow:auto;overflow-x:hidden;box-sizing:border-box;line-height:0;display:flex;flex-direction:column;align-items:center;padding:24px}.ImageStock-module__myMasonryGrid__iYrl6{display:flex;width:auto;text-align:center;gap:calc(var(--marginLG)*1px)}.ImageStock-module__myMasonryGridColumn__Tjc1a{background-clip:padding-box}.ImageStock-module__listItem__Zi1py{cursor:pointer;position:relative;transition:all .3s ease;border:1px solid #f0f2f5;margin-bottom:20px;display:inline-block;border-radius:6px;min-height:100px;max-height:100px;max-width:inherit;overflow:hidden;background:#f0f2f5}.ImageStock-module__listItem__Zi1py .ImageStock-module__overlayImage__rdVIc{position:absolute;bottom:10px;right:10px;width:110px;height:40px;background-size:cover;opacity:0;transition:opacity .5s ease}.ImageStock-module__listItem__Zi1py .ant-spin{font-size:20px;color:#f0f2f5;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.ImageStock-module__listItem__Zi1py img{display:block;border-radius:6px;height:auto;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8{max-height:1000px;border:1px solid #d9d9d9}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8 img{opacity:1;height:100%;width:100%;margin:auto}.ImageStock-module__listItem__Zi1py.ImageStock-module__loaded__U4oz8 .ImageStock-module__loadedImage__heBOD{opacity:.5}.ImageStock-module__listItem__Zi1py:hover{box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ImageStock-module__listItem__Zi1py:hover p.ImageStock-module__creatorInfo__xFXkA{opacity:1}.ImageStock-module__listItem__Zi1py:hover .ImageStock-module__overlayImage__rdVIc{opacity:1}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA{position:absolute;border-radius:0 0 6px 0;bottom:0;right:0;margin:0;background-color:rgba(0,0,0,.5);color:#fff;padding:5px;font-size:10px;opacity:0;line-height:1.2}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA:hover a{color:#fff;text-decoration:underline}.ImageStock-module__listItem__Zi1py p.ImageStock-module__creatorInfo__xFXkA a{color:#fff;text-decoration:none}.ImageStock-module__stockColorFilter__YNDk1{display:flex}.ImageStock-module__stockColorFilter__YNDk1 label,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio]{border-radius:6px !important;width:24px;height:24px;margin:4px 4px;padding:0;font-size:0;border-width:1px}.ImageStock-module__stockColorFilter__YNDk1 label::before,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio]::before{display:none}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__allColors__qJDDJ,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__allColors__qJDDJ{background-image:linear-gradient(135deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #8b00ff)}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__blackColor__OphMv,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__blackColor__OphMv{background:#222}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__bwColor__fbYsd,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__bwColor__fbYsd{background-image:linear-gradient(135deg, #222222 50%, white 50%)}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__whiteColor__E8EXb,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__whiteColor__E8EXb{background:#fff}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__orangeColor__FA62Q,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__orangeColor__FA62Q{background:#fa8c16}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__redColor__QqLbj,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__redColor__QqLbj{background:#f5222d}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__purpleColor__ZYxsy,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__purpleColor__ZYxsy{background:#722ed1}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__magentaColor__OIcvp,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__magentaColor__OIcvp{background:#eb2f96}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__greenColor__xkcIL,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__greenColor__xkcIL{background:#52c41a}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__tealColor__LiqDE,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__tealColor__LiqDE{background:#43c3c3}.ImageStock-module__stockColorFilter__YNDk1 label.ImageStock-module__blueColor__AiCDS,.ImageStock-module__stockColorFilter__YNDk1 [class^=ant-radio].ImageStock-module__blueColor__AiCDS{background:#1677ff}.ImageStock-module__stockColorFilter__YNDk1 label.ant-radio-button-wrapper:not(:first-child)::before{display:none}.ImageStock-module__resultsContainer__cGxRN{width:640px;max-width:100%;overflow:auto;box-sizing:border-box;padding:60px 16px;border-radius:12px;background-color:var(--colorBgContainer);display:flex;align-items:center;justify-content:center;flex-direction:column}.ImageStock-module__playButton__zUoU6,.ImageStock-module__playButton__zUoU6.anticon svg{color:var(--colorPrimary)}.ImageStock-module__playButton__zUoU6{margin-bottom:16px}.ImageStock-module__title___XSIh{font-size:16px;font-weight:600;line-height:1.2;margin-bottom:4px}.ImageStock-module__subtitle__zZgjf{font-size:14px;color:var(--colorSecondary);line-height:1.2}.ImageStock-module__dark__bPNKl .ImageStock-module__stockTab__nLVOT .ImageStock-module__listItem__Zi1py{border:1px solid #2b2b2b;background:#2b2b2b}`, "",{"version":3,"sources":["webpack://./src/components/ImageStock/ImageStock.module.scss"],"names":[],"mappings":"AAAA,oCACI,WAAA,CACA,YAAA,CAEA,yCACI,cAAA,CACA,eAAA,CACA,eAAA,CAGJ,+IACI,cAAA,CAIR,4CACI,SAAA,CACA,WAAA,CAEA,yBAAA,CACA,qBAAA,CAGJ,+CACI,WAAA,CACA,YAAA,CACA,eAAA,CAGJ,mCACI,uCAAA,CACA,+BAAA,CAGJ,kCACI,cAAA,CAGJ,yCACI,UAAA,CAEA,qFACI,UAAA,CAGJ,+CACI,yCAAA,CACA,8CAAA,CAMR,yCACI,iBAAA,CACA,UAAA,CAGJ,sDACI,QAAA,CAGJ,yCACI,UAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,qBAAA,CACA,aAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CAGJ,yCACI,YAAA,CACA,UAAA,CACA,iBAAA,CACA,6BAAA,CAGJ,+CACI,2BAAA,CAGJ,oCACI,cAAA,CACA,iBAAA,CACA,uBAAA,CACA,wBAAA,CACA,kBAAA,CACA,oBAAA,CACA,iBAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,4EACI,iBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,SAAA,CACA,2BAAA,CAGJ,8CACI,cAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CAGJ,wCACI,aAAA,CACA,iBAAA,CACA,WAAA,CACA,kBAAA,CACA,SAAA,CACA,kCAAA,CAGJ,qEACI,iBAAA,CACA,wBAAA,CAEA,yEACI,SAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CAGJ,4GACI,UAAA,CAIR,0CACI,oGAAA,CAGA,kFACI,SAAA,CAGJ,kFACI,SAAA,CAIR,4EACI,iBAAA,CACA,uBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,eAAA,CAGI,oFACI,UAAA,CACA,yBAAA,CAIR,8EACI,UAAA,CACA,oBAAA,CAKZ,4CACI,YAAA,CAEA,iHAEI,4BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,WAAA,CACA,gBAAA,CAEA,iIACI,YAAA,CAGJ,yLACI,8FAAA,CASJ,2LACI,eAAA,CAGJ,qLACI,gEAAA,CAGJ,2LACI,eAAA,CAGJ,6LACI,kBAAA,CAGJ,uLACI,kBAAA,CAGJ,6LACI,kBAAA,CAGJ,+LACI,kBAAA,CAGJ,2LACI,kBAAA,CAGJ,yLACI,kBAAA,CAGJ,yLACI,kBAAA,CAIR,qGACI,YAAA,CAIR,4CACI,WAAA,CACA,cAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAAA,CACA,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CAOJ,wFAEI,yBAAA,CAGJ,sCACI,kBAAA,CAGJ,iCACI,cAAA,CACA,eAAA,CACA,eAAA,CACA,iBAAA,CAGJ,oCACI,cAAA,CACA,2BAAA,CACA,eAAA,CAKI,wGACI,wBAAA,CACA,kBAAA","sourcesContent":[".stockTab {\r\n height: 100%;\r\n min-height: 0;\r\n\r\n :global(.img) {\r\n max-width: none;\r\n max-height: none;\r\n border-radius: 0;\r\n }\r\n\r\n :global(.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after) {\r\n transform: none;\r\n }\r\n}\r\n\r\n.stockSearchInput {\r\n padding: 0;\r\n width: 640px;\r\n //max-width: 100%;\r\n transition: all 200ms ease;\r\n margin: auto auto 24px;\r\n}\r\n\r\n.searchOutputWrapper {\r\n height: 100%;\r\n min-height: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.divider {\r\n margin-bottom: calc(var(--marginLG) * 1px);\r\n border-color: var(--colorBorder);\r\n}\r\n\r\n.search {\r\n max-width: 100%;\r\n}\r\n\r\n.searchResults {\r\n width: 100%;\r\n\r\n .stockSearchInput {\r\n width: 100%;\r\n }\r\n\r\n label {\r\n height: calc(var(--formControlHeight) * 1px);\r\n line-height: calc(var(--formControlHeight) * 1px);\r\n }\r\n\r\n\r\n}\r\n\r\n.virtualCanvas {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.blocksSearchDividerWrapper {\r\n margin: 0;\r\n}\r\n\r\n.scrollableDiv {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n overflow-x: hidden;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 24px;\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n gap: calc(var(--marginLG) * 1px);\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.listItem {\r\n cursor: pointer;\r\n position: relative;\r\n transition: all 0.3s ease;\r\n border: 1px solid #f0f2f5;\r\n margin-bottom: 20px;\r\n display: inline-block;\r\n border-radius: 6px;\r\n min-height: 100px;\r\n max-height: 100px;\r\n max-width: inherit;\r\n overflow: hidden;\r\n background: #f0f2f5;\r\n\r\n .overlayImage {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n width: 110px;\r\n height: 40px;\r\n background-size: cover;\r\n opacity: 0;\r\n transition: opacity 0.5s ease;\r\n }\r\n\r\n :global(.ant-spin) {\r\n font-size: 20px;\r\n color: #f0f2f5;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n\r\n & img {\r\n display: block;\r\n border-radius: 6px;\r\n height: auto;\r\n object-fit: contain;\r\n opacity: 0;\r\n transition: opacity 0.5s ease-in-out;\r\n }\r\n\r\n &.loaded {\r\n max-height: 1000px;\r\n border: 1px solid #d9d9d9;\r\n\r\n & img {\r\n opacity: 1;\r\n height: 100%;\r\n width: 100%;\r\n margin: auto;\r\n }\r\n\r\n & .loadedImage {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n &:hover {\r\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),\r\n 0 5px 12px 4px rgba(0, 0, 0, 0.09);\r\n\r\n & p.creatorInfo {\r\n opacity: 1;\r\n }\r\n\r\n .overlayImage {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n p.creatorInfo {\r\n position: absolute;\r\n border-radius: 0 0 6px 0;\r\n bottom: 0;\r\n right: 0;\r\n margin: 0;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n color: #fff;\r\n padding: 5px;\r\n font-size: 10px;\r\n opacity: 0;\r\n line-height: 1.2;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n & a {\r\n color: #fff;\r\n text-decoration: none;\r\n }\r\n }\r\n}\r\n\r\n.stockColorFilter {\r\n display: flex;\r\n\r\n label,\r\n [class^=\"ant-radio\"] {\r\n border-radius: 6px !important;\r\n width: 24px;\r\n height: 24px;\r\n margin: 4px 4px;\r\n padding: 0;\r\n font-size: 0;\r\n border-width: 1px;\r\n\r\n &::before {\r\n display: none;\r\n }\r\n\r\n &.allColors {\r\n background-image: linear-gradient(135deg,\r\n #ff0000,\r\n #ff7f00,\r\n #ffff00,\r\n #00ff00,\r\n #0000ff,\r\n #8b00ff);\r\n }\r\n\r\n &.blackColor {\r\n background: #222222;\r\n }\r\n\r\n &.bwColor {\r\n background-image: linear-gradient(135deg, #222222 50%, white 50%);\r\n }\r\n\r\n &.whiteColor {\r\n background: #ffffff;\r\n }\r\n\r\n &.orangeColor {\r\n background: #fa8c16;\r\n }\r\n\r\n &.redColor {\r\n background: #f5222d;\r\n }\r\n\r\n &.purpleColor {\r\n background: #722ed1;\r\n }\r\n\r\n &.magentaColor {\r\n background: #eb2f96;\r\n }\r\n\r\n &.greenColor {\r\n background: #52c41a;\r\n }\r\n\r\n &.tealColor {\r\n background: #43c3c3;\r\n }\r\n\r\n &.blueColor {\r\n background: #1677ff;\r\n }\r\n }\r\n\r\n label:global(.ant-radio-button-wrapper:not(:first-child))::before {\r\n display: none;\r\n }\r\n}\r\n\r\n.resultsContainer {\r\n width: 640px;\r\n max-width: 100%;\r\n overflow: auto;\r\n box-sizing: border-box;\r\n padding: 60px 16px;\r\n border-radius: 12px;\r\n background-color: var(--colorBgContainer);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n}\r\n\r\n/* Иконка приходит как antd <Icon> — это span.anticon, а SVG внутри рисуется\r\n через currentColor. Хост-приложение может задавать `.blocks-app .anticon { color: inherit }`\r\n (два класса), что перебивает одиночный `.playButton` и красит иконку в чёрный.\r\n Дублируем цвет на самом svg — там у хоста правил на color нет. */\r\n.playButton,\r\n.playButton:global(.anticon) svg {\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.playButton {\r\n margin-bottom: 16px;\r\n}\r\n\r\n.title {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.subtitle {\r\n font-size: 14px;\r\n color: var(--colorSecondary);\r\n line-height: 1.2;\r\n}\r\n\r\n.dark {\r\n .stockTab {\r\n & .listItem {\r\n border: 1px solid #2b2b2b;\r\n background: #2b2b2b;\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
|
17096
17109
|
// Exports
|
|
17097
17110
|
___CSS_LOADER_EXPORT___.locals = {
|
|
17098
17111
|
"stockTab": `ImageStock-module__stockTab__nLVOT`,
|
|
@@ -39123,7 +39136,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
39123
39136
|
HO: () => (/* reexport */ useSortAndFilter/* useSortAndFilter */.H)
|
|
39124
39137
|
});
|
|
39125
39138
|
|
|
39126
|
-
// UNUSED EXPORTS: FileManagerContext, useModals
|
|
39139
|
+
// UNUSED EXPORTS: FileManagerContext, mergeLazyRootFolders, useModals
|
|
39127
39140
|
|
|
39128
39141
|
// EXTERNAL MODULE: ./src/hooks/core/context.tsx
|
|
39129
39142
|
var context = __webpack_require__(8361);
|
|
@@ -41176,6 +41189,7 @@ module.exports = PluralRules;
|
|
|
41176
41189
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
41177
41190
|
/* harmony export */ n: () => (/* binding */ useFolders)
|
|
41178
41191
|
/* harmony export */ });
|
|
41192
|
+
/* unused harmony export mergeLazyRootFolders */
|
|
41179
41193
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5442);
|
|
41180
41194
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
41181
41195
|
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7892);
|
|
@@ -41197,6 +41211,18 @@ module.exports = PluralRules;
|
|
|
41197
41211
|
|
|
41198
41212
|
|
|
41199
41213
|
|
|
41214
|
+
/**
|
|
41215
|
+
* Ленивый режим дерева (`folderTreeLoading: 'lazy'`) не обходит поддеревья — свежий
|
|
41216
|
+
* root-фетч содержит только корневые папки. Старые вложенные записи (с `parentId`)
|
|
41217
|
+
* сохраняются как есть, НО если тот же `id` уже есть в свежем корневом ответе
|
|
41218
|
+
* (сервер теперь считает папку корневой), старая копия вытесняется, а не дублируется
|
|
41219
|
+
* рядом с новой (см. DEV-дубликаты в дереве после загрузки файла в подпапку).
|
|
41220
|
+
*/
|
|
41221
|
+
function mergeLazyRootFolders(prev, rootFolders) {
|
|
41222
|
+
const freshIds = new Set(rootFolders.map(f => f.id));
|
|
41223
|
+
const withoutOldRoots = prev.filter(f => f.parentId && !freshIds.has(f.id));
|
|
41224
|
+
return [...withoutOldRoots, ...rootFolders];
|
|
41225
|
+
}
|
|
41200
41226
|
const useFolders = () => {
|
|
41201
41227
|
var _a, _b;
|
|
41202
41228
|
const { state, actions, options } = (0,_context__WEBPACK_IMPORTED_MODULE_2__/* .useFileManagerContext */ .wh)();
|
|
@@ -41244,8 +41270,7 @@ const useFolders = () => {
|
|
|
41244
41270
|
}
|
|
41245
41271
|
return fullTree;
|
|
41246
41272
|
}
|
|
41247
|
-
const
|
|
41248
|
-
const merged = [...withoutOldRoots, ...rootFolders];
|
|
41273
|
+
const merged = mergeLazyRootFolders(safePrev, rootFolders);
|
|
41249
41274
|
const problematicFolders = merged.filter((folder) => folder.id === folder.parentId);
|
|
41250
41275
|
if (problematicFolders.length > 0) {
|
|
41251
41276
|
console.warn('Folders with cyclic dependencies detected:', problematicFolders);
|
|
@@ -42072,7 +42097,7 @@ var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(1354);
|
|
|
42072
42097
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
|
|
42073
42098
|
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
|
|
42074
42099
|
// Module
|
|
42075
|
-
___CSS_LOADER_EXPORT___.push([module.id, `.ImageGif-module__gifTab__Bgaq5{height:100%;min-height:0}.ImageGif-module__gifTab__Bgaq5 .img{max-width:none;max-height:none;border-radius:0}.ImageGif-module__gifTab__Bgaq5 .ant-divider-horizontal.ant-divider-with-text::before .ant-divider-horizontal.ant-divider-with-text::after{transform:none}.ImageGif-module__scrollableDiv__wN1PE{width:100%;height:100%;overflow:auto;overflow-x:hidden;box-sizing:border-box;line-height:0;display:flex;flex-direction:column;align-items:center;padding:24px}.ImageGif-module__gifSearchInput__qab_Q{padding:0;width:640px;max-width:100%;transition:width 1s ease;margin:auto auto 24px}.ImageGif-module__search__esYE7{max-width:100%}.ImageGif-module__searchResults__VhEpX{width:100%}.ImageGif-module__searchResults__VhEpX .ImageGif-module__gifSearchInput__qab_Q{width:100%}.ImageGif-module__virtualCanvas__GMK6e{position:relative;width:100%}.ImageGif-module__myMasonryGrid__a8NMG{display:flex;width:auto;text-align:center}.ImageGif-module__myMasonryGridColumn__H4F4v{background-clip:padding-box}.ImageGif-module__listItem__VxRuu{cursor:pointer;position:relative;transition:all .3s ease;border:1px solid #f0f2f5;margin-bottom:20px;display:inline-block;border-radius:6px;min-height:100px;max-height:100px;max-width:inherit;overflow:hidden;background:#f0f2f5}.ImageGif-module__listItem__VxRuu .ImageGif-module__overlayImage__rJAoA{position:absolute;bottom:10px;right:10px;width:110px;height:40px;background-size:cover;opacity:0;transition:opacity .5s ease}.ImageGif-module__listItem__VxRuu .ant-spin{font-size:20px;color:#f0f2f5;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.ImageGif-module__listItem__VxRuu img{display:block;border-radius:6px;height:auto;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr{max-height:1000px;border:1px solid #d9d9d9}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr img{opacity:1;height:100%;width:100%;margin:auto}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr .ImageGif-module__loadedImage__dcH_S{opacity:.5}.ImageGif-module__listItem__VxRuu:hover{box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ImageGif-module__listItem__VxRuu:hover p.ImageGif-module__creatorInfo__blRRh{opacity:1}.ImageGif-module__listItem__VxRuu:hover .ImageGif-module__overlayImage__rJAoA{opacity:1}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh{position:absolute;border-radius:0 0 6px 0;bottom:0;right:0;margin:0;background-color:rgba(0,0,0,.5);color:#fff;padding:5px;font-size:10px;opacity:0;line-height:1.2}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh:hover a{color:#fff;text-decoration:underline}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh a{color:#fff;text-decoration:none}.ImageGif-module__searchOutputWrapper___jVQa{height:100%;min-height:0;overflow:hidden}.ImageGif-module__divider__KsfKq{margin-bottom:calc(var(--marginLG)*1px);border-color:var(--colorBorder)}.ImageGif-module__myMasonryGrid__a8NMG{display:flex;width:auto;text-align:center;gap:calc(var(--marginLG)*1px)}.ImageGif-module__myMasonryGridColumn__H4F4v{background-clip:padding-box}.ImageGif-module__resultsContainer__mad2S{width:640px;max-width:100%;overflow:auto;box-sizing:border-box;padding:60px 16px;border-radius:12px;background-color:var(--colorBgContainer);display:flex;align-items:center;justify-content:center;flex-direction:column}.ImageGif-module__playButton__s2fCB{color:var(--colorPrimary);margin-bottom:16px}.ImageGif-module__title__gLwXB{font-size:16px;font-weight:600;line-height:1.2;margin-bottom:4px}.ImageGif-module__subtitle__xOJbD{font-size:14px;color:var(--colorSecondary);line-height:1.2}.ImageGif-module__dark__oJX1A .ImageGif-module__gifTab__Bgaq5 .listItem{border:1px solid #2b2b2b;background:#2b2b2b}`, "",{"version":3,"sources":["webpack://./src/components/ImageGif/ImageGif.module.scss"],"names":[],"mappings":"AAAA,gCACI,WAAA,CACA,YAAA,CAEA,qCACI,cAAA,CACA,eAAA,CACA,eAAA,CAGJ,2IACI,cAAA,CAIR,uCACI,UAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,qBAAA,CACA,aAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CAGJ,wCACI,SAAA,CACA,WAAA,CACA,cAAA,CACA,wBAAA,CACA,qBAAA,CAGJ,gCACI,cAAA,CAGJ,uCACI,UAAA,CAEA,+EACI,UAAA,CAIR,uCACI,iBAAA,CACA,UAAA,CAGJ,uCACI,YAAA,CACA,UAAA,CACA,iBAAA,CAGJ,6CACI,2BAAA,CAGJ,kCACI,cAAA,CACA,iBAAA,CACA,uBAAA,CACA,wBAAA,CACA,kBAAA,CACA,oBAAA,CACA,iBAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,wEACI,iBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,SAAA,CACA,2BAAA,CAGJ,4CACI,cAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CAGJ,sCACI,aAAA,CACA,iBAAA,CACA,WAAA,CACA,kBAAA,CACA,SAAA,CACA,kCAAA,CAGJ,iEACI,iBAAA,CACA,wBAAA,CAEA,qEACI,SAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CAGJ,sGACI,UAAA,CAIR,wCACI,oGAAA,CAGA,8EACI,SAAA,CAGJ,8EACI,SAAA,CAIR,wEACI,iBAAA,CACA,uBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,eAAA,CAGI,gFACI,UAAA,CACA,yBAAA,CAIR,0EACI,UAAA,CACA,oBAAA,CAKZ,6CACI,WAAA,CACA,YAAA,CACA,eAAA,CAGJ,iCACI,uCAAA,CACA,+BAAA,CAGJ,uCACI,YAAA,CACA,UAAA,CACA,iBAAA,CACA,6BAAA,CAGJ,6CACI,2BAAA,CAGJ,0CACI,WAAA,CACA,cAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAAA,CACA,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CAGJ,oCACI,yBAAA,CACA,kBAAA,CAGJ,+BACI,cAAA,CACA,eAAA,CACA,eAAA,CACA,iBAAA,CAGJ,kCACI,cAAA,CACA,2BAAA,CACA,eAAA,CAKI,wEACI,wBAAA,CACA,kBAAA","sourcesContent":[".gifTab {\r\n height: 100%;\r\n min-height: 0;\r\n\r\n :global(.img) {\r\n max-width: none;\r\n max-height: none;\r\n border-radius: 0;\r\n }\r\n\r\n :global(.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after) {\r\n transform: none;\r\n }\r\n}\r\n\r\n.scrollableDiv {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n overflow-x: hidden;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 24px;\r\n}\r\n\r\n.gifSearchInput {\r\n padding: 0;\r\n width: 640px;\r\n max-width: 100%;\r\n transition: width 1s ease;\r\n margin: auto auto 24px;\r\n}\r\n\r\n.search {\r\n max-width: 100%;\r\n}\r\n\r\n.searchResults {\r\n width: 100%;\r\n\r\n .gifSearchInput {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.virtualCanvas {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.listItem {\r\n cursor: pointer;\r\n position: relative;\r\n transition: all 0.3s ease;\r\n border: 1px solid #f0f2f5;\r\n margin-bottom: 20px;\r\n display: inline-block;\r\n border-radius: 6px;\r\n min-height: 100px;\r\n max-height: 100px;\r\n max-width: inherit;\r\n overflow: hidden;\r\n background: #f0f2f5;\r\n\r\n .overlayImage {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n width: 110px;\r\n height: 40px;\r\n background-size: cover;\r\n opacity: 0;\r\n transition: opacity 0.5s ease;\r\n }\r\n\r\n :global(.ant-spin) {\r\n font-size: 20px;\r\n color: #f0f2f5;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n\r\n & img {\r\n display: block;\r\n border-radius: 6px;\r\n height: auto;\r\n object-fit: contain;\r\n opacity: 0;\r\n transition: opacity 0.5s ease-in-out;\r\n }\r\n\r\n &.loaded {\r\n max-height: 1000px;\r\n border: 1px solid #d9d9d9;\r\n\r\n & img {\r\n opacity: 1;\r\n height: 100%;\r\n width: 100%;\r\n margin: auto;\r\n }\r\n\r\n & .loadedImage {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n &:hover {\r\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),\r\n 0 5px 12px 4px rgba(0, 0, 0, 0.09);\r\n\r\n & p.creatorInfo {\r\n opacity: 1;\r\n }\r\n\r\n .overlayImage {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n p.creatorInfo {\r\n position: absolute;\r\n border-radius: 0 0 6px 0;\r\n bottom: 0;\r\n right: 0;\r\n margin: 0;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n color: #fff;\r\n padding: 5px;\r\n font-size: 10px;\r\n opacity: 0;\r\n line-height: 1.2;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n & a {\r\n color: #fff;\r\n text-decoration: none;\r\n }\r\n }\r\n}\r\n\r\n.searchOutputWrapper {\r\n height: 100%;\r\n min-height: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.divider {\r\n margin-bottom: calc(var(--marginLG) * 1px);\r\n border-color: var(--colorBorder);\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n gap: calc(var(--marginLG) * 1px);\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.resultsContainer {\r\n width: 640px;\r\n max-width: 100%;\r\n overflow: auto;\r\n box-sizing: border-box;\r\n padding: 60px 16px;\r\n border-radius: 12px;\r\n background-color: var(--colorBgContainer);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n}\r\n\r\n.playButton {\r\n color: var(--colorPrimary);\r\n margin-bottom: 16px;\r\n}\r\n\r\n.title {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.subtitle {\r\n font-size: 14px;\r\n color: var(--colorSecondary);\r\n line-height: 1.2;\r\n}\r\n\r\n.dark {\r\n .gifTab {\r\n & :global(.listItem) {\r\n border: 1px solid #2b2b2b;\r\n background: #2b2b2b;\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
|
42100
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.ImageGif-module__gifTab__Bgaq5{height:100%;min-height:0}.ImageGif-module__gifTab__Bgaq5 .img{max-width:none;max-height:none;border-radius:0}.ImageGif-module__gifTab__Bgaq5 .ant-divider-horizontal.ant-divider-with-text::before .ant-divider-horizontal.ant-divider-with-text::after{transform:none}.ImageGif-module__scrollableDiv__wN1PE{width:100%;height:100%;overflow:auto;overflow-x:hidden;box-sizing:border-box;line-height:0;display:flex;flex-direction:column;align-items:center;padding:24px}.ImageGif-module__gifSearchInput__qab_Q{padding:0;width:640px;max-width:100%;transition:width 1s ease;margin:auto auto 24px}.ImageGif-module__search__esYE7{max-width:100%}.ImageGif-module__searchResults__VhEpX{width:100%}.ImageGif-module__searchResults__VhEpX .ImageGif-module__gifSearchInput__qab_Q{width:100%}.ImageGif-module__virtualCanvas__GMK6e{position:relative;width:100%}.ImageGif-module__myMasonryGrid__a8NMG{display:flex;width:auto;text-align:center}.ImageGif-module__myMasonryGridColumn__H4F4v{background-clip:padding-box}.ImageGif-module__listItem__VxRuu{cursor:pointer;position:relative;transition:all .3s ease;border:1px solid #f0f2f5;margin-bottom:20px;display:inline-block;border-radius:6px;min-height:100px;max-height:100px;max-width:inherit;overflow:hidden;background:#f0f2f5}.ImageGif-module__listItem__VxRuu .ImageGif-module__overlayImage__rJAoA{position:absolute;bottom:10px;right:10px;width:110px;height:40px;background-size:cover;opacity:0;transition:opacity .5s ease}.ImageGif-module__listItem__VxRuu .ant-spin{font-size:20px;color:#f0f2f5;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.ImageGif-module__listItem__VxRuu img{display:block;border-radius:6px;height:auto;object-fit:contain;opacity:0;transition:opacity .5s ease-in-out}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr{max-height:1000px;border:1px solid #d9d9d9}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr img{opacity:1;height:100%;width:100%;margin:auto}.ImageGif-module__listItem__VxRuu.ImageGif-module__loaded__W4Nzr .ImageGif-module__loadedImage__dcH_S{opacity:.5}.ImageGif-module__listItem__VxRuu:hover{box-shadow:0 1px 2px -2px rgba(0,0,0,.16),0 3px 6px 0 rgba(0,0,0,.12),0 5px 12px 4px rgba(0,0,0,.09)}.ImageGif-module__listItem__VxRuu:hover p.ImageGif-module__creatorInfo__blRRh{opacity:1}.ImageGif-module__listItem__VxRuu:hover .ImageGif-module__overlayImage__rJAoA{opacity:1}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh{position:absolute;border-radius:0 0 6px 0;bottom:0;right:0;margin:0;background-color:rgba(0,0,0,.5);color:#fff;padding:5px;font-size:10px;opacity:0;line-height:1.2}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh:hover a{color:#fff;text-decoration:underline}.ImageGif-module__listItem__VxRuu p.ImageGif-module__creatorInfo__blRRh a{color:#fff;text-decoration:none}.ImageGif-module__searchOutputWrapper___jVQa{height:100%;min-height:0;overflow:hidden}.ImageGif-module__divider__KsfKq{margin-bottom:calc(var(--marginLG)*1px);border-color:var(--colorBorder)}.ImageGif-module__myMasonryGrid__a8NMG{display:flex;width:auto;text-align:center;gap:calc(var(--marginLG)*1px)}.ImageGif-module__myMasonryGridColumn__H4F4v{background-clip:padding-box}.ImageGif-module__resultsContainer__mad2S{width:640px;max-width:100%;overflow:auto;box-sizing:border-box;padding:60px 16px;border-radius:12px;background-color:var(--colorBgContainer);display:flex;align-items:center;justify-content:center;flex-direction:column}.ImageGif-module__playButton__s2fCB,.ImageGif-module__playButton__s2fCB.anticon svg{color:var(--colorPrimary)}.ImageGif-module__playButton__s2fCB{margin-bottom:16px}.ImageGif-module__title__gLwXB{font-size:16px;font-weight:600;line-height:1.2;margin-bottom:4px}.ImageGif-module__subtitle__xOJbD{font-size:14px;color:var(--colorSecondary);line-height:1.2}.ImageGif-module__dark__oJX1A .ImageGif-module__gifTab__Bgaq5 .listItem{border:1px solid #2b2b2b;background:#2b2b2b}`, "",{"version":3,"sources":["webpack://./src/components/ImageGif/ImageGif.module.scss"],"names":[],"mappings":"AAAA,gCACI,WAAA,CACA,YAAA,CAEA,qCACI,cAAA,CACA,eAAA,CACA,eAAA,CAGJ,2IACI,cAAA,CAIR,uCACI,UAAA,CACA,WAAA,CACA,aAAA,CACA,iBAAA,CACA,qBAAA,CACA,aAAA,CACA,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,YAAA,CAGJ,wCACI,SAAA,CACA,WAAA,CACA,cAAA,CACA,wBAAA,CACA,qBAAA,CAGJ,gCACI,cAAA,CAGJ,uCACI,UAAA,CAEA,+EACI,UAAA,CAIR,uCACI,iBAAA,CACA,UAAA,CAGJ,uCACI,YAAA,CACA,UAAA,CACA,iBAAA,CAGJ,6CACI,2BAAA,CAGJ,kCACI,cAAA,CACA,iBAAA,CACA,uBAAA,CACA,wBAAA,CACA,kBAAA,CACA,oBAAA,CACA,iBAAA,CACA,gBAAA,CACA,gBAAA,CACA,iBAAA,CACA,eAAA,CACA,kBAAA,CAEA,wEACI,iBAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CACA,WAAA,CACA,qBAAA,CACA,SAAA,CACA,2BAAA,CAGJ,4CACI,cAAA,CACA,aAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CAGJ,sCACI,aAAA,CACA,iBAAA,CACA,WAAA,CACA,kBAAA,CACA,SAAA,CACA,kCAAA,CAGJ,iEACI,iBAAA,CACA,wBAAA,CAEA,qEACI,SAAA,CACA,WAAA,CACA,UAAA,CACA,WAAA,CAGJ,sGACI,UAAA,CAIR,wCACI,oGAAA,CAGA,8EACI,SAAA,CAGJ,8EACI,SAAA,CAIR,wEACI,iBAAA,CACA,uBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,+BAAA,CACA,UAAA,CACA,WAAA,CACA,cAAA,CACA,SAAA,CACA,eAAA,CAGI,gFACI,UAAA,CACA,yBAAA,CAIR,0EACI,UAAA,CACA,oBAAA,CAKZ,6CACI,WAAA,CACA,YAAA,CACA,eAAA,CAGJ,iCACI,uCAAA,CACA,+BAAA,CAGJ,uCACI,YAAA,CACA,UAAA,CACA,iBAAA,CACA,6BAAA,CAGJ,6CACI,2BAAA,CAGJ,0CACI,WAAA,CACA,cAAA,CACA,aAAA,CACA,qBAAA,CACA,iBAAA,CACA,kBAAA,CACA,wCAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,qBAAA,CAOJ,oFAEI,yBAAA,CAGJ,oCACI,kBAAA,CAGJ,+BACI,cAAA,CACA,eAAA,CACA,eAAA,CACA,iBAAA,CAGJ,kCACI,cAAA,CACA,2BAAA,CACA,eAAA,CAKI,wEACI,wBAAA,CACA,kBAAA","sourcesContent":[".gifTab {\r\n height: 100%;\r\n min-height: 0;\r\n\r\n :global(.img) {\r\n max-width: none;\r\n max-height: none;\r\n border-radius: 0;\r\n }\r\n\r\n :global(.ant-divider-horizontal.ant-divider-with-text::before, .ant-divider-horizontal.ant-divider-with-text::after) {\r\n transform: none;\r\n }\r\n}\r\n\r\n.scrollableDiv {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n overflow-x: hidden;\r\n box-sizing: border-box;\r\n line-height: 0;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n padding: 24px;\r\n}\r\n\r\n.gifSearchInput {\r\n padding: 0;\r\n width: 640px;\r\n max-width: 100%;\r\n transition: width 1s ease;\r\n margin: auto auto 24px;\r\n}\r\n\r\n.search {\r\n max-width: 100%;\r\n}\r\n\r\n.searchResults {\r\n width: 100%;\r\n\r\n .gifSearchInput {\r\n width: 100%;\r\n }\r\n}\r\n\r\n.virtualCanvas {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.listItem {\r\n cursor: pointer;\r\n position: relative;\r\n transition: all 0.3s ease;\r\n border: 1px solid #f0f2f5;\r\n margin-bottom: 20px;\r\n display: inline-block;\r\n border-radius: 6px;\r\n min-height: 100px;\r\n max-height: 100px;\r\n max-width: inherit;\r\n overflow: hidden;\r\n background: #f0f2f5;\r\n\r\n .overlayImage {\r\n position: absolute;\r\n bottom: 10px;\r\n right: 10px;\r\n width: 110px;\r\n height: 40px;\r\n background-size: cover;\r\n opacity: 0;\r\n transition: opacity 0.5s ease;\r\n }\r\n\r\n :global(.ant-spin) {\r\n font-size: 20px;\r\n color: #f0f2f5;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n\r\n & img {\r\n display: block;\r\n border-radius: 6px;\r\n height: auto;\r\n object-fit: contain;\r\n opacity: 0;\r\n transition: opacity 0.5s ease-in-out;\r\n }\r\n\r\n &.loaded {\r\n max-height: 1000px;\r\n border: 1px solid #d9d9d9;\r\n\r\n & img {\r\n opacity: 1;\r\n height: 100%;\r\n width: 100%;\r\n margin: auto;\r\n }\r\n\r\n & .loadedImage {\r\n opacity: 0.5;\r\n }\r\n }\r\n\r\n &:hover {\r\n box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12),\r\n 0 5px 12px 4px rgba(0, 0, 0, 0.09);\r\n\r\n & p.creatorInfo {\r\n opacity: 1;\r\n }\r\n\r\n .overlayImage {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n p.creatorInfo {\r\n position: absolute;\r\n border-radius: 0 0 6px 0;\r\n bottom: 0;\r\n right: 0;\r\n margin: 0;\r\n background-color: rgba(0, 0, 0, 0.5);\r\n color: #fff;\r\n padding: 5px;\r\n font-size: 10px;\r\n opacity: 0;\r\n line-height: 1.2;\r\n\r\n &:hover {\r\n a {\r\n color: #fff;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n & a {\r\n color: #fff;\r\n text-decoration: none;\r\n }\r\n }\r\n}\r\n\r\n.searchOutputWrapper {\r\n height: 100%;\r\n min-height: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.divider {\r\n margin-bottom: calc(var(--marginLG) * 1px);\r\n border-color: var(--colorBorder);\r\n}\r\n\r\n.myMasonryGrid {\r\n display: flex;\r\n width: auto;\r\n text-align: center;\r\n gap: calc(var(--marginLG) * 1px);\r\n}\r\n\r\n.myMasonryGridColumn {\r\n background-clip: padding-box;\r\n}\r\n\r\n.resultsContainer {\r\n width: 640px;\r\n max-width: 100%;\r\n overflow: auto;\r\n box-sizing: border-box;\r\n padding: 60px 16px;\r\n border-radius: 12px;\r\n background-color: var(--colorBgContainer);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column;\r\n}\r\n\r\n/* Иконка приходит как antd <Icon> — это span.anticon, а SVG внутри рисуется\r\n через currentColor. Хост-приложение может задавать `.blocks-app .anticon { color: inherit }`\r\n (два класса), что перебивает одиночный `.playButton` и красит иконку в чёрный.\r\n Дублируем цвет на самом svg — там у хоста правил на color нет. */\r\n.playButton,\r\n.playButton:global(.anticon) svg {\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.playButton {\r\n margin-bottom: 16px;\r\n}\r\n\r\n.title {\r\n font-size: 16px;\r\n font-weight: 600;\r\n line-height: 1.2;\r\n margin-bottom: 4px;\r\n}\r\n\r\n.subtitle {\r\n font-size: 14px;\r\n color: var(--colorSecondary);\r\n line-height: 1.2;\r\n}\r\n\r\n.dark {\r\n .gifTab {\r\n & :global(.listItem) {\r\n border: 1px solid #2b2b2b;\r\n background: #2b2b2b;\r\n }\r\n }\r\n}"],"sourceRoot":""}]);
|
|
42076
42101
|
// Exports
|
|
42077
42102
|
___CSS_LOADER_EXPORT___.locals = {
|
|
42078
42103
|
"gifTab": `ImageGif-module__gifTab__Bgaq5`,
|
|
@@ -43443,7 +43468,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
43443
43468
|
_O: () => (/* reexport */ useViewportMetricsSync)
|
|
43444
43469
|
});
|
|
43445
43470
|
|
|
43446
|
-
// UNUSED EXPORTS: FileManagerContext, useLastDirectory, useModals
|
|
43471
|
+
// UNUSED EXPORTS: FileManagerContext, mergeLazyRootFolders, useLastDirectory, useModals
|
|
43447
43472
|
|
|
43448
43473
|
// EXTERNAL MODULE: ./src/hooks/core/index.ts + 4 modules
|
|
43449
43474
|
var core = __webpack_require__(4002);
|
|
@@ -48431,7 +48456,7 @@ var ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = __webpack_require__(1354);
|
|
|
48431
48456
|
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(6314);
|
|
48432
48457
|
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);
|
|
48433
48458
|
// Module
|
|
48434
|
-
___CSS_LOADER_EXPORT___.push([module.id, `.FolderSidebar-module__button__Yf2rX.ant-btn.ant-btn-icon-only{padding:calc(var(--paddingXXS)*1px) calc(var(--paddingSM)*1px);cursor:pointer;color:var(--colorTextSecondary);display:flex;gap:calc(var(--marginXS)*1px);align-items:center;justify-content:center;border-radius:calc(var(--borderRadiusSM)*1px);transition:all var(--motionDurationFast);box-shadow:none;border:none;width:32px;height:32px}.FolderSidebar-module__button__Yf2rX.ant-btn.ant-btn-icon-only:hover{background-color:var(--colorBgLayout);color:inherit}.FolderSidebar-module__button__Yf2rX:hover{background-color:var(--colorBgContainer);color:var(--colorPrimary)}.FolderSidebar-module__foldersTitle__Uh6u7{display:flex;align-items:center;flex:1;cursor:pointer}.FolderSidebar-module__folderActions__qA2Bk{position:absolute;top:4px;right:4px;display:flex;align-items:center;gap:4px;z-index:10}.FolderSidebar-module__folderActions__qA2Bk .FolderSidebar-module__button__Yf2rX.FolderSidebar-module__ant-btn__LXAXm.FolderSidebar-module__ant-btn-icon-only__j_wVF{padding:calc(var(--paddingXXS)*1px) calc(var(--paddingSM)*1px);cursor:pointer;color:var(--colorTextSecondary);display:flex;gap:calc(var(--marginXS)*1px);align-items:center;justify-content:center;border-radius:calc(var(--borderRadiusSM)*1px);transition:all var(--motionDurationFast);box-shadow:none;border:none;width:32px;height:32px}.FolderSidebar-module__folderActions__qA2Bk .FolderSidebar-module__button__Yf2rX.FolderSidebar-module__ant-btn__LXAXm.FolderSidebar-module__ant-btn-icon-only__j_wVF:hover{background-color:var(--colorBgLayout);color:inherit}.FolderSidebar-module__customExpandIcon__IhZJl{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;cursor:pointer;color:#666;font-size:10px;transition:transform .2s ease}.FolderSidebar-module__customExpandIcon__IhZJl:hover{color:var(--colorPrimary)}.FolderSidebar-module__fileCount__bD9DD{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:100%;padding:0 6px;margin-left:8px;color:#8d8d8d;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;cursor:default;flex-shrink:0;margin-right:10px}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode-selected .folder-label span,.FolderSidebar-module__folderMenu__JCzLF .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .folderLabelItem,.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode-selected .folderLabelItem,.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-selected .folderLabelItem{font-weight:600 !important}.FolderSidebar-module__uploadButton__QQUid{width:100%;justify-content:flex-start}.FolderSidebar-module__uploadButton__QQUid button:hover{background-color:var(--colorPrimaryHover) !important}.FolderSidebar-module__folderMenu__JCzLF{padding-left:0;padding-right:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-radius:4px;transition:background-color .2s ease;width:100%;margin-bottom:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-content-wrapper{flex:1;align-items:center;padding:0;transition:background-color .2s ease}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0)}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher{height:24px;width:24px;margin-top:5px;display:flex !important;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher-noop{width:24px}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher-line-icon{color:#d9d9d9}.FolderSidebar-module__folderMenu__JCzLF .FolderSidebar-module__folderItemContainer__byl5b{width:100%;display:flex;align-items:center;justify-content:space-between;padding:2px 0;min-width:0}.FolderSidebar-module__folderMenu__JCzLF .folder-label{display:flex;align-items:center;flex:1;color:#595959;font-size:14px;min-width:0;overflow:hidden}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"]{border-bottom:1px solid var(--colorBorderSecondary);margin-bottom:8px;padding-bottom:8px}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"].ant-tree-treenode-selected{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"] .ant-tree-node-content-wrapper{padding:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"] .ant-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.FolderSidebar-module__folderMenu__JCzLF .FolderSidebar-module__emptyFolderContainer__WK6tx{padding:20px;text-align:center}.FolderSidebar-module__folderMenu__JCzLF .ant-tree > .ant-tree-treenode{padding-left:0 !important}.FolderSidebar-module__folderIcon__UoZzH{margin-right:8px;font-size:18px;flex-shrink:0}.FolderSidebar-module__folderLabelItem__uJ062{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;user-select:none}.FolderSidebar-module__foldersTitleItem__gapOI{display:flex;align-items:center;flex:1;cursor:pointer;min-width:0;overflow:hidden}.FolderSidebar-module__folderLabel__fHWMp{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.FolderSidebar-module__foldersContainer__zdBVU{position:relative;width:100%}.FolderSidebar-module__uploadButton__QQUid .FolderSidebar-module__ant-btn__LXAXm,.FolderSidebar-module__uploadButton__QQUid .ant-btn{display:flex;align-items:center;justify-content:center;gap:3px}.FolderSidebar-module__buttonWrapper__a9Qi5{margin-bottom:24px;display:flex;gap:4px}.FolderSidebar-module__buttonWrapper__a9Qi5>:first-child{flex:1;height:40px;padding-left:10px}.FolderSidebar-module__buttonWrapper__a9Qi5>:last-child{width:40px;height:40px;flex-shrink:0}.FolderSidebar-module__uploadButtonIcon__mWQmq{font-size:20px}.FolderSidebar-module__uploadButtonTitle__wk_o6{line-height:1em}.FolderSidebar-module__emptyFolderContainer__WK6tx{user-select:none;cursor:default;color:var(--colorTextTertiary)}.FolderSidebar-module__folderItemContainer__byl5b{width:100%;display:flex;align-items:center;justify-content:space-between;padding:2px 0;min-width:0}`, "",{"version":3,"sources":["webpack://./src/components/FolderSidebar/FolderSidebar.module.scss"],"names":[],"mappings":"AAAA,+DACI,8DAAA,CACA,cAAA,CACA,+BAAA,CACA,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,6CAAA,CACA,wCAAA,CACA,eAAA,CAEA,WAAA,CACA,UAAA,CACA,WAAA,CAEA,qEACI,qCAAA,CACA,aAAA,CAIR,2CACI,wCAAA,CACA,yBAAA,CAGJ,2CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,cAAA,CAGF,4CACI,iBAAA,CACA,OAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,UAAA,CAEA,qKACE,8DAAA,CACA,cAAA,CACA,+BAAA,CACA,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,6CAAA,CACA,wCAAA,CACA,eAAA,CAEA,WAAA,CACA,UAAA,CACA,WAAA,CAEA,2KACI,qCAAA,CACA,aAAA,CAKV,+CACE,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,UAAA,CACA,cAAA,CACA,6BAAA,CAGF,qDACI,yBAAA,CAGJ,wCACE,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACE,WAAA,CACF,aAAA,CACA,eAAA,CACE,aAAA,CACA,cAAA,CACF,eAAA,CACA,uBAAA,CACA,kBAAA,CACA,cAAA,CACA,aAAA,CACA,iBAAA,CAQF,gEACE,yCAAA,CAQF,0XAIE,0BAAA,CAWF,2CACI,UAAA,CACA,0BAAA,CAEA,wDACE,oDAAA,CAIN,yCACE,cAAA,CACA,eAAA,CAGF,4DACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,iBAAA,CACA,oCAAA,CACA,UAAA,CACA,eAAA,CAGF,wEACE,MAAA,CAEA,kBAAA,CACA,SAAA,CAEA,oCAAA,CAGF,8EACE,8BAAA,CAGF,4DACE,WAAA,CACA,UAAA,CACA,cAAA,CACA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,yBAAA,CACA,aAAA,CAGF,iEACE,UAAA,CAIF,sEACE,aAAA,CAIF,2FACE,UAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,WAAA,CAGF,uDACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,aAAA,CACA,cAAA,CACA,WAAA,CACA,eAAA,CAIF,gFACI,mDAAA,CACF,iBAAA,CACA,kBAAA,CAGF,2GACE,yCAAA,CAGF,+GACE,SAAA,CAGF,qHACE,yCAAA,CAIF,mDACE,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,MAAA,CACA,WAAA,CAIF,4FACE,YAAA,CACA,iBAAA,CAIF,wEACE,yBAAA,CAEF,yCACE,gBAAA,CACE,cAAA,CACF,aAAA,CAGF,8CACE,cAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,MAAA,CACA,WAAA,CACA,gBAAA,CAGF,+CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,cAAA,CACA,WAAA,CACA,eAAA,CASF,0CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,WAAA,CACA,eAAA,CAGF,+CACE,iBAAA,CACA,UAAA,CAWF,qIAEE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,OAAA,CAaF,4CAEI,kBAAA,CACA,YAAA,CACA,OAAA,CAIA,yDACI,MAAA,CACA,WAAA,CACA,iBAAA,CAIJ,wDACI,UAAA,CACA,WAAA,CACA,aAAA,CAIR,+CACI,cAAA,CAGJ,gDACI,eAAA,CAGJ,mDACI,gBAAA,CACA,cAAA,CACA,8BAAA,CAGJ,kDACI,UAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,WAAA","sourcesContent":[".button:global(.ant-btn.ant-btn-icon-only) {\r\n padding: calc(var(--paddingXXS) * 1px) calc(var(--paddingSM) * 1px);\r\n cursor: pointer;\r\n color: var(--colorTextSecondary);\r\n display: flex;\r\n gap: calc(var(--marginXS) * 1px);\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: calc(var(--borderRadiusSM) * 1px);\r\n transition: all var(--motionDurationFast);\r\n box-shadow: none;\r\n\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n\r\n &:hover {\r\n background-color: var(--colorBgLayout);\r\n color: inherit;\r\n }\r\n}\r\n\r\n.button:hover {\r\n background-color: var(--colorBgContainer);\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.foldersTitle {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n cursor: pointer;\r\n}\r\n\r\n.folderActions {\r\n position: absolute;\r\n top: 4px; /* Выравниваем по заголовку Folders */\r\n right: 4px;\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n z-index: 10;\r\n\r\n .button.ant-btn.ant-btn-icon-only {\r\n padding: calc(var(--paddingXXS) * 1px) calc(var(--paddingSM) * 1px);\r\n cursor: pointer;\r\n color: var(--colorTextSecondary);\r\n display: flex;\r\n gap: calc(var(--marginXS) * 1px);\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: calc(var(--borderRadiusSM) * 1px);\r\n transition: all var(--motionDurationFast);\r\n box-shadow: none;\r\n\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n\r\n &:hover {\r\n background-color: var(--colorBgLayout);\r\n color: inherit;\r\n }\r\n }\r\n}\r\n\r\n.customExpandIcon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 16px;\r\n height: 16px;\r\n margin-right: 8px;\r\n cursor: pointer;\r\n color: #666;\r\n font-size: 10px;\r\n transition: transform 0.2s ease;\r\n}\r\n\r\n.customExpandIcon:hover {\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.fileCount {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: 20px;\r\n height: 100%;\r\n padding: 0 6px;\r\n margin-left: 8px;\r\n color: #8D8D8D;\r\n font-size: 14px;\r\n font-weight: 500;\r\n transition: all 0.2s ease;\r\n white-space: nowrap;\r\n cursor: default;\r\n flex-shrink: 0; /* Запрещаем сжатие счетчика */\r\n margin-right: 10px;\r\n}\r\n\r\n// .fileCount:hover {\r\n// border-color: var(--colorPrimary);\r\n// color: var(--colorPrimary);\r\n// }\r\n\r\n:global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected) {\r\n background-color: transparent !important;\r\n}\r\n\r\n/* :global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected):hover {\r\n color: red !important;\r\n} */\r\n\r\n/* Стили для выделения текста в выбранной папке */\r\n.folderMenu :global(.ant-tree-treenode-selected .folder-label span),\r\n.folderMenu :global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .folderLabelItem),\r\n.folderMenu :global(.ant-tree-treenode-selected .folderLabelItem),\r\n.folderMenu :global(.ant-tree-node-selected .folderLabelItem) {\r\n font-weight: 600 !important;\r\n}\r\n\r\n/* Стили для иконки в выбранной папке */\r\n/* .folderMenu :global(.ant-tree-treenode-selected .folderIcon),\r\n.folderMenu :global(.ant-tree-node-selected .folderIcon) {\r\n color: red !important;\r\n} */\r\n\r\n/* CSS переменные для упрощения расчетов */\r\n\r\n.uploadButton {\r\n width: 100%;\r\n justify-content: flex-start;\r\n\r\n & button:hover {\r\n background-color: var(--colorPrimaryHover) !important;\r\n }\r\n}\r\n\r\n.folderMenu {\r\n padding-left: 0;\r\n padding-right: 0; /* Место для кнопки справа */\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 4px 0;\r\n border-radius: 4px;\r\n transition: background-color 0.2s ease;\r\n width: 100%;\r\n margin-bottom: 0;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-node-content-wrapper) {\r\n flex: 1;\r\n /* display: flex; */\r\n align-items: center;\r\n padding: 0;\r\n /* border-radius: 4px; */\r\n transition: background-color 0.2s ease;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-node-content-wrapper:hover) {\r\n background-color: transparent;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-switcher) {\r\n height: 24px;\r\n width: 24px;\r\n margin-top: 5px;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n transition: color 0.2s ease;\r\n flex-shrink: 0; /* Запрещаем сжатие переключателя */\r\n}\r\n\r\n.folderMenu :global(.ant-tree-switcher-noop) {\r\n width: 24px;\r\n}\r\n\r\n/* Стили для линий дерева */\r\n.folderMenu :global(.ant-tree-switcher-line-icon) {\r\n color: #d9d9d9;\r\n}\r\n\r\n/* Улучшение отображения folder-item-container */\r\n.folderMenu .folderItemContainer {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 2px 0;\r\n min-width: 0; /* Позволяет flex-элементам сжиматься */\r\n}\r\n\r\n.folderMenu :global(.folder-label) {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n color: #595959;\r\n font-size: 14px;\r\n min-width: 0;\r\n overflow: hidden;\r\n}\r\n\r\n/* Стили для корневого элемента Folders */\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders']) {\r\n border-bottom: 1px solid var(--colorBorderSecondary);\r\n margin-bottom: 8px;\r\n padding-bottom: 8px;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'].ant-tree-treenode-selected) {\r\n background-color: transparent !important;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'] .ant-tree-node-content-wrapper) {\r\n padding: 0;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'] .ant-tree-node-content-wrapper:hover) {\r\n background-color: transparent !important;\r\n}\r\n\r\n/* Стили для ellipsis - удаляем max-width для гибкости */\r\n.folderMenu :global(.ellipsis) {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n flex: 1;\r\n min-width: 0;\r\n}\r\n\r\n/* Стили для пустого состояния */\r\n.folderMenu .emptyFolderContainer {\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n/* Убираем отступы у корневого узла */\r\n.folderMenu :global(.ant-tree > .ant-tree-treenode) {\r\n padding-left: 0 !important;\r\n}\r\n.folderIcon {\r\n margin-right: 8px;\r\n font-size: 18px;\r\n flex-shrink: 0; /* Запрещаем сжатие иконки */\r\n}\r\n\r\n.folderLabelItem {\r\n font-size: 14px;\r\n white-space: nowrap; /* Запрещаем перенос строк */\r\n overflow: hidden; /* Скрываем переполнение */\r\n text-overflow: ellipsis; /* Показываем троеточие */\r\n flex: 1; /* Занимает доступное место */\r\n min-width: 0; /* Позволяет сжиматься */\r\n user-select: none;\r\n}\r\n\r\n.foldersTitleItem {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-width: 0; /* Позволяет сжиматься */\r\n overflow: hidden; /* Скрываем переполнение */\r\n}\r\n\r\n/* .foldersTitleItem .folderLabelItem {\r\n font-weight: 500;\r\n color: #262626;\r\n} */\r\n\r\n/* Класс для заголовка папок */\r\n.folderLabel {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.foldersContainer {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n/* Дополнительные стили для улучшения визуала */\r\n/* .folderMenu :global(.ant-tree-treenode:hover .folder-label span) {\r\n color: #1890ff;\r\n} */\r\n\r\n/* Стили для дивайдера между папками */\r\n\r\n\r\n.uploadButton .ant-btn,\r\n.uploadButton :global(.ant-btn) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 3px;\r\n}\r\n/* .folderMenu :global(.ant-tree-treenode-selected) .folderLabelItem {\r\n color: #1890ff !important;\r\n} */\r\n\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabel .folderLabelItem,\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabel .folderIcon,\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabelItem {\r\n// color: var(--colorLink);\r\n// }\r\n\r\n\r\n.buttonWrapper {\r\n // overflow: hidden;\r\n margin-bottom: 24px;\r\n display: flex;\r\n gap: 4px;\r\n // border-radius: calc(var(--borderRadius) * 1px);\r\n \r\n // Левая кнопка занимает всю доступную ширину\r\n > :first-child {\r\n flex: 1;\r\n height: 40px;\r\n padding-left: 10px;\r\n }\r\n \r\n // Правая кнопка строго 40px\r\n > :last-child {\r\n width: 40px;\r\n height: 40px;\r\n flex-shrink: 0;\r\n }\r\n}\r\n\r\n.uploadButtonIcon {\r\n font-size: 20px;\r\n}\r\n\r\n.uploadButtonTitle {\r\n line-height: 1em;\r\n}\r\n\r\n.emptyFolderContainer {\r\n user-select: none;\r\n cursor: default;\r\n color: var(--colorTextTertiary);\r\n}\r\n\r\n.folderItemContainer {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 2px 0;\r\n min-width: 0; /* Позволяет flex-элементам сжиматься */\r\n}\r\n"],"sourceRoot":""}]);
|
|
48459
|
+
___CSS_LOADER_EXPORT___.push([module.id, `.FolderSidebar-module__button__Yf2rX.ant-btn.ant-btn-icon-only{padding:calc(var(--paddingXXS)*1px) calc(var(--paddingSM)*1px);cursor:pointer;color:var(--colorTextSecondary);display:flex;gap:calc(var(--marginXS)*1px);align-items:center;justify-content:center;border-radius:calc(var(--borderRadiusSM)*1px);transition:all var(--motionDurationFast);box-shadow:none;border:none;width:32px;height:32px}.FolderSidebar-module__button__Yf2rX.ant-btn.ant-btn-icon-only:hover{background-color:var(--colorBgLayout);color:inherit}.FolderSidebar-module__button__Yf2rX:hover{background-color:var(--colorBgContainer);color:var(--colorPrimary)}.FolderSidebar-module__foldersTitle__Uh6u7{display:flex;align-items:center;flex:1;cursor:pointer}.FolderSidebar-module__folderActions__qA2Bk{position:absolute;top:4px;right:4px;display:flex;align-items:center;gap:4px;z-index:10}.FolderSidebar-module__folderActions__qA2Bk .FolderSidebar-module__button__Yf2rX.FolderSidebar-module__ant-btn__LXAXm.FolderSidebar-module__ant-btn-icon-only__j_wVF{padding:calc(var(--paddingXXS)*1px) calc(var(--paddingSM)*1px);cursor:pointer;color:var(--colorTextSecondary);display:flex;gap:calc(var(--marginXS)*1px);align-items:center;justify-content:center;border-radius:calc(var(--borderRadiusSM)*1px);transition:all var(--motionDurationFast);box-shadow:none;border:none;width:32px;height:32px}.FolderSidebar-module__folderActions__qA2Bk .FolderSidebar-module__button__Yf2rX.FolderSidebar-module__ant-btn__LXAXm.FolderSidebar-module__ant-btn-icon-only__j_wVF:hover{background-color:var(--colorBgLayout);color:inherit}.FolderSidebar-module__customExpandIcon__IhZJl{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:8px;cursor:pointer;color:#666;font-size:10px;transition:transform .2s ease}.FolderSidebar-module__customExpandIcon__IhZJl:hover{color:var(--colorPrimary)}.FolderSidebar-module__fileCount__bD9DD{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:100%;padding:0 6px;margin-left:8px;color:#8d8d8d;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;cursor:default;flex-shrink:0;margin-right:10px}.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode-selected .folder-label span,.FolderSidebar-module__folderMenu__JCzLF .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .folderLabelItem,.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode-selected .folderLabelItem,.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-selected .folderLabelItem{font-weight:600 !important}.FolderSidebar-module__uploadButton__QQUid{width:100%;justify-content:flex-start}.FolderSidebar-module__uploadButton__QQUid button:hover{background-color:var(--colorPrimaryHover) !important}.FolderSidebar-module__folderMenu__JCzLF{padding-left:0;padding-right:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-radius:4px;transition:background-color .2s ease;width:100%;margin-bottom:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-content-wrapper{flex:1;align-items:center;padding:0;transition:background-color .2s ease}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0)}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher{height:24px;width:24px;margin-top:5px;display:flex !important;align-items:center;justify-content:center;transition:color .2s ease;flex-shrink:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher-noop{width:24px}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-switcher-line-icon{color:#d9d9d9}.FolderSidebar-module__folderMenu__JCzLF .FolderSidebar-module__folderItemContainer__byl5b{width:100%;display:flex;align-items:center;justify-content:space-between;padding:2px 0;min-width:0}.FolderSidebar-module__folderMenu__JCzLF .folder-label{display:flex;align-items:center;flex:1;color:#595959;font-size:14px;min-width:0;overflow:hidden}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"]{border-bottom:1px solid var(--colorBorderSecondary);margin-bottom:8px;padding-bottom:8px}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"].ant-tree-treenode-selected{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"] .ant-tree-node-content-wrapper{padding:0}.FolderSidebar-module__folderMenu__JCzLF .ant-tree-treenode[data-key="folders"] .ant-tree-node-content-wrapper:hover{background-color:rgba(0,0,0,0) !important}.FolderSidebar-module__folderMenu__JCzLF .ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.FolderSidebar-module__folderMenu__JCzLF .FolderSidebar-module__emptyFolderContainer__WK6tx{padding:20px;text-align:center}.FolderSidebar-module__folderMenu__JCzLF .ant-tree > .ant-tree-treenode{padding-left:0 !important}.FolderSidebar-module__folderIcon__UoZzH{margin-right:8px;font-size:18px;flex-shrink:0}.FolderSidebar-module__folderLabelItem__uJ062{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;user-select:none}.FolderSidebar-module__foldersTitleItem__gapOI{display:flex;align-items:center;flex:1;cursor:pointer;min-width:0;overflow:hidden}.FolderSidebar-module__folderLabel__fHWMp{display:flex;align-items:center;flex:1;min-width:0;overflow:hidden}.FolderSidebar-module__foldersContainer__zdBVU{position:relative;width:100%}.FolderSidebar-module__uploadButton__QQUid .FolderSidebar-module__ant-btn__LXAXm,.FolderSidebar-module__uploadButton__QQUid .ant-btn{display:flex;align-items:center;justify-content:center;gap:3px}.FolderSidebar-module__buttonWrapper__a9Qi5{margin-bottom:24px;display:flex;gap:4px}.FolderSidebar-module__buttonWrapper__a9Qi5>:first-child{flex:1;height:40px;padding-left:10px}.FolderSidebar-module__buttonWrapper__a9Qi5>:last-child{width:40px;height:40px;flex-shrink:0}.FolderSidebar-module__uploadByURLButton__epMiC.ant-btn.ant-btn-icon-only{width:40px;min-width:40px;height:40px;padding:0;flex-shrink:0}.FolderSidebar-module__uploadButtonIcon__mWQmq{font-size:20px}.FolderSidebar-module__uploadButtonTitle__wk_o6{line-height:1em}.FolderSidebar-module__emptyFolderContainer__WK6tx{user-select:none;cursor:default;color:var(--colorTextTertiary)}.FolderSidebar-module__folderItemContainer__byl5b{width:100%;display:flex;align-items:center;justify-content:space-between;padding:2px 0;min-width:0}`, "",{"version":3,"sources":["webpack://./src/components/FolderSidebar/FolderSidebar.module.scss"],"names":[],"mappings":"AAAA,+DACI,8DAAA,CACA,cAAA,CACA,+BAAA,CACA,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,6CAAA,CACA,wCAAA,CACA,eAAA,CAEA,WAAA,CACA,UAAA,CACA,WAAA,CAEA,qEACI,qCAAA,CACA,aAAA,CAIR,2CACI,wCAAA,CACA,yBAAA,CAGJ,2CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,cAAA,CAGF,4CACI,iBAAA,CACA,OAAA,CACA,SAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,UAAA,CAEA,qKACE,8DAAA,CACA,cAAA,CACA,+BAAA,CACA,YAAA,CACA,6BAAA,CACA,kBAAA,CACA,sBAAA,CACA,6CAAA,CACA,wCAAA,CACA,eAAA,CAEA,WAAA,CACA,UAAA,CACA,WAAA,CAEA,2KACI,qCAAA,CACA,aAAA,CAKV,+CACE,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,UAAA,CACA,cAAA,CACA,6BAAA,CAGF,qDACI,yBAAA,CAGJ,wCACE,mBAAA,CACA,kBAAA,CACA,sBAAA,CACA,cAAA,CACE,WAAA,CACF,aAAA,CACA,eAAA,CACE,aAAA,CACA,cAAA,CACF,eAAA,CACA,uBAAA,CACA,kBAAA,CACA,cAAA,CACA,aAAA,CACA,iBAAA,CAQF,gEACE,yCAAA,CAQF,0XAIE,0BAAA,CAWF,2CACI,UAAA,CACA,0BAAA,CAEA,wDACE,oDAAA,CAIN,yCACE,cAAA,CACA,eAAA,CAGF,4DACE,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,iBAAA,CACA,oCAAA,CACA,UAAA,CACA,eAAA,CAGF,wEACE,MAAA,CAEA,kBAAA,CACA,SAAA,CAEA,oCAAA,CAGF,8EACE,8BAAA,CAGF,4DACE,WAAA,CACA,UAAA,CACA,cAAA,CACA,uBAAA,CACA,kBAAA,CACA,sBAAA,CACA,yBAAA,CACA,aAAA,CAGF,iEACE,UAAA,CAIF,sEACE,aAAA,CAIF,2FACE,UAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,WAAA,CAGF,uDACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,aAAA,CACA,cAAA,CACA,WAAA,CACA,eAAA,CAIF,gFACI,mDAAA,CACF,iBAAA,CACA,kBAAA,CAGF,2GACE,yCAAA,CAGF,+GACE,SAAA,CAGF,qHACE,yCAAA,CAIF,mDACE,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,MAAA,CACA,WAAA,CAIF,4FACE,YAAA,CACA,iBAAA,CAIF,wEACE,yBAAA,CAEF,yCACE,gBAAA,CACE,cAAA,CACF,aAAA,CAGF,8CACE,cAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CACA,MAAA,CACA,WAAA,CACA,gBAAA,CAGF,+CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,cAAA,CACA,WAAA,CACA,eAAA,CASF,0CACE,YAAA,CACA,kBAAA,CACA,MAAA,CACA,WAAA,CACA,eAAA,CAGF,+CACE,iBAAA,CACA,UAAA,CAWF,qIAEE,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,OAAA,CAaF,4CAEI,kBAAA,CACA,YAAA,CACA,OAAA,CAIA,yDACI,MAAA,CACA,WAAA,CACA,iBAAA,CAIJ,wDACI,UAAA,CACA,WAAA,CACA,aAAA,CAQR,0EACI,UAAA,CACA,cAAA,CACA,WAAA,CACA,SAAA,CACA,aAAA,CAGJ,+CACI,cAAA,CAGJ,gDACI,eAAA,CAGJ,mDACI,gBAAA,CACA,cAAA,CACA,8BAAA,CAGJ,kDACI,UAAA,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,aAAA,CACA,WAAA","sourcesContent":[".button:global(.ant-btn.ant-btn-icon-only) {\r\n padding: calc(var(--paddingXXS) * 1px) calc(var(--paddingSM) * 1px);\r\n cursor: pointer;\r\n color: var(--colorTextSecondary);\r\n display: flex;\r\n gap: calc(var(--marginXS) * 1px);\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: calc(var(--borderRadiusSM) * 1px);\r\n transition: all var(--motionDurationFast);\r\n box-shadow: none;\r\n\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n\r\n &:hover {\r\n background-color: var(--colorBgLayout);\r\n color: inherit;\r\n }\r\n}\r\n\r\n.button:hover {\r\n background-color: var(--colorBgContainer);\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.foldersTitle {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n cursor: pointer;\r\n}\r\n\r\n.folderActions {\r\n position: absolute;\r\n top: 4px; /* Выравниваем по заголовку Folders */\r\n right: 4px;\r\n display: flex;\r\n align-items: center;\r\n gap: 4px;\r\n z-index: 10;\r\n\r\n .button.ant-btn.ant-btn-icon-only {\r\n padding: calc(var(--paddingXXS) * 1px) calc(var(--paddingSM) * 1px);\r\n cursor: pointer;\r\n color: var(--colorTextSecondary);\r\n display: flex;\r\n gap: calc(var(--marginXS) * 1px);\r\n align-items: center;\r\n justify-content: center;\r\n border-radius: calc(var(--borderRadiusSM) * 1px);\r\n transition: all var(--motionDurationFast);\r\n box-shadow: none;\r\n\r\n border: none;\r\n width: 32px;\r\n height: 32px;\r\n\r\n &:hover {\r\n background-color: var(--colorBgLayout);\r\n color: inherit;\r\n }\r\n }\r\n}\r\n\r\n.customExpandIcon {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 16px;\r\n height: 16px;\r\n margin-right: 8px;\r\n cursor: pointer;\r\n color: #666;\r\n font-size: 10px;\r\n transition: transform 0.2s ease;\r\n}\r\n\r\n.customExpandIcon:hover {\r\n color: var(--colorPrimary);\r\n}\r\n\r\n.fileCount {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: 20px;\r\n height: 100%;\r\n padding: 0 6px;\r\n margin-left: 8px;\r\n color: #8D8D8D;\r\n font-size: 14px;\r\n font-weight: 500;\r\n transition: all 0.2s ease;\r\n white-space: nowrap;\r\n cursor: default;\r\n flex-shrink: 0; /* Запрещаем сжатие счетчика */\r\n margin-right: 10px;\r\n}\r\n\r\n// .fileCount:hover {\r\n// border-color: var(--colorPrimary);\r\n// color: var(--colorPrimary);\r\n// }\r\n\r\n:global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected) {\r\n background-color: transparent !important;\r\n}\r\n\r\n/* :global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected):hover {\r\n color: red !important;\r\n} */\r\n\r\n/* Стили для выделения текста в выбранной папке */\r\n.folderMenu :global(.ant-tree-treenode-selected .folder-label span),\r\n.folderMenu :global(.ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected .folderLabelItem),\r\n.folderMenu :global(.ant-tree-treenode-selected .folderLabelItem),\r\n.folderMenu :global(.ant-tree-node-selected .folderLabelItem) {\r\n font-weight: 600 !important;\r\n}\r\n\r\n/* Стили для иконки в выбранной папке */\r\n/* .folderMenu :global(.ant-tree-treenode-selected .folderIcon),\r\n.folderMenu :global(.ant-tree-node-selected .folderIcon) {\r\n color: red !important;\r\n} */\r\n\r\n/* CSS переменные для упрощения расчетов */\r\n\r\n.uploadButton {\r\n width: 100%;\r\n justify-content: flex-start;\r\n\r\n & button:hover {\r\n background-color: var(--colorPrimaryHover) !important;\r\n }\r\n}\r\n\r\n.folderMenu {\r\n padding-left: 0;\r\n padding-right: 0; /* Место для кнопки справа */\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 4px 0;\r\n border-radius: 4px;\r\n transition: background-color 0.2s ease;\r\n width: 100%;\r\n margin-bottom: 0;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-node-content-wrapper) {\r\n flex: 1;\r\n /* display: flex; */\r\n align-items: center;\r\n padding: 0;\r\n /* border-radius: 4px; */\r\n transition: background-color 0.2s ease;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-node-content-wrapper:hover) {\r\n background-color: transparent;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-switcher) {\r\n height: 24px;\r\n width: 24px;\r\n margin-top: 5px;\r\n display: flex !important;\r\n align-items: center;\r\n justify-content: center;\r\n transition: color 0.2s ease;\r\n flex-shrink: 0; /* Запрещаем сжатие переключателя */\r\n}\r\n\r\n.folderMenu :global(.ant-tree-switcher-noop) {\r\n width: 24px;\r\n}\r\n\r\n/* Стили для линий дерева */\r\n.folderMenu :global(.ant-tree-switcher-line-icon) {\r\n color: #d9d9d9;\r\n}\r\n\r\n/* Улучшение отображения folder-item-container */\r\n.folderMenu .folderItemContainer {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 2px 0;\r\n min-width: 0; /* Позволяет flex-элементам сжиматься */\r\n}\r\n\r\n.folderMenu :global(.folder-label) {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n color: #595959;\r\n font-size: 14px;\r\n min-width: 0;\r\n overflow: hidden;\r\n}\r\n\r\n/* Стили для корневого элемента Folders */\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders']) {\r\n border-bottom: 1px solid var(--colorBorderSecondary);\r\n margin-bottom: 8px;\r\n padding-bottom: 8px;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'].ant-tree-treenode-selected) {\r\n background-color: transparent !important;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'] .ant-tree-node-content-wrapper) {\r\n padding: 0;\r\n}\r\n\r\n.folderMenu :global(.ant-tree-treenode[data-key='folders'] .ant-tree-node-content-wrapper:hover) {\r\n background-color: transparent !important;\r\n}\r\n\r\n/* Стили для ellipsis - удаляем max-width для гибкости */\r\n.folderMenu :global(.ellipsis) {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n flex: 1;\r\n min-width: 0;\r\n}\r\n\r\n/* Стили для пустого состояния */\r\n.folderMenu .emptyFolderContainer {\r\n padding: 20px;\r\n text-align: center;\r\n}\r\n\r\n/* Убираем отступы у корневого узла */\r\n.folderMenu :global(.ant-tree > .ant-tree-treenode) {\r\n padding-left: 0 !important;\r\n}\r\n.folderIcon {\r\n margin-right: 8px;\r\n font-size: 18px;\r\n flex-shrink: 0; /* Запрещаем сжатие иконки */\r\n}\r\n\r\n.folderLabelItem {\r\n font-size: 14px;\r\n white-space: nowrap; /* Запрещаем перенос строк */\r\n overflow: hidden; /* Скрываем переполнение */\r\n text-overflow: ellipsis; /* Показываем троеточие */\r\n flex: 1; /* Занимает доступное место */\r\n min-width: 0; /* Позволяет сжиматься */\r\n user-select: none;\r\n}\r\n\r\n.foldersTitleItem {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n cursor: pointer;\r\n min-width: 0; /* Позволяет сжиматься */\r\n overflow: hidden; /* Скрываем переполнение */\r\n}\r\n\r\n/* .foldersTitleItem .folderLabelItem {\r\n font-weight: 500;\r\n color: #262626;\r\n} */\r\n\r\n/* Класс для заголовка папок */\r\n.folderLabel {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n min-width: 0;\r\n overflow: hidden;\r\n}\r\n\r\n.foldersContainer {\r\n position: relative;\r\n width: 100%;\r\n}\r\n\r\n/* Дополнительные стили для улучшения визуала */\r\n/* .folderMenu :global(.ant-tree-treenode:hover .folder-label span) {\r\n color: #1890ff;\r\n} */\r\n\r\n/* Стили для дивайдера между папками */\r\n\r\n\r\n.uploadButton .ant-btn,\r\n.uploadButton :global(.ant-btn) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: 3px;\r\n}\r\n/* .folderMenu :global(.ant-tree-treenode-selected) .folderLabelItem {\r\n color: #1890ff !important;\r\n} */\r\n\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabel .folderLabelItem,\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabel .folderIcon,\r\n// .folderMenu :global(.ant-tree-treenode-selected) .folderLabelItem {\r\n// color: var(--colorLink);\r\n// }\r\n\r\n\r\n.buttonWrapper {\r\n // overflow: hidden;\r\n margin-bottom: 24px;\r\n display: flex;\r\n gap: 4px;\r\n // border-radius: calc(var(--borderRadius) * 1px);\r\n \r\n // Левая кнопка занимает всю доступную ширину\r\n > :first-child {\r\n flex: 1;\r\n height: 40px;\r\n padding-left: 10px;\r\n }\r\n \r\n // Правая кнопка строго 40px\r\n > :last-child {\r\n width: 40px;\r\n height: 40px;\r\n flex-shrink: 0;\r\n }\r\n}\r\n\r\n/* Кнопка «Загрузить по URL» — icon-only, поэтому хост-приложение может задать ей\r\n свои размеры глобальным правилом `.ant-btn.ant-btn-icon-only` (в emailmaker это\r\n --formControlHeight: 34) и она становится ниже кнопки «Загрузить файл».\r\n Три класса в селекторе перебивают такие правила без !important. */\r\n.uploadByURLButton:global(.ant-btn.ant-btn-icon-only) {\r\n width: 40px;\r\n min-width: 40px;\r\n height: 40px;\r\n padding: 0;\r\n flex-shrink: 0;\r\n}\r\n\r\n.uploadButtonIcon {\r\n font-size: 20px;\r\n}\r\n\r\n.uploadButtonTitle {\r\n line-height: 1em;\r\n}\r\n\r\n.emptyFolderContainer {\r\n user-select: none;\r\n cursor: default;\r\n color: var(--colorTextTertiary);\r\n}\r\n\r\n.folderItemContainer {\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding: 2px 0;\r\n min-width: 0; /* Позволяет flex-элементам сжиматься */\r\n}\r\n"],"sourceRoot":""}]);
|
|
48435
48460
|
// Exports
|
|
48436
48461
|
___CSS_LOADER_EXPORT___.locals = {
|
|
48437
48462
|
"button": `FolderSidebar-module__button__Yf2rX`,
|
|
@@ -48453,6 +48478,8 @@ ___CSS_LOADER_EXPORT___.locals = {
|
|
|
48453
48478
|
"folderLabel": `FolderSidebar-module__folderLabel__fHWMp`,
|
|
48454
48479
|
"foldersContainer": `FolderSidebar-module__foldersContainer__zdBVU`,
|
|
48455
48480
|
"buttonWrapper": `FolderSidebar-module__buttonWrapper__a9Qi5`,
|
|
48481
|
+
"uploadByURLButton": `FolderSidebar-module__uploadByURLButton__epMiC`,
|
|
48482
|
+
"uploadByUrlButton": `FolderSidebar-module__uploadByURLButton__epMiC`,
|
|
48456
48483
|
"uploadButtonIcon": `FolderSidebar-module__uploadButtonIcon__mWQmq`,
|
|
48457
48484
|
"uploadButtonTitle": `FolderSidebar-module__uploadButtonTitle__wk_o6`
|
|
48458
48485
|
};
|
|
@@ -48689,7 +48716,7 @@ exports.jsxs = jsxProd;
|
|
|
48689
48716
|
/******/ // This function allow to reference async chunks
|
|
48690
48717
|
/******/ __webpack_require__.u = (chunkId) => {
|
|
48691
48718
|
/******/ // return url for filenames based on template
|
|
48692
|
-
/******/ return "" + ({"379":"fm-icons-tab","410":"fm-image-code-generator"}[chunkId] || chunkId) + "." + {"129":"1f7048a0e93daec2ca44","276":"c0a535f6d0c018f0ff32","379":"
|
|
48719
|
+
/******/ return "" + ({"379":"fm-icons-tab","410":"fm-image-code-generator"}[chunkId] || chunkId) + "." + {"129":"1f7048a0e93daec2ca44","276":"c0a535f6d0c018f0ff32","379":"dbc6aea218d2ab6b3de5","410":"50fded261e49f2abdf2b","583":"177f1aa2edb14f5f073e"}[chunkId] + ".js";
|
|
48693
48720
|
/******/ };
|
|
48694
48721
|
/******/ })();
|
|
48695
48722
|
/******/
|
|
@@ -48914,7 +48941,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
48914
48941
|
"default": () => (/* binding */ src)
|
|
48915
48942
|
});
|
|
48916
48943
|
|
|
48917
|
-
// UNUSED EXPORTS: DEFAULT_FILE_MANAGER_CACHE_TTL_MS, DataSourceProxyBase, FailedRequestCache, FileContent, FileManagerApiError, FileManagerApp, FileManagerAppWithContext, FileModals, FolderSidebar, MutationRegistry, PathAwareStorageAdapter, PixieOnlyApp, TRASH_FOLDER_ID, TreeCache, ViewCacheManager, buildAssetsPath, compareFileSystemItems, createSystemFolderByPathResolver, defaultChildrenViewFilterMatch, defaultFileSystemItemComparator, defaultIsFolderNotFoundError, fetchRemoteImageBlobByUrl, getAssetsBase, getTrashFolderLookupCandidates, init, initFileManager, initPixieEditor, installResizeObserverErrorHandler, joinUrls, mapHttpStatusToErrorCode, matchesChildrenViewFilter, normalizeSystemFolderPath, resolveSortParams, resolveViewStrategyOptions, uninstallResizeObserverErrorHandler, unmount, unmountPixieEditor
|
|
48944
|
+
// UNUSED EXPORTS: DEFAULT_FILE_MANAGER_CACHE_TTL_MS, DataSourceProxyBase, FailedRequestCache, FileContent, FileManagerApiError, FileManagerApp, FileManagerAppWithContext, FileModals, FolderSidebar, MutationRegistry, PathAwareStorageAdapter, PixieOnlyApp, TRASH_FOLDER_ID, TreeCache, ViewCacheManager, buildAssetsPath, compareFileSystemItems, createSystemFolderByPathResolver, defaultChildrenViewFilterMatch, defaultFileSystemItemComparator, defaultHasSortValue, defaultIsFolderNotFoundError, fetchRemoteImageBlobByUrl, getAssetsBase, getTrashFolderLookupCandidates, hasComparableSortValue, init, initFileManager, initPixieEditor, installResizeObserverErrorHandler, joinUrls, mapHttpStatusToErrorCode, matchesChildrenViewFilter, normalizeSystemFolderPath, resolveSortParams, resolveViewStrategyOptions, uninstallResizeObserverErrorHandler, unmount, unmountPixieEditor
|
|
48918
48945
|
|
|
48919
48946
|
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
|
|
48920
48947
|
var jsx_runtime = __webpack_require__(4848);
|
|
@@ -50534,6 +50561,16 @@ function isImageItem(file) {
|
|
|
50534
50561
|
(((_a = file.type) === null || _a === void 0 ? void 0 : _a.startsWith('image/')) ? (_c = (_b = file.type.split('/')[1]) === null || _b === void 0 ? void 0 : _b.split(';')[0]) === null || _c === void 0 ? void 0 : _c.trim() : undefined);
|
|
50535
50562
|
return Boolean(extension && constants/* IMAGE_EXTENSIONS */.f9.includes(extension.toLowerCase()));
|
|
50536
50563
|
}
|
|
50564
|
+
/**
|
|
50565
|
+
* Полноразмерный файл как источник превью, пока миниатюры нет.
|
|
50566
|
+
* Свежезагруженный файл получает её не сразу, а без источника превью не рендерится вовсе.
|
|
50567
|
+
*/
|
|
50568
|
+
function resolvePreviewFallbackUrl(file, context) {
|
|
50569
|
+
if (context.previewFallbackToFileUrl === false) {
|
|
50570
|
+
return undefined;
|
|
50571
|
+
}
|
|
50572
|
+
return file.url && isImageItem(file) ? file.url : undefined;
|
|
50573
|
+
}
|
|
50537
50574
|
function formatDateText(dateString, t) {
|
|
50538
50575
|
if (!dateString) {
|
|
50539
50576
|
return '';
|
|
@@ -50562,7 +50599,7 @@ function formatDateText(dateString, t) {
|
|
|
50562
50599
|
return t('Added', { date: `${day} ${month} ${year}` });
|
|
50563
50600
|
}
|
|
50564
50601
|
function buildSignature(file, context) {
|
|
50565
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
50602
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
50566
50603
|
const isFolder = Boolean(file.isFolder);
|
|
50567
50604
|
const folderResolved = isFolder ? resolveFolderItemCount(file, context.folderFileCounts) : null;
|
|
50568
50605
|
const folderCountSig = isFolder ? (folderResolved === null ? 'u' : String(folderResolved)) : '0';
|
|
@@ -50570,16 +50607,16 @@ function buildSignature(file, context) {
|
|
|
50570
50607
|
const sizeText = !isFolder && file.size ? String(file.size) : '';
|
|
50571
50608
|
const thumb = file.thumbnailUrl || file.thumbnail;
|
|
50572
50609
|
const imageFileUrl = file.url && isImageItem(file) ? file.url : '';
|
|
50573
|
-
const previewFallbackSrc = context
|
|
50610
|
+
const previewFallbackSrc = (_a = resolvePreviewFallbackUrl(file, context)) !== null && _a !== void 0 ? _a : '';
|
|
50574
50611
|
const featureFlags = [
|
|
50575
|
-
((
|
|
50576
|
-
((
|
|
50577
|
-
((
|
|
50578
|
-
((
|
|
50579
|
-
((
|
|
50580
|
-
((
|
|
50581
|
-
((
|
|
50582
|
-
((
|
|
50612
|
+
((_b = context.features) === null || _b === void 0 ? void 0 : _b.enableEdit) !== false,
|
|
50613
|
+
((_c = context.features) === null || _c === void 0 ? void 0 : _c.enableMoveFolder) !== false,
|
|
50614
|
+
((_d = context.features) === null || _d === void 0 ? void 0 : _d.enableMoveItem) !== false,
|
|
50615
|
+
((_e = context.features) === null || _e === void 0 ? void 0 : _e.enableCopyFolder) !== false,
|
|
50616
|
+
((_f = context.features) === null || _f === void 0 ? void 0 : _f.enableCopyItem) !== false,
|
|
50617
|
+
((_g = context.features) === null || _g === void 0 ? void 0 : _g.enableRenameFolder) !== false,
|
|
50618
|
+
((_h = context.features) === null || _h === void 0 ? void 0 : _h.enableRenameFile) !== false,
|
|
50619
|
+
((_j = context.features) === null || _j === void 0 ? void 0 : _j.enableDelete) !== false,
|
|
50583
50620
|
].join('|');
|
|
50584
50621
|
const previewKey = [
|
|
50585
50622
|
thumb || '',
|
|
@@ -50621,7 +50658,7 @@ const fileListAdapter = {
|
|
|
50621
50658
|
const gridInfoText = isFolder ? folderItemsText : [dimensionsText, sizeText, typeText].filter(Boolean).join(' • ');
|
|
50622
50659
|
const thumb = file.thumbnailUrl || file.thumbnail;
|
|
50623
50660
|
const imageFileUrl = file.url && isImageItem(file) ? file.url : undefined;
|
|
50624
|
-
const previewFallbackSrc = context
|
|
50661
|
+
const previewFallbackSrc = resolvePreviewFallbackUrl(file, context);
|
|
50625
50662
|
return {
|
|
50626
50663
|
id: meta.id,
|
|
50627
50664
|
signature: meta.signature,
|
|
@@ -51503,7 +51540,6 @@ var FolderSidebar_module_update = injectStylesIntoStyleTag_default()((FolderSide
|
|
|
51503
51540
|
|
|
51504
51541
|
|
|
51505
51542
|
|
|
51506
|
-
|
|
51507
51543
|
const FolderSidebar = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.memo)((0,external_root_React_commonjs2_react_commonjs_react_amd_react_.forwardRef)(({ selectedFolder, generateMenuItems, onFolderSelect, folders,
|
|
51508
51544
|
// fetchFolders,
|
|
51509
51545
|
fetchChildFolders, handleAddFile, setIsUrlModalVisible, handleCreateFolder, activeLibraryItem, setActiveLibraryItem, }, ref) => {
|
|
@@ -51748,7 +51784,7 @@ fetchChildFolders, handleAddFile, setIsUrlModalVisible, handleCreateFolder, acti
|
|
|
51748
51784
|
{
|
|
51749
51785
|
key: constants/* ICONS */.Ze,
|
|
51750
51786
|
label: t('Icons'),
|
|
51751
|
-
icon: (0,jsx_runtime.jsx)(
|
|
51787
|
+
icon: (0,jsx_runtime.jsx)(icons_amd_untitledui_icons_.ThumbsUp, { size: 20, strokeWidth: config === null || config === void 0 ? void 0 : config.iconStrokeWidth }),
|
|
51752
51788
|
disabled: !isIconStockEnabled,
|
|
51753
51789
|
},
|
|
51754
51790
|
{
|
|
@@ -51774,7 +51810,9 @@ fetchChildFolders, handleAddFile, setIsUrlModalVisible, handleCreateFolder, acti
|
|
|
51774
51810
|
setActiveLibraryItem(constants/* MY_FILES */.Zz);
|
|
51775
51811
|
}
|
|
51776
51812
|
onFolderSelect === null || onFolderSelect === void 0 ? void 0 : onFolderSelect(key);
|
|
51777
|
-
|
|
51813
|
+
// 'folders' — синтетический ключ корневого узла дерева, а не id папки;
|
|
51814
|
+
// fetchChildFolders(null) — тот же смысл, что и для остальных вызовов в дереве.
|
|
51815
|
+
await (fetchChildFolders === null || fetchChildFolders === void 0 ? void 0 : fetchChildFolders(key === 'folders' ? null : key));
|
|
51778
51816
|
}, [onFolderSelect, activeLibraryItem, setActiveLibraryItem, fetchChildFolders]);
|
|
51779
51817
|
const handleOpenLibraryChange = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(({ key }) => {
|
|
51780
51818
|
setActiveLibraryItem(key);
|
|
@@ -56844,6 +56882,7 @@ class ViewCacheManager {
|
|
|
56844
56882
|
preloadPagesAfter: (_e = resolved.preloadPagesAfter) !== null && _e !== void 0 ? _e : 1,
|
|
56845
56883
|
comparator: resolved.comparator,
|
|
56846
56884
|
filterMatch: resolved.filterMatch,
|
|
56885
|
+
hasSortValue: resolved.hasSortValue,
|
|
56847
56886
|
};
|
|
56848
56887
|
this.ttl = ttl;
|
|
56849
56888
|
this.errorTtl = errorTtl !== null && errorTtl !== void 0 ? errorTtl : ttl;
|
|
@@ -57287,6 +57326,16 @@ class ViewCacheManager {
|
|
|
57287
57326
|
}
|
|
57288
57327
|
return wasNewPageCreated;
|
|
57289
57328
|
}
|
|
57329
|
+
/** Whether the entity carries the field this sorted view is ordered by. */
|
|
57330
|
+
canCompareInSortedView(rec, entity) {
|
|
57331
|
+
var _a;
|
|
57332
|
+
const params = (_a = rec.params) !== null && _a !== void 0 ? _a : {};
|
|
57333
|
+
if (!params.sortBy && !params.sortOrder)
|
|
57334
|
+
return true;
|
|
57335
|
+
if (!this.strategy.hasSortValue)
|
|
57336
|
+
return true;
|
|
57337
|
+
return this.strategy.hasSortValue(entity, rec.params);
|
|
57338
|
+
}
|
|
57290
57339
|
tryInsertSorted(rec, entity, entitiesManager) {
|
|
57291
57340
|
var _a, _b;
|
|
57292
57341
|
const comparator = this.strategy.comparator;
|
|
@@ -57297,6 +57346,10 @@ class ViewCacheManager {
|
|
|
57297
57346
|
const itemType = ((_a = rec.params) === null || _a === void 0 ? void 0 : _a.itemType) || 'all';
|
|
57298
57347
|
if (!this.isEntityTypeCompatible(entity, itemType))
|
|
57299
57348
|
return false;
|
|
57349
|
+
// Без значения поля сортировки позиция неизвестна: отказ здесь приводит
|
|
57350
|
+
// к markViewStaleForReload, то есть к перечитыванию листинга с сервера.
|
|
57351
|
+
if (!this.canCompareInSortedView(rec, entity))
|
|
57352
|
+
return false;
|
|
57300
57353
|
const currentEntities = rec.view.value.map((id) => entitiesManager.getEntity(id));
|
|
57301
57354
|
if (currentEntities.some((e) => !e))
|
|
57302
57355
|
return false;
|
|
@@ -57958,8 +58011,12 @@ class TreeCache_TreeCache {
|
|
|
57958
58011
|
forceInvalidate(id) {
|
|
57959
58012
|
var _a;
|
|
57960
58013
|
const ent = this.entities.getEntity(id);
|
|
57961
|
-
if (!ent)
|
|
58014
|
+
if (!ent) {
|
|
58015
|
+
// Папки может не быть в графе (корень, синтетические папки) — листинги всё равно сбрасываем.
|
|
58016
|
+
this.views.forceInvalidateChildrenViews(id !== null && id !== void 0 ? id : null);
|
|
58017
|
+
this.invalidateChildrenCountCache(id);
|
|
57962
58018
|
return;
|
|
58019
|
+
}
|
|
57963
58020
|
const visited = new Set();
|
|
57964
58021
|
if (isFolderEntity(ent)) {
|
|
57965
58022
|
const stack = [id];
|
|
@@ -58855,7 +58912,7 @@ class DataSourceProxyBase {
|
|
|
58855
58912
|
return result;
|
|
58856
58913
|
}
|
|
58857
58914
|
async uploadFiles(request) {
|
|
58858
|
-
var _a, _b, _c, _d, _e;
|
|
58915
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
58859
58916
|
const tempFolder = request.items.some(item => item.noFolder) ? await this.getTempFolder() : null;
|
|
58860
58917
|
request = Object.assign(Object.assign({}, request), { items: (_a = request.items) === null || _a === void 0 ? void 0 : _a.map((f) => (Object.assign(Object.assign({}, f), { folderId: f.noFolder ? tempFolder === null || tempFolder === void 0 ? void 0 : tempFolder.id : f.folderId }))) });
|
|
58861
58918
|
for (const item of request.items) {
|
|
@@ -58880,7 +58937,6 @@ class DataSourceProxyBase {
|
|
|
58880
58937
|
}
|
|
58881
58938
|
}
|
|
58882
58939
|
}
|
|
58883
|
-
const cachedFolder = this._cache.getEntity(folderIdNormalized);
|
|
58884
58940
|
let batchResult = { detailed: new Array(filesToUpload.length), success: true };
|
|
58885
58941
|
if (typeof this._dataProvider.uploadFiles === 'function') {
|
|
58886
58942
|
const providerFiles = filesToUpload.map((f) => {
|
|
@@ -58904,13 +58960,19 @@ class DataSourceProxyBase {
|
|
|
58904
58960
|
thumbnail: data.thumbnail,
|
|
58905
58961
|
};
|
|
58906
58962
|
});
|
|
58963
|
+
// Ответ провайдера до обрезки до публичного UploadFileResultData: индексы
|
|
58964
|
+
// совпадают с batchResult.detailed, оба собраны из одного массива.
|
|
58965
|
+
const providerDetailed = providerResult === null || providerResult === void 0 ? void 0 : providerResult.detailed;
|
|
58907
58966
|
if (batchResult.detailed && batchResult.detailed.length) {
|
|
58908
58967
|
for (let i = 0; i < batchResult.detailed.length; i++) {
|
|
58909
58968
|
const current = batchResult.detailed[i];
|
|
58910
58969
|
if (current && current.success) {
|
|
58911
58970
|
const uploaded = current.data;
|
|
58912
58971
|
const id = (_d = uploaded === null || uploaded === void 0 ? void 0 : uploaded.id) !== null && _d !== void 0 ? _d : current.requestId;
|
|
58913
|
-
|
|
58972
|
+
// В кэш кладём полный ответ провайдера: без date/size/type сущность
|
|
58973
|
+
// встаёт в отсортированный листинг наугад (по дате — в самый конец).
|
|
58974
|
+
const providerItem = (_e = providerDetailed === null || providerDetailed === void 0 ? void 0 : providerDetailed[i]) === null || _e === void 0 ? void 0 : _e.data;
|
|
58975
|
+
const entity = normalizeFileSystemItem(Object.assign(Object.assign(Object.assign({}, providerItem), uploaded), { id, folderId: (_g = (_f = uploaded === null || uploaded === void 0 ? void 0 : uploaded.folderId) !== null && _f !== void 0 ? _f : providerItem === null || providerItem === void 0 ? void 0 : providerItem.folderId) !== null && _g !== void 0 ? _g : folderIdNormalized, isFolder: false }));
|
|
58914
58976
|
// Если провайдер вернул только id/data, всё равно апдейтим кэш
|
|
58915
58977
|
this._cache.upsertEntity(entity);
|
|
58916
58978
|
// Нормализуем id в detailed (на случай, если провайдер пропустил)
|