diff --git a/WHATSNEW.md b/WHATSNEW.md index ae55915bfd..5baa1b48cc 100644 --- a/WHATSNEW.md +++ b/WHATSNEW.md @@ -3,6 +3,7 @@ - Update all input component to use `ReadOnly` instead of a mix of possible spellings - Update demo site styling (nav menu and body now scroll independently) - Support DisabledDateFunc in FluentDatePicker +- Removed the FluentCodeEditor component because it lacked features and has no Fluent design aspects. You can use the [BlazorMonaco](https://github.com/serdarciplak/BlazorMonaco) component as a replacement - Fix [#911](https://github.com/microsoft/fluentui-blazor/issues/911): Column resizing in DataGrid breaks when column to narrow - Fix [#891](https://github.com/microsoft/fluentui-blazor/issues/891): JSDisconnectedException in FluentOverflow - Fix [#861](https://github.com/microsoft/fluentui-blazor/issues/861): Needed extra `empty-content-cell` class diff --git a/examples/Demo/Client/wwwroot/index.html b/examples/Demo/Client/wwwroot/index.html index 5b2ba79127..ba273f403f 100644 --- a/examples/Demo/Client/wwwroot/index.html +++ b/examples/Demo/Client/wwwroot/index.html @@ -36,9 +36,6 @@ - - - @@ -78,13 +75,6 @@ - - - - - - - diff --git a/examples/Demo/Server/Pages/_Layout.cshtml b/examples/Demo/Server/Pages/_Layout.cshtml index 3a5dad218f..62f41b1c4e 100644 --- a/examples/Demo/Server/Pages/_Layout.cshtml +++ b/examples/Demo/Server/Pages/_Layout.cshtml @@ -24,9 +24,6 @@ - - - @@ -57,13 +54,6 @@ - - - - - - - diff --git a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml index 7f721171e3..8cc45184af 100644 --- a/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml +++ b/examples/Demo/Shared/Microsoft.FluentUI.AspNetCore.Components.xml @@ -722,60 +722,6 @@ Gets or sets the content to be rendered inside the component. - - - - - - - - - - - - Language used by the editor: csharp, javascript, ... - - - - - Height of this component. - - - - - Width of this component. - - - - - Theme of the editor (Light or Dark). - - - - - Gets or sets the value of the input. This should be used with two-way binding. - - - - - Gets or sets a callback that updates the bound value. - - - - - - - - - - - - - - - - - If true, the region is expaned, otherwise it is collapsed. diff --git a/examples/Demo/Shared/Pages/CodeEditor/CodeEditorPage.razor b/examples/Demo/Shared/Pages/CodeEditor/CodeEditorPage.razor deleted file mode 100644 index a062685619..0000000000 --- a/examples/Demo/Shared/Pages/CodeEditor/CodeEditorPage.razor +++ /dev/null @@ -1,33 +0,0 @@ -@page "/CodeEditor" - -

CodeEditor

- -

- The editor from Visual Studio Code we all know and love. -

- -
-

- Important: When using this component, make sure to add the following line to your index.html / _Layout.cshtml before where the Blazor script is added: -
-
- - <script src="_content/Microsoft.FluentUI.AspNetCore.Components/lib/monaco-editor/min/vs/loader.min.js"></script>
- <script>require.config({ paths: { 'vs': '_content/Microsoft.FluentUI.AspNetCore.Components/lib/monaco-editor/min/vs' } });</script>
- <script src="_content/Microsoft.FluentUI.AspNetCore.Components/lib/monaco-editor/min/vs/editor/editor.main.js"></script> -
-

-
- -

- The CodeEditor component is a wrapper around the Monaco Editor. To enable a dark/light mode switch as shown in the example below requires some more work than just adding the component to a page. - An example of this can be found in this demo site's source code available on GitHub. -

- -

Example

- - - -

Documentation

- - diff --git a/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor b/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor deleted file mode 100644 index fc50713b9c..0000000000 --- a/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor +++ /dev/null @@ -1,18 +0,0 @@ -@namespace FluentUI.Demo.Shared - - - - C# - JavaScript - Json - Razor - - Dark Theme - -
- - -Language: @Language; Code: @Code; IsDarkMode: @IsDarkMode -
-
-Code:
@Code
diff --git a/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor.cs b/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor.cs deleted file mode 100644 index cba7d5b68d..0000000000 --- a/examples/Demo/Shared/Pages/CodeEditor/Examples/CodeEditorDefaultExample.razor.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Microsoft.FluentUI.AspNetCore.Components; - -namespace FluentUI.Demo.Shared; - -public partial class CodeEditorDefaultExample -{ - string Language = ""; - string Code = ""; - bool IsDarkMode = true; - - void Display_CSharp() - { - Language = "csharp"; - Code = """ - using System; - - void Main() - { - Console.WriteLine("Hello World"); - } - """; - } - - void Display_JavaScript() - { - Language = "javascript"; - Code = """ - function main() { - console.log("Hello World"); - } - """; - } - - void Display_Json() - { - Language = "json"; - Code = """ - { - name: "Hello World", - age: 25 - } - """; - } - - void Display_Razor() - { - Language = "razor"; - Code = """ - - @namespace Microsoft.FluentUI.AspNetCore.ComponentsDemo.Shared - - @inherits FluentComponentBase - @implements IAsyncDisposable - @inject AccentBaseColor AccentBaseColor - @inject IJSRuntime JSRuntime; - -
- - Select Brand Color - - - - Windows - Office - Teams - Xbox - Visual Studio - Power BI - Power Automate - Power Apps - Power Virtual Agents - -
- """; - } - - protected override void OnInitialized() - { - Display_CSharp(); - } -} \ No newline at end of file diff --git a/examples/Demo/Shared/Shared/DemoNavMenu.razor b/examples/Demo/Shared/Shared/DemoNavMenu.razor index 3f4b1c9a2c..a8ac760765 100644 --- a/examples/Demo/Shared/Shared/DemoNavMenu.razor +++ b/examples/Demo/Shared/Shared/DemoNavMenu.razor @@ -61,7 +61,6 @@ Button Card Checkbox - CodeEditor Combobox Data grid Date & Time diff --git a/examples/Demo/Shared/Shared/DemoNavMenuList.razor b/examples/Demo/Shared/Shared/DemoNavMenuList.razor deleted file mode 100644 index 64e4c009c6..0000000000 --- a/examples/Demo/Shared/Shared/DemoNavMenuList.razor +++ /dev/null @@ -1,257 +0,0 @@ -
    -
  • - Home -
  • -
-

More information

-
    -
  • - What's new? -
  • -
  • - Code setup -
  • -
  • - Design tokens -
  • -
  • - Reboot -
  • -
  • - Project templates -
  • -
  • - DialogService -
  • - -
-

Base classes & Utilities

-
    -
  • - FluentComponentBase -
  • -
  • - FluentInputBase -
  • -
  • - Clear cache -
  • -
-

Layout components

-
    -
  • - Header -
  • -
  • - Footer -
  • -
  • - BodyContent -
  • -
  • - Grid -
  • -
  • - Layout -
  • -
  • - MainLayout -
  • -
  • - Spacer -
  • -
  • - Splitter -
  • -
  • - Stack -
  • -
- -

Components

-
    -
  • - Accordion -
  • -
  • - Anchor -
  • -
  • - Anchored Region -
  • -
  • - Autocomplete -
  • -
  • - Badge -
  • -
  • - Breadcrumb -
  • -
  • - Button -
  • -
  • - Card -
  • -
  • - Checkbox -
  • -
  • - Combobox -
  • -
  • - CounterBadge -
  • -
  • - Data grid -
  • -
  • - Date & Time -
  • -
  • - Dialog -
  • -
  • - Divider -
  • -
  • - Drag -
  • -
  • - Emoji -
  • -
  • - Flipper -
  • -
  • - Horizontal Scroll -
  • -
  • - Icon -
  • -
  • - Label -
  • -
  • - Listbox -
  • -
  • - Menu -
  • -
  • - MenuButton -
  • -
  • - MessageBox -
  • -
  • - Number Field -
  • -
  • - Option -
  • -
  • - Overflow -
  • -
  • - Overlay -
  • -
  • - Panel -
  • -
  • - Persona -
  • -
  • - Popover -
  • -
  • - Progress -
  • -
  • - Progress Ring -
  • -
  • - Radio -
  • -
  • - Radio Group -
  • -
  • - Search -
  • -
  • - Select -
  • -
  • - Skeleton -
  • -
  • - Slider -
  • -
  • - SplashScreen -
  • -
  • - Switch -
  • -
  • - Tabs -
  • -
  • - TextArea -
  • -
  • - Text Field -
  • -
  • - Toast -
  • -
  • - Toolbar -
  • -
  • - Tooltip -
  • -
  • - Tree View -
  • -
  • - FluentCounterBadge -
  • -
  • - Highlighter -
  • -
  • - PresenceBadge -
  • -
  • - MenuButton -
  • -
  • - CodeEditor -
  • -
  • - NavMenu -
  • -
-

Incubation lab

-
    -
  • - Overview -
  • -
-

Components

-
    -
  • - MarkdownSection -
  • -
  • - TableOfContents -
  • -
- - - - diff --git a/examples/Demo/Shared/Shared/DemoNavMenuList.razor.cs b/examples/Demo/Shared/Shared/DemoNavMenuList.razor.cs deleted file mode 100644 index 482c7d3a22..0000000000 --- a/examples/Demo/Shared/Shared/DemoNavMenuList.razor.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Routing; - -namespace FluentUI.Demo.Shared.Shared -{ - public partial class DemoNavMenuList //: IDisposable - { - //[Inject] - //private NavigationManager NavigationManager { get; set; } = default!; - - //private string? target; - //protected override void OnInitialized() - //{ - // NavigationManager.LocationChanged += LocationChanged; - // base.OnInitialized(); - //} - - //private void LocationChanged(object? sender, LocationChangedEventArgs e) - //{ - // Uri uri = new(e.Location); - // if (uri.Segments.Length > 1) - // target = uri.Segments[1]; - // else - // target = ""; - //} - - //void IDisposable.Dispose() - //{ - // // Unsubscribe from the event when our component is disposed - // NavigationManager.LocationChanged -= LocationChanged; - //} - } -} \ No newline at end of file diff --git a/examples/Demo/Shared/Shared/DemoNavMenuTree.razor b/examples/Demo/Shared/Shared/DemoNavMenuTree.razor deleted file mode 100644 index c4fc8e3e3f..0000000000 --- a/examples/Demo/Shared/Shared/DemoNavMenuTree.razor +++ /dev/null @@ -1,114 +0,0 @@ -
- - -

Home

-
- - -

More information

- - - - - - - - - - - - -
- - -

Base classes & Utilities

- - - -
- - -

Layout components

- - - - - - - - - -
- - -

Components

- - - - -

Badge

- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

Incubation lab

- -

Components

- - -
-
-
-
\ No newline at end of file diff --git a/examples/Demo/Shared/Shared/DemoNavMenuTree.razor.css b/examples/Demo/Shared/Shared/DemoNavMenuTree.razor.css deleted file mode 100644 index 7348dbe7be..0000000000 --- a/examples/Demo/Shared/Shared/DemoNavMenuTree.razor.css +++ /dev/null @@ -1,3 +0,0 @@ -::deep fluent-tree-item { - margin: 5px 0; -} diff --git a/examples/Demo/Shared/libman.json b/examples/Demo/Shared/libman.json deleted file mode 100644 index c221233dff..0000000000 --- a/examples/Demo/Shared/libman.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "version": "1.0", - "defaultProvider": "cdnjs", - "libraries": [ - { - "library": "monaco-editor@0.34.1", - "destination": "wwwroot/lib/monaco-editor/" - } - ] -} \ No newline at end of file diff --git a/examples/Demo/Shared/wwwroot/docs/WhatsNew.md b/examples/Demo/Shared/wwwroot/docs/WhatsNew.md index a96220ab74..05602175ec 100644 --- a/examples/Demo/Shared/wwwroot/docs/WhatsNew.md +++ b/examples/Demo/Shared/wwwroot/docs/WhatsNew.md @@ -3,6 +3,7 @@ - Update all input component to use `ReadOnly` instead of a mix of possible spellings - Update demo site styling (nav menu and body now scroll independently) - Support DisabledDateFunc in FluentDatePicker +- Removed the FluentCodeEditor component because it lacked features and has no Fluent design aspects. You can use the [BlazorMonaco](https://github.com/serdarciplak/BlazorMonaco) component as a replacement - Fix [#911](https://github.com/microsoft/fluentui-blazor/issues/911): Column resizing in DataGrid breaks when column to narrow - Fix [#891](https://github.com/microsoft/fluentui-blazor/issues/891): JSDisconnectedException in FluentOverflow - Fix [#861](https://github.com/microsoft/fluentui-blazor/issues/861): Needed extra `empty-content-cell` class diff --git a/src/Core/Components/CodeEditor/FluentCodeEditor.razor b/src/Core/Components/CodeEditor/FluentCodeEditor.razor deleted file mode 100644 index 4b7eb5922b..0000000000 --- a/src/Core/Components/CodeEditor/FluentCodeEditor.razor +++ /dev/null @@ -1,8 +0,0 @@ -@namespace Microsoft.FluentUI.AspNetCore.Components - -@inherits FluentComponentBase - -
- -
-
\ No newline at end of file diff --git a/src/Core/Components/CodeEditor/FluentCodeEditor.razor.cs b/src/Core/Components/CodeEditor/FluentCodeEditor.razor.cs deleted file mode 100644 index cb13f72efd..0000000000 --- a/src/Core/Components/CodeEditor/FluentCodeEditor.razor.cs +++ /dev/null @@ -1,158 +0,0 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.FluentUI.AspNetCore.Components.Utilities; -using Microsoft.JSInterop; - - -namespace Microsoft.FluentUI.AspNetCore.Components; - -/// -public partial class FluentCodeEditor : FluentComponentBase, IAsyncDisposable -{ - private const string JAVASCRIPT_FILE = "./_content/Microsoft.FluentUI.AspNetCore.Components/Components/CodeEditor/FluentCodeEditor.razor.js"; - private const string MONACO_VS_PATH = "./_content/Microsoft.FluentUI.AspNetCore.Components./lib/monaco-editor/min/vs"; - - private DotNetObjectReference? _dotNetHelper = null; - private string _value = """ - using System; - void Main() - { - Console.WriteLine("Hello World"); - } - """; - - - protected string? ClassValue => new CssBuilder(Class) - .Build(); - - protected string? StyleValue => new StyleBuilder(Style) - .AddStyle("height", Height, () => !string.IsNullOrEmpty(Height)) - .AddStyle("width", Width, () => !string.IsNullOrEmpty(Width)) - .AddStyle("border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest)") - .Build(); - - /// - [Inject] - private IJSRuntime JSRuntime { get; set; } = default!; - - /// - private IJSObjectReference _jsModule = default!; - - /// - /// Language used by the editor: csharp, javascript, ... - /// - [Parameter] - public string Language { get; set; } = "csharp"; - - /// - /// Height of this component. - /// - [Parameter] - public string Height { get; set; } = "300px"; - - /// - /// Width of this component. - /// - [Parameter] - public string Width { get; set; } = "100%"; - - /// - /// Theme of the editor (Light or Dark). - /// - [Parameter] - public bool IsDarkMode { get; set; } = false; - - /// - /// Gets or sets the value of the input. This should be used with two-way binding. - /// - [Parameter] - public string Value - { - get - { - return _value; - } - - set - { - _value = value; - } - } - - /// - /// Gets or sets a callback that updates the bound value. - /// - [Parameter] - public EventCallback ValueChanged { get; set; } - - public FluentCodeEditor() - { - Id = Identifier.NewId(); - } - - /// - protected override async Task OnParametersSetAsync() - { - if (_jsModule != null) - { - await _jsModule.InvokeVoidAsync( - "monacoSetOptions", - Id, - new { Value, Theme = GetTheme(IsDarkMode), Language, }); - } - } - - /// - protected override async Task OnAfterRenderAsync(bool firstRender) - { - if (firstRender) - { - _jsModule = await JSRuntime.InvokeAsync("import", JAVASCRIPT_FILE); - _dotNetHelper = DotNetObjectReference.Create(this); - - var options = new - { - Value, - Language, - Theme = GetTheme(IsDarkMode), - Path = MONACO_VS_PATH, - LineNumbers = true, - ReadOnly = false, - }; - await _jsModule.InvokeVoidAsync("monacoInitialize", Id, _dotNetHelper, options); - } - - await base.OnAfterRenderAsync(firstRender); - } - - /// - private static string GetTheme(bool isDarkMode) - { - return isDarkMode ? "vs-dark" : "light"; - } - - public async Task Focus() => await _jsModule!.InvokeVoidAsync("focus"); - - public async Task Resize() => await _jsModule!.InvokeVoidAsync("resize"); - - /// - [JSInvokable] - public async Task UpdateValueAsync(string value) - { - _value = value; - if (ValueChanged.HasDelegate) - { - await ValueChanged.InvokeAsync(_value); - } - } - - /// - public async ValueTask DisposeAsync() - { - if (_jsModule is not null) - { - await _jsModule.DisposeAsync(); - } - - _dotNetHelper?.Dispose(); - } -} diff --git a/src/Core/Components/CodeEditor/FluentCodeEditor.razor.js b/src/Core/Components/CodeEditor/FluentCodeEditor.razor.js deleted file mode 100644 index 18dc84078a..0000000000 --- a/src/Core/Components/CodeEditor/FluentCodeEditor.razor.js +++ /dev/null @@ -1,51 +0,0 @@ -// Initialize Monaco Editor -export function monacoInitialize(id, dotNetHelper, options) { - // require is provided by loader.min.js. - require.config({ - paths: { 'vs': options.path } - }); - - require(["vs/editor/editor.main"], () => { - var container = document.getElementById(id); - - // Hide the Progress Ring - monaco.editor.onDidCreateEditor((e) => { - var progress = document.getElementById(id + "-loading"); - if (progress && progress.style) { - progress.style.display = "none"; - } - }); - - // Create the Monaco Editor - container.editor = monaco.editor.create(container, { - ariaLabel: "online code editor", - value: options.value, - language: options.language, - theme: options.theme, - lineNumbers: options.lineNumbers ? "on" : "off", - readOnly: options.readOnly, - }); - - // Keep a reference of dotNetHelper - container.dotNetHelper = dotNetHelper; - - // Catch when the editor lost the focus (didType to immediate) - container.editor.onDidBlurEditorText((e) => { - var code = container.editor.getValue(); - container.dotNetHelper.invokeMethodAsync("UpdateValueAsync", code); - }); - - container.editor.layout(); - window.editor = container.editor; // To debug - }); -} - -// Update the editor options -export function monacoSetOptions(id, options) { - var container = document.getElementById(id); - container.editor.setValue(options.value); - container.editor.updateOptions({ - language: options.language, - theme: options.theme - }); -} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.de.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.de.js.map deleted file mode 100644 index 152bcc3cfd..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.de.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.de.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.de\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.de.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.es.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.es.js.map deleted file mode 100644 index 45b8da62ea..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.es.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.es.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.es\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.es.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.fr.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.fr.js.map deleted file mode 100644 index 5f0e188b9d..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.fr.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.fr.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.fr\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.fr.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.it.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.it.js.map deleted file mode 100644 index 115d7c9fcc..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.it.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.it.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.it\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.it.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ja.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ja.js.map deleted file mode 100644 index 29bace51c2..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ja.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.ja.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.ja\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.ja.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.js.map deleted file mode 100644 index 15b52c7a14..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\n/*---------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n *--------------------------------------------------------*/\ndefine(\"vs/base/common/worker/simpleWorker.nls\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\"\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAUA,OAAO,yCAA0C,CAChD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ko.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ko.js.map deleted file mode 100644 index 2ab20b1d92..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ko.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.ko.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.ko\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.ko.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ru.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ru.js.map deleted file mode 100644 index ed4f632a46..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.ru.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.ru.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.ru\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,4CAA6C,CACnD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.ru.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-cn.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-cn.js.map deleted file mode 100644 index 2df5955fe8..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-cn.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.zh-cn.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.zh-cn\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,+CAAgD,CACtD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.zh-cn.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-tw.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-tw.js.map deleted file mode 100644 index bfb1624714..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/common/worker/simpleWorker.nls.zh-tw.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/common/worker/simpleWorker.nls.zh-tw.js"],"sourcesContent":["/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.34.1(0316a754aa4c25208bef91937efbce2ab1e3ce37)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/\n\ndefine(\"vs/base/common/worker/simpleWorker.nls.zh-tw\", {\n\t\"vs/base/common/platform\": [\n\t\t\"_\",\n\t]\n});"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+DAOA,OAAO,+CAAgD,CACtD,0BAA2B,CAC1B","names":[],"file":"simpleWorker.nls.zh-tw.js"} \ No newline at end of file diff --git a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/worker/workerMain.js.map b/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/worker/workerMain.js.map deleted file mode 100644 index 0785a49429..0000000000 --- a/src/Core/wwwroot/lib/monaco-editor/min-maps/vs/base/worker/workerMain.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["out-editor/vs/base/worker/fake","out-editor/vs/base/worker/vs/loader.js","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/nls.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/worker/workerMain.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/arrays.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/cache.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/codicons.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/diff/diffChange.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/errors.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/functional.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/iterator.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/keyCodes.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/lazy.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/lifecycle.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/linkedList.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/strings.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/hash.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/diff/diff.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/types.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/objects.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/uint.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/characterClassifier.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/position.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/range.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/selection.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/wordCharacterClassifier.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/core/wordHelper.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/diff/diffComputer.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/languages/linkComputer.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/languages/supports/inplaceReplaceSupport.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/model.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/model/prefixSumComputer.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/model/mirrorTextModel.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/model/textModelSearch.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/services/unicodeTextModelHighlighter.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/standalone/standaloneEnums.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/platform.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/process.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/path.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/stopwatch.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/event.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/cancellation.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/uri.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/base/common/worker/simpleWorker.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/tokenizationRegistry.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/languages.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/services/editorBaseApi.ts","out-editor/vs/base/worker/file:/home/runner/work/monaco-editor/monaco-editor/vscode/out-editor-src/vs/editor/common/services/editorSimpleWorker.ts"],"sourcesContent":["}).call(this);","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n'use strict';\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n/*---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n * Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *---------------------------------------------------------------------------------------------\n *--------------------------------------------------------------------------------------------*/\nvar _amdLoaderGlobal = this;\nvar _commonjsGlobal = typeof global === 'object' ? global : {};\nvar AMDLoader;\n(function (AMDLoader) {\n AMDLoader.global = _amdLoaderGlobal;\n var Environment = /** @class */ (function () {\n function Environment() {\n this._detected = false;\n this._isWindows = false;\n this._isNode = false;\n this._isElectronRenderer = false;\n this._isWebWorker = false;\n this._isElectronNodeIntegrationWebWorker = false;\n }\n Object.defineProperty(Environment.prototype, \"isWindows\", {\n get: function () {\n this._detect();\n return this._isWindows;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isNode\", {\n get: function () {\n this._detect();\n return this._isNode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isElectronRenderer\", {\n get: function () {\n this._detect();\n return this._isElectronRenderer;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isWebWorker\", {\n get: function () {\n this._detect();\n return this._isWebWorker;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Environment.prototype, \"isElectronNodeIntegrationWebWorker\", {\n get: function () {\n this._detect();\n return this._isElectronNodeIntegrationWebWorker;\n },\n enumerable: false,\n configurable: true\n });\n Environment.prototype._detect = function () {\n if (this._detected) {\n return;\n }\n this._detected = true;\n this._isWindows = Environment._isWindows();\n this._isNode = (typeof module !== 'undefined' && !!module.exports);\n this._isElectronRenderer = (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'renderer');\n this._isWebWorker = (typeof AMDLoader.global.importScripts === 'function');\n this._isElectronNodeIntegrationWebWorker = this._isWebWorker && (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined' && process.type === 'worker');\n };\n Environment._isWindows = function () {\n if (typeof navigator !== 'undefined') {\n if (navigator.userAgent && navigator.userAgent.indexOf('Windows') >= 0) {\n return true;\n }\n }\n if (typeof process !== 'undefined') {\n return (process.platform === 'win32');\n }\n return false;\n };\n return Environment;\n }());\n AMDLoader.Environment = Environment;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n var LoaderEvent = /** @class */ (function () {\n function LoaderEvent(type, detail, timestamp) {\n this.type = type;\n this.detail = detail;\n this.timestamp = timestamp;\n }\n return LoaderEvent;\n }());\n AMDLoader.LoaderEvent = LoaderEvent;\n var LoaderEventRecorder = /** @class */ (function () {\n function LoaderEventRecorder(loaderAvailableTimestamp) {\n this._events = [new LoaderEvent(1 /* LoaderAvailable */, '', loaderAvailableTimestamp)];\n }\n LoaderEventRecorder.prototype.record = function (type, detail) {\n this._events.push(new LoaderEvent(type, detail, AMDLoader.Utilities.getHighPerformanceTimestamp()));\n };\n LoaderEventRecorder.prototype.getEvents = function () {\n return this._events;\n };\n return LoaderEventRecorder;\n }());\n AMDLoader.LoaderEventRecorder = LoaderEventRecorder;\n var NullLoaderEventRecorder = /** @class */ (function () {\n function NullLoaderEventRecorder() {\n }\n NullLoaderEventRecorder.prototype.record = function (type, detail) {\n // Nothing to do\n };\n NullLoaderEventRecorder.prototype.getEvents = function () {\n return [];\n };\n NullLoaderEventRecorder.INSTANCE = new NullLoaderEventRecorder();\n return NullLoaderEventRecorder;\n }());\n AMDLoader.NullLoaderEventRecorder = NullLoaderEventRecorder;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n var Utilities = /** @class */ (function () {\n function Utilities() {\n }\n /**\n * This method does not take care of / vs \\\n */\n Utilities.fileUriToFilePath = function (isWindows, uri) {\n uri = decodeURI(uri).replace(/%23/g, '#');\n if (isWindows) {\n if (/^file:\\/\\/\\//.test(uri)) {\n // This is a URI without a hostname => return only the path segment\n return uri.substr(8);\n }\n if (/^file:\\/\\//.test(uri)) {\n return uri.substr(5);\n }\n }\n else {\n if (/^file:\\/\\//.test(uri)) {\n return uri.substr(7);\n }\n }\n // Not sure...\n return uri;\n };\n Utilities.startsWith = function (haystack, needle) {\n return haystack.length >= needle.length && haystack.substr(0, needle.length) === needle;\n };\n Utilities.endsWith = function (haystack, needle) {\n return haystack.length >= needle.length && haystack.substr(haystack.length - needle.length) === needle;\n };\n // only check for \"?\" before \"#\" to ensure that there is a real Query-String\n Utilities.containsQueryString = function (url) {\n return /^[^\\#]*\\?/gi.test(url);\n };\n /**\n * Does `url` start with http:// or https:// or file:// or / ?\n */\n Utilities.isAbsolutePath = function (url) {\n return /^((http:\\/\\/)|(https:\\/\\/)|(file:\\/\\/)|(\\/))/.test(url);\n };\n Utilities.forEachProperty = function (obj, callback) {\n if (obj) {\n var key = void 0;\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n callback(key, obj[key]);\n }\n }\n }\n };\n Utilities.isEmpty = function (obj) {\n var isEmpty = true;\n Utilities.forEachProperty(obj, function () {\n isEmpty = false;\n });\n return isEmpty;\n };\n Utilities.recursiveClone = function (obj) {\n if (!obj || typeof obj !== 'object' || obj instanceof RegExp) {\n return obj;\n }\n if (!Array.isArray(obj) && Object.getPrototypeOf(obj) !== Object.prototype) {\n // only clone \"simple\" objects\n return obj;\n }\n var result = Array.isArray(obj) ? [] : {};\n Utilities.forEachProperty(obj, function (key, value) {\n if (value && typeof value === 'object') {\n result[key] = Utilities.recursiveClone(value);\n }\n else {\n result[key] = value;\n }\n });\n return result;\n };\n Utilities.generateAnonymousModule = function () {\n return '===anonymous' + (Utilities.NEXT_ANONYMOUS_ID++) + '===';\n };\n Utilities.isAnonymousModule = function (id) {\n return Utilities.startsWith(id, '===anonymous');\n };\n Utilities.getHighPerformanceTimestamp = function () {\n if (!this.PERFORMANCE_NOW_PROBED) {\n this.PERFORMANCE_NOW_PROBED = true;\n this.HAS_PERFORMANCE_NOW = (AMDLoader.global.performance && typeof AMDLoader.global.performance.now === 'function');\n }\n return (this.HAS_PERFORMANCE_NOW ? AMDLoader.global.performance.now() : Date.now());\n };\n Utilities.NEXT_ANONYMOUS_ID = 1;\n Utilities.PERFORMANCE_NOW_PROBED = false;\n Utilities.HAS_PERFORMANCE_NOW = false;\n return Utilities;\n }());\n AMDLoader.Utilities = Utilities;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n function ensureError(err) {\n if (err instanceof Error) {\n return err;\n }\n var result = new Error(err.message || String(err) || 'Unknown Error');\n if (err.stack) {\n result.stack = err.stack;\n }\n return result;\n }\n AMDLoader.ensureError = ensureError;\n ;\n var ConfigurationOptionsUtil = /** @class */ (function () {\n function ConfigurationOptionsUtil() {\n }\n /**\n * Ensure configuration options make sense\n */\n ConfigurationOptionsUtil.validateConfigurationOptions = function (options) {\n function defaultOnError(err) {\n if (err.phase === 'loading') {\n console.error('Loading \"' + err.moduleId + '\" failed');\n console.error(err);\n console.error('Here are the modules that depend on it:');\n console.error(err.neededBy);\n return;\n }\n if (err.phase === 'factory') {\n console.error('The factory function of \"' + err.moduleId + '\" has thrown an exception');\n console.error(err);\n console.error('Here are the modules that depend on it:');\n console.error(err.neededBy);\n return;\n }\n }\n options = options || {};\n if (typeof options.baseUrl !== 'string') {\n options.baseUrl = '';\n }\n if (typeof options.isBuild !== 'boolean') {\n options.isBuild = false;\n }\n if (typeof options.buildForceInvokeFactory !== 'object') {\n options.buildForceInvokeFactory = {};\n }\n if (typeof options.paths !== 'object') {\n options.paths = {};\n }\n if (typeof options.config !== 'object') {\n options.config = {};\n }\n if (typeof options.catchError === 'undefined') {\n options.catchError = false;\n }\n if (typeof options.recordStats === 'undefined') {\n options.recordStats = false;\n }\n if (typeof options.urlArgs !== 'string') {\n options.urlArgs = '';\n }\n if (typeof options.onError !== 'function') {\n options.onError = defaultOnError;\n }\n if (!Array.isArray(options.ignoreDuplicateModules)) {\n options.ignoreDuplicateModules = [];\n }\n if (options.baseUrl.length > 0) {\n if (!AMDLoader.Utilities.endsWith(options.baseUrl, '/')) {\n options.baseUrl += '/';\n }\n }\n if (typeof options.cspNonce !== 'string') {\n options.cspNonce = '';\n }\n if (typeof options.preferScriptTags === 'undefined') {\n options.preferScriptTags = false;\n }\n if (!Array.isArray(options.nodeModules)) {\n options.nodeModules = [];\n }\n if (options.nodeCachedData && typeof options.nodeCachedData === 'object') {\n if (typeof options.nodeCachedData.seed !== 'string') {\n options.nodeCachedData.seed = 'seed';\n }\n if (typeof options.nodeCachedData.writeDelay !== 'number' || options.nodeCachedData.writeDelay < 0) {\n options.nodeCachedData.writeDelay = 1000 * 7;\n }\n if (!options.nodeCachedData.path || typeof options.nodeCachedData.path !== 'string') {\n var err = ensureError(new Error('INVALID cached data configuration, \\'path\\' MUST be set'));\n err.phase = 'configuration';\n options.onError(err);\n options.nodeCachedData = undefined;\n }\n }\n return options;\n };\n ConfigurationOptionsUtil.mergeConfigurationOptions = function (overwrite, base) {\n if (overwrite === void 0) { overwrite = null; }\n if (base === void 0) { base = null; }\n var result = AMDLoader.Utilities.recursiveClone(base || {});\n // Merge known properties and overwrite the unknown ones\n AMDLoader.Utilities.forEachProperty(overwrite, function (key, value) {\n if (key === 'ignoreDuplicateModules' && typeof result.ignoreDuplicateModules !== 'undefined') {\n result.ignoreDuplicateModules = result.ignoreDuplicateModules.concat(value);\n }\n else if (key === 'paths' && typeof result.paths !== 'undefined') {\n AMDLoader.Utilities.forEachProperty(value, function (key2, value2) { return result.paths[key2] = value2; });\n }\n else if (key === 'config' && typeof result.config !== 'undefined') {\n AMDLoader.Utilities.forEachProperty(value, function (key2, value2) { return result.config[key2] = value2; });\n }\n else {\n result[key] = AMDLoader.Utilities.recursiveClone(value);\n }\n });\n return ConfigurationOptionsUtil.validateConfigurationOptions(result);\n };\n return ConfigurationOptionsUtil;\n }());\n AMDLoader.ConfigurationOptionsUtil = ConfigurationOptionsUtil;\n var Configuration = /** @class */ (function () {\n function Configuration(env, options) {\n this._env = env;\n this.options = ConfigurationOptionsUtil.mergeConfigurationOptions(options);\n this._createIgnoreDuplicateModulesMap();\n this._createNodeModulesMap();\n this._createSortedPathsRules();\n if (this.options.baseUrl === '') {\n if (this.options.nodeRequire && this.options.nodeRequire.main && this.options.nodeRequire.main.filename && this._env.isNode) {\n var nodeMain = this.options.nodeRequire.main.filename;\n var dirnameIndex = Math.max(nodeMain.lastIndexOf('/'), nodeMain.lastIndexOf('\\\\'));\n this.options.baseUrl = nodeMain.substring(0, dirnameIndex + 1);\n }\n if (this.options.nodeMain && this._env.isNode) {\n var nodeMain = this.options.nodeMain;\n var dirnameIndex = Math.max(nodeMain.lastIndexOf('/'), nodeMain.lastIndexOf('\\\\'));\n this.options.baseUrl = nodeMain.substring(0, dirnameIndex + 1);\n }\n }\n }\n Configuration.prototype._createIgnoreDuplicateModulesMap = function () {\n // Build a map out of the ignoreDuplicateModules array\n this.ignoreDuplicateModulesMap = {};\n for (var i = 0; i < this.options.ignoreDuplicateModules.length; i++) {\n this.ignoreDuplicateModulesMap[this.options.ignoreDuplicateModules[i]] = true;\n }\n };\n Configuration.prototype._createNodeModulesMap = function () {\n // Build a map out of nodeModules array\n this.nodeModulesMap = Object.create(null);\n for (var _i = 0, _a = this.options.nodeModules; _i < _a.length; _i++) {\n var nodeModule = _a[_i];\n this.nodeModulesMap[nodeModule] = true;\n }\n };\n Configuration.prototype._createSortedPathsRules = function () {\n var _this = this;\n // Create an array our of the paths rules, sorted descending by length to\n // result in a more specific -> less specific order\n this.sortedPathsRules = [];\n AMDLoader.Utilities.forEachProperty(this.options.paths, function (from, to) {\n if (!Array.isArray(to)) {\n _this.sortedPathsRules.push({\n from: from,\n to: [to]\n });\n }\n else {\n _this.sortedPathsRules.push({\n from: from,\n to: to\n });\n }\n });\n this.sortedPathsRules.sort(function (a, b) {\n return b.from.length - a.from.length;\n });\n };\n /**\n * Clone current configuration and overwrite options selectively.\n * @param options The selective options to overwrite with.\n * @result A new configuration\n */\n Configuration.prototype.cloneAndMerge = function (options) {\n return new Configuration(this._env, ConfigurationOptionsUtil.mergeConfigurationOptions(options, this.options));\n };\n /**\n * Get current options bag. Useful for passing it forward to plugins.\n */\n Configuration.prototype.getOptionsLiteral = function () {\n return this.options;\n };\n Configuration.prototype._applyPaths = function (moduleId) {\n var pathRule;\n for (var i = 0, len = this.sortedPathsRules.length; i < len; i++) {\n pathRule = this.sortedPathsRules[i];\n if (AMDLoader.Utilities.startsWith(moduleId, pathRule.from)) {\n var result = [];\n for (var j = 0, lenJ = pathRule.to.length; j < lenJ; j++) {\n result.push(pathRule.to[j] + moduleId.substr(pathRule.from.length));\n }\n return result;\n }\n }\n return [moduleId];\n };\n Configuration.prototype._addUrlArgsToUrl = function (url) {\n if (AMDLoader.Utilities.containsQueryString(url)) {\n return url + '&' + this.options.urlArgs;\n }\n else {\n return url + '?' + this.options.urlArgs;\n }\n };\n Configuration.prototype._addUrlArgsIfNecessaryToUrl = function (url) {\n if (this.options.urlArgs) {\n return this._addUrlArgsToUrl(url);\n }\n return url;\n };\n Configuration.prototype._addUrlArgsIfNecessaryToUrls = function (urls) {\n if (this.options.urlArgs) {\n for (var i = 0, len = urls.length; i < len; i++) {\n urls[i] = this._addUrlArgsToUrl(urls[i]);\n }\n }\n return urls;\n };\n /**\n * Transform a module id to a location. Appends .js to module ids\n */\n Configuration.prototype.moduleIdToPaths = function (moduleId) {\n if (this._env.isNode) {\n var isNodeModule = ((this.nodeModulesMap[moduleId] === true)\n || (this.options.amdModulesPattern instanceof RegExp && !this.options.amdModulesPattern.test(moduleId)));\n if (isNodeModule) {\n // This is a node module...\n if (this.isBuild()) {\n // ...and we are at build time, drop it\n return ['empty:'];\n }\n else {\n // ...and at runtime we create a `shortcut`-path\n return ['node|' + moduleId];\n }\n }\n }\n var result = moduleId;\n var results;\n if (!AMDLoader.Utilities.endsWith(result, '.js') && !AMDLoader.Utilities.isAbsolutePath(result)) {\n results = this._applyPaths(result);\n for (var i = 0, len = results.length; i < len; i++) {\n if (this.isBuild() && results[i] === 'empty:') {\n continue;\n }\n if (!AMDLoader.Utilities.isAbsolutePath(results[i])) {\n results[i] = this.options.baseUrl + results[i];\n }\n if (!AMDLoader.Utilities.endsWith(results[i], '.js') && !AMDLoader.Utilities.containsQueryString(results[i])) {\n results[i] = results[i] + '.js';\n }\n }\n }\n else {\n if (!AMDLoader.Utilities.endsWith(result, '.js') && !AMDLoader.Utilities.containsQueryString(result)) {\n result = result + '.js';\n }\n results = [result];\n }\n return this._addUrlArgsIfNecessaryToUrls(results);\n };\n /**\n * Transform a module id or url to a location.\n */\n Configuration.prototype.requireToUrl = function (url) {\n var result = url;\n if (!AMDLoader.Utilities.isAbsolutePath(result)) {\n result = this._applyPaths(result)[0];\n if (!AMDLoader.Utilities.isAbsolutePath(result)) {\n result = this.options.baseUrl + result;\n }\n }\n return this._addUrlArgsIfNecessaryToUrl(result);\n };\n /**\n * Flag to indicate if current execution is as part of a build.\n */\n Configuration.prototype.isBuild = function () {\n return this.options.isBuild;\n };\n Configuration.prototype.shouldInvokeFactory = function (strModuleId) {\n if (!this.options.isBuild) {\n // outside of a build, all factories should be invoked\n return true;\n }\n // during a build, only explicitly marked or anonymous modules get their factories invoked\n return (this.options.buildForceInvokeFactory[strModuleId]\n || AMDLoader.Utilities.isAnonymousModule(strModuleId));\n };\n /**\n * Test if module `moduleId` is expected to be defined multiple times\n */\n Configuration.prototype.isDuplicateMessageIgnoredFor = function (moduleId) {\n return this.ignoreDuplicateModulesMap.hasOwnProperty(moduleId);\n };\n /**\n * Get the configuration settings for the provided module id\n */\n Configuration.prototype.getConfigForModule = function (moduleId) {\n if (this.options.config) {\n return this.options.config[moduleId];\n }\n };\n /**\n * Should errors be caught when executing module factories?\n */\n Configuration.prototype.shouldCatchError = function () {\n return this.options.catchError;\n };\n /**\n * Should statistics be recorded?\n */\n Configuration.prototype.shouldRecordStats = function () {\n return this.options.recordStats;\n };\n /**\n * Forward an error to the error handler.\n */\n Configuration.prototype.onError = function (err) {\n this.options.onError(err);\n };\n return Configuration;\n }());\n AMDLoader.Configuration = Configuration;\n})(AMDLoader || (AMDLoader = {}));\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar AMDLoader;\n(function (AMDLoader) {\n /**\n * Load `scriptSrc` only once (avoid multiple