local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.InsertAsset);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.RoactRodux);
local l_InsertAssetContext_0 = v1.Context.InsertAssetContext;
local v5 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v5.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_Util_0 = v5.Util;
local l_GetTextSize_0 = l_Util_0.GetTextSize;
local l_StyleModifier_0 = l_Util_0.StyleModifier;
local l_ComponentSymbols_0 = v5.Style.ComponentSymbols;
local l_UI_0 = v5.UI;
local l_Button_0 = l_UI_0.Button;
local l_HoverArea_0 = l_UI_0.HoverArea;
local l_LoadingIndicator_0 = l_UI_0.LoadingIndicator;
local l_ScrollingFrame_0 = l_UI_0.ScrollingFrame;
local v17 = require(l_Parent_0.Src.Util.Screens);
local v18 = require(l_Parent_0.Src.Util.View);
local v19 = require(l_Parent_0.Src.Components.ListItem);
local v20 = require(l_Parent_0.Src.Components.Tile);
local v21 = require(l_Parent_0.Src.Actions.SetAssets);
local v22 = require(l_Parent_0.Src.Thunks.GetAssets);
local v23 = require(l_Parent_0.Src.Thunks.LoadAllAliases);
local v24 = require(l_Parent_0.Src.Thunks.OnAssetDrag);
local v25 = require(l_Parent_0.Src.Thunks.OnAssetRightClick);
local v26 = require(l_Parent_0.Src.Thunks.OnScreenChange);
local v27 = require(l_Parent_0.Src.Thunks.UpdateSelectedAssets);
local l_AssetManagerService_0 = game:GetService("AssetManagerService");
local l_BulkImportService_0 = game:GetService("BulkImportService");
local l_shouldEnableAudioImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).shouldEnableAudioImport;
local l_shouldEnableVideoImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).shouldEnableVideoImport;
local l_AssetManagerMigrateAliasesEndpoint2_0 = game:GetFastFlag("AssetManagerMigrateAliasesEndpoint2");
local v33 = v2.Component:extend("AssetGridContainer");
local function v36(v34)
    local v35 = true;
    if v34.Path ~= v17.IMAGES.Path then
        v35 = true;
        if v34.Path ~= v17.MESHES.Path then
            if l_shouldEnableAudioImport_0() then
                v35 = true;
                if not (v34.Path ~= v17.AUDIO.Path) then
                    goto label0;
                end;
            end;
            if l_shouldEnableVideoImport_0() then
                v35 = true;
                if not (v34.Path ~= v17.VIDEO.Path) then
                    goto label0;
                end;
            end;
            v35 = v34.Path == v17.MODELS.Path;
        end;
    end;
    ::label0::;
    return v35;
end;
local function v44(v37, v38, v39)
    if v38.Path == v17.MAIN.Path then
        for _, v41 in pairs(v17) do
            if v41.Path ~= v17.MAIN.Path then
                return true;
            end;
        end;
    else
        for _, v43 in pairs(v37) do
            if string.find(string.lower(v43.name), string.lower(v39), 1, true) then
                return true;
            end;
        end;
    end;
    return false;
end;
v33.init = function(v45)
    v45.state = {
        currentScreen = "",
        currentView = ""
    };
    v45.hasItemsToDisplay = false;
    v45.gridLayoutRef = v2.createRef();
    v45.listLayoutRef = v2.createRef();
    v45.bulkImportFinishedConnection = nil;
    v45.importSessionFinishedConnection = nil;
    v45.onClearSelection = function()
        if v45.props.Enabled then
            v45.props.dispatchUpdateSelectedAssets({});
            return ;
        else
            return ;
        end;
    end;
    v45.onMouseButton2Click = function()
        local l_props_0 = v45.props;
        if l_props_0.Enabled then
            v45.props.dispatchUpdateSelectedAssets({});
            local l_CurrentScreen_0 = l_props_0.CurrentScreen;
            if l_CurrentScreen_0.Path == v17.PLACES.Path then
                l_props_0:dispatchOnAssetRightClick({
                    ClassName = "Folder",
                    Screen = l_CurrentScreen_0
                });
            end;
            return ;
        else
            return ;
        end;
    end;
    v45.onOpenAssetPreview = function(v48)
        v45.props.dispatchUpdateSelectedAssets({
            [v48.key] = true
        });
        v45.props.OnOpenAssetPreview(v48, v45.props.AssetsTable.assetPreviewData[v48.id]);
    end;
    v45.onAssetPreviewClose = function()
        v45.props.OnAssetPreviewClose();
    end;
    v45.onAssetDrag = function(v49)
        local l_props_1 = v45.props;
        l_props_1.dispatchOnAssetDrag(l_props_1.InsertAsset:get(), v49, l_props_1.Analytics);
    end;
    v45.onOpenConfirmRemovePlaceDialog = function()
        v45.props.OnOpenConfirmRemovePlaceDialog();
    end;
end;
v33.didMount = function(v51)
    v51.bulkImportFinishedConnection = l_BulkImportService_0.BulkImportFinished:connect(function(v52)
        local l_props_2 = v51.props;
        local l_CurrentScreen_1 = l_props_2.CurrentScreen;
        if not (not (v52 == 1) or not v36(l_CurrentScreen_1)) then
            local v55 = l_props_2.API:get();
            l_props_2.dispatchSetAssets({
                assets = {}
            });
            l_props_2.dispatchGetAssets(v55, l_CurrentScreen_1.AssetType);
        end;
    end);
    v51.importSessionFinishedConnection = l_AssetManagerService_0.ImportSessionFinished:Connect(function()
        local l_props_3 = v51.props;
        local l_CurrentScreen_2 = l_props_3.CurrentScreen;
        if v36(l_CurrentScreen_2) then
            local v58 = l_props_3.API:get();
            l_props_3.dispatchSetAssets({
                assets = {}
            });
            l_props_3.dispatchGetAssets(v58, l_CurrentScreen_2.AssetType);
        end;
    end);
end;
v33.willUnmount = function(v59)
    if v59.bulkImportFinishedConnection then
        v59.bulkImportFinishedConnection:disconnect();
    end;
    if v59.importSessionFinishedConnection then
        v59.importSessionFinishedConnection:Disconnect();
    end;
end;
v33.createTiles = function(v60, _, v62, v63, v64, v65, v66, v67, v68, v69)
    local v70 = 0;
    local v71 = {
        GridLayout = v2.createElement("UIGridLayout", {
            CellSize = v63[l_ComponentSymbols_0.Tile].Size,
            CellPadding = v63.AssetGridContainer.CellPadding,
            SortOrder = Enum.SortOrder.LayoutOrder,
            [v2.Ref] = v60.gridLayoutRef
        })
    };
    if v66.Path == v17.MAIN.Path then
        for _, v73 in pairs(v17) do
            if v73.Path ~= v17.MAIN.Path then
                v71[v73.Path] = v2.createElement(v20, {
                    AssetData = {
                        name = v62:getText("Folders", v73.Path),
                        ClassName = "Folder",
                        Screen = v73
                    },
                    LayoutOrder = v73.LayoutOrder,
                    StyleModifier = not not v68[v73.LayoutOrder] and l_StyleModifier_0.Selected or nil,
                    Enabled = v69
                });
            end;
        end;
    else
        for _, v75 in pairs(v64) do
            if string.find(string.lower(v75.name), string.lower(v67), 1, true) then
                v75.key = v75.layoutOrder;
                v71[v75.id] = v2.createElement(v20, {
                    AssetData = v75,
                    ModerationData = v65[v75.id],
                    LayoutOrder = v75.layoutOrder,
                    StyleModifier = not not v68[v75.layoutOrder] and l_StyleModifier_0.Selected or nil,
                    Enabled = v69,
                    OnOpenAssetPreview = v60.onOpenAssetPreview,
                    OnAssetPreviewClose = v60.onAssetPreviewClose,
                    OnAssetDrag = v60.onAssetDrag,
                    OnOpenConfirmRemovePlaceDialog = v60.onOpenConfirmRemovePlaceDialog
                });
                v70 = v70 + 1;
            end;
        end;
    end;
    return v71, v70;
end;
v33.createListItems = function(v76, _, v78, _, v80, v81, v82, v83, v84, v85)
    local v86 = 0;
    local v87 = {
        ListLayout = v2.createElement("UIListLayout", {
            Padding = UDim.new(0, 0),
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder,
            [v2.Ref] = v76.listLayoutRef
        })
    };
    if v82.Path == v17.MAIN.Path then
        for _, v89 in pairs(v17) do
            if v89.Path ~= v17.MAIN.Path then
                v87[v89.Path] = v2.createElement(v19, {
                    AssetData = {
                        name = v78:getText("Folders", v89.Path),
                        ClassName = "Folder",
                        Screen = v89
                    },
                    LayoutOrder = v89.LayoutOrder,
                    StyleModifier = not not v84[v89.LayoutOrder] and l_StyleModifier_0.Selected or nil,
                    Enabled = v85
                });
            end;
        end;
    else
        for _, v91 in pairs(v80) do
            if string.find(string.lower(v91.name), string.lower(v83), 1, true) then
                v91.key = v91.layoutOrder;
                v87[v91.id] = v2.createElement(v19, {
                    AssetData = v91,
                    ModerationData = v81[v91.id],
                    LayoutOrder = v91.layoutOrder,
                    StyleModifier = not not v84[v91.layoutOrder] and l_StyleModifier_0.Selected or nil,
                    Enabled = v85,
                    OnOpenAssetPreview = v76.onOpenAssetPreview,
                    OnAssetPreviewClose = v76.onAssetPreviewClose,
                    OnAssetDrag = v76.onAssetDrag,
                    OnOpenConfirmRemovePlaceDialog = v76.onOpenConfirmRemovePlaceDialog
                });
                v86 = v86 + 1;
            end;
        end;
    end;
    return v87, v86;
end;
v33.didUpdate = function(v92)
    local l_props_4 = v92.props;
    local l_View_0 = l_props_4.View;
    if l_View_0 ~= v92.state.currentView then
        v92:setState({
            currentView = l_View_0
        });
    end;
    local v95 = v44(l_props_4.AssetsTable.assets, l_props_4.CurrentScreen, l_props_4.SearchTerm);
    if v95 ~= v92.hasItemsToDisplay then
        v92.hasItemsToDisplay = v95;
        if v95 then
            v92:setState({});
        end;
    end;
end;
v33.render = function(v96)
    local l_props_5 = v96.props;
    local v98 = l_props_5.API:get();
    local l_Stylizer_0 = l_props_5.Stylizer;
    local l_Localization_0 = l_props_5.Localization;
    local l_Size_0 = l_props_5.Size;
    local l_LayoutOrder_0 = l_props_5.LayoutOrder;
    local l_Enabled_0 = l_props_5.Enabled;
    local l_AssetsTable_0 = l_props_5.AssetsTable;
    local l_assets_0 = l_AssetsTable_0.assets;
    local l_assetsModerationData_0 = l_AssetsTable_0.assetsModerationData;
    local l_nextPageCursor_0 = l_AssetsTable_0.nextPageCursor;
    local l_pageNumber_0 = l_AssetsTable_0.pageNumber;
    local l_CurrentScreen_3 = l_props_5.CurrentScreen;
    local l_IsFetchingAssets_0 = l_props_5.IsFetchingAssets;
    local l_SearchTerm_0 = l_props_5.SearchTerm;
    local l_SelectedAssets_0 = l_props_5.SelectedAssets;
    local l_dispatchGetAssets_0 = l_props_5.dispatchGetAssets;
    local l_dispatchLoadAllAliases_0 = l_props_5.dispatchLoadAllAliases;
    local l_View_1 = l_props_5.View;
    local v116 = nil;
    local v117 = nil;
    local v118 = nil;
    if l_View_1.Key == v18.LIST.Key then
        local v119, v120 = v96:createListItems(v98, l_Localization_0, l_Stylizer_0, l_assets_0, l_assetsModerationData_0, l_CurrentScreen_3, l_SearchTerm_0, l_SelectedAssets_0, l_Enabled_0);
        v116 = v119;
        v117 = v120;
        v118 = v96.listLayoutRef;
    elseif l_View_1.Key == v18.GRID.Key then
        local v121, v122 = v96:createTiles(v98, l_Localization_0, l_Stylizer_0, l_assets_0, l_assetsModerationData_0, l_CurrentScreen_3, l_SearchTerm_0, l_SelectedAssets_0, l_Enabled_0);
        v116 = v121;
        v117 = v122;
        v118 = v96.gridLayoutRef;
    end;
    local v123 = true;
    if l_CurrentScreen_3.Path ~= v17.MAIN.Path then
        v123 = v117 ~= 0;
    end;
    local v124 = nil;
    v124 = if not l_AssetManagerMigrateAliasesEndpoint2_0 then l_pageNumber_0 ~= nil else l_nextPageCursor_0 ~= nil;
    local v125 = l_Localization_0:getText("AssetGrid", "NoResults", {
        assetType = l_Localization_0:getText("Folders", l_CurrentScreen_3.Path)
    });
    local v126 = l_GetTextSize_0(v125, l_Stylizer_0.FontSizeMedium, l_Stylizer_0.Font);
    local v127 = l_Localization_0:getText("AssetGrid", "LoadButton");
    local v128 = l_GetTextSize_0(v127, l_Stylizer_0.FontSizeLarge, l_Stylizer_0.Font);
    return v2.createElement("Frame", {
        Size = l_Size_0,
        LayoutOrder = l_LayoutOrder_0,
        BackgroundTransparency = 1
    }, {
        AssetGrid = v123 and v2.createElement(l_ScrollingFrame_0, {
            AutomaticCanvasSize = Enum.AutomaticSize.Y,
            NextPageRequestDistance = 100,
            NextPageFunc = function()
                if not l_nextPageCursor_0 then
                    if l_pageNumber_0 then
                        l_dispatchGetAssets_0(v98, l_CurrentScreen_3.AssetType, nil, l_pageNumber_0);
                    end;
                    return ;
                else
                    l_dispatchGetAssets_0(v98, l_CurrentScreen_3.AssetType, l_nextPageCursor_0);
                    return ;
                end;
            end
        }, v116),
        ActionButton = v123 and v2.createElement("ImageButton", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            [v2.Event.Activated] = v96.onClearSelection,
            [v2.Event.MouseButton2Click] = v96.onMouseButton2Click
        }),
        NoResultsText = ((not v123 and not l_IsFetchingAssets_0) and not v124) and v2.createElement("TextLabel", {
            Size = UDim2.new(0, v126.X, 0, v126.Y),
            Position = UDim2.new(0.5, 0, 0.3, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            Text = v125,
            TextColor3 = l_Stylizer_0.DisabledColor,
            Font = l_Stylizer_0.Font,
            TextSize = l_Stylizer_0.FontSizeMedium,
            BackgroundTransparency = 1
        }),
        LoadButton = ((not v123 and not l_IsFetchingAssets_0) and v124) and v2.createElement(l_Button_0, {
            Style = "RoundPrimary",
            Text = v127,
            Size = UDim2.new(0, v128.X + l_Stylizer_0.AssetGridContainer.LoadButton.PaddingX, 0, v128.Y + l_Stylizer_0.AssetGridContainer.LoadButton.PaddingY),
            Position = UDim2.new(0.5, 0, 0.3, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            OnClick = function()
                l_dispatchLoadAllAliases_0(v98, l_CurrentScreen_3.AssetType);
            end
        }, {
            v2.createElement(l_HoverArea_0, {
                Cursor = "PointingHand"
            })
        }),
        LoadingIndicator = l_IsFetchingAssets_0 and v2.createElement(l_LoadingIndicator_0, {
            Position = UDim2.new(0.5, 0, 0.5, 0),
            AnchorPoint = Vector2.new(0.5, 0.5),
            ZIndex = 2
        })
    });
end;
return v3.connect(function(v129, _)
    local l_AssetManagerReducer_0 = v129.AssetManagerReducer;
    return {
        AssetsTable = l_AssetManagerReducer_0.assetsTable,
        CurrentScreen = v129.Screen.currentScreen,
        IsFetchingAssets = l_AssetManagerReducer_0.isFetchingAssets,
        SearchTerm = l_AssetManagerReducer_0.searchTerm,
        SelectedAssets = l_AssetManagerReducer_0.selectedAssets,
        View = l_AssetManagerReducer_0.view
    };
end, function(v132)
    return {
        dispatchGetAssets = function(v133, v134, v135, v136)
            v132(v22(v133, v134, v135, v136));
        end,
        dispatchLoadAllAliases = function(v137, v138)
            v132(v23(v137, v138));
        end,
        dispatchOnAssetRightClick = function(v139, v140)
            v139.AssetData = v140;
            v132(v25(v139));
        end,
        dispatchOnAssetDrag = function(v141, v142, v143)
            v132(v24(v141, v142, v143));
        end,
        dispatchOnScreenChange = function(v144, v145)
            v132(v26(v144, v145));
        end,
        dispatchSetAssets = function(v146)
            v132(v21(v146));
        end,
        dispatchUpdateSelectedAssets = function(v147)
            v132(v27(v147));
        end
    };
end)((l_withContext_0({
    Analytics = l_ContextServices_0.Analytics,
    API = l_ContextServices_0.API,
    InsertAsset = l_InsertAssetContext_0,
    Localization = l_ContextServices_0.Localization,
    Plugin = l_ContextServices_0.Plugin,
    Stylizer = l_ContextServices_0.Stylizer
})(v33)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_AssetPreview_0 = v3.UI.AssetPreview;
local v7 = require(l_Parent_0.Src.Thunks.OnAssetDoubleClick);
local v8 = require(l_Parent_0.Src.Thunks.OnAssetRightClick);
local v9 = require(l_Parent_0.Src.Thunks.GetAssetFavorited);
local v10 = require(l_Parent_0.Src.Thunks.GetAssetFavoriteCount);
local v11 = require(l_Parent_0.Src.Thunks.ToggleFavoriteStatus);
local l_StudioService_0 = game:GetService("StudioService");
local v13 = v1.PureComponent:extend("AssetPreviewWrapper");
v13.init = function(v14)
    v14.state = {
        selectedPreviewInstance = nil,
        maxPreviewHeight = 0,
        maxPreviewWidth = 0
    };
    local l_l_StudioService_0_UserId_0 = l_StudioService_0:GetUserId();
    v14.onTreeItemClicked = function(v16)
        v14:setState({
            selectedPreviewInstance = v16
        });
    end;
    v14.tryInsert = function()
        local l_props_0 = v14.props;
        l_props_0.dispatchOnAssetDoubleClick(l_props_0.Analytics, l_props_0.AssetData, true);
    end;
    v14.requestFavoriteCounts = function()
        local l_props_1 = v14.props;
        l_props_1.dispatchGetAssetFavoriteCount(l_props_1.API:get(), l_props_1.AssetData.id);
    end;
    v14.checkFavorited = function()
        local l_props_2 = v14.props;
        l_props_2.dispatchGetAssetFavorited(l_props_2.API:get(), l_props_2.AssetData.id, l_l_StudioService_0_UserId_0);
    end;
    v14.onFavoritedActivated = function(_)
        local l_props_3 = v14.props;
        l_props_3.dispatchToggleFavoriteStatus(l_props_3.API:get(), l_props_3.AssetData.id, l_l_StudioService_0_UserId_0, l_props_3.Favorited);
    end;
    v14.tryCreateContextMenu = function()
        v14.props:dispatchOnAssetRightClick();
    end;
    v14.ClickDetectorRef = v1.createRef();
    v14.onDetectorABSSizeChange = function()
        local l_current_0 = v14.ClickDetectorRef.current;
        if l_current_0 then
            local l_AbsoluteSize_0 = l_current_0.AbsoluteSize;
            v14:setState({
                maxPreviewWidth = l_AbsoluteSize_0.x - 64,
                maxPreviewHeight = l_AbsoluteSize_0.y - 64
            });
            return ;
        else
            return ;
        end;
    end;
end;
v13.didMount = function(v24)
    v24.checkFavorited();
    v24.requestFavoriteCounts();
end;
v13.render = function(v25)
    local l_props_4 = v25.props;
    local l_state_0 = v25.state;
    local v28 = l_props_4.Focus:get();
    local l_Localization_0 = l_props_4.Localization;
    local l_Stylizer_0 = l_props_4.Stylizer;
    local l_AssetPreviewData_0 = l_props_4.AssetPreviewData;
    return v1.createElement(v1.Portal, {
        target = v28
    }, {
        AssetPreview = v1.createElement("Frame", {
            Size = UDim2.new(1, 0, 1, 0),
            BackgroundTransparency = 1,
            BorderSizePixel = 0
        }, {
            Background = v1.createElement("ImageButton", {
                Size = UDim2.new(1, 0, 1, 0),
                AutoButtonColor = false,
                BorderSizePixel = 0,
                BackgroundColor3 = Color3.new(0, 0, 0),
                BackgroundTransparency = l_Stylizer_0.Overlay.Background.Transparency,
                ZIndex = 1,
                [v1.Event.Activated] = l_props_4.OnAssetPreviewClose,
                [v1.Ref] = v25.ClickDetectorRef,
                [v1.Change.AbsoluteSize] = v25.onDetectorABSSizeChange
            }),
            Contents = v1.createElement(l_AssetPreview_0, {
                Position = UDim2.new(0.5, 0, 0.5, 0),
                AnchorPoint = Vector2.new(0.5, 0.5),
                Size = UDim2.fromOffset(math.min(l_state_0.maxPreviewWidth, 640), l_state_0.maxPreviewHeight),
                AssetData = l_AssetPreviewData_0,
                AssetInstance = if not v25.state.selectedPreviewInstance then l_AssetPreviewData_0.rootTreeViewInstance else v25.state.selectedPreviewInstance,
                OnClickContext = v25.tryCreateContextMenu,
                ActionText = l_Localization_0:getText("AssetPreview", "Insert"),
                OnClickAction = v25.tryInsert,
                Favorites = {
                    OnClick = v25.onFavoritedActivated,
                    Count = not l_AssetPreviewData_0.favoriteCount and 0 or tonumber(l_AssetPreviewData_0.favoriteCount),
                    IsFavorited = not not l_AssetPreviewData_0.favorited and l_AssetPreviewData_0.favorited
                },
                HideCreatorSearch = true,
                ZIndex = 2
            })
        })
    });
end;
return v2.connect(function(_, _)
end, function(v34)
    return {
        dispatchOnAssetDoubleClick = function(v35, v36, v37)
            v34(v7(v35, v36, v37));
        end,
        dispatchOnAssetRightClick = function(v38)
            v38.IsAssetPreviewMenu = true;
            v34(v8(v38));
        end,
        dispatchGetAssetFavorited = function(v39, v40, v41)
            v34(v9(v39, v40, v41));
        end,
        dispatchGetAssetFavoriteCount = function(v42, v43)
            v34(v10(v42, v43));
        end,
        dispatchToggleFavoriteStatus = function(v44, v45, v46, v47)
            v34(v11(v44, v45, v46, v47));
        end
    };
end)((l_withContext_0({
    Analytics = l_ContextServices_0.Analytics,
    API = l_ContextServices_0.API,
    Focus = l_ContextServices_0.Focus,
    Localization = l_ContextServices_0.Localization,
    Plugin = l_ContextServices_0.Plugin,
    Stylizer = l_ContextServices_0.Stylizer
})(v13)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_Pane_0 = l_UI_0.Pane;
local l_ShowOnTop_0 = l_UI_0.ShowOnTop;
local _ = require(l_Parent_0.Src.Components.FolderTreeItem);
local v10 = require(l_Parent_0.Src.Util.Screens);
local v11 = require(l_Parent_0.Src.Actions.SetRecentViewToggled);
local v12 = require(l_Parent_0.Src.Actions.SetScreen);
local v13 = v1.PureComponent:extend("ExplorerOverlay");
local _ = v3.Dash.join;
local l_TreeView_0 = l_UI_0.TreeView;
v13.init = function(v16)
    v16.state = {
        Expansion = {
            [v16.props.FileExplorerData[1]] = true
        },
        Selection = {}
    };
    v16.OnExpansionChange = function(v17)
        v16:setState({
            Expansion = v17
        });
    end;
    v16.onSelectionChange = function(v18)
        v16:setState({
            Selection = v18
        });
        local l_props_0 = v16.props;
        local l_dispatchSetScreen_0 = l_props_0.dispatchSetScreen;
        local l_CloseOverlay_0 = l_props_0.CloseOverlay;
        local l_RecentViewToggled_0 = l_props_0.RecentViewToggled;
        local l_dispatchSetRecentViewToggled_0 = l_props_0.dispatchSetRecentViewToggled;
        local v24 = next(v18);
        if #v24.children == 0 then
            if l_RecentViewToggled_0 then
                l_dispatchSetRecentViewToggled_0(false);
            end;
            l_dispatchSetScreen_0(v10[v24.Screen]);
            l_CloseOverlay_0();
        end;
    end;
end;
v13.render = function(v25)
    local l_props_1 = v25.props;
    local l_Stylizer_0 = l_props_1.Stylizer;
    local l_Overlay_0 = l_Stylizer_0.Overlay;
    local _ = l_props_1.dispatchSetScreen;
    local l_CloseOverlay_1 = l_props_1.CloseOverlay;
    local _ = l_props_1.RecentViewToggled;
    local _ = l_props_1.dispatchSetRecentViewToggled;
    return v1.createElement(l_ShowOnTop_0, {}, {
        Background = v1.createElement(l_Pane_0, {
            BackgroundColor = Color3.new(0, 0, 0),
            OnClick = l_CloseOverlay_1,
            Position = UDim2.new(1, 0, 0, 0),
            Size = UDim2.new(l_Overlay_0.Background.WidthScale, 0, 1, 0),
            Transparency = l_Overlay_0.Background.Transparency
        }),
        Overlay = v1.createElement(l_Pane_0, {
            BackgroundColor = l_Stylizer_0.BackgroundColor,
            Layout = Enum.FillDirection.Vertical,
            LayoutOrder = 2,
            VerticalAlignment = Enum.VerticalAlignment.Top,
            Size = UDim2.new(l_Overlay_0.Foreground.WidthScale, 0, 1, 0)
        }, {
            CloseButton = v1.createElement(l_Pane_0, {
                HorizontalAlignment = Enum.HorizontalAlignment.Right,
                Layout = Enum.FillDirection.Horizontal,
                LayoutOrder = 1,
                Padding = {
                    Right = l_Overlay_0.Padding.Right
                },
                Size = UDim2.new(1, 0, 0, 24)
            }, {
                CloseIcon = v1.createElement("ImageButton", {
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    BackgroundTransparency = 1,
                    Image = l_Overlay_0.CloseButton.Images.Close,
                    Size = UDim2.fromOffset(l_Overlay_0.CloseButton.Size, l_Overlay_0.CloseButton.Size),
                    [v1.Event.Activated] = l_CloseOverlay_1
                })
            }),
            FolderTree = v1.createElement(l_TreeView_0, {
                RootItems = v25.props.FileExplorerData,
                Size = UDim2.fromScale(1, 1),
                Expansion = v25.state.Expansion,
                LayoutOrder = 2,
                OnExpansionChange = v25.OnExpansionChange,
                OnSelectionChange = v25.onSelectionChange
            })
        })
    });
end;
return v2.connect(function(v33, _)
    return {
        RecentViewToggled = v33.AssetManagerReducer.recentViewToggled
    };
end, function(v35)
    return {
        dispatchSetRecentViewToggled = function(v36)
            v35(v11(v36));
        end,
        dispatchSetScreen = function(v37)
            v35(v12(v37));
        end
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Localization = l_ContextServices_0.Localization
})(v13)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Cryo);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_Button_0 = v3.UI.Button;
local v7 = v2.PureComponent:extend("FolderTreeItem");
local v8 = require(l_Parent_0.Src.Util.ModernIcons);
v7.init = function(v9)
    v9.layoutRef = v2.createRef();
    v9.parentContentRef = v2.createRef();
    v9.childrenContentRef = v2.createRef();
    v9.state = {
        Hovering = false
    };
    v9.mouseEnter = function()
        v9.props.Mouse:__pushCursor("PointingHand");
        v9:setState({
            Hovering = true
        });
    end;
    v9.mouseLeave = function()
        v9.props.Mouse:__popCursor();
        v9:setState({
            Hovering = false
        });
    end;
    v9.onClick = function()
        v9.props.Mouse:__popCursor();
        v9.props.toggleSelected();
    end;
    v9.resizeFrameHeight = function()
        local l_Height_0 = v9.props.Stylizer.TreeViewItem.Height;
        local v11 = nil;
        v11 = if not v9.layoutRef.current then l_Height_0 else v9.layoutRef.current.AbsoluteContentSize.Y + l_Height_0;
        v9.parentContentRef.current.Size = UDim2.new(1, 0, 0, v11);
        v9.childrenContentRef.current.Size = UDim2.new(1, 0, 0, v11);
    end;
end;
v7.render = function(v12)
    local l_props_0 = v12.props;
    local l_TreeViewItem_0 = l_props_0.Stylizer.TreeViewItem;
    local l_Name_0 = l_props_0.element.Name;
    local l_indent_0 = l_props_0.indent;
    local l_canExpand_0 = l_props_0.canExpand;
    local l_isExpanded_0 = l_props_0.isExpanded;
    local v19 = l_props_0.rowIndex or 1;
    local l_Height_1 = l_TreeViewItem_0.Height;
    return v2.createElement("Frame", {
        Size = UDim2.new(1, 0, 0, l_Height_1),
        BackgroundTransparency = 1,
        [v2.Ref] = v12.parentContentRef,
        LayoutOrder = v19,
        [v2.Event.MouseEnter] = v12.mouseEnter,
        [v2.Event.mouseLeave] = v12.mouseLeave
    }, {
        Contents = v2.createElement(l_Button_0, {
            Size = UDim2.new(1, 0, 0, l_Height_1),
            Position = UDim2.new(0, 2 * l_Height_1, 0, 0),
            Text = l_Name_0,
            Style = "TreeItemButton",
            OnClick = v12.onClick
        }, {
            Padding = v2.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, l_indent_0 * l_TreeViewItem_0.Indent)
            }),
            Expand = v2.createElement("ImageButton", {
                LayoutOrder = 0,
                Size = UDim2.new(0, l_Height_1, 0, l_Height_1),
                Position = UDim2.new(0, -2 * l_Height_1 - l_TreeViewItem_0.Offset, 0, 0),
                BackgroundTransparency = 1,
                ImageTransparency = 1,
                [v2.Event.Activated] = function()
                    l_props_0.toggleExpanded();
                    v12.resizeFrameHeight();
                end
            }, {
                ExpandIcon = l_canExpand_0 and v2.createElement("ImageLabel", v1.Dictionary.join(not not l_isExpanded_0 and l_TreeViewItem_0.Arrow.Expanded or l_TreeViewItem_0.Arrow.Collapsed, {
                    BackgroundTransparency = 1,
                    ScaleType = Enum.ScaleType.Fit,
                    Size = UDim2.new(0, l_TreeViewItem_0.Arrow.Size, 0, l_TreeViewItem_0.Arrow.Size),
                    AnchorPoint = Vector2.new(0.5, 0.5),
                    Position = UDim2.new(0.5, 0, 0.5, 1),
                    ImageTransparency = not l_canExpand_0 and 1 or 0,
                    ImageColor3 = l_TreeViewItem_0.Arrow.Color
                }))
            }),
            Icon = v2.createElement("ImageLabel", {
                ZIndex = 2,
                LayoutOrder = 1,
                Size = UDim2.new(0, l_Height_1, 0, l_Height_1),
                Position = UDim2.new(0, -1 * l_Height_1 - l_TreeViewItem_0.Offset, 0, 0),
                BackgroundTransparency = 1,
                Image = v8.getIconForCurrentTheme(v8.IconEnums.BlankFolder)
            })
        }),
        Children = v2.createElement("Frame", {
            Size = UDim2.new(1, 0, 0, l_TreeViewItem_0.Indent),
            BackgroundTransparency = 1,
            [v2.Ref] = v12.childrenContentRef
        }, v1.Dictionary.join({
            FolderLayout = v2.createElement("UIListLayout", {
                Padding = UDim.new(0, l_TreeViewItem_0.Padding),
                FillDirection = Enum.FillDirection.Vertical,
                SortOrder = Enum.SortOrder.LayoutOrder,
                [v2.Ref] = v12.layoutRef,
                [v2.Change.AbsoluteContentSize] = v12.resizeFrameHeight
            }),
            Padding = v2.createElement("UIPadding", {
                PaddingTop = UDim.new(0, l_TreeViewItem_0.Indent)
            })
        }, l_props_0.children))
    });
end;
return (l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Mouse = l_ContextServices_0.Mouse
})(v7));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Cryo);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.RoactRodux);
local v4 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v4.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v4.UI;
local l_DragSource_0 = l_UI_0.DragSource;
local l_Pane_0 = l_UI_0.Pane;
local l_Tooltip_0 = l_UI_0.Tooltip;
local l_Util_0 = v4.Util;
local l_StyleModifier_0 = l_Util_0.StyleModifier;
local _ = l_Util_0.FitFrame.FitFrameOnAxis;
local l_LayoutOrderIterator_0 = l_Util_0.LayoutOrderIterator;
local l_GetTextSize_0 = l_Util_0.GetTextSize;
local v16 = require(l_Parent_0.Src.Actions.SetEditingAssets);
local v17 = require(l_Parent_0.Src.Actions.ChangeAssetAlias);
local v18 = require(l_Parent_0.Src.Thunks.GetAssetPreviewData);
local v19 = require(l_Parent_0.Src.Thunks.OnAssetDoubleClick);
local v20 = require(l_Parent_0.Src.Thunks.OnAssetRightClick);
local v21 = require(l_Parent_0.Src.Thunks.OnAssetSingleClick);
local v22 = require(l_Parent_0.Src.Thunks.OnRecentAssetRightClick);
local v23 = require(l_Parent_0.Src.Util.ReviewStatus);
local v24 = require(l_Parent_0.Src.Util.ModerationUtil);
local v25 = require(l_Parent_0.Src.Util.ModernIcons);
local l_AssetManagerService_0 = game:GetService("AssetManagerService");
local l_ContentProvider_0 = game:GetService("ContentProvider");
local l_StudioService_0 = game:GetService("StudioService");
local v29 = v2.PureComponent:extend("ListItem");
local l_enableAudioImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).enableAudioImport;
local l_enableVideoImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).enableVideoImport;
local function _(v32)
    return (string.gsub(string.gsub(string.gsub(v32, "%s+", ""), "\n", ""), "\t", ""));
end;
local function v36(v34)
    local l_assetType_0 = v34.assetType;
    if l_assetType_0 == Enum.AssetType.Place then
        if not v34.isRootPlace then
            return l_StudioService_0:GetClassIcon("Workspace");
        else
            return l_StudioService_0:GetClassIcon("SpawnLocation");
        end;
    elseif l_assetType_0 == Enum.AssetType.Package then
        return l_StudioService_0:GetClassIcon("Model");
    elseif l_assetType_0 == Enum.AssetType.Image then
        return l_StudioService_0:GetClassIcon("Decal");
    elseif l_assetType_0 == Enum.AssetType.MeshPart then
        return l_StudioService_0:GetClassIcon("MeshPart");
    elseif l_enableAudioImport_0() and l_assetType_0 == Enum.AssetType.Audio then
        return l_StudioService_0:GetClassIcon("Sound");
    elseif l_enableVideoImport_0() and l_assetType_0 == Enum.AssetType.Video then
        return l_StudioService_0:GetClassIcon("VideoFrame");
    elseif l_assetType_0 == Enum.AssetType.Model then
        return l_StudioService_0:GetClassIcon("Model");
    else
        return ;
    end;
end;
v29.isFolder = function(v37)
    return v37.props.AssetData.ClassName == "Folder";
end;
v29.init = function(v38)
    v38.state = {
        StyleModifier = nil,
        assetFetchStatus = nil,
        editText = ""
    };
    v38.editing = false;
    v38.textBoxRef = v2.createRef();
    v38.onMouseEnter = function()
        if v38.props.Enabled then
            if v38.state.StyleModifier == nil then
                v38:setState({
                    StyleModifier = l_StyleModifier_0.Hover
                });
            end;
            local l_AssetData_0 = v38.props.AssetData;
            local v40 = l_AssetData_0.ClassName == "Folder";
            local v41 = l_AssetData_0.assetType == Enum.AssetType.Place;
            if not (v40 or v41) and type(v38.props.AssetsTable.assetPreviewData[l_AssetData_0.id]) ~= "table" then
                v38.props.dispatchGetAssetPreviewData(v38.props.API:get(), {
                    l_AssetData_0.id
                });
            end;
            return ;
        else
            return ;
        end;
    end;
    v38.onMouseLeave = function()
        if v38.props.Enabled then
            if v38.state.StyleModifier == l_StyleModifier_0.Hover then
                v38:setState({
                    StyleModifier = v2.None
                });
            end;
            return ;
        else
            return ;
        end;
    end;
    v38.onClick = function(v42, v43)
        local l_props_0 = v38.props;
        if l_props_0.Enabled then
            local l_AssetData_1 = l_props_0.AssetData;
            if v43 == 0 then
                l_props_0.dispatchOnAssetSingleClick(v42, l_AssetData_1);
                return ;
            else
                if v43 == 1 then
                    l_props_0.dispatchOnAssetDoubleClick(l_props_0.Analytics, l_AssetData_1);
                end;
                return ;
            end;
        else
            return ;
        end;
    end;
    v38.onDragBegan = function(_)
        if not v38:isFolder() then
            local l_props_1 = v38.props;
            if l_props_1.OnAssetDrag then
                l_props_1.OnAssetDrag(l_props_1.AssetData);
                return ;
            else
                return ;
            end;
        else
            return ;
        end;
    end;
    v38.onRightClick = function()
        local l_props_2 = v38.props;
        if l_props_2.Enabled then
            local l_AssetData_2 = l_props_2.AssetData;
            if not (l_AssetData_2.ClassName == "Folder") then
                if not l_props_2.SelectedAssets[l_AssetData_2.key] then
                    l_props_2.dispatchOnAssetSingleClick(nil, l_AssetData_2);
                end;
            elseif not l_props_2.SelectedAssets[l_AssetData_2.Screen.LayoutOrder] then
                l_props_2.dispatchOnAssetSingleClick(nil, l_AssetData_2);
            end;
            if not l_props_2.RecentListItem then
                l_props_2:dispatchOnAssetRightClick();
                return ;
            else
                l_props_2:dispatchOnRecentAssetRightClick();
                return ;
            end;
        else
            return ;
        end;
    end;
    v38.onTextChanged = function(v50)
        local l_Text_0 = v50.Text;
        if l_Text_0 ~= v38.props.AssetData.name then
            v38:setState({
                editText = l_Text_0
            });
        end;
    end;
    v38.onTextBoxFocusLost = function(_, _, _)
        local l_props_3 = v38.props;
        local l_AssetData_3 = l_props_3.AssetData;
        local l_editText_0 = v38.state.editText;
        if utf8.len(l_editText_0) ~= 0 and utf8.len((string.gsub(string.gsub(string.gsub(l_editText_0, "%s+", ""), "\n", ""), "\t", ""))) ~= 0 then
            if l_AssetData_3.assetType == Enum.AssetType.Place then
                l_AssetManagerService_0:RenamePlace(l_AssetData_3.id, l_editText_0);
            elseif not ((l_AssetData_3.assetType ~= Enum.AssetType.Image and l_AssetData_3.assetType ~= Enum.AssetType.MeshPart) and (not l_enableAudioImport_0() or l_AssetData_3.assetType ~= Enum.AssetType.Audio)) or l_enableVideoImport_0() and l_AssetData_3.assetType == Enum.AssetType.Video then
                local v58 = nil;
                if l_AssetData_3.assetType == Enum.AssetType.Image then
                    v58 = "Images/";
                elseif l_AssetData_3.assetType == Enum.AssetType.MeshPart then
                    v58 = "Meshes/";
                elseif l_enableAudioImport_0() and l_AssetData_3.assetType == Enum.AssetType.Audio then
                    v58 = "Audio/";
                elseif l_enableVideoImport_0() and l_AssetData_3.assetType == Enum.AssetType.Video then
                    v58 = "Video/";
                elseif l_AssetData_3.assetType == Enum.AssetType.Model then
                    v58 = "Models/";
                end;
                l_AssetManagerService_0:RenameAlias(l_AssetData_3.assetType.Value, l_AssetData_3.id, v58 .. l_AssetData_3.name, v58 .. l_editText_0);
            end;
        end;
        l_props_3.dispatchSetEditingAssets({});
        l_props_3.dispatchChangeAssetAlias(tostring(l_AssetData_3.id), l_editText_0);
        v38:setState({
            editText = l_props_3.AssetData.name
        });
        v38.editing = false;
    end;
    local l_AssetData_4 = v38.props.AssetData;
    local v60 = l_AssetData_4.ClassName == "Folder";
    local l_id_0 = l_AssetData_4.id;
    if not v60 then
        if l_AssetData_4.assetType == Enum.AssetType.Place then
            v38.thumbnailUrl = string.format("rbxthumb://type=AutoGeneratedAsset&id=%i&w=%i&h=%i", l_id_0, 150, 150);
        else
            v38.thumbnailUrl = string.format("rbxthumb://type=Asset&id=%i&w=%i&h=%i", l_id_0, 150, 150);
        end;
        spawn(function()
            l_ContentProvider_0:PreloadAsync({
                v38.thumbnailUrl
            }, function(_, v63)
                v38:setState({
                    assetFetchStatus = v63
                });
            end);
        end);
    end;
end;
v29.didMount = function(v64)
    v64:setState({
        editText = v64.props.AssetData.name
    });
end;
v29.didUpdate = function(v65, _, _)
    local l_props_4 = v65.props;
    if l_props_4.EditingAssets[l_props_4.AssetData.id] then
        if not l_props_4.RecentListItem then
            if not ((not v65.textBoxRef or not v65.textBoxRef.current) or v65.editing) then
                local l_current_0 = v65.textBoxRef.current;
                l_current_0:CaptureFocus();
                l_current_0.SelectionStart = 1;
                l_current_0.CursorPosition = #l_current_0.Text + 1;
                v65.editing = true;
            end;
        else
            return ;
        end;
    end;
end;
v29.render = function(v70)
    local l_props_5 = v70.props;
    local l_Stylizer_0 = l_props_5.Stylizer;
    local l_Localization_0 = l_props_5.Localization;
    local l_Enabled_0 = l_props_5.Enabled;
    local l_Size_0 = l_Stylizer_0.Size;
    local l_AssetData_5 = l_props_5.AssetData;
    local l_BackgroundColor_0 = l_Stylizer_0.BackgroundColor;
    local l_BackgroundTransparency_0 = l_Stylizer_0.BackgroundTransparency;
    local l_Spacing_0 = l_Stylizer_0.Spacing;
    local v80 = {};
    local v81 = l_AssetData_5.ClassName == "Folder";
    if not v81 then
        if v70.state.assetFetchStatus == Enum.AssetFetchStatus.Success then
            if not (l_AssetData_5.assetType == Enum.AssetType.Place) or not l_AssetData_5.isRootPlace then
                v80.Image = v70.thumbnailUrl;
            else
                v80 = v36(l_AssetData_5);
            end;
        elseif not (v70.state.assetFetchStatus ~= Enum.AssetFetchStatus.Failure and not l_props_5.RecentListItem) then
            v80 = v36(l_AssetData_5);
        end;
    elseif l_AssetData_5.Screen.Image == nil then
        v80.Image = v25.getIconForCurrentTheme(v25.IconEnums.BlankFolder);
    else
        v80.Image = v25.getIconForCurrentTheme(l_AssetData_5.Screen.Image);
    end;
    local l_FrameSize_0 = l_Stylizer_0.Image.FrameSize;
    local l_ImageSize_0 = l_Stylizer_0.Image.ImageSize;
    local l_ImagePosition_0 = l_Stylizer_0.Image.ImagePosition;
    local l_ImageAnchorPosition_0 = l_Stylizer_0.Image.ImageAnchorPosition;
    local l_BackgroundColor_1 = l_Stylizer_0.Image.BackgroundColor;
    local l_Color_0 = l_Stylizer_0.Text.Color;
    local l_Font_0 = l_Stylizer_0.Font;
    local l_Size_1 = l_Stylizer_0.Text.Size;
    local l_BackgroundTransparency_1 = l_Stylizer_0.Text.BackgroundTransparency;
    local l_TextTruncate_0 = l_Stylizer_0.Text.TextTruncate;
    local l_XAlignment_0 = l_Stylizer_0.Text.XAlignment;
    local l_YAlignment_0 = l_Stylizer_0.Text.YAlignment;
    local l_Size_2 = l_Stylizer_0.Text.Frame.Size;
    local l_editText_1 = v70.state.editText;
    local v96 = l_props_5.EditingAssets[l_AssetData_5.id];
    local l_TextPadding_0 = l_Stylizer_0.EditText.TextPadding;
    local l_ClearTextOnFocus_0 = l_Stylizer_0.EditText.ClearTextOnFocus;
    local l_XAlignment_1 = l_Stylizer_0.Text.XAlignment;
    local l_BackgroundColor_2 = l_Stylizer_0.EditText.Frame.BackgroundColor;
    local l_BorderColor_0 = l_Stylizer_0.EditText.Frame.BorderColor;
    local v102 = l_GetTextSize_0(l_editText_1, l_Size_1, l_Font_0, Vector2.new(l_Stylizer_0.Size.X.Offset, math.huge));
    local l_name_0 = l_AssetData_5.name;
    local l_name_1 = l_AssetData_5.name;
    if l_Size_2.Y.Offset < l_GetTextSize_0(l_AssetData_5.name, l_Size_1, l_Font_0, Vector2.new(l_Size_2.X.Offset, math.huge)).Y then
        l_name_1 = string.sub(l_AssetData_5.name, 1, 12) .. "..." .. string.sub(l_AssetData_5.name, string.len(l_AssetData_5.name) - 5);
    end;
    local l_LayoutOrder_0 = l_props_5.LayoutOrder;
    local v106 = l_LayoutOrderIterator_0.new();
    local v107 = nil;
    local v108 = nil;
    local v109 = nil;
    l_Size_2 = UDim2.new(1, l_Stylizer_0.Text.Frame.XOffset, 0, l_Stylizer_0.Text.Frame.YOffset);
    if not v81 then
        local l_ModerationData_0 = l_props_5.ModerationData;
        if l_ModerationData_0 and next(l_ModerationData_0) ~= nil then
            local v111 = l_ModerationData_0.reviewStatus == v23.Pending;
            local v112 = v24.isApprovedAsset(l_ModerationData_0);
            v108 = v111 or not v112;
            if v108 then
                if not v111 then
                    if not v112 then
                        v107 = l_Stylizer_0.Image.ModerationStatus.Rejected;
                    end;
                else
                    v107 = l_Stylizer_0.Image.ModerationStatus.Pending;
                end;
                l_Size_2 = UDim2.new(1, 2 * l_Stylizer_0.Text.Frame.XOffset - l_Stylizer_0.Text.Frame.Padding, 0, l_Stylizer_0.Text.Frame.YOffset);
                v109 = v24.getModerationTooltip(l_Localization_0, l_ModerationData_0);
            end;
        end;
    end;
    return v2.createElement(l_DragSource_0, {
        Size = l_Size_0,
        LayoutOrder = l_LayoutOrder_0,
        OnClick = v70.onClick,
        OnRightClick = v70.onRightClick,
        OnDragBegan = v70.onDragBegan
    }, {
        ListItem = v2.createElement(l_Pane_0, {
            AutomaticSize = Enum.AutomaticSize.Y,
            BackgroundColor = l_BackgroundColor_0,
            Layout = Enum.FillDirection.Horizontal,
            Spacing = l_Spacing_0,
            Transparency = l_BackgroundTransparency_0,
            [v2.Event.MouseEnter] = v70.onMouseEnter,
            [v2.Event.MouseLeave] = v70.onMouseLeave
        }, {
            ImageFrame = v2.createElement("Frame", {
                Size = l_FrameSize_0,
                LayoutOrder = v106:getNextOrder(),
                BackgroundTransparency = 0,
                BackgroundColor3 = l_BackgroundColor_1,
                BorderSizePixel = 0
            }, {
                Image = v2.createElement("ImageLabel", v1.Dictionary.join(v80, {
                    Size = l_ImageSize_0,
                    Position = l_ImagePosition_0,
                    AnchorPoint = l_ImageAnchorPosition_0,
                    BackgroundTransparency = 1
                }))
            }),
            Name = not v96 and v2.createElement("TextLabel", {
                Size = l_Size_2,
                LayoutOrder = v106:getNextOrder(),
                Text = l_name_1,
                TextColor3 = l_Color_0,
                Font = l_Font_0,
                TextSize = l_Size_1,
                BackgroundTransparency = l_BackgroundTransparency_1,
                TextXAlignment = l_XAlignment_0,
                TextYAlignment = l_YAlignment_0,
                TextTruncate = l_TextTruncate_0,
                TextWrapped = true
            }, {
                NameTooltip = v2.createElement(l_Tooltip_0, {
                    Text = l_name_0,
                    Enabled = l_Enabled_0
                })
            }),
            RenameTextBox = v96 and v2.createElement("TextBox", {
                Size = UDim2.new(0, v102.X + l_TextPadding_0, 0, l_Size_2.Y.Offset),
                LayoutOrder = v106:getNextOrder(),
                BackgroundColor3 = l_BackgroundColor_2,
                BorderColor3 = l_BorderColor_0,
                Text = l_editText_1,
                TextColor3 = l_Color_0,
                Font = l_Font_0,
                TextSize = l_Size_1,
                TextXAlignment = l_XAlignment_1,
                ClearTextOnFocus = l_ClearTextOnFocus_0,
                [v2.Ref] = v70.textBoxRef,
                [v2.Change.Text] = v70.onTextChanged,
                [v2.Event.FocusLost] = v70.onTextBoxFocusLost
            }),
            ModerationImageFrame = v108 and v2.createElement("Frame", {
                Size = l_FrameSize_0,
                LayoutOrder = v106:getNextOrder(),
                BackgroundTransparency = 1
            }, {
                Image = v2.createElement("ImageLabel", {
                    Image = v107,
                    Size = l_ImageSize_0,
                    Position = l_ImagePosition_0,
                    AnchorPoint = l_ImageAnchorPosition_0,
                    BackgroundTransparency = 1
                }),
                ModerationTooltip = v2.createElement(l_Tooltip_0, {
                    Text = v109,
                    Enabled = l_Enabled_0
                })
            })
        })
    });
end;
return v3.connect(function(v113, _)
    local l_AssetManagerReducer_0 = v113.AssetManagerReducer;
    return {
        AssetsTable = l_AssetManagerReducer_0.assetsTable,
        EditingAssets = l_AssetManagerReducer_0.editingAssets,
        SelectedAssets = l_AssetManagerReducer_0.selectedAssets
    };
end, function(v116)
    return {
        dispatchGetAssetPreviewData = function(v117, v118)
            v116(v18(v117, v118));
        end,
        dispatchOnAssetDoubleClick = function(v119, v120)
            v116(v19(v119, v120));
        end,
        dispatchOnAssetRightClick = function(v121)
            v116(v20(v121));
        end,
        dispatchOnAssetSingleClick = function(v122, v123)
            v116(v21(v122, v123));
        end,
        dispatchOnRecentAssetRightClick = function(v124)
            v116(v22(v124));
        end,
        dispatchSetEditingAssets = function(v125)
            v116(v16(v125));
        end,
        dispatchChangeAssetAlias = function(v126, v127)
            v116(v17(v126, v127));
        end
    };
end)((l_withContext_0({
    Analytics = l_ContextServices_0.Analytics,
    API = l_ContextServices_0.API,
    Localization = l_ContextServices_0.Localization,
    Mouse = l_ContextServices_0.Mouse,
    Plugin = l_ContextServices_0.Plugin,
    Stylizer = l_ContextServices_0.Stylizer
})(v29)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_UI_0 = v3.UI;
local l_Button_0 = l_UI_0.Button;
local l_HoverArea_0 = l_UI_0.HoverArea;
local l_StyledDialog_0 = l_UI_0.StyledDialog;
local _ = l_UI_0.TextLabel;
local l_Util_0 = v3.Util;
local l_LayoutOrderIterator_0 = l_Util_0.LayoutOrderIterator;
local l_GetTextSize_0 = l_Util_0.GetTextSize;
local v14 = require(l_Parent_0.Src.Components.AssetGridContainer);
local v15 = require(l_Parent_0.Src.Components.AssetPreviewWrapper);
local v16 = require(l_Parent_0.Src.Components.ExplorerOverlay);
local v17 = require(l_Parent_0.Src.Components.NavBar);
local v18 = require(l_Parent_0.Src.Components.RecentlyImportedView);
local v19 = require(l_Parent_0.Src.Components.TopBar);
local v20 = require(l_Parent_0.Src.Util.Screens);
local v21 = require(l_Parent_0.Src.Thunks.LoadAllAliases);
local v22 = require(l_Parent_0.Src.Thunks.GetUniverseConfiguration);
local v23 = require(l_Parent_0.Src.Thunks.OnScreenChange);
local l_StudioPublishService_0 = game:GetService("StudioPublishService");
local l_MemStorageService_0 = game:GetService("MemStorageService");
local v26 = v1.PureComponent:extend("MainView");
local l_StudioAssetManagerAddRecentlyImportedView_0 = game:GetFastFlag("StudioAssetManagerAddRecentlyImportedView");
local v28 = false;
local v29 = require(l_Parent_0.Src.Util.ModernIcons);
local function v37(v30, v31, v32, v33)
    local v34 = v29.getIconForCurrentTheme(v29.IconEnums.BlankFolder);
    local l_Height_0 = v33.Height;
    local v36 = {
        text = v32:getText("Folders", v30.Path),
        icon = {
            Image = v34,
            Size = UDim2.new(0, l_Height_0, 0, l_Height_0),
            ImageColor3 = v33.ColorIcon
        },
        Screen = v30.Path,
        children = {},
        Parent = v31
    };
    if v31 then
        v31.children[v30.LayoutOrder] = v36;
    end;
end;
v26.init = function(v38)
    v38.state = {
        currentScreen = "",
        showAssetPreview = false,
        showOverlay = false,
        showConfirmRemovePlaceDialog = false,
        fileExplorerData = {
            text = "Game 1",
            Screen = v20.MAIN.Path,
            children = {}
        }
    };
    v38.gamePublishedConnection = nil;
    v38.openConfirmRemovePlaceDialog = function()
        v38:setState({
            showConfirmRemovePlaceDialog = true
        });
    end;
    v38.closeConfirmRemovePlaceDialog = function()
        v38:setState({
            showConfirmRemovePlaceDialog = false
        });
    end;
    v38.openOverlay = function()
        v38:setState({
            showOverlay = true
        });
    end;
    v38.closeOverlay = function()
        v38:setState({
            showOverlay = false
        });
    end;
    v38.closeAssetPreview = function()
        v38:setState({
            showAssetPreview = false,
            assetPreview = nil
        });
    end;
    v38.openAssetPreview = function(v39, v40)
        if v40 then
            if type(v40) == "table" then
                v38:setState({
                    showAssetPreview = true,
                    assetPreview = v1.createElement(v15, {
                        AssetPreviewData = v40,
                        OnAssetPreviewClose = v38.closeAssetPreview,
                        AssetData = v39
                    })
                });
                return ;
            else
                warn((v38.props.Localization:getText("MainView", "AssetPreviewError")));
                return ;
            end;
        else
            return ;
        end;
    end;
end;
v26.didMount = function(v41)
    if game.GameId ~= 0 then
        v41.props.dispatchGetUniverseConfiguration(v41.props.API:get());
    end;
    v41.gamePublishedConnection = l_StudioPublishService_0.GamePublishFinished:connect(function()
        v41.props.dispatchGetUniverseConfiguration(v41.props.API:get());
    end);
end;
v26.willUnmount = function(v42)
    if v42.gamePublishedConnection then
        v42.gamePublishedConnection:disconnect();
    end;
end;
v26.didUpdate = function(v43)
    local l_props_0 = v43.props;
    local l_Localization_0 = l_props_0.Localization;
    for _, v47 in pairs(v20) do
        if v47.Path ~= v20.MAIN.Path then
            v37(v47, v43.state.fileExplorerData, l_Localization_0, l_props_0.Stylizer.TreeViewItem);
        end;
    end;
    local v48 = l_props_0.API:get();
    local l_CurrentScreen_0 = l_props_0.CurrentScreen;
    if l_CurrentScreen_0 ~= v43.state.currentScreen then
        l_props_0.dispatchOnScreenChange(v48, l_CurrentScreen_0);
        v43:setState({
            currentScreen = l_CurrentScreen_0
        });
    end;
end;
v26.render = function(v50)
    local l_props_1 = v50.props;
    local l_Stylizer_0 = l_props_1.Stylizer;
    local l_Localization_1 = l_props_1.Localization;
    local l_UniverseName_0 = l_props_1.UniverseName;
    local v55 = l_LayoutOrderIterator_0.new();
    v50.state.fileExplorerData.text = l_UniverseName_0;
    if not (not (l_UniverseName_0 ~= "") or v28) then
        v28 = true;
    end;
    local v56 = game.GameId ~= 0;
    local v57 = l_Localization_1:getText("MainView", "SaveText");
    local v58 = l_GetTextSize_0(v57, l_Stylizer_0.FontSizeLarge, l_Stylizer_0.Font, Vector2.new(l_Stylizer_0.MainView.PublishText.Width, math.huge));
    local v59 = l_Localization_1:getText("MainView", "ButtonText");
    v59 = l_Localization_1:getText("MainView", "SaveToRobloxButtonText");
    local v60 = l_GetTextSize_0(v59, l_Stylizer_0.FontSizeLarge, l_Stylizer_0.Font);
    local l_RecentViewToggled_0 = l_props_1.RecentViewToggled;
    local v62 = next(l_props_1.RecentAssets) ~= nil;
    local v63 = (l_Stylizer_0.TopBar.Height + l_Stylizer_0.NavBar.Height) + (not not v62 and l_Stylizer_0.RecentView.Bar.Height or 0);
    local v64 = l_Stylizer_0.TopBar.Height + l_Stylizer_0.NavBar.Height;
    local v65 = not v50.state.showOverlay and not v50.state.showAssetPreview;
    return v1.createElement("Frame", {
        Size = UDim2.new(1, 0, 1, 0),
        Position = UDim2.new(0, 0, 0, 0),
        BackgroundTransparency = 0,
        BackgroundColor3 = l_Stylizer_0.BackgroundColor
    }, {
        UseText = not v56 and v1.createElement("TextLabel", {
            Size = UDim2.new(0, v58.X, 0, v58.Y),
            Position = UDim2.new(0.5, 0, 0, l_Stylizer_0.MainView.PublishText.Offset),
            AnchorPoint = Vector2.new(0.5, 0.5),
            LayoutOrder = v55:getNextOrder(),
            BackgroundTransparency = 1,
            Font = l_Stylizer_0.Font,
            Text = v57,
            TextColor3 = l_Stylizer_0.TextColor,
            TextSize = l_Stylizer_0.FontSizeLarge,
            TextXAlignment = Enum.TextXAlignment.Center,
            TextWrapped = true
        }),
        PublishButton = not v56 and v1.createElement(l_Button_0, {
            Style = "RoundPrimary",
            Text = v59,
            Size = UDim2.new(0, v60.X + l_Stylizer_0.MainView.PublishButton.PaddingX, 0, v60.Y + l_Stylizer_0.MainView.PublishButton.PaddingY),
            Position = UDim2.new(0.5, 0, 0, l_Stylizer_0.MainView.PublishButton.Offset),
            AnchorPoint = Vector2.new(0.5, 0.5),
            LayoutOrder = v55:getNextOrder(),
            OnClick = function()
                l_StudioPublishService_0:ShowSaveOrPublishPlaceToRoblox(false, false, Enum.StudioCloseMode.None);
            end
        }, {
            v1.createElement(l_HoverArea_0, {
                Cursor = "PointingHand"
            })
        }),
        MainViewLayout = v56 and v1.createElement("UIListLayout", {
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder,
            VerticalAlignment = Enum.VerticalAlignment.Top
        }),
        ExplorerOverlay = (v56 and v50.state.showOverlay) and v1.createElement(v16, {
            FileExplorerData = {
                v50.state.fileExplorerData
            },
            CloseOverlay = v50.closeOverlay
        }),
        AssetPreview = (v56 and v50.state.showAssetPreview) and v50.state.assetPreview,
        TopBar = v56 and v1.createElement(v19, {
            Size = UDim2.new(1, 0, 0, l_Stylizer_0.TopBar.Button.Size),
            LayoutOrder = v55:getNextOrder(),
            OnOverlayActivated = v50.openOverlay,
            Enabled = not v50.state.showOverlay
        }),
        NavBar = v56 and v1.createElement(v17, {
            Size = UDim2.new(1, 0, 0, l_Stylizer_0.NavBar.Height),
            LayoutOrder = v55:getNextOrder()
        }),
        AssetGridView = (not l_StudioAssetManagerAddRecentlyImportedView_0 and v56) and v1.createElement(v14, {
            Size = UDim2.new(1, 0, 1, -l_Stylizer_0.TopBar.Button.Size - l_Stylizer_0.NavBar.Height),
            LayoutOrder = v55:getNextOrder(),
            OnOpenAssetPreview = v50.openAssetPreview,
            OnAssetPreviewClose = v50.closeAssetPreview,
            Enabled = v65
        }),
        RecentsAssetGridView = ((l_StudioAssetManagerAddRecentlyImportedView_0 and v56) and not l_RecentViewToggled_0) and v1.createElement(v14, {
            Size = UDim2.new(1, 0, 1, -v63),
            LayoutOrder = v55:getNextOrder(),
            OnOpenAssetPreview = v50.openAssetPreview,
            OnAssetPreviewClose = v50.closeAssetPreview,
            OnOpenConfirmRemovePlaceDialog = v50.openConfirmRemovePlaceDialog,
            Enabled = v65
        }),
        RecentlyImportedView = (l_StudioAssetManagerAddRecentlyImportedView_0 and v62) and v1.createElement(v18, {
            Size = UDim2.new(1, 0, not l_RecentViewToggled_0 and 0 or 1, not not l_RecentViewToggled_0 and -v64 or l_Stylizer_0.RecentView.Bar.Height),
            LayoutOrder = v55:getNextOrder(),
            Enabled = not v50.state.showOverlay
        }),
        ConfirmRemovePlaceDialog = v1.createElement(l_StyledDialog_0, {
            Style = "Alert",
            Enabled = v50.state.showConfirmRemovePlaceDialog,
            Title = "",
            MinContentSize = l_Stylizer_0.MainView.ConfirmRemovePlaceDialogSize,
            Buttons = {
                {
                    Key = "Confirm",
                    Text = l_Localization_1:getText("MainView", "ConfirmText")
                },
                {
                    Key = "Cancel",
                    Text = l_Localization_1:getText("MainView", "CancelText")
                }
            },
            OnButtonPressed = function(v66)
                if v66 == "Confirm" then
                    l_MemStorageService_0:Fire("RemovePlaceConfirmed");
                end;
                v50.closeConfirmRemovePlaceDialog();
            end,
            OnClose = function()
                v50.closeConfirmRemovePlaceDialog();
            end
        }, {
            Contents = v1.createElement("TextLabel", {
                BackgroundTransparency = 1,
                Position = UDim2.fromScale(0, 0),
                Size = UDim2.fromScale(1, 1),
                Font = l_Stylizer_0.Font,
                Text = l_Localization_1:getText("MainView", "ConfirmRemovePlaceText"),
                TextColor3 = l_Stylizer_0.TextColor,
                TextSize = l_Stylizer_0.FontSizeLarge,
                TextXAlignment = Enum.TextXAlignment.Center,
                TextWrapped = true
            })
        })
    });
end;
return v2.connect(function(v67, _)
    local l_AssetManagerReducer_0 = v67.AssetManagerReducer;
    return {
        AssetsTable = l_AssetManagerReducer_0.assetsTable,
        CurrentScreen = v67.Screen.currentScreen,
        UniverseName = l_AssetManagerReducer_0.universeName,
        RecentAssets = l_AssetManagerReducer_0.recentAssets,
        RecentViewToggled = l_AssetManagerReducer_0.recentViewToggled
    };
end, function(v70)
    return {
        dispatchLoadAllAliases = function(v71, v72)
            v70(v21(v71, v72));
        end,
        dispatchGetUniverseConfiguration = function(v73)
            v70(v22(v73));
        end,
        dispatchOnScreenChange = function(v74, v75)
            v70(v23(v74, v75));
        end
    };
end)((l_withContext_0({
    API = l_ContextServices_0.API,
    Stylizer = l_ContextServices_0.Stylizer,
    Localization = l_ContextServices_0.Localization
})(v26)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Cryo);
local v2 = require(l_Parent_0.Packages.Roact);
local v3 = require(l_Parent_0.Packages.RoactRodux);
local v4 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v4.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_LinkText_0 = v4.UI.LinkText;
local l_Util_0 = v4.Util;
local l_GetTextSize_0 = l_Util_0.GetTextSize;
local l_LayoutOrderIterator_0 = l_Util_0.LayoutOrderIterator;
local l_StyleModifier_0 = l_Util_0.StyleModifier;
local v12 = require(l_Parent_0.Src.Actions.SetRecentViewToggled);
local v13 = require(l_Parent_0.Src.Actions.SetScreen);
local v14 = require(l_Parent_0.Src.Util.Screens);
local v15 = v2.PureComponent:extend("NavBar");
v15.getCurrentPath = function(v16, v17)
    local v18 = {};
    local l_v17_0 = v17;
    local v20 = v17.Path == v14.MAIN.Path;
    local v21 = not not v16.NavBar.current and v16.NavBar.current.AbsoluteSize.X or 0;
    while v17 ~= nil do
        if v21 < v16.state.contentWidth + 12 then
            v16.preTruncContentWidth = v16.state.contentWidth;
            if not (v17.Path == l_v17_0.Path and not v20 or v16.truncatedPathParts[v17.Path]) then
                v16.truncatedPathParts[v17.Path] = true;
            end;
        elseif v16.preTruncContentWidth + 12 <= v21 then
            v16.truncatedPathParts = {};
        end;
        table.insert(v18, 1, v17);
        v17 = v14[v17.Parent];
    end;
    return v18;
end;
v15.buildPathComponents = function(v22, v23, v24, v25, v26)
    local v27 = {};
    local l_CurrentScreen_0 = v23.CurrentScreen;
    local l_RecentViewToggled_0 = v23.RecentViewToggled;
    local l_dispatchSetRecentViewToggled_0 = v23.dispatchSetRecentViewToggled;
    local v31 = v22:getCurrentPath(l_CurrentScreen_0);
    local v32 = 1;
    local v33 = l_LayoutOrderIterator_0.new();
    local l_Path_0 = l_CurrentScreen_0.Path;
    for v35, v36 in ipairs(v31) do
        local v37 = v36.Path == l_Path_0;
        local v38 = not not (v36.Path == v14.MAIN.Path) and (v23.UniverseName ~= "" and v23.UniverseName or v25:getText("NavBar", "GamePlaceholderName")) or v25:getText("Folders", v36.Path);
        local v39 = not not v22.truncatedPathParts[v36.Path] and Enum.TextTruncate.AtEnd or nil;
        local v40 = nil;
        if v22.truncatedPathParts[v36.Path] then
            v40 = UDim2.new(v24.NavBar.TruncatedTextScale, 0, 1, 0);
        end;
        v27[v36.Path] = v2.createElement(l_LinkText_0, {
            Size = v40,
            Text = v38,
            Style = "NavBar",
            StyleModifier = not not v37 and l_StyleModifier_0.Disabled or v2.None,
            OnClick = function()
                if not v37 then
                    v26(true, v36);
                    if l_RecentViewToggled_0 then
                        l_dispatchSetRecentViewToggled_0(false);
                    end;
                end;
            end,
            TextTruncate = v39,
            LayoutOrder = v33:getNextOrder()
        });
        if v35 ~= #v31 then
            local v41 = l_GetTextSize_0(">", v24.FontSizeLarge, v24.Font);
            v27["PathSeparator-" .. v32] = v2.createElement("TextLabel", {
                Size = UDim2.fromOffset(v41.X, v41.Y),
                BackgroundTransparency = 1,
                Text = ">",
                TextColor3 = v24.TextColor,
                TextSize = v24.FontSizeLarge,
                Font = v24.Font,
                LayoutOrder = v33:getNextOrder(),
                TextXAlignment = Enum.TextXAlignment.Center,
                TextYAlignment = Enum.TextYAlignment.Bottom
            });
        end;
        if l_Path_0 == v14.MAIN.Path then
            local v42 = "[" .. v25:getText("NavBar", "ID", {
                gameId = game.GameId
            }) .. "]";
            local v43 = l_GetTextSize_0(v42, v24.FontSizeMedium, v24.Font);
            v27.UniverseId = v2.createElement("TextBox", {
                Size = UDim2.fromOffset(v43.X, v43.Y),
                LayoutOrder = v33:getNextOrder(),
                BackgroundTransparency = 1,
                Text = v42,
                TextColor3 = v24.SubTextColor,
                TextSize = v24.FontSizeSmall,
                Font = v24.Font,
                TextXAlignment = Enum.TextXAlignment.Left,
                TextEditable = false,
                ClearTextOnFocus = false
            });
        end;
        v32 = v32 + 1;
    end;
    return v27;
end;
v15.init = function(v44)
    v44.state = {
        contentWidth = 0,
        currentScreen = ""
    };
    v44.preTruncContentWidth = 0;
    v44.truncatedPathParts = {};
    v44.Layout = v2.createRef();
    v44.NavBar = v2.createRef();
end;
v15.didMount = function(v45)
    v45:setState({
        contentWidth = not not v45.Layout.current and v45.Layout.current.AbsoluteContentSize.X or 0
    });
end;
v15.didUpdate = function(v46)
    local l_CurrentScreen_1 = v46.props.CurrentScreen;
    if l_CurrentScreen_1 ~= v46.state.currentScreen then
        v46:setState({
            currentScreen = l_CurrentScreen_1,
            contentWidth = not not v46.Layout.current and v46.Layout.current.AbsoluteContentSize.X or 0
        });
    end;
end;
v15.render = function(v48)
    local l_props_0 = v48.props;
    local l_Localization_0 = v48.props.Localization;
    local l_Stylizer_0 = l_props_0.Stylizer;
    return (v2.createElement("Frame", {
        Size = l_props_0.Size,
        LayoutOrder = l_props_0.LayoutOrder,
        BackgroundColor3 = l_Stylizer_0.NavBar.BackgroundColor,
        BorderSizePixel = 0,
        [v2.Change.AbsoluteSize] = function()
            v48:setState({
                contentWidth = not not v48.Layout.current and v48.Layout.current.AbsoluteContentSize.X or 0
            });
        end,
        [v2.Ref] = v48.NavBar
    }, (v1.Dictionary.join({
        GameBarLayout = v2.createElement("UIListLayout", {
            Padding = UDim.new(0, l_Stylizer_0.NavBar.Padding),
            FillDirection = Enum.FillDirection.Horizontal,
            HorizontalAlignment = Enum.HorizontalAlignment.Left,
            VerticalAlignment = Enum.VerticalAlignment.Center,
            SortOrder = Enum.SortOrder.LayoutOrder,
            [v2.Ref] = v48.Layout
        }),
        GameBarPadding = v2.createElement("UIPadding", {
            PaddingLeft = UDim.new(0, l_Stylizer_0.NavBar.Padding)
        })
    }, (v48:buildPathComponents(l_props_0, l_Stylizer_0, l_Localization_0, l_props_0.dispatchSetScreen))))));
end;
return v3.connect(function(v52, _)
    return {
        UniverseName = v52.AssetManagerReducer.universeName,
        CurrentScreen = (v52.Screen or {}).currentScreen,
        RecentViewToggled = v52.AssetManagerReducer.recentViewToggled
    };
end, function(v54)
    return {
        dispatchSetRecentViewToggled = function(v55)
            v54(v12(v55));
        end,
        dispatchSetScreen = function(v56, v57)
            if v56 then
                v54(v13(v57));
            end;
        end
    };
end)((l_withContext_0({
    Stylizer = l_ContextServices_0.Stylizer,
    Localization = l_ContextServices_0.Localization
})(v15)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local l_HoverArea_0 = require(l_Parent_0.Packages.Framework).UI.HoverArea;
local v3 = v1.PureComponent:extend("PopUpButton");
local v4 = UDim2.new(0, 32, 0, 32);
local v5 = UDim2.new(0, 28, 0, 28);
v3.init = function(v6, _)
    v6.state = {
        hovering = false
    };
    v6.mouseEnter = function()
        v6:setState({
            hovering = true
        });
    end;
    v6.mouseLeave = function()
        v6:setState({
            hovering = false
        });
    end;
end;
v3.render = function(v8)
    local l_props_0 = v8.props;
    return v1.createElement("ImageButton", {
        Position = l_props_0.Position,
        AnchorPoint = Vector2.new(0.5, 0.5),
        Size = not not v8.state.hovering and v4 or v5,
        Image = l_props_0.Image,
        ImageTransparency = not l_props_0.ShowIcon and 1 or 0,
        BackgroundTransparency = 1,
        [v1.Event.Activated] = l_props_0.OnClick,
        [v1.Event.MouseButton2Click] = not not l_props_0.OnRightClick and l_props_0.OnRightClick or function()
        end,
        [v1.Event.MouseEnter] = v8.mouseEnter,
        [v1.Event.MouseLeave] = v8.mouseLeave
    }, {
        Hover = v1.createElement(l_HoverArea_0, {
            Cursor = "PointingHand"
        })
    });
end;
return v3;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Cryo);
local v2 = require(l_Parent_0.Packages.InsertAsset);
local v3 = require(l_Parent_0.Packages.Roact);
local v4 = require(l_Parent_0.Packages.RoactRodux);
local v5 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v5.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_InsertAssetContext_0 = v2.Context.InsertAssetContext;
local l_ScrollingFrame_0 = v5.UI.ScrollingFrame;
local l_Util_0 = v5.Util;
local l_LayoutOrderIterator_0 = l_Util_0.LayoutOrderIterator;
local l_StyleModifier_0 = l_Util_0.StyleModifier;
local v13 = require(l_Parent_0.Src.Components.ListItem);
local v14 = require(l_Parent_0.Src.Actions.SetRecentViewToggled);
local v15 = require(l_Parent_0.Src.Thunks.OnAssetDrag);
local v16 = v3.PureComponent:extend("RecentlyImportedView");
v16.createListItems = function(v17, _, v19, v20, v21)
    local v22 = {};
    for _, v24 in pairs(v19) do
        v22[v24.id] = v3.createElement(v13, {
            AssetData = v24,
            LayoutOrder = v24.key,
            StyleModifier = not not v20[v24.key] and l_StyleModifier_0.Selected or nil,
            Enabled = v21,
            RecentListItem = true,
            OnAssetDrag = v17.onAssetDrag
        });
    end;
    return v22;
end;
v16.init = function(v25)
    v25.onMouseActivated = function(_, _, _)
        local l_props_0 = v25.props;
        l_props_0.dispatchSetRecentViewToggled(not l_props_0.RecentViewToggled);
    end;
    v25.mouseEnter = function()
        v25.props.Mouse:__pushCursor("PointingHand");
    end;
    v25.mouseLeave = function()
        v25.props.Mouse:__popCursor();
    end;
    v25.onAssetDrag = function(v30)
        local l_props_1 = v25.props;
        l_props_1.dispatchOnAssetDrag(l_props_1.InsertAsset:get(), v30, l_props_1.Analytics);
    end;
end;
v16.render = function(v32)
    local l_props_2 = v32.props;
    local l_Stylizer_0 = l_props_2.Stylizer;
    local l_RecentView_0 = l_Stylizer_0.RecentView;
    local l_Localization_0 = l_props_2.Localization;
    local l_Size_0 = l_props_2.Size;
    local l_LayoutOrder_0 = l_props_2.LayoutOrder;
    local l_Enabled_0 = l_props_2.Enabled;
    local v40 = l_Localization_0:getText("RecentlyImportedView", "Title");
    local l_RecentViewToggled_0 = l_props_2.RecentViewToggled;
    local v42 = not not l_RecentViewToggled_0 and l_RecentView_0.Bar.Arrow.Expanded or l_RecentView_0.Bar.Arrow.Collapsed;
    local v43 = v32:createListItems(l_Stylizer_0, l_props_2.RecentAssets, l_props_2.SelectedAssets, l_Enabled_0);
    local v44 = l_LayoutOrderIterator_0.new();
    return v3.createElement("Frame", {
        Size = l_Size_0,
        LayoutOrder = l_LayoutOrder_0,
        ZIndex = 2,
        BackgroundTransparency = 1
    }, {
        RecentlyImportedViewLayout = v3.createElement("UIListLayout", {
            Padding = UDim.new(0, 0),
            FillDirection = Enum.FillDirection.Vertical,
            SortOrder = Enum.SortOrder.LayoutOrder
        }),
        RecentlyImportedViewBar = v3.createElement("ImageButton", {
            Size = UDim2.new(1, 0, 0, l_RecentView_0.Bar.Height),
            LayoutOrder = v44:getNextOrder(),
            ZIndex = 100,
            BackgroundColor3 = l_RecentView_0.Bar.BackgroundColor,
            BorderColor3 = l_Stylizer_0.BorderColor,
            BorderSizePixel = 1,
            [v3.Event.Activated] = v32.onMouseActivated,
            [v3.Event.MouseEnter] = v32.mouseEnter,
            [v3.Event.mouseLeave] = v32.mouseLeave
        }, {
            RecentlyImportedViewBarLayout = v3.createElement("UIListLayout", {
                Padding = UDim.new(0, l_RecentView_0.Bar.Padding),
                FillDirection = Enum.FillDirection.Horizontal,
                SortOrder = Enum.SortOrder.LayoutOrder
            }),
            GameBarPadding = v3.createElement("UIPadding", {
                PaddingLeft = UDim.new(0, l_RecentView_0.Bar.Padding)
            }),
            RecentlyImportedViewBarText = v3.createElement("TextLabel", {
                Size = UDim2.new(1, -l_RecentView_0.Bar.Button.Size - l_RecentView_0.Bar.Padding, 1, 0),
                LayoutOrder = 0,
                BackgroundTransparency = 1,
                Text = v40,
                TextColor3 = l_Stylizer_0.TextColor,
                TextSize = l_Stylizer_0.FontSizeSmall,
                Font = l_Stylizer_0.Font,
                TextXAlignment = Enum.TextXAlignment.Left
            }),
            CollapseImageFrame = v3.createElement("Frame", {
                Size = UDim2.new(0, l_RecentView_0.Bar.Button.Size, 0, l_RecentView_0.Bar.Button.Size),
                LayoutOrder = 1,
                BackgroundTransparency = 1
            }, {
                CollapseArrow = v3.createElement("ImageLabel", v1.Dictionary.join(v42, {
                    Size = UDim2.new(0, l_RecentView_0.Bar.Arrow.Size, 0, l_RecentView_0.Bar.Arrow.Size),
                    AnchorPoint = Vector2.new(0, 0.5),
                    Position = UDim2.new(0, 0, 0.5, 0),
                    BackgroundTransparency = 1,
                    ImageColor3 = l_RecentView_0.Bar.Arrow.Color
                }))
            })
        }),
        RecentlyImportedViewScrollingFrame = v3.createElement(l_ScrollingFrame_0, {
            Size = UDim2.new(1, 0, not l_RecentViewToggled_0 and 0 or 1, not not l_RecentViewToggled_0 and -l_RecentView_0.Bar.Height or 0),
            LayoutOrder = v44:getNextOrder(),
            BackgroundTransparency = 1,
            AutoSizeLayoutOptions = {
                SortOrder = Enum.SortOrder.LayoutOrder
            }
        }, v43)
    });
end;
return v4.connect(function(v45, _)
    local l_AssetManagerReducer_0 = v45.AssetManagerReducer;
    return {
        RecentAssets = l_AssetManagerReducer_0.recentAssets,
        RecentViewToggled = l_AssetManagerReducer_0.recentViewToggled,
        SelectedAssets = l_AssetManagerReducer_0.selectedAssets
    };
end, function(v48)
    return {
        dispatchOnAssetDrag = function(v49, v50, v51)
            v48(v15(v49, v50, v51));
        end,
        dispatchSetRecentViewToggled = function(v52)
            v48(v14(v52));
        end
    };
end)((l_withContext_0({
    Analytics = l_ContextServices_0.Analytics,
    InsertAsset = l_InsertAssetContext_0,
    Localization = l_ContextServices_0.Localization,
    Mouse = l_ContextServices_0.Mouse,
    Stylizer = l_ContextServices_0.Stylizer
})(v16)));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local l_ContextServices_0 = require(l_Parent_0.Packages.Framework).ContextServices;
local v3 = v1.PureComponent:extend("ServiceWrapper");
v3.init = function(v4)
    assert(v4.props.analytics ~= nil, "Expected a Analytics object");
    assert(v4.props[v1.Children] ~= nil, "Expected child elements to wrap");
    assert(v4.props.localization ~= nil, "Expected a Localization object");
    assert(v4.props.plugin ~= nil, "Expected a plugin object");
    assert(v4.props.store ~= nil, "Expected a Rodux Store object");
    assert(v4.props.theme ~= nil, "Expected a PluginTheme object");
    assert(v4.props.focusGui ~= nil, "Expected a focusGui object");
    assert(v4.props.mouse ~= nil, "Expected a PluginMouse object");
    assert(v4.props.insertAsset ~= nil, "Expected a InsertAsset object");
end;
v3.render = function(v5)
    return l_ContextServices_0.provide({
        v5.props.analytics,
        l_ContextServices_0.Focus.new(v5.props.focusGui),
        l_ContextServices_0.Plugin.new(v5.props.plugin),
        v5.props.localization,
        v5.props.theme,
        l_ContextServices_0.Store.new(v5.props.store),
        l_ContextServices_0.API.new(),
        l_ContextServices_0.Mouse.new(v5.props.mouse),
        v5.props.calloutController,
        v5.props.insertAsset
    }, v5.props[v1.Children]);
end;
return v3;


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local l_withContext_0 = require(l_Parent_0.Packages.Framework).ContextServices.withContext;
local v3 = require(l_Parent_0.Src.Util.CalloutController);
local v4 = v1.PureComponent:extend("TeachingCallout");
v4.init = function(v5)
    v5.targetRef = v1.createRef();
end;
v4.didMount = function(v6)
    v6._isMounted = true;
    spawn(function()
        if not (not v6._isMounted or not v6.targetRef) and v6.targetRef.current then
            v6._attachedDefinitionId = v6.props.DefinitionId;
            v6.props.CalloutController:attachCallout(v6._attachedDefinitionId, v6.props.LocationId, v6.targetRef.current);
            return ;
        else
            return ;
        end;
    end);
end;
v4.willUnmount = function(v7)
    v7._isMounted = false;
    if v7._attachedDefinitionId then
        v7.props.CalloutController:detachCalloutsByDefinitionId(v7._attachedDefinitionId);
    end;
end;
v4.render = function(v8)
    local v9 = v8.props.Offset or Vector2.new(0, 0);
    return v1.createElement("Frame", {
        BackgroundTransparency = 1,
        Position = UDim2.new(0, v9.X, 0, v9.Y),
        Size = UDim2.new(1, 0, 1, 0),
        [v1.Ref] = v8.targetRef
    });
end;
return (l_withContext_0({
    CalloutController = v3
})(v4));


local l_Parent_0 = script.Parent.Parent.Parent;
local v1 = require(l_Parent_0.Packages.Roact);
local v2 = require(l_Parent_0.Packages.RoactRodux);
local v3 = require(l_Parent_0.Packages.Framework);
local l_ContextServices_0 = v3.ContextServices;
local l_withContext_0 = l_ContextServices_0.withContext;
local l_Util_0 = v3.Util;
local l_StyleModifier_0 = l_Util_0.StyleModifier;
local l_GetTextSize_0 = l_Util_0.GetTextSize;
local l_UI_0 = v3.UI;
local l_DragSource_0 = l_UI_0.DragSource;
local l_Pane_0 = l_UI_0.Pane;
local l_Tooltip_0 = l_UI_0.Tooltip;
local v13 = require(l_Parent_0.Src.Components.PopUpButton);
local l_enableAudioImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).enableAudioImport;
local l_enableVideoImport_0 = require(l_Parent_0.Src.Util.AssetManagerUtilities).enableVideoImport;
local v16 = require(l_Parent_0.Src.Actions.SetEditingAssets);
local v17 = require(l_Parent_0.Src.Actions.ChangeAssetAlias);
local v18 = require(l_Parent_0.Src.Thunks.GetAssetPreviewData);
local v19 = require(l_Parent_0.Src.Thunks.OnAssetDoubleClick);
local v20 = require(l_Parent_0.Src.Thunks.OnAssetRightClick);
local v21 = require(l_Parent_0.Src.Thunks.OnAssetSingleClick);
local v22 = require(l_Parent_0.Src.Util.ReviewStatus);
local v23 = require(l_Parent_0.Src.Util.ModerationUtil);
local v24 = require(l_Parent_0.Src.Util.ModernIcons);
local l_AssetManagerService_0 = game:GetService("AssetManagerService");
local l_ContentProvider_0 = game:GetService("ContentProvider");
local v27 = v1.PureComponent:extend("Tile");
local function _(v28)
    return (string.gsub(string.gsub(string.gsub(v28, "%s+", ""), "\n", ""), "\t", ""));
end;
v27.init = function(v30)
    v30.state = {
        StyleModifier = nil,
        assetFetchStatus = nil,
        assetPreviewButtonHovered = false,
        editText = ""
    };
    v30.editing = false;
    v30.textBoxRef = v1.createRef();
    v30.onMouseEnter = function()
        if v30.props.Enabled then
            if v30.state.StyleModifier == nil then
                v30:setState({
                    StyleModifier = l_StyleModifier_0.Hover
                });
            end;
            v30:setState({
                assetPreviewButtonHovered = true
            });
            local l_AssetData_0 = v30.props.AssetData;
            local v32 = l_AssetData_0.ClassName == "Folder";
            local v33 = l_AssetData_0.assetType == Enum.AssetType.Place;
            if not (v32 or v33) and type(v30.props.AssetsTable.assetPreviewData[l_AssetData_0.id]) ~= "table" then
                v30.props.dispatchGetAssetPreviewData(v30.props.API:get(), {
                    l_AssetData_0.id
                });
            end;
            return ;
        else
            return ;
        end;
    end;
    v30.onMouseLeave = function()
        if v30.props.Enabled then
            if v30.state.StyleModifier == l_StyleModifier_0.Hover then
                v30:setState({
                    StyleModifier = v1.None
                });
            end;
            v30:setState({
                assetPreviewButtonHovered = false
            });
            return ;
        else
            return ;
        end;
    end;
    v30.onClick = function(v34, v35)
        local l_props_0 = v30.props;
        if l_props_0.Enabled then
            local l_AssetData_1 = l_props_0.AssetData;
            if v35 == 0 then
                l_props_0.dispatchOnAssetSingleClick(v34, l_AssetData_1);
                return ;
            else
                if v35 == 1 then
                    l_props_0.dispatchOnAssetDoubleClick(l_props_0.Analytics, l_AssetData_1);
                end;
                return ;
            end;
        else
            return ;
        end;
    end;
    v30.onDragBegan = function(_)
        local l_props_1 = v30.props;
        l_props_1.OnAssetDrag(l_props_1.AssetData);
    end;
    v30.onRightClick = function()
        local l_props_2 = v30.props;
        if l_props_2.Enabled then
            local l_AssetData_2 = l_props_2.AssetData;
            if not (l_AssetData_2.ClassName == "Folder") then
                if not l_props_2.SelectedAssets[l_AssetData_2.key] then
                    l_props_2.dispatchOnAssetSingleClick(nil, l_AssetData_2);
                end;
            elseif not l_props_2.SelectedAssets[l_AssetData_2.Screen.LayoutOrder] then
                l_props_2.dispatchOnAssetSingleClick(nil, l_AssetData_2);
            end;
            l_props_2:dispatchOnAssetRightClick();
            return ;
        else
            return ;
        end;
    end;
    v30.openAssetPreview = function()
        v30:setState({
            assetPreviewButtonHovered = false
        });
        v30.props.OnOpenAssetPreview(v30.props.AssetData);
    end;
    v30.onTextChanged = function(v42)
        local l_Text_0 = v42.Text;
        if l_Text_0 ~= v30.props.AssetData.name then
            v30:setState({
                editText = l_Text_0
            });
        end;
    end;
    v30.onTextBoxFocusLost = function(_, _, _)
        local l_props_3 = v30.props;
        local l_AssetData_3 = l_props_3.AssetData;
        local l_editText_0 = v30.state.editText;
        if utf8.len(l_editText_0) ~= 0 and utf8.len((string.gsub(string.gsub(string.gsub(l_editText_0, "%s+", ""), "\n", ""), "\t", ""))) ~= 0 then
            if l_AssetData_3.assetType == Enum.AssetType.Place then
                l_AssetManagerService_0:RenamePlace(l_AssetData_3.id, l_editText_0);
            elseif not ((l_AssetData_3.assetType ~= Enum.AssetType.Image and l_AssetData_3.assetType ~= Enum.AssetType.MeshPart) and (not l_enableAudioImport_0() or l_AssetData_3.assetType ~= Enum.AssetType.Audio)) or l_enableVideoImport_0() and l_AssetData_3.assetType == Enum.AssetType.Video then
                local v50 = nil;
                if l_AssetData_3.assetType == Enum.AssetType.Image then
                    v50 = "Images/";
                elseif l_AssetData_3.assetType == Enum.AssetType.MeshPart then
                    v50 = "Meshes/";
                elseif l_enableAudioImport_0() and l_AssetData_3.assetType == Enum.AssetType.Audio then
                    v50 = "Audio/";
                elseif l_enableVideoImport_0() and l_AssetData_3.assetType == Enum.AssetType.Video then
                    v50 = "Video/";
                elseif l_AssetData_3.assetType == Enum.AssetType.Model then
                    v50 = "Models/";
                end;
                l_AssetManagerService_0:RenameAlias(l_AssetData_3.assetType.Value, l_AssetData_3.id, v50 .. l_AssetData_3.name, v50 .. l_editText_0);
            end;
        end;
        l_props_3.dispatchSetEditingAssets({});
        l_props_3.dispatchChangeAssetAlias(tostring(l_AssetData_3.id), l_editText_0);
        v30:setState({
            editText = l_props_3.AssetData.name
        });
        v30.editing = false;
    end;
    local l_AssetData_4 = v30.props.AssetData;
    local v52 = l_AssetData_4.ClassName == "Folder";
    local l_id_0 = l_AssetData_4.id;
    if not v52 then
        if l_AssetData_4.assetType == Enum.AssetType.Place then
            v30.thumbnailUrl = string.format("rbxthumb://type=AutoGeneratedAsset&id=%i&w=%i&h=%i", l_id_0, 150, 150);
        else
            v30.thumbnailUrl = string.format("rbxthumb://type=Asset&id=%i&w=%i&h=%i", l_id_0, 150, 150);
        end;
        spawn(function()
            l_ContentProvider_0:PreloadAsync({
                v30.thumbnailUrl
            }, function(_, v55)
                v30:setState({
                    assetFetchStatus = v55
                });
            end);
        end);
    end;
end;
v27.didMount = function(v56)
    v56:setState({
        editText = v56.props.AssetData.name
    });
end;
v27.didUpdate = function(v57, _, _)
    local l_props_4 = v57.props;
    if l_props_4.EditingAssets[l_props_4.AssetData.id] then
        if not l_props_4.RecentListItem then
            if not ((not v57.textBoxRef or not v57.textBoxRef.current) or v57.editing) then
                local l_current_0 = v57.textBoxRef.current;
                l_current_0:CaptureFocus();
                l_current_0.SelectionStart = 1;
                l_current_0.CursorPosition = #l_current_0.Text + 1;
                v57.editing = true;
            end;
        else
            return ;
        end;
    end;
end;
v27.render = function(v62)
    local l_props_5 = v62.props;
    local l_Stylizer_0 = l_props_5.Stylizer;
    local l_Localization_0 = l_props_5.Localization;
    local l_Enabled_0 = l_props_5.Enabled;
    local l_Size_0 = l_Stylizer_0.Size;
    local l_AssetData_5 = l_props_5.AssetData;
    local l_BackgroundColor_0 = l_Stylizer_0.BackgroundColor;
    local l_BackgroundTransparency_0 = l_Stylizer_0.BackgroundTransparency;
    local _ = l_Stylizer_0.BorderSizePixel;
    local l_Color_0 = l_Stylizer_0.Text.Color;
    local l_Font_0 = l_Stylizer_0.Font;
    local l_Size_1 = l_Stylizer_0.Text.Size;
    local l_BackgroundTransparency_1 = l_Stylizer_0.Text.BackgroundTransparency;
    local l_TextTruncate_0 = l_Stylizer_0.Text.TextTruncate;
    local l_XAlignment_0 = l_Stylizer_0.Text.XAlignment;
    local l_YAlignment_0 = l_Stylizer_0.Text.YAlignment;
    local l_Size_2 = l_Stylizer_0.Text.Frame.Size;
    local l_Position_0 = l_Stylizer_0.Text.Frame.Position;
    local l_editText_1 = v62.state.editText;
    local v82 = l_props_5.EditingAssets[l_AssetData_5.id];
    local l_TextWrapped_0 = l_Stylizer_0.EditText.TextWrapped;
    local l_ClearTextOnFocus_0 = l_Stylizer_0.EditText.ClearTextOnFocus;
    local l_XAlignment_1 = l_Stylizer_0.Text.XAlignment;
    local l_BackgroundColor_1 = l_Stylizer_0.EditText.Frame.BackgroundColor;
    local l_BorderColor_0 = l_Stylizer_0.EditText.Frame.BorderColor;
    local v88 = l_GetTextSize_0(l_editText_1, l_Size_1, l_Font_0, Vector2.new(l_Stylizer_0.Size.X.Offset, math.huge));
    local v89 = nil;
    v89 = if v88.X < l_Stylizer_0.Size.X.Offset then l_Stylizer_0.EditText.TextPadding else 0;
    local l_name_0 = l_AssetData_5.name;
    local l_name_1 = l_AssetData_5.name;
    if l_Size_2.Y.Offset < l_GetTextSize_0(l_AssetData_5.name, l_Size_1, l_Font_0, Vector2.new(l_Size_2.X.Offset, math.huge)).Y then
        l_name_1 = string.sub(l_AssetData_5.name, 1, 12) .. "..." .. string.sub(l_AssetData_5.name, string.len(l_AssetData_5.name) - 5);
    end;
    local v92 = l_AssetData_5.ClassName == "Folder";
    local v93 = l_AssetData_5.assetType == Enum.AssetType.Place;
    local v94 = nil;
    v94 = if not v92 then v62.state.assetFetchStatus == Enum.AssetFetchStatus.Success and v62.thumbnailUrl or l_Stylizer_0.Image.PlaceHolder else v24.getIconForCurrentTheme(l_AssetData_5.Screen.Image);
    local l_FrameSize_0 = l_Stylizer_0.Image.FrameSize;
    local l_ImageSize_0 = l_Stylizer_0.Image.ImageSize;
    local l_Position_1 = l_Stylizer_0.Image.Position;
    local l_FolderPosition_0 = l_Stylizer_0.Image.FolderPosition;
    local l_FolderAnchorPosition_0 = l_Stylizer_0.Image.FolderAnchorPosition;
    local l_BackgroundColor_2 = l_Stylizer_0.Image.BackgroundColor;
    local v101 = not v92 and not v93;
    local l_assetPreviewButtonHovered_0 = v62.state.assetPreviewButtonHovered;
    local v103 = v24.getIconForCurrentTheme(v24.IconEnums.Zoom);
    local l_Offset_0 = l_Stylizer_0.AssetPreview.Button.Offset;
    local l_isRootPlace_0 = l_AssetData_5.isRootPlace;
    local l_Size_3 = l_Stylizer_0.Image.StartingPlace.Size;
    local v107 = v24.getIconForCurrentTheme(v24.IconEnums.Spawn);
    local l_XOffset_0 = l_Stylizer_0.Image.StartingPlace.XOffset;
    local l_YOffset_0 = l_Stylizer_0.Image.StartingPlace.YOffset;
    local l_LayoutOrder_0 = l_props_5.LayoutOrder;
    local v111 = not v92 and "ImageLabel" or "Frame";
    local v112 = {
        Size = l_FrameSize_0,
        Position = l_Position_1,
        BackgroundTransparency = 0,
        BackgroundColor3 = l_BackgroundColor_2,
        BorderSizePixel = 0
    };
    if not v92 then
        v112.Image = v94;
    end;
    local v113 = nil;
    local v114 = nil;
    local v115 = nil;
    local v116 = nil;
    local v117 = nil;
    local v118 = nil;
    if not v92 then
        local l_ModerationData_0 = l_props_5.ModerationData;
        if l_ModerationData_0 and next(l_ModerationData_0) ~= nil then
            local v120 = l_ModerationData_0.reviewStatus == v22.Pending;
            local v121 = v23.isApprovedAsset(l_ModerationData_0);
            v113 = v120 or not v121;
            if v113 then
                if not v120 then
                    if not v121 then
                        v114 = l_Stylizer_0.Image.ModerationStatus.Rejected;
                    end;
                else
                    v114 = l_Stylizer_0.Image.ModerationStatus.Pending;
                end;
                v115 = l_Stylizer_0.Image.ModerationStatus.Size;
                v116 = l_Stylizer_0.Image.ModerationStatus.XOffset;
                v117 = l_Stylizer_0.Image.ModerationStatus.YOffset;
                v118 = v23.getModerationTooltip(l_Localization_0, l_ModerationData_0);
            end;
        end;
    end;
    return v1.createElement(l_DragSource_0, {
        AutomaticSize = Enum.AutomaticSize.XY,
        LayoutOrder = l_LayoutOrder_0,
        OnClick = v62.onClick,
        OnRightClick = v62.onRightClick,
        OnDragBegan = v62.onDragBegan
    }, {
        Button = v1.createElement(l_Pane_0, {
            BackgroundColor = l_BackgroundColor_0,
            Size = l_Size_0,
            Transparency = l_BackgroundTransparency_0,
            [v1.Event.MouseEnter] = v62.onMouseEnter,
            [v1.Event.MouseLeave] = v62.onMouseLeave
        }, {
            ThumbnailContainer = v1.createElement(v111, v112, {
                AssetPreviewButton = v101 and v1.createElement(v13, {
                    Position = UDim2.new(1, -l_Offset_0, 0, l_Offset_0),
                    Image = v103,
                    ShowIcon = l_assetPreviewButtonHovered_0,
                    OnClick = v62.openAssetPreview,
                    OnRightClick = v62.onRightClick
                }),
                RootPlaceImage = l_isRootPlace_0 and v1.createElement("ImageLabel", {
                    Size = UDim2.new(0, l_Size_3, 0, l_Size_3),
                    Position = UDim2.new(0, l_XOffset_0, 0, l_YOffset_0),
                    Image = v107,
                    BackgroundTransparency = 1
                }),
                ModerationStatusImage = v113 and v1.createElement("ImageLabel", {
                    Size = UDim2.new(0, v115, 0, v115),
                    Position = UDim2.new(0, v116, 0, v117),
                    Image = v114,
                    BackgroundTransparency = 1
                }, {
                    ModerationTooltip = v1.createElement(l_Tooltip_0, {
                        Text = v118,
                        Enabled = l_Enabled_0
                    })
                }),
                FolderImage = v92 and v1.createElement("ImageLabel", {
                    Size = l_ImageSize_0,
                    Image = v94,
                    Position = l_FolderPosition_0,
                    AnchorPoint = l_FolderAnchorPosition_0,
                    BackgroundTransparency = 1
                })
            }),
            Name = not v82 and v1.createElement("TextLabel", {
                Size = l_Size_2,
                Position = l_Position_0,
                Text = l_name_1,
                TextColor3 = l_Color_0,
                Font = l_Font_0,
                TextSize = l_Size_1,
                BackgroundTransparency = l_BackgroundTransparency_1,
                TextXAlignment = l_XAlignment_0,
                TextYAlignment = l_YAlignment_0,
                TextTruncate = l_TextTruncate_0,
                TextWrapped = true
            }),
            RenameTextBox = v82 and v1.createElement("TextBox", {
                Size = UDim2.new(0, v88.X + v89, 0, v88.Y),
                Position = l_Position_0,
                BackgroundColor3 = l_BackgroundColor_1,
                BorderColor3 = l_BorderColor_0,
                Text = l_editText_1,
                TextColor3 = l_Color_0,
                Font = l_Font_0,
                TextSize = l_Size_1,
                TextXAlignment = l_XAlignment_1,
                TextTruncate = Enum.TextTruncate.None,
                TextWrapped = l_TextWrapped_0,
                ClearTextOnFocus = l_ClearTextOnFocus_0,
                [v1.Ref] = v62.textBoxRef,
                [v1.Change.Text] = v62.onTextChanged,
                [v1.Event.FocusLost] = v62.onTextBoxFocusLost
            }),
            NameTooltip = v1.createElement(l_Tooltip_0, {
                Text = l_name_0,
                Enabled = l_Enabled_0
            }),
            DEPRECATED_Tooltip = l_Enabled_0 and v1.createElement(l_Tooltip_0, {
                Text = l_name_0,
                Enabled = true
            })
        })
    });
end;
return v2.connect(function(v122, _)
    local l_AssetManagerReducer_0 = v122.AssetManagerReducer;
    return {
        AssetsTable = l_AssetManagerReducer_0.assetsTable,
        EditingAssets = l_AssetManagerReducer_0.editingAssets,
        SelectedAssets = l_AssetManagerReducer_0.selectedAssets
    };
end, function(v125)
    return {
        dispatchGetAssetPreviewData = function(v126, v127)
            v125(v18(v126, v127));
        end,
        dispatchOnAssetDoubleClick = function(v128, v129)
            v125(v19(v128, v129));
        end,
        dispatchOnAssetRightClick = function(v130)
            v125(v20(v130));
        end,
        dispatchOnAssetSingleClick = function(v131, v132)
            v125(v21(v131, v132));
        end,
        dispatchSetEditingAssets = function(v133)
            v125(v16(v133));
        end,
        dispatchChangeAssetAlias = function(v134, v135)
            v125(v17(v134, v135));
        end
    };
end)((l_withContext_0({
    Analytics = l_ContextServices_0.Analytics,
    API = l_ContextServices_0.API,
    Localization = l_ContextServices_0.Localization,
    Mouse = l_ContextServices_0.Mouse,
    Plugin = l_ContextServices_0.Plugin,
    Stylizer = l_ContextServices_0.Stylizer
})(v27)));