// Copyright (c) 2009-2026 SAP SE, All Rights Reserved

/**
 * @fileOverview Default ushell configuration for the Fiori Launchpad Sandbox.
 *
 * This module provides the base configuration object used by the sandbox environment.
 * It configures the Fiori 2.0 renderer, local adapters for various services (personalization,
 * app state, navigation, etc.), and default user profile settings.
 *
 * The configuration can be extended or overridden via the `fioriSandboxAppConfig.json` file
 * placed in the application's root directory.
 *
 * @version 1.147.1
 * @since 1.147
 */
sap.ui.define([], () => {
    "use strict";

    /* eslint-disable quote-props */
    /**
     * Default ushell sandbox configuration object.
     *
     * This configuration is used as the base for the sandbox environment and includes:
     * - Fiori 2.0 renderer settings with spaces enabled
     * - Local adapters for services (PersonalizationV2, AppState, UserInfo, etc.)
     * - User profile defaults for sandbox user "John Doe"
     * - Available themes and their display names
     * - Runtime Authoring Plugin for UI adaptation testing
     *
     * @type {object}
     * @private
     */
    return {
        "defaultRenderer": "fiori2",
        "ushell": {
            "spaces": {
                "enabled": true
            },
            "home": {
                "tilesWrappingType": "Hyphenated"
            }
        },
        "renderers": {
            "fiori2": {
                "componentData": {
                    "config": {
                        "enablePersonalization": true,
                        "enableAbout": true,
                        "enableTagFiltering": false,
                        "enableSearch": false,
                        "searchBusinessObjects": false,
                        "enableSetTheme": true,
                        "enableAccessibility": true,
                        "enableHelp": false,
                        "enableUserDefaultParameters": true,
                        "enableRecentActivity": false,
                        "enableRecentActivityLogging": false,
                        "preloadLibrariesForRootIntent": false,
                        "applications": {
                            "Shell-home": {
                                "enableEasyAccess": false,
                                "enableTileActionsIcon": false,
                                "enableHideGroups": false
                            }
                        },
                        "rootIntent": "Shell-home",
                        "sizeBehaviorConfigurable": true
                    }
                }
            }
        },
        "services": {
            "PluginManager": {
                "config": {
                    "loadPluginsFromSite": true
                }
            },
            "Container": {
                "adapter": {
                    "config": {
                        "systemProperties": {},
                        "userProfile": {
                            "metadata": {
                                "editablePropterties": [
                                    "accessibility",
                                    "contentDensity",
                                    "theme"
                                ],
                                "ranges": {
                                    "theme": {
                                        "sap_fiori_3": {
                                            "displayName": "SAP Quartz",
                                            "themeRoot": ""
                                        },
                                        "sap_fiori_3_dark": {
                                            "displayName": "SAP Quartz Dark",
                                            "themeRoot": ""
                                        },
                                        "sap_fiori_3_hcb": {
                                            "displayName": "SAP HCB(SAP Quartz)",
                                            "themeRoot": ""
                                        },
                                        "sap_fiori_3_hcw": {
                                            "displayName": "SAP HCW(SAP Quartz)",
                                            "themeRoot": ""
                                        },
                                        "sap_horizon": {
                                            "displayName": "SAP Morning Horizon",
                                            "themeRoot": ""
                                        },
                                        "sap_horizon_dark": {
                                            "displayName": "SAP Evening Horizon",
                                            "themeRoot": ""
                                        },
                                        "sap_horizon_hcb": {
                                            "displayName": "SAP HCB (SAP Horizon)",
                                            "themeRoot": ""
                                        },
                                        "sap_horizon_hcw": {
                                            "displayName": "SAP HCW (SAP Horizon)",
                                            "themeRoot": ""
                                        }
                                    }
                                }
                            },
                            "defaults": {
                                "email": "john.doe@sap.com",
                                "firstName": "John",
                                "lastName": "Doe",
                                "fullName": "John Doe",
                                "id": "DOEJ",
                                "language": "EN",
                                "languageBcp47": "en",
                                "sapDateFormat": "1",
                                "tislcal": [],
                                "numberFormat": "",
                                "rtl": false,
                                "sapTimeFormat": "0",
                                "timeZone": "CET"
                            }
                        },
                        "userProfilePersonalization": {
                            "sapDateFormat": "1",
                            "theme": "sap_horizon",
                            "sapTimeFormat": "0",
                            "timeZone": "CET",
                            "contentDensity": "cozy"
                        }
                    }
                }
            },
            "Ui5ComponentLoader": {
                "config": {
                    "loadDefaultDependencies": false
                }
            },
            "PersonalizationV2": {
                "adapter": {
                    "module": "sap.ushell.adapters.local.PersonalizationAdapter"
                }
            },
            "AppState": {
                "adapter": {
                    "module": "sap.ushell.adapters.local.AppStateAdapter"
                },
                "config": {
                    "transient": true
                }
            },
            "NavTargetResolutionInternal": {
                "config": {
                    "allowTestUrlComponentConfig": false,
                    "enableClientSideTargetResolution": true
                },
                "adapter": {
                    "module": "sap.ushell.adapters.local.NavTargetResolutionInternalAdapter"
                }
            },
            "SupportTicket": {
                "config": {
                    "enabled": false
                },
                "adapter": {
                    "module": "sap.ushell.adapters.local.SupportTicketAdapter"
                }
            },
            "UserInfo": {
                "adapter": {
                    "module": "sap.ushell.adapters.local.UserInfoAdapter"
                }
            },
            "UserDefaultParameterPersistence": {
                "adapter": {
                    "module": "sap.ushell.adapters.local.UserDefaultParameterPersistenceAdapter"
                }
            },
            "NavigationDataProvider": {
                "adapter": {
                    "module": "sap.ushell.adapters.cdm.ClientSideTargetResolutionAdapter"
                }
            },
            "VisualizationDataProvider": {
                "adapter": {
                    "module": "sap.ushell.adapters.cdm.v3.FlpLaunchPageAdapter"
                }
            },
            "CommonDataModel": {
                "adapter": {
                    "config": {
                        "ignoreSiteDataPersonalization": true,
                        "allowSiteSourceFromURLParameter": true
                    }
                }
            },
            "FlpLaunchPage": {
                "adapter": {
                    "module": "sap.ushell.adapters.cdm.v3.FlpLaunchPageAdapter"
                }
            },
            "Search": {
                "adapter": {
                    "module": "sap.ushell.adapters.local.SearchAdapter"
                }
            },
            "Personalization": {
                "module": "sap.ushell.sandbox.DeprecatedService",
                "config": {
                    "name": "Personalization",
                    "successor": "sap.ushell.services.PersonalizationV2"
                }
            },
            "LaunchPage": {
                "module": "sap.ushell.sandbox.DeprecatedService",
                "config": {
                    "name": "LaunchPage",
                    "successor": "sap.ushell.services.FlpLaunchPage"
                }
            },
            "NavTargetResolution": {
                "module": "sap.ushell.sandbox.DeprecatedService",
                "config": {
                    "name": "NavTargetResolution",
                    "successor": "sap.ushell.services.NavTargetResolutionInternal"
                }
            }
        },
        "bootstrapPlugins": {
            "RuntimeAuthoringPlugin": {
                "component": "sap.ushell.plugins.rta"
            }
        }
    };
    /* eslint-enable quote-props */
});
