From ae9a5110c424771fb2e8be53116e651ea379d765 Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Mon, 3 Aug 2026 18:05:42 +0400 Subject: [PATCH 1/6] Add ASP.NET Core Example --- .gitignore | 2 + ASP.NET Core/.editorconfig | 264 +++++++++++ ASP.NET Core/ASP.NET Core.csproj | 51 ++ ASP.NET Core/ASP.NET Core.sln | 25 + ASP.NET Core/Controllers/HomeController.cs | 17 + .../Controllers/SelectBoxDataController.cs | 17 + ASP.NET Core/Models/SelectBoxData.cs | 37 ++ ASP.NET Core/Models/SelectBoxItem.cs | 12 + ASP.NET Core/Program.cs | 37 ++ ASP.NET Core/Readme.md | 30 ++ ASP.NET Core/Views/Home/Index.cshtml | 26 ++ ASP.NET Core/Views/Shared/Error.cshtml | 8 + ASP.NET Core/Views/Shared/_Layout.cshtml | 30 ++ ASP.NET Core/Views/_ViewImports.cshtml | 4 + ASP.NET Core/Views/_ViewStart.cshtml | 3 + ASP.NET Core/appsettings.Development.json | 9 + ASP.NET Core/appsettings.json | 10 + ASP.NET Core/package-lock.json | 440 ++++++++++++++++++ ASP.NET Core/package.json | 11 + ASP.NET Core/wwwroot/css/Site.css | 0 20 files changed, 1033 insertions(+) create mode 100644 ASP.NET Core/.editorconfig create mode 100644 ASP.NET Core/ASP.NET Core.csproj create mode 100644 ASP.NET Core/ASP.NET Core.sln create mode 100644 ASP.NET Core/Controllers/HomeController.cs create mode 100644 ASP.NET Core/Controllers/SelectBoxDataController.cs create mode 100644 ASP.NET Core/Models/SelectBoxData.cs create mode 100644 ASP.NET Core/Models/SelectBoxItem.cs create mode 100644 ASP.NET Core/Program.cs create mode 100644 ASP.NET Core/Readme.md create mode 100644 ASP.NET Core/Views/Home/Index.cshtml create mode 100644 ASP.NET Core/Views/Shared/Error.cshtml create mode 100644 ASP.NET Core/Views/Shared/_Layout.cshtml create mode 100644 ASP.NET Core/Views/_ViewImports.cshtml create mode 100644 ASP.NET Core/Views/_ViewStart.cshtml create mode 100644 ASP.NET Core/appsettings.Development.json create mode 100644 ASP.NET Core/appsettings.json create mode 100644 ASP.NET Core/package-lock.json create mode 100644 ASP.NET Core/package.json create mode 100644 ASP.NET Core/wwwroot/css/Site.css diff --git a/.gitignore b/.gitignore index ea5063c..0601263 100644 --- a/.gitignore +++ b/.gitignore @@ -306,5 +306,7 @@ TesterMetadata.xml */wwwroot/* +!*/wwwroot/css/ +*/wwwroot/css/* !*/wwwroot/css/Site.css *.DS_Store diff --git a/ASP.NET Core/.editorconfig b/ASP.NET Core/.editorconfig new file mode 100644 index 0000000..57b0882 --- /dev/null +++ b/ASP.NET Core/.editorconfig @@ -0,0 +1,264 @@ +# Remove the line below if you want to inherit .editorconfig settings from higher directories +root = true + +# All files +[*] +indent_style = space +indent_size = 4 +tab_width = 4 +charset = utf-8 +insert_final_newline = true +end_of_line = lf +trim_trailing_whitespace = true +guidelines = 120 + +# C# files +[*.cs] + +#### .NET Coding Conventions #### + +# Organize usings +dotnet_separate_import_directive_groups = false +dotnet_sort_system_directives_first = true +file_header_template = unset + +# this. and Me. preferences +dotnet_style_qualification_for_event = false +dotnet_style_qualification_for_field = false +dotnet_style_qualification_for_method = false +dotnet_style_qualification_for_property = false + +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true +dotnet_style_predefined_type_for_member_access = true + +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_operators = never_if_unnecessary +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity + +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members + +# Expression-level preferences +dotnet_style_coalesce_expression = true +dotnet_style_collection_initializer = true +dotnet_style_explicit_tuple_names = true +dotnet_style_namespace_match_folder = false +dotnet_style_null_propagation = true +dotnet_style_object_initializer = true +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_prefer_auto_properties = true +dotnet_style_prefer_compound_assignment = true +dotnet_style_prefer_conditional_expression_over_assignment = true +dotnet_style_prefer_conditional_expression_over_return = true +dotnet_style_prefer_inferred_anonymous_type_member_names = true +dotnet_style_prefer_inferred_tuple_names = true +dotnet_style_prefer_is_null_check_over_reference_equality_method = true +dotnet_style_prefer_simplified_boolean_expressions = true +dotnet_style_prefer_simplified_interpolation = true + +# Field preferences +dotnet_style_readonly_field = true + +# Parameter preferences +dotnet_code_quality_unused_parameters = all + +# Suppression preferences +dotnet_remove_unnecessary_suppression_exclusions = none +dotnet_diagnostic.S1186.severity = none +dotnet_diagnostic.S6602.severity = none +dotnet_diagnostic.S6605.severity = none +dotnet_diagnostic.S6608.severity = none +dotnet_diagnostic.S2971.severity = none +dotnet_diagnostic.S4136.severity = none +dotnet_diagnostic.S1066.severity = none +dotnet_diagnostic.S3358.severity = none +dotnet_diagnostic.S6562.severity = none +dotnet_diagnostic.S3267.severity = none +dotnet_diagnostic.S6967.severity = none +dotnet_diagnostic.S1121.severity = suggestion +dotnet_diagnostic.S1144.severity = suggestion +dotnet_diagnostic.S2325.severity = suggestion +dotnet_diagnostic.S3963.severity = suggestion +dotnet_diagnostic.CA1826.severity = none + +# New line preferences +dotnet_style_allow_multiple_blank_lines_experimental = true +dotnet_style_allow_statement_immediately_after_block_experimental = true + +#### C# Coding Conventions #### + +# var preferences +csharp_style_var_elsewhere = false +csharp_style_var_for_built_in_types = false +csharp_style_var_when_type_is_apparent = false + +# Expression-bodied members +csharp_style_expression_bodied_accessors =true:suggestion +csharp_style_expression_bodied_constructors =false:silent +csharp_style_expression_bodied_indexers =true:suggestion +csharp_style_expression_bodied_lambdas =true:warning +csharp_style_expression_bodied_local_functions =true:suggestion +csharp_style_expression_bodied_methods =false:silent +csharp_style_expression_bodied_operators =false:silent +csharp_style_expression_bodied_properties =true:suggestion + +# Pattern matching preferences +csharp_style_pattern_matching_over_as_with_null_check = true +csharp_style_pattern_matching_over_is_with_cast_check = true +csharp_style_prefer_not_pattern = true +csharp_style_prefer_pattern_matching =true:suggestion +csharp_style_prefer_switch_expression = true + +# Null-checking preferences +csharp_style_conditional_delegate_call =true:warning + +# Modifier preferences +csharp_prefer_static_local_function = true +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async + +# Code-block preferences +csharp_prefer_braces = true +csharp_prefer_simple_using_statement = true +csharp_style_namespace_declarations = file_scoped:suggestion + +# Expression-level preferences +csharp_prefer_simple_default_expression = true +csharp_style_deconstructed_variable_declaration = true +csharp_style_implicit_object_creation_when_type_is_apparent = true +csharp_style_inlined_variable_declaration = true +csharp_style_pattern_local_over_anonymous_function =true:silent +csharp_style_prefer_index_operator = true +csharp_style_prefer_range_operator = true +csharp_style_throw_expression = true +csharp_style_unused_value_assignment_preference = discard_variable +csharp_style_unused_value_expression_statement_preference = discard_variable + +# 'using' directive preferences +csharp_using_directive_placement =outside_namespace:warning + +# New line preferences +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true +csharp_style_allow_embedded_statements_on_same_line_experimental = true + +#### C# Formatting Rules #### + +# New line preferences +csharp_new_line_before_catch = false +csharp_new_line_before_else = false +csharp_new_line_before_finally = false +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_open_brace = none +csharp_new_line_between_query_expression_clauses = true + +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = true +csharp_indent_labels = no_change +csharp_indent_switch_labels = true + +# Space preferences +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = false +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = false +csharp_space_before_colon_in_inheritance_clause = false +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + +# Wrapping preferences +csharp_preserve_single_line_blocks = true +csharp_preserve_single_line_statements = true + +#### Naming styles #### + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case + +# IDE0290 Use primary constructor +dotnet_diagnostic.IDE0290.severity = none + +[*.{cs,vb}] +dotnet_style_prefer_conditional_expression_over_assignment=true:suggestion +dotnet_style_prefer_conditional_expression_over_return=true:suggestion +dotnet_style_readonly_field=true:warning +dotnet_style_predefined_type_for_locals_parameters_members=true:warning +dotnet_style_parentheses_in_arithmetic_binary_operators=always_for_clarity:warning +dotnet_style_parentheses_in_other_binary_operators=always_for_clarity:warning +dotnet_style_parentheses_in_relational_binary_operators=always_for_clarity:warning +dotnet_style_qualification_for_field=false:suggestion +dotnet_style_qualification_for_property=false:suggestion +dotnet_style_qualification_for_method=false:suggestion +dotnet_style_qualification_for_event=false:suggestion + +[*.{json,eslintrc,xml,config}] +indent_size = 2 +tab_width = 2 + +[*.sh] +end_of_line = lf + +[*.{bat,cmd,sln}] +end_of_line = crlf + +[*.{*proj}] +indent_size = 2 +tab_width = 2 diff --git a/ASP.NET Core/ASP.NET Core.csproj b/ASP.NET Core/ASP.NET Core.csproj new file mode 100644 index 0000000..8b9d310 --- /dev/null +++ b/ASP.NET Core/ASP.NET Core.csproj @@ -0,0 +1,51 @@ + + + + net8.0 + $(ProjectDir)node_modules\ + $(ProjectDir)wwwroot\ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ASP.NET Core/ASP.NET Core.sln b/ASP.NET Core/ASP.NET Core.sln new file mode 100644 index 0000000..86f6a29 --- /dev/null +++ b/ASP.NET Core/ASP.NET Core.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30330.147 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASP.NET Core", "ASP.NET Core.csproj", "{435CB7A8-3168-4BD2-815F-E54F708AF968}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {435CB7A8-3168-4BD2-815F-E54F708AF968}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {435CB7A8-3168-4BD2-815F-E54F708AF968}.Debug|Any CPU.Build.0 = Debug|Any CPU + {435CB7A8-3168-4BD2-815F-E54F708AF968}.Release|Any CPU.ActiveCfg = Release|Any CPU + {435CB7A8-3168-4BD2-815F-E54F708AF968}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {08AFB133-D1F6-4FE9-A66A-586B96B002D0} + EndGlobalSection +EndGlobal diff --git a/ASP.NET Core/Controllers/HomeController.cs b/ASP.NET Core/Controllers/HomeController.cs new file mode 100644 index 0000000..7aa5e48 --- /dev/null +++ b/ASP.NET Core/Controllers/HomeController.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; + +namespace ASP_NET_Core.Controllers; +public class HomeController: Controller { + public IActionResult Index() { + return View(); + } + + [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] + public IActionResult Error() { + return View(); + } +} diff --git a/ASP.NET Core/Controllers/SelectBoxDataController.cs b/ASP.NET Core/Controllers/SelectBoxDataController.cs new file mode 100644 index 0000000..6abec27 --- /dev/null +++ b/ASP.NET Core/Controllers/SelectBoxDataController.cs @@ -0,0 +1,17 @@ +using System.Linq; +using System.Text.Json; +using ASP_NET_Core.Models; +using DevExtreme.AspNet.Data; +using DevExtreme.AspNet.Mvc; +using Microsoft.AspNetCore.Mvc; + +namespace ASP_NET_Core.Controllers; + +public class SelectBoxDataController : Controller { + + [HttpGet] + public object Get(DataSourceLoadOptions loadOptions) { + return DataSourceLoader.Load(SelectBoxData.SelectBoxItems, loadOptions); + } + +} diff --git a/ASP.NET Core/Models/SelectBoxData.cs b/ASP.NET Core/Models/SelectBoxData.cs new file mode 100644 index 0000000..d13edfe --- /dev/null +++ b/ASP.NET Core/Models/SelectBoxData.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ASP_NET_Core.Models; +static class SelectBoxData { + public static List SelectBoxItems = [ + new SelectBoxItem { + ID = 1, + Name = "Banana", + Category = "Fruits", + }, + new SelectBoxItem { + ID = 2, + Name = "Cucumber", + Category = "Vegetables", + }, + new SelectBoxItem { + ID = 3, + Name = "Apple", + Category = "Fruits", + }, + new SelectBoxItem { + ID = 4, + Name = "Tomato", + Category = "Vegetables", + }, + new SelectBoxItem { + ID = 5, + Name = "Apricot", + Category = "Fruits", + }, + ]; + +} diff --git a/ASP.NET Core/Models/SelectBoxItem.cs b/ASP.NET Core/Models/SelectBoxItem.cs new file mode 100644 index 0000000..245e5a5 --- /dev/null +++ b/ASP.NET Core/Models/SelectBoxItem.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ASP_NET_Core.Models; +public class SelectBoxItem { + public int ID { get; set; } + public string Name { get; set; } + public string Category { get; set; } +} diff --git a/ASP.NET Core/Program.cs b/ASP.NET Core/Program.cs new file mode 100644 index 0000000..1539edf --- /dev/null +++ b/ASP.NET Core/Program.cs @@ -0,0 +1,37 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + +namespace ASP_NET_Core; +public class Program { + public static void Main(string[] args) { + var builder = WebApplication.CreateBuilder(args); + + // Add services to the container. + builder.Services + .AddControllersWithViews() + .AddJsonOptions(options => options.JsonSerializerOptions.PropertyNamingPolicy = null); + + var app = builder.Build(); + + // Configure the HTTP request pipeline. + if(app.Environment.IsDevelopment()) { + app.UseDeveloperExceptionPage(); + } else { + app.UseExceptionHandler("/Home/Error"); + } + + app.UseStaticFiles(); + + app.UseRouting(); + + app.UseAuthorization(); + + app.MapControllerRoute( + name: "default", + pattern: "{controller=Home}/{action=Index}/{id?}" + ); + + app.Run(); + } +} diff --git a/ASP.NET Core/Readme.md b/ASP.NET Core/Readme.md new file mode 100644 index 0000000..72bc6a7 --- /dev/null +++ b/ASP.NET Core/Readme.md @@ -0,0 +1,30 @@ +# ASP.NET Core DevExtreme Example + +For more information about this example check the [Readme](../README.md). + +## Build and Run + +Prerequisites: .NET 8 SDK, Node.js (for npm/gulp resource bundling). + +Restore and build: +```sh +dotnet restore +dotnet build +``` + +Run (HTTPS on 5001, HTTP on 5000 by default): +```sh +dotnet run +``` + +You can also use Visual Studio: F5 / Ctrl+F5. + +## Further help + +DevExtreme ASP.NET Core Razor syntax: https://docs.devexpress.com/AspNetCore/400574/devextreme-based-controls/concepts/razor-syntax +Client-side API basics: +* Get/Set properties: https://js.devexpress.com/DevExtreme/Guide/jQuery_Components/Component_Configuration_Syntax/#Get_and_Set_Properties +* Call methods: https://js.devexpress.com/DevExtreme/Guide/jQuery_Components/Component_Configuration_Syntax/#Call_Methods +* Get instance: https://js.devexpress.com/DevExtreme/Guide/jQuery_Components/Component_Configuration_Syntax/#Get_a_UI_Component_Instance + +To get more help with DevExtreme, submit a ticket through the [Support Center](https://supportcenter.devexpress.com/ticket/create). diff --git a/ASP.NET Core/Views/Home/Index.cshtml b/ASP.NET Core/Views/Home/Index.cshtml new file mode 100644 index 0000000..d02f619 --- /dev/null +++ b/ASP.NET Core/Views/Home/Index.cshtml @@ -0,0 +1,26 @@ +@(Html.DevExtreme().SelectBox() + .DataSource(d => d + .Mvc().Controller("SelectBoxData") + .LoadAction("Get") + .Key("ID") + ) + .DataSourceOptions(o => o.Group("Category")) + .ValueExpr("ID") + .DisplayExpr("Name") + .SearchEnabled(true) + .OnValueChanged("handleValueChanged") + .Grouped(true) + .Label("Product") + .LabelMode(EditorLabelMode.Floating) + .DropDownOptions(o => o.Height(150)) +) + + diff --git a/ASP.NET Core/Views/Shared/Error.cshtml b/ASP.NET Core/Views/Shared/Error.cshtml new file mode 100644 index 0000000..117599a --- /dev/null +++ b/ASP.NET Core/Views/Shared/Error.cshtml @@ -0,0 +1,8 @@ +

An error occurred while the server was processing your request.

+ +

+ To display detailed information about the error, set the ASPNETCORE_ENVIRONMENT environment variable to Development and restart the app. +

+

+ The Development environment should not be enabled for deployed applications because it provides users access to exceptions that can contain sensitive information. +

\ No newline at end of file diff --git a/ASP.NET Core/Views/Shared/_Layout.cshtml b/ASP.NET Core/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..6723cea --- /dev/null +++ b/ASP.NET Core/Views/Shared/_Layout.cshtml @@ -0,0 +1,30 @@ + + + + + + + + + + + ASP_NET_Core + + + + + + + + + + + + + +
+ @RenderBody() +
+ + + \ No newline at end of file diff --git a/ASP.NET Core/Views/_ViewImports.cshtml b/ASP.NET Core/Views/_ViewImports.cshtml new file mode 100644 index 0000000..20b558f --- /dev/null +++ b/ASP.NET Core/Views/_ViewImports.cshtml @@ -0,0 +1,4 @@ +@using ASP_NET_Core +@namespace ASP_NET_Core.Models +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@using DevExtreme.AspNet.Mvc diff --git a/ASP.NET Core/Views/_ViewStart.cshtml b/ASP.NET Core/Views/_ViewStart.cshtml new file mode 100644 index 0000000..820a2f6 --- /dev/null +++ b/ASP.NET Core/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "_Layout"; +} diff --git a/ASP.NET Core/appsettings.Development.json b/ASP.NET Core/appsettings.Development.json new file mode 100644 index 0000000..8983e0f --- /dev/null +++ b/ASP.NET Core/appsettings.Development.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + } +} diff --git a/ASP.NET Core/appsettings.json b/ASP.NET Core/appsettings.json new file mode 100644 index 0000000..d9d9a9b --- /dev/null +++ b/ASP.NET Core/appsettings.json @@ -0,0 +1,10 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "AllowedHosts": "*" +} diff --git a/ASP.NET Core/package-lock.json b/ASP.NET Core/package-lock.json new file mode 100644 index 0000000..b0356be --- /dev/null +++ b/ASP.NET Core/package-lock.json @@ -0,0 +1,440 @@ +{ + "name": "asp.net", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "asp.net", + "version": "1.0.0", + "dependencies": { + "bootstrap": "^5.3.7", + "devextreme-aspnet-data": "^5.1.0", + "devextreme-dist": "^26.1.3", + "jquery": "3.7.1" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.7", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@devexpress/utils": { + "version": "2.1.1", + "license": "SEE LICENSE IN README.md", + "peer": true, + "dependencies": { + "tslib": "2.3.1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "license": "MIT", + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@preact/signals-core": { + "version": "1.14.3", + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/bootstrap": { + "version": "5.3.8", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "license": "MIT", + "peerDependencies": { + "@popperjs/core": "^2.11.8" + } + }, + "node_modules/core-js": { + "version": "3.49.0", + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "license": "MIT", + "peer": true + }, + "node_modules/csstype": { + "version": "3.2.3", + "license": "MIT", + "peer": true + }, + "node_modules/devexpress-diagram": { + "version": "2.2.29", + "license": "SEE LICENSE IN README.md", + "peer": true, + "dependencies": { + "@devexpress/utils": "^2.1.1", + "es6-object-assign": "^1.1.0" + } + }, + "node_modules/devexpress-gantt": { + "version": "4.1.69", + "license": "SEE LICENSE IN README.md", + "peer": true, + "dependencies": { + "@devexpress/utils": "^2.1.1", + "tslib": "2.3.1" + } + }, + "node_modules/devextreme": { + "version": "26.1.3", + "license": "SEE LICENSE IN README.md", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.1", + "@preact/signals-core": "^1.8.0", + "devexpress-diagram": "2.2.29", + "devexpress-gantt": "4.1.69", + "devextreme-quill": "1.7.9", + "inferno": "^8.2.3", + "inferno-create-element": "^8.2.3", + "inferno-hydrate": "^8.2.3", + "jszip": "^3.10.1", + "rrule": "^2.7.1", + "unplugin": "^3.0.0", + "zod": "3.24.4", + "zod-to-json-schema": "3.24.6" + }, + "bin": { + "devextreme-bundler": "bin/bundler.js", + "devextreme-bundler-init": "bin/bundler-init.js", + "devextreme-license": "bin/devextreme-license.js" + } + }, + "node_modules/devextreme-aspnet-data": { + "version": "5.1.0", + "license": "MIT", + "peerDependencies": { + "devextreme": ">=18.1.0" + } + }, + "node_modules/devextreme-dist": { + "version": "26.1.3", + "resolved": "https://registry.npmjs.org/devextreme-dist/-/devextreme-dist-26.1.3.tgz", + "integrity": "sha512-cN+2yR3bK5uOnGHGg4ioIG95gKKqDuUnthbPVnRbpfvZczenD2kMbmdyLZkWbze7cDSfIcAiP4CLGMGhuPj/bg==", + "license": "SEE LICENSE IN LICENSE.md" + }, + "node_modules/devextreme-quill": { + "version": "1.7.9", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "core-js": "^3.34.0", + "eventemitter3": "^4.0.7", + "lodash.clonedeep": "^4.5.0", + "lodash.merge": "^4.6.2", + "parchment": "^2.0.1", + "quill-delta": "^5.0.0" + } + }, + "node_modules/es6-object-assign": { + "version": "1.1.0", + "license": "MIT", + "peer": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "license": "MIT", + "peer": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/immediate": { + "version": "3.0.6", + "license": "MIT", + "peer": true + }, + "node_modules/inferno": { + "version": "8.2.3", + "hasInstallScript": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.1.2", + "inferno-vnode-flags": "8.2.3", + "opencollective-postinstall": "^2.0.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/inferno" + } + }, + "node_modules/inferno-create-element": { + "version": "8.2.3", + "license": "MIT", + "peer": true, + "dependencies": { + "inferno": "8.2.3" + } + }, + "node_modules/inferno-hydrate": { + "version": "8.2.3", + "license": "MIT", + "peer": true, + "dependencies": { + "inferno": "8.2.3" + } + }, + "node_modules/inferno-vnode-flags": { + "version": "8.2.3", + "license": "MIT", + "peer": true + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC", + "peer": true + }, + "node_modules/isarray": { + "version": "1.0.0", + "license": "MIT", + "peer": true + }, + "node_modules/jquery": { + "version": "3.7.1", + "license": "MIT" + }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "license": "(MIT OR GPL-3.0-or-later)", + "peer": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "license": "MIT", + "peer": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "license": "MIT", + "peer": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "license": "MIT", + "peer": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "license": "MIT", + "peer": true + }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "license": "MIT", + "peer": true, + "bin": { + "opencollective-postinstall": "index.js" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "license": "(MIT AND Zlib)", + "peer": true + }, + "node_modules/parchment": { + "version": "2.0.1", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/picomatch": { + "version": "4.0.4", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "license": "MIT", + "peer": true + }, + "node_modules/quill-delta": { + "version": "5.1.0", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-diff": "^1.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.isequal": "^4.5.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "license": "MIT", + "peer": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/rrule": { + "version": "2.8.1", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/rrule/node_modules/tslib": { + "version": "2.8.1", + "license": "0BSD", + "peer": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "license": "MIT", + "peer": true + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "license": "MIT", + "peer": true + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/tslib": { + "version": "2.3.1", + "license": "0BSD", + "peer": true + }, + "node_modules/unplugin": { + "version": "3.0.0", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "picomatch": "^4.0.3", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT", + "peer": true + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "license": "MIT", + "peer": true + }, + "node_modules/zod": { + "version": "3.24.4", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "license": "ISC", + "peer": true, + "peerDependencies": { + "zod": "^3.24.1" + } + } + } +} diff --git a/ASP.NET Core/package.json b/ASP.NET Core/package.json new file mode 100644 index 0000000..572bcf5 --- /dev/null +++ b/ASP.NET Core/package.json @@ -0,0 +1,11 @@ +{ + "version": "1.0.0", + "name": "asp.net", + "private": true, + "dependencies": { + "jquery": "3.7.1", + "devextreme-dist": "^26.1.3", + "devextreme-aspnet-data": "^5.1.0", + "bootstrap": "^5.3.7" + } +} diff --git a/ASP.NET Core/wwwroot/css/Site.css b/ASP.NET Core/wwwroot/css/Site.css new file mode 100644 index 0000000..e69de29 From 0128f3a0829f9053f9516fcd61c7d06895fb68c3 Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Tue, 4 Aug 2026 12:19:10 +0400 Subject: [PATCH 2/6] Update to Fluent & dropDownOptions Config. Component --- Angular/angular.json | 2 +- Angular/src/app/app.component.html | 4 +++- Angular/src/app/app.component.ts | 15 ++++----------- React/src/App.tsx | 15 +++++++++------ Vue/src/components/SelectBoxContent.vue | 18 ++++++++---------- jQuery/src/index.html | 2 +- 6 files changed, 26 insertions(+), 30 deletions(-) diff --git a/Angular/angular.json b/Angular/angular.json index 7173529..fb05a00 100644 --- a/Angular/angular.json +++ b/Angular/angular.json @@ -36,7 +36,7 @@ "src/assets" ], "styles": [ - "node_modules/devextreme/dist/css/dx.material.blue.light.compact.css", + "node_modules/devextreme/dist/css/dx.fluent.blue.light.css", "src/styles.scss" ], "scripts": [] diff --git a/Angular/src/app/app.component.html b/Angular/src/app/app.component.html index a96e984..43d5631 100644 --- a/Angular/src/app/app.component.html +++ b/Angular/src/app/app.component.html @@ -7,6 +7,8 @@ label="Product" labelMode="floating" [grouped]="true" - [dropDownOptions]="dropDownOptions" > + diff --git a/Angular/src/app/app.component.ts b/Angular/src/app/app.component.ts index 76d2114..928c2f9 100644 --- a/Angular/src/app/app.component.ts +++ b/Angular/src/app/app.component.ts @@ -1,10 +1,10 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; -import DataSource from 'devextreme/data/data_source'; + +import { DxSelectBoxModule, type DxSelectBoxTypes } from 'devextreme-angular/ui/select-box'; +import { DataSource } from 'devextreme-angular/common/data'; import notify from 'devextreme/ui/notify'; -import { DxSelectBoxTypes } from 'devextreme-angular/ui/select-box'; -import { Item } from './app.types'; -import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box'; +import { Item } from './app.types'; @Component({ selector: 'app-root', @@ -15,11 +15,8 @@ import { DxSelectBoxModule } from 'devextreme-angular/ui/select-box'; }) export class AppComponent { dataSource: DataSource; - data: Item[]; - dropDownOptions: { height: number }; - constructor() { this.data = [ { @@ -57,10 +54,6 @@ export class AppComponent { }, group: 'Category', }); - - this.dropDownOptions = { - height: 150, - }; } onValueChanged(e: DxSelectBoxTypes.ValueChangedEvent): void { diff --git a/React/src/App.tsx b/React/src/App.tsx index 6208fa6..f66176b 100644 --- a/React/src/App.tsx +++ b/React/src/App.tsx @@ -1,10 +1,12 @@ import { useCallback } from 'react'; + import './App.css'; -import 'devextreme/dist/css/dx.material.blue.light.compact.css'; -import SelectBox from 'devextreme-react/select-box'; -import DataSource from 'devextreme/data/data_source'; +import 'devextreme/dist/css/dx.fluent.blue.light.css'; + +import { SelectBox, DropDownOptions, type SelectBoxTypes } from 'devextreme-react/select-box'; +import { DataSource } from 'devextreme-react/common/data'; import notify from 'devextreme/ui/notify'; -import type { SelectBoxTypes } from 'devextreme-react/select-box'; + import type { Item } from './types'; const data: Item[] = [ @@ -68,8 +70,9 @@ function App(): JSX.Element { label="Product" labelMode="floating" grouped={true} - dropDownOptions={dropDownOptions} - /> + > + + ); } diff --git a/Vue/src/components/SelectBoxContent.vue b/Vue/src/components/SelectBoxContent.vue index ff92294..610710d 100644 --- a/Vue/src/components/SelectBoxContent.vue +++ b/Vue/src/components/SelectBoxContent.vue @@ -1,9 +1,10 @@ From 62e07f70152c265a200b08ad3b4b26b0b9eee9e3 Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Tue, 4 Aug 2026 12:20:44 +0400 Subject: [PATCH 3/6] Clean Up Unused ASP using Imports --- ASP.NET Core/Controllers/SelectBoxDataController.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/ASP.NET Core/Controllers/SelectBoxDataController.cs b/ASP.NET Core/Controllers/SelectBoxDataController.cs index 6abec27..57cfdc4 100644 --- a/ASP.NET Core/Controllers/SelectBoxDataController.cs +++ b/ASP.NET Core/Controllers/SelectBoxDataController.cs @@ -1,5 +1,3 @@ -using System.Linq; -using System.Text.Json; using ASP_NET_Core.Models; using DevExtreme.AspNet.Data; using DevExtreme.AspNet.Mvc; From f249f2a507f0f85e114b5e0cec4177c7f00e5ffc Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Tue, 4 Aug 2026 12:21:01 +0400 Subject: [PATCH 4/6] Add jQuery Vite dep. --- jQuery/package-lock.json | 1016 +++++++++++++++++++++++++++++++++++++- jQuery/package.json | 3 +- 2 files changed, 1006 insertions(+), 13 deletions(-) diff --git a/jQuery/package-lock.json b/jQuery/package-lock.json index e0254cb..c36fae5 100644 --- a/jQuery/package-lock.json +++ b/jQuery/package-lock.json @@ -10,7 +10,8 @@ "dependencies": { "devextreme": "26.1.3", "devextreme-dist": "26.1.3", - "jquery": "^3.7.1" + "jquery": "^3.7.1", + "vite": "^6.4.3" }, "devDependencies": { "@babel/core": "^7.22.1", @@ -429,6 +430,422 @@ "tslib": "2.3.1" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", @@ -693,6 +1110,25 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@napi-rs/lzma-linux-x64-gnu": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@napi-rs/lzma-linux-x64-gnu/-/lzma-linux-x64-gnu-1.5.1.tgz", + "integrity": "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^22.20 || ^24.12 || >=25" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "dev": true, @@ -743,6 +1179,370 @@ "url": "https://opencollective.com/preact" } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.62.4.tgz", + "integrity": "sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.62.4.tgz", + "integrity": "sha512-JKuJc+pnpks2pjy7L/N3v/cAkZxYlnmuZoD840ldbMI5KDbC4iO9NKwPKYdjYFCMAIIlBzYSFHxIJVYzRo2/8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.62.4.tgz", + "integrity": "sha512-krw5uS2STmvJ02x0uTXHbqQNuz+9eZ1iw+qXk9dmW2gvV4jV7O2hEoOnuhFrpOPiel1mBFtqbxYZZtC46hXLOw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.62.4.tgz", + "integrity": "sha512-wsTxtgApb4PrOsNJIm0FZ1h3WvCC+k9uxLJ4ad75hgoS4NiRes2SoJFlDAyMwiUY8IssDqGcHbXuN0sx1tfF1A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.62.4.tgz", + "integrity": "sha512-GUOnQlyZe3yAXhWOtOMsn5Qkrv5E5mZXa0thbARWi5Ei2szlVXJFQhddZ4HbAzh8q92w5twp+CQvs/eFanz9YQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.62.4.tgz", + "integrity": "sha512-/Y7f3QuxjzPKsjA/rfEDa3+0vXqyjmJ50Ln8dPpCmWkKTrUoWHG1cWhTqaAMLob2m2nESWuC7yGrREz019Ztqg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.62.4.tgz", + "integrity": "sha512-81wiiX3v7aqy+T+bT61TJ78yJjRquqFFTTbAPt08imfQQzkPIW8t6aJbkTagtCCrXMNc9D66+geqlK7ydLPNqA==", + "cpu": [ + "arm" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.62.4.tgz", + "integrity": "sha512-9kmDIvNZqdoHOBZgNtpTBeLWYO/LVipM3H/j62P8848/l/VPEQL6N3uxU9pvP1oZAsXyC2MEnFP3ovRjo7WYNQ==", + "cpu": [ + "arm" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.62.4.tgz", + "integrity": "sha512-CcnXHWnXg69g+DX5VWL3FHts3qMRN2uVEHX+BZvGLdd07/gXkn3ePjYtO1LDJvxkGKVHMclKBRa1QUTH+6toYQ==", + "cpu": [ + "arm64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.62.4.tgz", + "integrity": "sha512-iFOibiHnTRuhrWLlRsOQFdZJJIa7S8OwkneJr4ocALP16u5yk6lWLINFwhHaEqBFMsKDUZofLkGos7+CPzGB3g==", + "cpu": [ + "arm64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.62.4.tgz", + "integrity": "sha512-XnWYMI7euHlb5a871xPja+Gm7DRCFU+FGRrtS2sMq9N8FvqtpagUy6gD4YOemC5MRk9xbh8+jYMEJbigFQwsgA==", + "cpu": [ + "loong64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.62.4.tgz", + "integrity": "sha512-qGDAlO0U8xedCcsdRm9oaoQY8DAx/QT7uIxJWhCdx0ceIWX783UC9QSYkdpzAe29wNiVfp24+bZdQmn49o45SQ==", + "cpu": [ + "loong64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.62.4.tgz", + "integrity": "sha512-ru4H6ezD7ysA5EiEK6qkkaEb4modH8CTej6kUy/gQi20u3kB3G7Zn8snXXkeJSCOFKG/rbPPtM/+9Wgas1961w==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.62.4.tgz", + "integrity": "sha512-2W4MO5WQVJnbJaZdvDb9rhBDuFU1nKIepPFpJUBsTh2k1YY2g+ODViaWuyOAjQ5cOP7NvrvLzt3wvHOoiAvc7w==", + "cpu": [ + "ppc64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.62.4.tgz", + "integrity": "sha512-+fxjfuoAmVMCYV5QyjoIpu0cp5DOiOTeqYFk1AVaxGr+/ravWLX89XfQmptsoWcaVy/TGf2hexzbUOrCQIL1CQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.62.4.tgz", + "integrity": "sha512-jTn8JfHGL4djjFxPuM06LmNUJDsst2jeVlsd9OmIH6zc5sC9K6rIuO4YajXatLUpBmBKl6b35ro1QZocLi+tcA==", + "cpu": [ + "riscv64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.62.4.tgz", + "integrity": "sha512-oCJCJL4pXsoDcP2QZ+JVlPTIRc6266zsIaeJJsWImmF7HO0W8nb6HuSgZlMWxJwaPf8ehbSw8yo0EUw925hKsA==", + "cpu": [ + "s390x" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.62.4.tgz", + "integrity": "sha512-W69hukhZ3KKNRCaMIEzKvcFye42hh0FE1+YoYaf5+Ikacuftoco6yO/xouz0hc5d5W/s3yBro5jRiuEE/Q5vUw==", + "cpu": [ + "x64" + ], + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.62.4.tgz", + "integrity": "sha512-qiXbGG2jkjXhzXpsFZSR2Xpb8DN/UaxYsbb/STbuR/6fpaDgRmmaq1B/LmtF2wQFOFOSsK2jdE0RZ3a0zHn4QA==", + "cpu": [ + "x64" + ], + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.62.4.tgz", + "integrity": "sha512-nWeM//hxv8mIo6jD7Hu4o48DVmV9pbV6gsKaWU+4NFyqHoPKwrkRiZGLKUhOBk8qNmDmpwFtPKg80Bo/Tn4xiQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.62.4.tgz", + "integrity": "sha512-s62SQ/vgsRSvMwDkOEfTqfgASF0f26ZNaQuTA6Aok5lrikf89yI2W0gFHvZb2Jpgc6N8JnOKZgCK2iciO3CsxQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.62.4.tgz", + "integrity": "sha512-J6wGf8TVGbXJq+HH+ttTvrcfNKPbuZecV6KT1B8I18BC5IURUh5kl4Yl5OEP5eFIUoI5BWxCsyYMhFsDx8kekw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.62.4.tgz", + "integrity": "sha512-zmfrQd/0wu6oJs8Vq8KwY/YtsKSsLtKe/HwAP4Wqy8LhWjeT55fHRAkOhYQ12wI3ayS4Tt12d5CDRD7N96SAYQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.62.4.tgz", + "integrity": "sha512-qPzHqdj9rfUD+w79dtE07zi/kFwKyCJqplp5K5ygeLTp7jLpAoc16OAH39HSmRC9UpozaecsleI8uAdEj6v2yw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.62.4.tgz", + "integrity": "sha512-zD6NdeWEByGE9QF9vCrlJ5YQB4oq9q91kPZS37Jwj5hOkvR1lTBSpsKhKDw4IJtbQ35LsTS1HD9DZYGKIshU1Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -824,7 +1624,6 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -2393,6 +3192,47 @@ "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==", "license": "MIT" }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, "node_modules/escalade": { "version": "3.1.2", "dev": true, @@ -3307,6 +4147,20 @@ "dev": true, "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "dev": true, @@ -4771,7 +5625,6 @@ "version": "3.3.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "dev": true, "funding": [ { "type": "github", @@ -5247,7 +6100,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -5296,7 +6148,6 @@ "version": "8.5.15", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "dev": true, "funding": [ { "type": "opencollective", @@ -5725,6 +6576,51 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rollup": { + "version": "4.62.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.62.4.tgz", + "integrity": "sha512-RXOqwaPsBGjMNMa4sQjDjHieHEZDFoj/Rdr46l2MU5DfEs16wHJPC2RPTPHWhNl+M3aI472LLqFkFKut4SblOg==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.9" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@napi-rs/lzma-linux-x64-gnu": "1.5.1", + "@rollup/rollup-android-arm-eabi": "4.62.4", + "@rollup/rollup-android-arm64": "4.62.4", + "@rollup/rollup-darwin-arm64": "4.62.4", + "@rollup/rollup-darwin-x64": "4.62.4", + "@rollup/rollup-freebsd-arm64": "4.62.4", + "@rollup/rollup-freebsd-x64": "4.62.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.62.4", + "@rollup/rollup-linux-arm-musleabihf": "4.62.4", + "@rollup/rollup-linux-arm64-gnu": "4.62.4", + "@rollup/rollup-linux-arm64-musl": "4.62.4", + "@rollup/rollup-linux-loong64-gnu": "4.62.4", + "@rollup/rollup-linux-loong64-musl": "4.62.4", + "@rollup/rollup-linux-ppc64-gnu": "4.62.4", + "@rollup/rollup-linux-ppc64-musl": "4.62.4", + "@rollup/rollup-linux-riscv64-gnu": "4.62.4", + "@rollup/rollup-linux-riscv64-musl": "4.62.4", + "@rollup/rollup-linux-s390x-gnu": "4.62.4", + "@rollup/rollup-linux-x64-gnu": "4.62.4", + "@rollup/rollup-linux-x64-musl": "4.62.4", + "@rollup/rollup-openbsd-x64": "4.62.4", + "@rollup/rollup-openharmony-arm64": "4.62.4", + "@rollup/rollup-win32-arm64-msvc": "4.62.4", + "@rollup/rollup-win32-ia32-msvc": "4.62.4", + "@rollup/rollup-win32-x64-gnu": "4.62.4", + "@rollup/rollup-win32-x64-msvc": "4.62.4", + "fsevents": "~2.3.2" + } + }, "node_modules/rrule": { "version": "2.8.1", "license": "BSD-3-Clause", @@ -6052,7 +6948,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -6505,9 +7400,7 @@ "version": "0.2.16", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.4" @@ -6523,9 +7416,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12.0.0" }, @@ -6542,9 +7433,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -6835,6 +7724,109 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/vite": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.3.tgz", + "integrity": "sha512-NTKlcQjlAK7MlQoyb6LgaqHc8sso/pVyUJYWMws3jg21uTJw/LddqIFPcPqP6PzpgbIcZyKI85sFE4HBrQDA8A==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vue-eslint-parser": { "version": "10.4.0", "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.4.0.tgz", diff --git a/jQuery/package.json b/jQuery/package.json index 5cf1144..b318165 100644 --- a/jQuery/package.json +++ b/jQuery/package.json @@ -26,6 +26,7 @@ "dependencies": { "devextreme": "26.1.3", "devextreme-dist": "26.1.3", - "jquery": "^3.7.1" + "jquery": "^3.7.1", + "vite": "^6.4.3" } } From aa35ba7e5d6d9deeafb3ca42f6b20ab0aa31fed4 Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Tue, 4 Aug 2026 12:24:09 +0400 Subject: [PATCH 5/6] Remove Unused Styles in ASP --- ASP.NET Core/ASP.NET Core.csproj | 2 -- ASP.NET Core/Views/Shared/_Layout.cshtml | 2 -- 2 files changed, 4 deletions(-) diff --git a/ASP.NET Core/ASP.NET Core.csproj b/ASP.NET Core/ASP.NET Core.csproj index 8b9d310..a61f574 100644 --- a/ASP.NET Core/ASP.NET Core.csproj +++ b/ASP.NET Core/ASP.NET Core.csproj @@ -27,8 +27,6 @@ - - diff --git a/ASP.NET Core/Views/Shared/_Layout.cshtml b/ASP.NET Core/Views/Shared/_Layout.cshtml index 6723cea..f5067e5 100644 --- a/ASP.NET Core/Views/Shared/_Layout.cshtml +++ b/ASP.NET Core/Views/Shared/_Layout.cshtml @@ -10,8 +10,6 @@ ASP_NET_Core - - From 3209870cb5f832e662e3af984f4b49c45f243fe5 Mon Sep 17 00:00:00 2001 From: Arman Boyakhchyan Date: Tue, 4 Aug 2026 12:54:16 +0400 Subject: [PATCH 6/6] Eliminate Unused dropDownOptions Obj. --- React/src/App.tsx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/React/src/App.tsx b/React/src/App.tsx index f66176b..6283a66 100644 --- a/React/src/App.tsx +++ b/React/src/App.tsx @@ -46,10 +46,6 @@ const dataSource = new DataSource({ group: 'Category', }); -const dropDownOptions = { - height: 150, -}; - function App(): JSX.Element { const onValueChanged = useCallback((e: SelectBoxTypes.ValueChangedEvent) => { notify(