From cce3d05c89df06ec598fce8d3211501b57083a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Peyronnet?= Date: Thu, 31 Aug 2023 10:37:08 +0200 Subject: [PATCH 1/3] Added WindowInfo page --- Documentation/ui-helpers/windowinfo.md | 87 ++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Documentation/ui-helpers/windowinfo.md diff --git a/Documentation/ui-helpers/windowinfo.md b/Documentation/ui-helpers/windowinfo.md new file mode 100644 index 00000000..17e58a09 --- /dev/null +++ b/Documentation/ui-helpers/windowinfo.md @@ -0,0 +1,87 @@ +# WindowInfo + +This page is about the `WindowInfo` class available in [`PeyrSharp.UiHelpers`](../ui-helpers.md). +It represents information about a window. + +## Compatibility + +The `WindowInfo` class is part of the `PeyrSharp.UiHelpers` module, and is compatible with all of these frameworks and platforms: + +| Package/Platform | Windows | macOS | Linux + others | +| ---------------- | ---------- | ---------- | -------------- | +| Env | ✅ | ✅ | ✅ | +| **Framework** | **.NET 5** | **.NET 6** | **.NET 7** | +| Env | ✅ | ✅ | ✅ | + +::: warning +Some methods, classes or features of `PeyrSharp.UiHelpers` might not be available in all platforms. +::: + +## Properties + +### Handle + +#### Definition + +```c# +public IntPtr Handle { get; set; } +``` + +Gets or sets the handle of the window. + +#### Usage + +```c# +// Create a new WindowInfo object +WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method. + +// Get the handle of the window +Console.WriteLine(windowInfo.Handle); // Output: 123456 +``` + +### Name + +#### Definition + +```c# +public string Name { get; set; } +``` + +Gets or sets the name of the window. + +#### Usage + +```c# +// Create a new WindowInfo object +WindowInfo windowInfo = new WindowInfo(); + +// Set the name of the window +windowInfo.Name = "MyWindow"; + +// Get the name of the window +Console.WriteLine(windowInfo.Name); // Output: MyWindow + +``` + +### ClassName + +#### Definition + +```c# +public string ClassName { get; set; } +``` + +Gets or sets the class name of the window. + +#### Usage + +```c# +// Create a new WindowInfo object +WindowInfo windowInfo = new WindowInfo(); + +// Set the class name of the window +windowInfo.ClassName = "MyWindowClass"; + +// Get the class name of the window +Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass +``` From b0d2e87a05d5d5f2419b8870829030e976a1221d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Peyronnet?= Date: Thu, 31 Aug 2023 10:37:21 +0200 Subject: [PATCH 2/3] Added WindowHelpers page --- Documentation/ui-helpers/windowhelpers.md | 43 +++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Documentation/ui-helpers/windowhelpers.md diff --git a/Documentation/ui-helpers/windowhelpers.md b/Documentation/ui-helpers/windowhelpers.md new file mode 100644 index 00000000..7d242384 --- /dev/null +++ b/Documentation/ui-helpers/windowhelpers.md @@ -0,0 +1,43 @@ +# WindowHelpers + +This page is about the `WindowHelpers` class available in [`PeyrSharp.UiHelpers`](../ui-helpers.md). This page is about all of its methods. + +## Compatibility + +WindowHelpers are part of the `PeyrSharp.UiHelpers` module, which is compatible with all of these frameworks and platforms: + +| Package/Platform | Windows | macOS | Linux + others | +| ---------------- | ---------- | ---------- | -------------- | +| UiHelpers | ✅ | ❌ | ❌ | +| **Framework** | **.NET 5** | **.NET 6** | **.NET 7** | +| UiHelpers | ✅ | ✅ | ✅ | + +## Methods + +### GetWindows() + +#### Definition + +Retrieves a list of currently visible windows. + +#### Returns + +A list of `WindowInfo` objects representing the visible windows. + +#### Usage + +```c# +using PeyrSharp.UiHelpers; +using System.Collections.Generic; + +public class MyWindowManager +{ + public void PrintOpenedWindows() { + List windows = WinFormsHelpers.GetWindows(); + foreach (WindowInfo window in windows) + { + Console.WriteLine(window.Name); + } + } +} +``` From 87639625de436e645dc80e088402e0f6dc99b3f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20Peyronnet?= Date: Thu, 31 Aug 2023 10:37:44 +0200 Subject: [PATCH 3/3] Updated documentation --- Documentation/.vitepress/config.js | 8 + Documentation/.vitepress/theme/custom.css | 38 +- Documentation/env/system.md | 58 +++ Documentation/extensions/string.md | 174 ++++++--- Documentation/package-lock.json | 353 +++++++++--------- Documentation/reference.md | 2 + docs/404.html | 10 +- docs/assets/app.49563fce.js | 1 + docs/assets/app.b069fff0.js | 1 - ...474e.js => VPAlgoliaSearchBox.c3e2c39d.js} | 26 +- docs/assets/chunks/framework.1eef7d9b.js | 2 - docs/assets/chunks/framework.b637c96f.js | 2 + docs/assets/chunks/theme.0b40695b.js | 7 - docs/assets/chunks/theme.1c98771e.js | 1 + ...ore.md.f6d4ea4c.js => core.md.b893fea5.js} | 2 +- ...4ea4c.lean.js => core.md.b893fea5.lean.js} | 2 +- ...e554.js => core_converters.md.d4088611.js} | 2 +- ...js => core_converters.md.d4088611.lean.js} | 2 +- .../core_converters_angle.md.3818ea53.js | 7 - .../core_converters_angle.md.3818ea53.lean.js | 1 - .../core_converters_angle.md.8a16953e.js | 13 + .../core_converters_angle.md.8a16953e.lean.js | 1 + .../core_converters_colors_hex.md.33132cc5.js | 13 + ..._converters_colors_hex.md.33132cc5.lean.js | 1 + .../core_converters_colors_hex.md.a4ef033c.js | 7 - ..._converters_colors_hex.md.a4ef033c.lean.js | 1 - .../core_converters_colors_hsv.md.34af8b4a.js | 3 - ..._converters_colors_hsv.md.34af8b4a.lean.js | 1 - .../core_converters_colors_hsv.md.dbe36e17.js | 5 + ..._converters_colors_hsv.md.dbe36e17.lean.js | 1 + .../core_converters_colors_rgb.md.35de48d5.js | 10 - ..._converters_colors_rgb.md.35de48d5.lean.js | 1 - .../core_converters_colors_rgb.md.d296121e.js | 19 + ..._converters_colors_rgb.md.d296121e.lean.js | 1 + .../core_converters_distances.md.0f400c09.js | 25 ++ ...e_converters_distances.md.0f400c09.lean.js | 1 + .../core_converters_distances.md.a2fa2889.js | 13 - ...e_converters_distances.md.a2fa2889.lean.js | 1 - .../core_converters_energies.md.917d6be6.js | 7 - ...re_converters_energies.md.917d6be6.lean.js | 1 - .../core_converters_energies.md.d8e42ef0.js | 13 + ...re_converters_energies.md.d8e42ef0.lean.js | 1 + .../core_converters_masses.md.39e62d78.js | 7 - ...core_converters_masses.md.39e62d78.lean.js | 1 - .../core_converters_masses.md.f6cfd9f7.js | 13 + ...core_converters_masses.md.f6cfd9f7.lean.js | 1 + .../core_converters_speeds.md.a110c0de.js | 39 -- ...core_converters_speeds.md.a110c0de.lean.js | 1 - .../core_converters_speeds.md.c887147e.js | 77 ++++ ...core_converters_speeds.md.c887147e.lean.js | 1 + .../core_converters_storage.md.10e30c28.js | 49 +++ ...ore_converters_storage.md.10e30c28.lean.js | 1 + .../core_converters_storage.md.2b813e83.js | 25 -- ...ore_converters_storage.md.2b813e83.lean.js | 1 - ...ore_converters_temperatures.md.86f399dd.js | 7 - ...onverters_temperatures.md.86f399dd.lean.js | 1 - ...ore_converters_temperatures.md.8a78c1a2.js | 13 + ...onverters_temperatures.md.8a78c1a2.lean.js | 1 + .../core_converters_time.md.2241ec46.js | 22 -- .../core_converters_time.md.2241ec46.lean.js | 1 - .../core_converters_time.md.7e0c9e9e.js | 43 +++ .../core_converters_time.md.7e0c9e9e.lean.js | 1 + .../core_converters_volumes.md.385daf16.js | 13 + ...ore_converters_volumes.md.385daf16.lean.js | 1 + .../core_converters_volumes.md.891b8531.js | 7 - ...ore_converters_volumes.md.891b8531.lean.js | 1 - docs/assets/core_crypt.md.55e86926.js | 65 ++++ docs/assets/core_crypt.md.55e86926.lean.js | 1 + docs/assets/core_crypt.md.89a6c77c.js | 33 -- docs/assets/core_crypt.md.89a6c77c.lean.js | 1 - docs/assets/core_guid-options.md.5c1af4b5.js | 37 ++ .../core_guid-options.md.5c1af4b5.lean.js | 1 + docs/assets/core_guid-options.md.c396b689.js | 19 - .../core_guid-options.md.c396b689.lean.js | 1 - docs/assets/core_guid.md.d249cd02.js | 13 - docs/assets/core_guid.md.d249cd02.lean.js | 1 - docs/assets/core_guid.md.d28b3014.js | 25 ++ docs/assets/core_guid.md.d28b3014.lean.js | 1 + docs/assets/core_internet.md.6a296b9a.js | 55 --- docs/assets/core_internet.md.6a296b9a.lean.js | 1 - docs/assets/core_internet.md.b3af24f5.js | 109 ++++++ docs/assets/core_internet.md.b3af24f5.lean.js | 1 + docs/assets/core_json-helper.md.cc60e6c2.js | 51 +++ .../core_json-helper.md.cc60e6c2.lean.js | 1 + docs/assets/core_json-helper.md.e45838d6.js | 26 -- .../core_json-helper.md.e45838d6.lean.js | 1 - ....514d3cf2.js => core_maths.md.3a4734f3.js} | 2 +- ...lean.js => core_maths.md.3a4734f3.lean.js} | 2 +- docs/assets/core_maths_algebra.md.25cd2650.js | 39 -- .../core_maths_algebra.md.25cd2650.lean.js | 1 - docs/assets/core_maths_algebra.md.8645a716.js | 77 ++++ .../core_maths_algebra.md.8645a716.lean.js | 1 + ....js => core_maths_geometry.md.a190352c.js} | 2 +- ...> core_maths_geometry.md.a190352c.lean.js} | 2 +- .../core_maths_geometry_circle.md.a8461aaf.js | 25 ++ ..._maths_geometry_circle.md.a8461aaf.lean.js | 1 + .../core_maths_geometry_circle.md.e12239d2.js | 13 - ..._maths_geometry_circle.md.e12239d2.lean.js | 1 - .../core_maths_geometry_cone.md.2492cc46.js | 35 ++ ...re_maths_geometry_cone.md.2492cc46.lean.js | 1 + .../core_maths_geometry_cone.md.ab75c386.js | 18 - ...re_maths_geometry_cone.md.ab75c386.lean.js | 1 - .../core_maths_geometry_cube.md.0f432795.js | 79 ++++ ...re_maths_geometry_cube.md.0f432795.lean.js | 1 + .../core_maths_geometry_cube.md.1daf7518.js | 40 -- ...re_maths_geometry_cube.md.1daf7518.lean.js | 1 - ...ore_maths_geometry_cylinder.md.1f35fb1b.js | 23 -- ...aths_geometry_cylinder.md.1f35fb1b.lean.js | 1 - ...ore_maths_geometry_cylinder.md.6b48f4e1.js | 45 +++ ...aths_geometry_cylinder.md.6b48f4e1.lean.js | 1 + ...core_maths_geometry_diamond.md.5256c148.js | 26 -- ...maths_geometry_diamond.md.5256c148.lean.js | 1 - ...core_maths_geometry_diamond.md.aed6072d.js | 51 +++ ...maths_geometry_diamond.md.aed6072d.lean.js | 1 + ...core_maths_geometry_hexagon.md.3164db2b.js | 17 - ...maths_geometry_hexagon.md.3164db2b.lean.js | 1 - ...core_maths_geometry_hexagon.md.b4c1eb61.js | 33 ++ ...maths_geometry_hexagon.md.b4c1eb61.lean.js | 1 + ...core_maths_geometry_pyramid.md.88f2f589.js | 87 +++++ ...maths_geometry_pyramid.md.88f2f589.lean.js | 1 + ...core_maths_geometry_pyramid.md.8ad145a7.js | 44 --- ...maths_geometry_pyramid.md.8ad145a7.lean.js | 1 - ...re_maths_geometry_rectangle.md.113c3105.js | 55 +++ ...ths_geometry_rectangle.md.113c3105.lean.js | 1 + ...re_maths_geometry_rectangle.md.de2778c8.js | 28 -- ...ths_geometry_rectangle.md.de2778c8.lean.js | 1 - .../core_maths_geometry_sphere.md.1827ca30.js | 18 - ..._maths_geometry_sphere.md.1827ca30.lean.js | 1 - .../core_maths_geometry_sphere.md.5f6f998f.js | 35 ++ ..._maths_geometry_sphere.md.5f6f998f.lean.js | 1 + ...ore_maths_geometry_triangle.md.3062f476.js | 56 --- ...aths_geometry_triangle.md.3062f476.lean.js | 1 - ...ore_maths_geometry_triangle.md.70ac16cf.js | 111 ++++++ ...aths_geometry_triangle.md.70ac16cf.lean.js | 1 + .../core_maths_percentages.md.6e243752.js | 13 - ...core_maths_percentages.md.6e243752.lean.js | 1 - .../core_maths_percentages.md.a68b9e85.js | 25 ++ ...core_maths_percentages.md.a68b9e85.lean.js | 1 + docs/assets/core_maths_proba.md.0aecd6a4.js | 17 + .../core_maths_proba.md.0aecd6a4.lean.js | 1 + docs/assets/core_maths_proba.md.c9293802.js | 9 - .../core_maths_proba.md.c9293802.lean.js | 1 - docs/assets/core_maths_stats.md.9297b391.js | 25 -- .../core_maths_stats.md.9297b391.lean.js | 1 - docs/assets/core_maths_stats.md.edb41b6a.js | 49 +++ .../core_maths_stats.md.edb41b6a.lean.js | 1 + .../core_maths_trigonometry.md.78849101.js | 13 - ...ore_maths_trigonometry.md.78849101.lean.js | 1 - .../core_maths_trigonometry.md.db5e4666.js | 25 ++ ...ore_maths_trigonometry.md.db5e4666.lean.js | 1 + docs/assets/core_password.md.5b330426.js | 57 +++ docs/assets/core_password.md.5b330426.lean.js | 1 + docs/assets/core_password.md.a9888b08.js | 29 -- docs/assets/core_password.md.a9888b08.lean.js | 1 - docs/assets/core_statusinfo.md.a51639ad.js | 1 - .../core_statusinfo.md.a51639ad.lean.js | 1 - docs/assets/core_statusinfo.md.a97192f6.js | 1 + .../core_statusinfo.md.a97192f6.lean.js | 1 + docs/assets/core_xml-helper.md.bb579261.js | 105 ++++++ .../core_xml-helper.md.bb579261.lean.js | 1 + docs/assets/core_xml-helper.md.db6a1186.js | 53 --- .../core_xml-helper.md.db6a1186.lean.js | 1 - docs/assets/enumerations.md.95d6b4f5.js | 135 +++++++ docs/assets/enumerations.md.95d6b4f5.lean.js | 1 + docs/assets/enumerations.md.ae8efbeb.js | 68 ---- docs/assets/enumerations.md.ae8efbeb.lean.js | 1 - ...{env.md.7a083ce5.js => env.md.f2ba38d6.js} | 2 +- ...083ce5.lean.js => env.md.f2ba38d6.lean.js} | 2 +- docs/assets/env_filesys.md.8589c991.js | 74 ---- docs/assets/env_filesys.md.8589c991.lean.js | 1 - docs/assets/env_filesys.md.c01b3b78.js | 147 ++++++++ docs/assets/env_filesys.md.c01b3b78.lean.js | 1 + docs/assets/env_logger.md.9b14c21f.js | 37 ++ docs/assets/env_logger.md.9b14c21f.lean.js | 1 + docs/assets/env_logger.md.cbed7f54.js | 19 - docs/assets/env_logger.md.cbed7f54.lean.js | 1 - docs/assets/env_system.md.45d34ea7.js | 70 ---- docs/assets/env_system.md.45d34ea7.lean.js | 1 - docs/assets/env_system.md.8962a7fa.js | 171 +++++++++ docs/assets/env_system.md.8962a7fa.lean.js | 1 + docs/assets/env_update.md.329bcc46.js | 33 ++ docs/assets/env_update.md.329bcc46.lean.js | 1 + docs/assets/env_update.md.a1273893.js | 17 - docs/assets/env_update.md.a1273893.lean.js | 1 - docs/assets/env_uwpapp.md.64413305.js | 17 + docs/assets/env_uwpapp.md.64413305.lean.js | 1 + docs/assets/env_uwpapp.md.dcba768f.js | 9 - docs/assets/env_uwpapp.md.dcba768f.lean.js | 1 - docs/assets/exceptions.md.77841f50.js | 25 ++ docs/assets/exceptions.md.77841f50.lean.js | 1 + docs/assets/exceptions.md.aae9c983.js | 13 - docs/assets/exceptions.md.aae9c983.lean.js | 1 - ....b080d23b.js => extensions.md.32bd4caa.js} | 2 +- ...lean.js => extensions.md.32bd4caa.lean.js} | 2 +- docs/assets/extensions_array.md.ed7cfa02.js | 41 ++ .../extensions_array.md.ed7cfa02.lean.js | 1 + docs/assets/extensions_array.md.fc0364fa.js | 21 -- .../extensions_array.md.fc0364fa.lean.js | 1 - docs/assets/extensions_double.md.4449dcb3.js | 101 +++++ .../extensions_double.md.4449dcb3.lean.js | 1 + docs/assets/extensions_double.md.de01a066.js | 51 --- .../extensions_double.md.de01a066.lean.js | 1 - docs/assets/extensions_int.md.8d3dd603.js | 20 - .../assets/extensions_int.md.8d3dd603.lean.js | 1 - docs/assets/extensions_int.md.adc0cb07.js | 39 ++ .../assets/extensions_int.md.adc0cb07.lean.js | 1 + docs/assets/extensions_string.md.57d0b3ae.js | 40 -- .../extensions_string.md.57d0b3ae.lean.js | 1 - docs/assets/extensions_string.md.5d08846d.js | 83 ++++ .../extensions_string.md.5d08846d.lean.js | 1 + docs/assets/get-started.md.a01a8ac8.js | 6 - docs/assets/get-started.md.a01a8ac8.lean.js | 1 - docs/assets/get-started.md.b142ffa1.js | 11 + docs/assets/get-started.md.b142ffa1.lean.js | 1 + ...ex.md.6827c3c3.js => index.md.541d4bbc.js} | 2 +- ...c3c3.lean.js => index.md.541d4bbc.lean.js} | 2 +- ...ro.md.8e286665.js => intro.md.ea3bafe7.js} | 2 +- ...6665.lean.js => intro.md.ea3bafe7.lean.js} | 2 +- docs/assets/reference.md.a31a0df4.lean.js | 1 - ...d.a31a0df4.js => reference.md.cbdb1199.js} | 2 +- docs/assets/reference.md.cbdb1199.lean.js | 1 + docs/assets/style.296d3996.css | 1 - docs/assets/style.ddb68ab6.css | 1 + ....63c75787.js => ui-helpers.md.f63f6257.js} | 2 +- ...lean.js => ui-helpers.md.f63f6257.lean.js} | 2 +- docs/assets/ui-helpers_screen.md.abf9d1aa.js | 41 -- .../ui-helpers_screen.md.abf9d1aa.lean.js | 1 - docs/assets/ui-helpers_screen.md.c277ff31.js | 81 ++++ .../ui-helpers_screen.md.c277ff31.lean.js | 1 + .../ui-helpers_windowhelpers.md.a1134c53.js | 25 ++ ...-helpers_windowhelpers.md.a1134c53.lean.js | 1 + .../ui-helpers_windowinfo.md.7554d1cd.js | 37 ++ .../ui-helpers_windowinfo.md.7554d1cd.lean.js | 1 + .../assets/ui-helpers_winforms.md.3d7797a8.js | 37 -- .../ui-helpers_winforms.md.3d7797a8.lean.js | 1 - .../assets/ui-helpers_winforms.md.fe389c98.js | 73 ++++ .../ui-helpers_winforms.md.fe389c98.lean.js | 1 + docs/assets/ui-helpers_wpf.md.91ffecbf.js | 7 + .../assets/ui-helpers_wpf.md.91ffecbf.lean.js | 1 + docs/assets/ui-helpers_wpf.md.9c708ade.js | 4 - .../assets/ui-helpers_wpf.md.9c708ade.lean.js | 1 - docs/core.html | 16 +- docs/core/converters.html | 16 +- docs/core/converters/angle.html | 30 +- docs/core/converters/colors/hex.html | 28 +- docs/core/converters/colors/hsv.html | 20 +- docs/core/converters/colors/rgb.html | 35 +- docs/core/converters/distances.html | 44 ++- docs/core/converters/energies.html | 30 +- docs/core/converters/masses.html | 30 +- docs/core/converters/speeds.html | 110 ++++-- docs/core/converters/storage.html | 72 ++-- docs/core/converters/temperatures.html | 30 +- docs/core/converters/time.html | 67 ++-- docs/core/converters/volumes.html | 30 +- docs/core/crypt.html | 94 +++-- docs/core/guid-options.html | 66 ++-- docs/core/guid.html | 44 ++- docs/core/internet.html | 178 ++++++--- docs/core/json-helper.html | 91 +++-- docs/core/maths.html | 16 +- docs/core/maths/algebra.html | 106 ++++-- docs/core/maths/geometry.html | 16 +- docs/core/maths/geometry/circle.html | 42 ++- docs/core/maths/geometry/cone.html | 53 ++- docs/core/maths/geometry/cube.html | 101 +++-- docs/core/maths/geometry/cylinder.html | 64 ++-- docs/core/maths/geometry/diamond.html | 71 ++-- docs/core/maths/geometry/hexagon.html | 50 ++- docs/core/maths/geometry/pyramid.html | 109 ++++-- docs/core/maths/geometry/rectangle.html | 75 ++-- docs/core/maths/geometry/sphere.html | 53 ++- docs/core/maths/geometry/triangle.html | 137 +++++-- docs/core/maths/percentages.html | 44 ++- docs/core/maths/proba.html | 36 +- docs/core/maths/stats.html | 76 ++-- docs/core/maths/trigonometry.html | 46 ++- docs/core/password.html | 100 +++-- docs/core/statusinfo.html | 16 +- docs/core/xml-helper.html | 172 ++++++--- docs/enumerations.html | 209 +++++++---- docs/env.html | 16 +- docs/env/filesys.html | 193 +++++++--- docs/env/logger.html | 60 +-- docs/env/system.html | 231 ++++++++---- docs/env/update.html | 58 +-- docs/env/uwpapp.html | 36 +- docs/exceptions.html | 44 ++- docs/extensions.html | 16 +- docs/extensions/array.html | 66 ++-- docs/extensions/double.html | 134 ++++--- docs/extensions/int.html | 57 ++- docs/extensions/string.html | 111 ++++-- docs/get-started.html | 31 +- docs/hashmap.json | 2 +- docs/index.html | 16 +- docs/intro.html | 16 +- docs/reference.html | 16 +- docs/ui-helpers.html | 16 +- docs/ui-helpers/screen.html | 136 ++++--- docs/ui-helpers/windowhelpers.html | 47 +++ docs/ui-helpers/windowinfo.html | 59 +++ docs/ui-helpers/winforms.html | 124 +++--- docs/ui-helpers/wpf.html | 23 +- 304 files changed, 5770 insertions(+), 3001 deletions(-) create mode 100644 docs/assets/app.49563fce.js delete mode 100644 docs/assets/app.b069fff0.js rename docs/assets/chunks/{VPAlgoliaSearchBox.456e474e.js => VPAlgoliaSearchBox.c3e2c39d.js} (55%) delete mode 100644 docs/assets/chunks/framework.1eef7d9b.js create mode 100644 docs/assets/chunks/framework.b637c96f.js delete mode 100644 docs/assets/chunks/theme.0b40695b.js create mode 100644 docs/assets/chunks/theme.1c98771e.js rename docs/assets/{core.md.f6d4ea4c.js => core.md.b893fea5.js} (93%) rename docs/assets/{core.md.f6d4ea4c.lean.js => core.md.b893fea5.lean.js} (66%) rename docs/assets/{core_converters.md.6208e554.js => core_converters.md.d4088611.js} (94%) rename docs/assets/{core_converters.md.6208e554.lean.js => core_converters.md.d4088611.lean.js} (69%) delete mode 100644 docs/assets/core_converters_angle.md.3818ea53.js delete mode 100644 docs/assets/core_converters_angle.md.3818ea53.lean.js create mode 100644 docs/assets/core_converters_angle.md.8a16953e.js create mode 100644 docs/assets/core_converters_angle.md.8a16953e.lean.js create mode 100644 docs/assets/core_converters_colors_hex.md.33132cc5.js create mode 100644 docs/assets/core_converters_colors_hex.md.33132cc5.lean.js delete mode 100644 docs/assets/core_converters_colors_hex.md.a4ef033c.js delete mode 100644 docs/assets/core_converters_colors_hex.md.a4ef033c.lean.js delete mode 100644 docs/assets/core_converters_colors_hsv.md.34af8b4a.js delete mode 100644 docs/assets/core_converters_colors_hsv.md.34af8b4a.lean.js create mode 100644 docs/assets/core_converters_colors_hsv.md.dbe36e17.js create mode 100644 docs/assets/core_converters_colors_hsv.md.dbe36e17.lean.js delete mode 100644 docs/assets/core_converters_colors_rgb.md.35de48d5.js delete mode 100644 docs/assets/core_converters_colors_rgb.md.35de48d5.lean.js create mode 100644 docs/assets/core_converters_colors_rgb.md.d296121e.js create mode 100644 docs/assets/core_converters_colors_rgb.md.d296121e.lean.js create mode 100644 docs/assets/core_converters_distances.md.0f400c09.js create mode 100644 docs/assets/core_converters_distances.md.0f400c09.lean.js delete mode 100644 docs/assets/core_converters_distances.md.a2fa2889.js delete mode 100644 docs/assets/core_converters_distances.md.a2fa2889.lean.js delete mode 100644 docs/assets/core_converters_energies.md.917d6be6.js delete mode 100644 docs/assets/core_converters_energies.md.917d6be6.lean.js create mode 100644 docs/assets/core_converters_energies.md.d8e42ef0.js create mode 100644 docs/assets/core_converters_energies.md.d8e42ef0.lean.js delete mode 100644 docs/assets/core_converters_masses.md.39e62d78.js delete mode 100644 docs/assets/core_converters_masses.md.39e62d78.lean.js create mode 100644 docs/assets/core_converters_masses.md.f6cfd9f7.js create mode 100644 docs/assets/core_converters_masses.md.f6cfd9f7.lean.js delete mode 100644 docs/assets/core_converters_speeds.md.a110c0de.js delete mode 100644 docs/assets/core_converters_speeds.md.a110c0de.lean.js create mode 100644 docs/assets/core_converters_speeds.md.c887147e.js create mode 100644 docs/assets/core_converters_speeds.md.c887147e.lean.js create mode 100644 docs/assets/core_converters_storage.md.10e30c28.js create mode 100644 docs/assets/core_converters_storage.md.10e30c28.lean.js delete mode 100644 docs/assets/core_converters_storage.md.2b813e83.js delete mode 100644 docs/assets/core_converters_storage.md.2b813e83.lean.js delete mode 100644 docs/assets/core_converters_temperatures.md.86f399dd.js delete mode 100644 docs/assets/core_converters_temperatures.md.86f399dd.lean.js create mode 100644 docs/assets/core_converters_temperatures.md.8a78c1a2.js create mode 100644 docs/assets/core_converters_temperatures.md.8a78c1a2.lean.js delete mode 100644 docs/assets/core_converters_time.md.2241ec46.js delete mode 100644 docs/assets/core_converters_time.md.2241ec46.lean.js create mode 100644 docs/assets/core_converters_time.md.7e0c9e9e.js create mode 100644 docs/assets/core_converters_time.md.7e0c9e9e.lean.js create mode 100644 docs/assets/core_converters_volumes.md.385daf16.js create mode 100644 docs/assets/core_converters_volumes.md.385daf16.lean.js delete mode 100644 docs/assets/core_converters_volumes.md.891b8531.js delete mode 100644 docs/assets/core_converters_volumes.md.891b8531.lean.js create mode 100644 docs/assets/core_crypt.md.55e86926.js create mode 100644 docs/assets/core_crypt.md.55e86926.lean.js delete mode 100644 docs/assets/core_crypt.md.89a6c77c.js delete mode 100644 docs/assets/core_crypt.md.89a6c77c.lean.js create mode 100644 docs/assets/core_guid-options.md.5c1af4b5.js create mode 100644 docs/assets/core_guid-options.md.5c1af4b5.lean.js delete mode 100644 docs/assets/core_guid-options.md.c396b689.js delete mode 100644 docs/assets/core_guid-options.md.c396b689.lean.js delete mode 100644 docs/assets/core_guid.md.d249cd02.js delete mode 100644 docs/assets/core_guid.md.d249cd02.lean.js create mode 100644 docs/assets/core_guid.md.d28b3014.js create mode 100644 docs/assets/core_guid.md.d28b3014.lean.js delete mode 100644 docs/assets/core_internet.md.6a296b9a.js delete mode 100644 docs/assets/core_internet.md.6a296b9a.lean.js create mode 100644 docs/assets/core_internet.md.b3af24f5.js create mode 100644 docs/assets/core_internet.md.b3af24f5.lean.js create mode 100644 docs/assets/core_json-helper.md.cc60e6c2.js create mode 100644 docs/assets/core_json-helper.md.cc60e6c2.lean.js delete mode 100644 docs/assets/core_json-helper.md.e45838d6.js delete mode 100644 docs/assets/core_json-helper.md.e45838d6.lean.js rename docs/assets/{core_maths.md.514d3cf2.js => core_maths.md.3a4734f3.js} (95%) rename docs/assets/{core_maths.md.514d3cf2.lean.js => core_maths.md.3a4734f3.lean.js} (68%) delete mode 100644 docs/assets/core_maths_algebra.md.25cd2650.js delete mode 100644 docs/assets/core_maths_algebra.md.25cd2650.lean.js create mode 100644 docs/assets/core_maths_algebra.md.8645a716.js create mode 100644 docs/assets/core_maths_algebra.md.8645a716.lean.js rename docs/assets/{core_maths_geometry.md.f210912f.js => core_maths_geometry.md.a190352c.js} (94%) rename docs/assets/{core_maths_geometry.md.f210912f.lean.js => core_maths_geometry.md.a190352c.lean.js} (70%) create mode 100644 docs/assets/core_maths_geometry_circle.md.a8461aaf.js create mode 100644 docs/assets/core_maths_geometry_circle.md.a8461aaf.lean.js delete mode 100644 docs/assets/core_maths_geometry_circle.md.e12239d2.js delete mode 100644 docs/assets/core_maths_geometry_circle.md.e12239d2.lean.js create mode 100644 docs/assets/core_maths_geometry_cone.md.2492cc46.js create mode 100644 docs/assets/core_maths_geometry_cone.md.2492cc46.lean.js delete mode 100644 docs/assets/core_maths_geometry_cone.md.ab75c386.js delete mode 100644 docs/assets/core_maths_geometry_cone.md.ab75c386.lean.js create mode 100644 docs/assets/core_maths_geometry_cube.md.0f432795.js create mode 100644 docs/assets/core_maths_geometry_cube.md.0f432795.lean.js delete mode 100644 docs/assets/core_maths_geometry_cube.md.1daf7518.js delete mode 100644 docs/assets/core_maths_geometry_cube.md.1daf7518.lean.js delete mode 100644 docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.js delete mode 100644 docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.lean.js create mode 100644 docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.js create mode 100644 docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.lean.js delete mode 100644 docs/assets/core_maths_geometry_diamond.md.5256c148.js delete mode 100644 docs/assets/core_maths_geometry_diamond.md.5256c148.lean.js create mode 100644 docs/assets/core_maths_geometry_diamond.md.aed6072d.js create mode 100644 docs/assets/core_maths_geometry_diamond.md.aed6072d.lean.js delete mode 100644 docs/assets/core_maths_geometry_hexagon.md.3164db2b.js delete mode 100644 docs/assets/core_maths_geometry_hexagon.md.3164db2b.lean.js create mode 100644 docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.js create mode 100644 docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.lean.js create mode 100644 docs/assets/core_maths_geometry_pyramid.md.88f2f589.js create mode 100644 docs/assets/core_maths_geometry_pyramid.md.88f2f589.lean.js delete mode 100644 docs/assets/core_maths_geometry_pyramid.md.8ad145a7.js delete mode 100644 docs/assets/core_maths_geometry_pyramid.md.8ad145a7.lean.js create mode 100644 docs/assets/core_maths_geometry_rectangle.md.113c3105.js create mode 100644 docs/assets/core_maths_geometry_rectangle.md.113c3105.lean.js delete mode 100644 docs/assets/core_maths_geometry_rectangle.md.de2778c8.js delete mode 100644 docs/assets/core_maths_geometry_rectangle.md.de2778c8.lean.js delete mode 100644 docs/assets/core_maths_geometry_sphere.md.1827ca30.js delete mode 100644 docs/assets/core_maths_geometry_sphere.md.1827ca30.lean.js create mode 100644 docs/assets/core_maths_geometry_sphere.md.5f6f998f.js create mode 100644 docs/assets/core_maths_geometry_sphere.md.5f6f998f.lean.js delete mode 100644 docs/assets/core_maths_geometry_triangle.md.3062f476.js delete mode 100644 docs/assets/core_maths_geometry_triangle.md.3062f476.lean.js create mode 100644 docs/assets/core_maths_geometry_triangle.md.70ac16cf.js create mode 100644 docs/assets/core_maths_geometry_triangle.md.70ac16cf.lean.js delete mode 100644 docs/assets/core_maths_percentages.md.6e243752.js delete mode 100644 docs/assets/core_maths_percentages.md.6e243752.lean.js create mode 100644 docs/assets/core_maths_percentages.md.a68b9e85.js create mode 100644 docs/assets/core_maths_percentages.md.a68b9e85.lean.js create mode 100644 docs/assets/core_maths_proba.md.0aecd6a4.js create mode 100644 docs/assets/core_maths_proba.md.0aecd6a4.lean.js delete mode 100644 docs/assets/core_maths_proba.md.c9293802.js delete mode 100644 docs/assets/core_maths_proba.md.c9293802.lean.js delete mode 100644 docs/assets/core_maths_stats.md.9297b391.js delete mode 100644 docs/assets/core_maths_stats.md.9297b391.lean.js create mode 100644 docs/assets/core_maths_stats.md.edb41b6a.js create mode 100644 docs/assets/core_maths_stats.md.edb41b6a.lean.js delete mode 100644 docs/assets/core_maths_trigonometry.md.78849101.js delete mode 100644 docs/assets/core_maths_trigonometry.md.78849101.lean.js create mode 100644 docs/assets/core_maths_trigonometry.md.db5e4666.js create mode 100644 docs/assets/core_maths_trigonometry.md.db5e4666.lean.js create mode 100644 docs/assets/core_password.md.5b330426.js create mode 100644 docs/assets/core_password.md.5b330426.lean.js delete mode 100644 docs/assets/core_password.md.a9888b08.js delete mode 100644 docs/assets/core_password.md.a9888b08.lean.js delete mode 100644 docs/assets/core_statusinfo.md.a51639ad.js delete mode 100644 docs/assets/core_statusinfo.md.a51639ad.lean.js create mode 100644 docs/assets/core_statusinfo.md.a97192f6.js create mode 100644 docs/assets/core_statusinfo.md.a97192f6.lean.js create mode 100644 docs/assets/core_xml-helper.md.bb579261.js create mode 100644 docs/assets/core_xml-helper.md.bb579261.lean.js delete mode 100644 docs/assets/core_xml-helper.md.db6a1186.js delete mode 100644 docs/assets/core_xml-helper.md.db6a1186.lean.js create mode 100644 docs/assets/enumerations.md.95d6b4f5.js create mode 100644 docs/assets/enumerations.md.95d6b4f5.lean.js delete mode 100644 docs/assets/enumerations.md.ae8efbeb.js delete mode 100644 docs/assets/enumerations.md.ae8efbeb.lean.js rename docs/assets/{env.md.7a083ce5.js => env.md.f2ba38d6.js} (92%) rename docs/assets/{env.md.7a083ce5.lean.js => env.md.f2ba38d6.lean.js} (66%) delete mode 100644 docs/assets/env_filesys.md.8589c991.js delete mode 100644 docs/assets/env_filesys.md.8589c991.lean.js create mode 100644 docs/assets/env_filesys.md.c01b3b78.js create mode 100644 docs/assets/env_filesys.md.c01b3b78.lean.js create mode 100644 docs/assets/env_logger.md.9b14c21f.js create mode 100644 docs/assets/env_logger.md.9b14c21f.lean.js delete mode 100644 docs/assets/env_logger.md.cbed7f54.js delete mode 100644 docs/assets/env_logger.md.cbed7f54.lean.js delete mode 100644 docs/assets/env_system.md.45d34ea7.js delete mode 100644 docs/assets/env_system.md.45d34ea7.lean.js create mode 100644 docs/assets/env_system.md.8962a7fa.js create mode 100644 docs/assets/env_system.md.8962a7fa.lean.js create mode 100644 docs/assets/env_update.md.329bcc46.js create mode 100644 docs/assets/env_update.md.329bcc46.lean.js delete mode 100644 docs/assets/env_update.md.a1273893.js delete mode 100644 docs/assets/env_update.md.a1273893.lean.js create mode 100644 docs/assets/env_uwpapp.md.64413305.js create mode 100644 docs/assets/env_uwpapp.md.64413305.lean.js delete mode 100644 docs/assets/env_uwpapp.md.dcba768f.js delete mode 100644 docs/assets/env_uwpapp.md.dcba768f.lean.js create mode 100644 docs/assets/exceptions.md.77841f50.js create mode 100644 docs/assets/exceptions.md.77841f50.lean.js delete mode 100644 docs/assets/exceptions.md.aae9c983.js delete mode 100644 docs/assets/exceptions.md.aae9c983.lean.js rename docs/assets/{extensions.md.b080d23b.js => extensions.md.32bd4caa.js} (92%) rename docs/assets/{extensions.md.b080d23b.lean.js => extensions.md.32bd4caa.lean.js} (68%) create mode 100644 docs/assets/extensions_array.md.ed7cfa02.js create mode 100644 docs/assets/extensions_array.md.ed7cfa02.lean.js delete mode 100644 docs/assets/extensions_array.md.fc0364fa.js delete mode 100644 docs/assets/extensions_array.md.fc0364fa.lean.js create mode 100644 docs/assets/extensions_double.md.4449dcb3.js create mode 100644 docs/assets/extensions_double.md.4449dcb3.lean.js delete mode 100644 docs/assets/extensions_double.md.de01a066.js delete mode 100644 docs/assets/extensions_double.md.de01a066.lean.js delete mode 100644 docs/assets/extensions_int.md.8d3dd603.js delete mode 100644 docs/assets/extensions_int.md.8d3dd603.lean.js create mode 100644 docs/assets/extensions_int.md.adc0cb07.js create mode 100644 docs/assets/extensions_int.md.adc0cb07.lean.js delete mode 100644 docs/assets/extensions_string.md.57d0b3ae.js delete mode 100644 docs/assets/extensions_string.md.57d0b3ae.lean.js create mode 100644 docs/assets/extensions_string.md.5d08846d.js create mode 100644 docs/assets/extensions_string.md.5d08846d.lean.js delete mode 100644 docs/assets/get-started.md.a01a8ac8.js delete mode 100644 docs/assets/get-started.md.a01a8ac8.lean.js create mode 100644 docs/assets/get-started.md.b142ffa1.js create mode 100644 docs/assets/get-started.md.b142ffa1.lean.js rename docs/assets/{index.md.6827c3c3.js => index.md.541d4bbc.js} (94%) rename docs/assets/{index.md.6827c3c3.lean.js => index.md.541d4bbc.lean.js} (94%) rename docs/assets/{intro.md.8e286665.js => intro.md.ea3bafe7.js} (97%) rename docs/assets/{intro.md.8e286665.lean.js => intro.md.ea3bafe7.lean.js} (67%) delete mode 100644 docs/assets/reference.md.a31a0df4.lean.js rename docs/assets/{reference.md.a31a0df4.js => reference.md.cbdb1199.js} (88%) create mode 100644 docs/assets/reference.md.cbdb1199.lean.js delete mode 100644 docs/assets/style.296d3996.css create mode 100644 docs/assets/style.ddb68ab6.css rename docs/assets/{ui-helpers.md.63c75787.js => ui-helpers.md.f63f6257.js} (92%) rename docs/assets/{ui-helpers.md.63c75787.lean.js => ui-helpers.md.f63f6257.lean.js} (68%) delete mode 100644 docs/assets/ui-helpers_screen.md.abf9d1aa.js delete mode 100644 docs/assets/ui-helpers_screen.md.abf9d1aa.lean.js create mode 100644 docs/assets/ui-helpers_screen.md.c277ff31.js create mode 100644 docs/assets/ui-helpers_screen.md.c277ff31.lean.js create mode 100644 docs/assets/ui-helpers_windowhelpers.md.a1134c53.js create mode 100644 docs/assets/ui-helpers_windowhelpers.md.a1134c53.lean.js create mode 100644 docs/assets/ui-helpers_windowinfo.md.7554d1cd.js create mode 100644 docs/assets/ui-helpers_windowinfo.md.7554d1cd.lean.js delete mode 100644 docs/assets/ui-helpers_winforms.md.3d7797a8.js delete mode 100644 docs/assets/ui-helpers_winforms.md.3d7797a8.lean.js create mode 100644 docs/assets/ui-helpers_winforms.md.fe389c98.js create mode 100644 docs/assets/ui-helpers_winforms.md.fe389c98.lean.js create mode 100644 docs/assets/ui-helpers_wpf.md.91ffecbf.js create mode 100644 docs/assets/ui-helpers_wpf.md.91ffecbf.lean.js delete mode 100644 docs/assets/ui-helpers_wpf.md.9c708ade.js delete mode 100644 docs/assets/ui-helpers_wpf.md.9c708ade.lean.js create mode 100644 docs/ui-helpers/windowhelpers.html create mode 100644 docs/ui-helpers/windowinfo.html diff --git a/Documentation/.vitepress/config.js b/Documentation/.vitepress/config.js index abd50cb5..1ca8c4ff 100644 --- a/Documentation/.vitepress/config.js +++ b/Documentation/.vitepress/config.js @@ -384,6 +384,14 @@ function uiHelpersSidebar() { text: "WinForms", link: "/ui-helpers/winforms", }, + { + text: "WindowHelpers", + link: "/ui-helpers/windowhelpers", + }, + { + text: "WindowInfo", + link: "/ui-helpers/windowinfo", + }, { text: "WPF", link: "/ui-helpers/wpf", diff --git a/Documentation/.vitepress/theme/custom.css b/Documentation/.vitepress/theme/custom.css index 58657ecc..b138030a 100644 --- a/Documentation/.vitepress/theme/custom.css +++ b/Documentation/.vitepress/theme/custom.css @@ -1,22 +1,26 @@ :root { - /* brand colors */ - --vp-c-brand: #00E0FF; - --vp-c-brand-light: #00E0FF; - --vp-c-brand-lighter: #00FF57; - --vp-c-brand-dark: #00E0FF; - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient(135deg, #00E0FF 0%, #00FF57 100%); + /* brand colors */ + --vp-c-brand: #00e0ff; + --vp-c-brand-1: #6aebfc; + --vp-c-brand-2: #00e0ff; + --vp-c-brand-3: #00b9d1; + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 135deg, + #00e0ff 0%, + #00ff57 100% + ); } html.dark { - /* brand colors */ + /* brand colors */ - /* background colors */ - --vp-c-bg: #0a0a1e; - --vp-c-bg-light: #141428; - --vp-c-bg-lighter: #1e1e32; - --vp-code-bg-color: #1e1e32; - --vp-c-black-mute: #1e1e32; - --vp-c-black: #1e1e32; - --vp-c-bg-soft: #1e1e32; -} \ No newline at end of file + /* background colors */ + --vp-c-bg: #0a0a1e; + --vp-c-bg-light: #141428; + --vp-c-bg-lighter: #1e1e32; + --vp-code-bg-color: #1e1e32; + --vp-c-black-mute: #1e1e32; + --vp-c-black: #1e1e32; + --vp-c-bg-soft: #1e1e32; +} diff --git a/Documentation/env/system.md b/Documentation/env/system.md index e93354cf..2c3ed4eb 100644 --- a/Documentation/env/system.md +++ b/Documentation/env/system.md @@ -110,6 +110,29 @@ using PeyrSharp.Env; Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP ``` +### LaunchUWPApp(uwpApp) + +#### Definition + +Launches a UWP application using information from a [`UwpApp`](uwpapp.md) object. + +::: warning +This method only works on Windows. +::: + +#### Arguments + +| Type | Name | Meaning | +| -------- | -------- | ------------------------------ | +| `UwpApp` | `uwpApp` | The UWP application to launch. | + +#### Usage + +```c# +using PeyrSharp.Env; +Sys.LaunchUWPApp(myApp); +``` + ### IsProcessRunning(processName) #### Definition @@ -279,6 +302,41 @@ if (Sys.IsDarkThemeSupported) } ``` +### CurrentTheme + +#### Definition + +```c# +[SupportedOSPlatform("windows")] +public static SystemThemes CurrentTheme { get; } +``` + +Gets the current theme. Returns a [`SystemThemes`](/enumerations.md#systemthemes) value. You can only `get` this property. + +::: warning +This property only works on Windows 10/11. +::: + +#### Usage + +```c# +using Microsoft.Win32; +using PeyrSharp.Env; + +if (Sys.CurrentTheme == SystemThemes.Light) +{ + Console.WriteLine("The current theme is light."); +} +else if (Sys.CurrentTheme == SystemThemes.Dark) +{ + Console.WriteLine("The current theme is dark."); +} +else +{ + Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11 +} +``` + ### RunningProcesses #### Definition diff --git a/Documentation/extensions/string.md b/Documentation/extensions/string.md index ae822e16..9fbc7147 100644 --- a/Documentation/extensions/string.md +++ b/Documentation/extensions/string.md @@ -1,4 +1,5 @@ # StringExtensions + This page is about the `StringExtensions` class available in [`PeyrSharp.Extensions`](/extensions.md). You can find here all of its extension methods. @@ -10,15 +11,18 @@ This class is `static`. The `StringExtensions` class is part of the `PeyrSharp.Extensions` module, and is compatible with all of these frameworks and platforms: -| Package/Platform | Windows | macOS | Linux + others | -|------------------ |--------- |------- |---------------- | -| Extensions | ✅ | ✅ | ✅ | -| **Framework** | **.NET 5** | **.NET 6** | **.NET 7** | -| Extensions | ✅ | ✅ | ✅ | +| Package/Platform | Windows | macOS | Linux + others | +| ---------------- | ---------- | ---------- | -------------- | +| Extensions | ✅ | ✅ | ✅ | +| **Framework** | **.NET 5** | **.NET 6** | **.NET 7** | +| Extensions | ✅ | ✅ | ✅ | ## Methods + ### CountWords() + #### Definition + Counts the number of words in a `string`. Returns `int`. #### Arguments @@ -27,116 +31,128 @@ This method has no arguments. #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; int numberOfWords = "Hello, this is a test sentence!".CountWords(); // numberOfWords = 6 -~~~ +``` ### CountWords(wordSeparator) + #### Definition + Counts the number of words in a `string`, with specified word separators. By default, the method uses those (if you don't pass any argument to it): ` `, `,`, `;`, `.`, `:`, `!`, `?`. Returns `int`. #### Arguments -| Type | Name | Meaning | -|------------ |----------------- |----------------------------- | -| `string[]` | `wordSeparator` | The separator of the words. | +| Type | Name | Meaning | +| ---------- | --------------- | --------------------------- | +| `string[]` | `wordSeparator` | The separator of the words. | #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." }; int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator); // numberOfWords = 6 -~~~ +``` ### EndsWithSamePunctuation(stringToCheck) + #### Definition + Checks if a `string` is ending with the same punctuation than an other one. Returns a `bool`; `true` if it is the case. #### Arguments -| Type | Name | Meaning | -|---------- |----------------- |------------------------ | -| `string` | `stringToCheck` | The string to compare. | +| Type | Name | Meaning | +| -------- | --------------- | ---------------------- | +| `string` | `stringToCheck` | The string to compare. | #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string a = "This is a test sentence."; string b = "This is an another test sentence."; a.EndsWithSamePunctuation(b); // true -~~~ +``` ### EndsWithSamePunctuation(stringToCheck, punctuationToCheck) + #### Definition + Checks if a `string` is ending with the same **specified** punctuation than an other one. Returns a `bool`; `true` if it is the case. #### Arguments -| Type | Name | Meaning | -|---------- |------------------- |----------------------------------- | -| `string` | `stringToCheck` | The string to compare. | -| `string` | `punctuationToCheck` | The punctuation sign to check for. | +| Type | Name | Meaning | +| -------- | -------------------- | ---------------------------------- | +| `string` | `stringToCheck` | The string to compare. | +| `string` | `punctuationToCheck` | The punctuation sign to check for. | #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string a = "This is a test sentence."; string b = "This is an another test sentence."; a.EndsWithSamePunctuation(b, "."); // true -~~~ +``` ### EncryptAes(key) + #### Definitions + Encrypts a `string` using AES encryption. Returns the encrypted content as a `string` as well. #### Arguments -| Type | Name | Meaning | -|---------- |--------- |--------------------------------------------------------------------------------- | -| `string` | `key` | The encryption key. This is the same key that will be used to decrypt the text. | +| Type | Name | Meaning | +| -------- | ----- | ------------------------------------------------------------------------------- | +| `string` | `key` | The encryption key. This is the same key that will be used to decrypt the text. | #### Usage -~~~ c# +```c# using PeyrSharp.Core; string encrypted = "Hello!".EncryptAes("password"); // encrypted = 6NvvTBntd2PdFxXzVbccLw== -~~~ +``` ### DecryptAes(key) + #### Definitions + Decrypts a `string` using AES encryption. Returns the decrypted content as a `string` as well. #### Arguments -| Type | Name | Meaning | -|---------- |--------- |--------------------------------------------------------------------------------- | -| `string` | `key` | The encryption key that was used during the encryption process. | +| Type | Name | Meaning | +| -------- | ----- | --------------------------------------------------------------- | +| `string` | `key` | The encryption key that was used during the encryption process. | #### Usage -~~~ c# +```c# using PeyrSharp.Core; string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password"); // text = Hello! -~~~ +``` ### HasRepeatedCharacters() + #### Definition + Checks if a letter or character is being repeated in a `string`. Returns `bool`. ::: info @@ -149,14 +165,16 @@ This methods has no arguments. #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; "111".HasRepeatedCharacters(); // true -~~~ +``` ### SplitLines() + #### Definition + Splits a `string` lines to an array. Returns `string[]`. ::: info @@ -169,61 +187,111 @@ This methods has no arguments. #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string[] lines = "Hello\nWorld".SplitLines(); // lines = { "Hello", "World" } -~~~ +``` ### ToUpperAt(str, r) + #### Definition -Returns a new `string` in which the characters in a specified range of the current `string` are converted to uppercase. Returns a `string` that is equivalent to the current `string`, but with the characters in the specified range converted to uppercase. + +Returns a new `string` in which the characters in a specified range of the current `string` are converted to uppercase. Returns a `string` that is equivalent to the current `string`, but with the characters in the specified range converted to uppercase. #### Arguments -| Type | Name | Meaning | -|---------- |------ |------------------------------------------------------------- | -| `string` | `str` | The `string` to modify. | -| `Range` | `r` | The range of characters to convert to uppercase. | +| Type | Name | Meaning | +| -------- | ----- | ------------------------------------------------ | +| `string` | `str` | The `string` to modify. | +| `Range` | `r` | The range of characters to convert to uppercase. | #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string str = "aBcDeFgHiJ"; string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase // upper = "aBCDEFGhij" -~~~ +``` + ### ToUpperAt(s) + #### Definition + Uppercases the first letter of a `string`. Returns a `string` with the first letter uppercased. #### Arguments -| Type | Name | Meaning | -|---------- |------ |--------------------------------------- | -| `string` | `s` | The `string` to capitalize. | +| Type | Name | Meaning | +| -------- | ---- | --------------------------- | +| `string` | `s` | The `string` to capitalize. | #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string str = "test"; string upper = str.ToUpperAt(); // Uppercase the first letter of the string // upper = "Test" -~~~ +``` + +### ToLowerAt(s) + +#### Definition + +Uppercases the first letter of a `string`. Returns the input `string` with the first letter lowercased. + +#### Arguments + +| Type | Name | Meaning | +| -------- | ---- | ------------------------ | +| `string` | `s` | The string to lowercase. | + +#### Usage + +```c# +using PeyrSharp.Extensions; +phrase.ToLowerAt(); // "hello world" +``` + +### ToLowerAt(str, r) + +#### Definition + +Returns a new `string` in which the characters in a specified range of the current `string` are converted to lowercase. + +#### Arguments + +| Type | Name | Meaning | +| -------- | ----- | ------------------------------------------------ | +| `string` | `str` | The string to modify. | +| `Range` | `r` | The range of characters to convert to lowercase. | + +#### Returns + +A `string` that is equivalent to the current `string`, but with the characters in the specified range converted to lowercase. + +#### Usage + +```c# +using PeyrSharp.Extensions; +string result = text.ToLowerAt(range); // "This is a test sentence." +``` + ### Reverse(input) + #### Definition Reverses a `string`. #### Arguments -| Type | Name | Description | -|------------|---------|----------------------| +| Type | Name | Description | +| -------- | ------- | ---------------------- | | `string` | `input` | The string to reverse. | #### Returns @@ -232,9 +300,9 @@ A `string` representing the reversed input. #### Usage -~~~ c# +```c# using PeyrSharp.Extensions; string reversed = "Hello, world!".Reverse(); // Output: "!dlrow ,olleH" -~~~ \ No newline at end of file +``` diff --git a/Documentation/package-lock.json b/Documentation/package-lock.json index 460a371b..725b6c0d 100644 --- a/Documentation/package-lock.json +++ b/Documentation/package-lock.json @@ -188,9 +188,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "version": "7.22.14", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.14.tgz", + "integrity": "sha512-1KucTHgOvaw/LzCVrEOAyXkr9rQlp0A1HiHRYnSUE9dmb8PvPW7o5sscg+5169r54n3vGlbx6GevTE/Iw/P3AQ==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -200,36 +200,37 @@ } }, "node_modules/@docsearch/css": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.1.tgz", - "integrity": "sha512-2Pu9HDg/uP/IT10rbQ+4OrTQuxIWdKVUEdcw9/w7kZJv9NeHS6skJx1xuRiFyoGKwAzcHXnLp7csE99sj+O1YA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==", "dev": true }, "node_modules/@docsearch/js": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.1.tgz", - "integrity": "sha512-EXi8de5njxgP6TV3N9ytnGRLG9zmBNTEZjR4VzwPcpPLbZxxTLG2gaFyJyKiFVQxHW/DPlMrDJA3qoRRGEkgZw==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.5.2.tgz", + "integrity": "sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==", "dev": true, "dependencies": { - "@docsearch/react": "3.5.1", + "@docsearch/react": "3.5.2", "preact": "^10.0.0" } }, "node_modules/@docsearch/react": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.1.tgz", - "integrity": "sha512-t5mEODdLzZq4PTFAm/dvqcvZFdPDMdfPE5rJS5SC8OUq9mPzxEy6b+9THIqNM9P0ocCb4UC5jqBrxKclnuIbzQ==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", "dev": true, "dependencies": { "@algolia/autocomplete-core": "1.9.3", "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.5.1", - "algoliasearch": "^4.0.0" + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" }, "peerDependencies": { "@types/react": ">= 16.8.0 < 19.0.0", "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0" + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" }, "peerDependenciesMeta": { "@types/react": { @@ -240,13 +241,16 @@ }, "react-dom": { "optional": true + }, + "search-insights": { + "optional": true } } }, "node_modules/@esbuild/android-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.17.tgz", - "integrity": "sha512-wHsmJG/dnL3OkpAcwbgoBTTMHVi4Uyou3F5mf58ZtmUyIKfcdA7TROav/6tCzET4A3QW2Q2FC+eFneMU+iyOxg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", "cpu": [ "arm" ], @@ -260,9 +264,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.17.tgz", - "integrity": "sha512-9np+YYdNDed5+Jgr1TdWBsozZ85U1Oa3xW0c7TWqH0y2aGghXtZsuT8nYRbzOMcl0bXZXjOGbksoTtVOlWrRZg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", "cpu": [ "arm64" ], @@ -276,9 +280,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.17.tgz", - "integrity": "sha512-O+FeWB/+xya0aLg23hHEM2E3hbfwZzjqumKMSIqcHbNvDa+dza2D0yLuymRBQQnC34CWrsJUXyH2MG5VnLd6uw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", "cpu": [ "x64" ], @@ -292,9 +296,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.17.tgz", - "integrity": "sha512-M9uJ9VSB1oli2BE/dJs3zVr9kcCBBsE883prage1NWz6pBS++1oNn/7soPNS3+1DGj0FrkSvnED4Bmlu1VAE9g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", "cpu": [ "arm64" ], @@ -308,9 +312,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.17.tgz", - "integrity": "sha512-XDre+J5YeIJDMfp3n0279DFNrGCXlxOuGsWIkRb1NThMZ0BsrWXoTg23Jer7fEXQ9Ye5QjrvXpxnhzl3bHtk0g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", "cpu": [ "x64" ], @@ -324,9 +328,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.17.tgz", - "integrity": "sha512-cjTzGa3QlNfERa0+ptykyxs5A6FEUQQF0MuilYXYBGdBxD3vxJcKnzDlhDCa1VAJCmAxed6mYhA2KaJIbtiNuQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", "cpu": [ "arm64" ], @@ -340,9 +344,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.17.tgz", - "integrity": "sha512-sOxEvR8d7V7Kw8QqzxWc7bFfnWnGdaFBut1dRUYtu+EIRXefBc/eIsiUiShnW0hM3FmQ5Zf27suDuHsKgZ5QrA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", "cpu": [ "x64" ], @@ -356,9 +360,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.17.tgz", - "integrity": "sha512-2d3Lw6wkwgSLC2fIvXKoMNGVaeY8qdN0IC3rfuVxJp89CRfA3e3VqWifGDfuakPmp90+ZirmTfye1n4ncjv2lg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", "cpu": [ "arm" ], @@ -372,9 +376,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.17.tgz", - "integrity": "sha512-c9w3tE7qA3CYWjT+M3BMbwMt+0JYOp3vCMKgVBrCl1nwjAlOMYzEo+gG7QaZ9AtqZFj5MbUc885wuBBmu6aADQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", "cpu": [ "arm64" ], @@ -388,9 +392,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.17.tgz", - "integrity": "sha512-1DS9F966pn5pPnqXYz16dQqWIB0dmDfAQZd6jSSpiT9eX1NzKh07J6VKR3AoXXXEk6CqZMojiVDSZi1SlmKVdg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", "cpu": [ "ia32" ], @@ -404,9 +408,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.17.tgz", - "integrity": "sha512-EvLsxCk6ZF0fpCB6w6eOI2Fc8KW5N6sHlIovNe8uOFObL2O+Mr0bflPHyHwLT6rwMg9r77WOAWb2FqCQrVnwFg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", "cpu": [ "loong64" ], @@ -420,9 +424,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.17.tgz", - "integrity": "sha512-e0bIdHA5p6l+lwqTE36NAW5hHtw2tNRmHlGBygZC14QObsA3bD4C6sXLJjvnDIjSKhW1/0S3eDy+QmX/uZWEYQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", "cpu": [ "mips64el" ], @@ -436,9 +440,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.17.tgz", - "integrity": "sha512-BAAilJ0M5O2uMxHYGjFKn4nJKF6fNCdP1E0o5t5fvMYYzeIqy2JdAP88Az5LHt9qBoUa4tDaRpfWt21ep5/WqQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", "cpu": [ "ppc64" ], @@ -452,9 +456,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.17.tgz", - "integrity": "sha512-Wh/HW2MPnC3b8BqRSIme/9Zhab36PPH+3zam5pqGRH4pE+4xTrVLx2+XdGp6fVS3L2x+DrsIcsbMleex8fbE6g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", "cpu": [ "riscv64" ], @@ -468,9 +472,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.17.tgz", - "integrity": "sha512-j/34jAl3ul3PNcK3pfI0NSlBANduT2UO5kZ7FCaK33XFv3chDhICLY8wJJWIhiQ+YNdQ9dxqQctRg2bvrMlYgg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", "cpu": [ "s390x" ], @@ -484,9 +488,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.17.tgz", - "integrity": "sha512-QM50vJ/y+8I60qEmFxMoxIx4de03pGo2HwxdBeFd4nMh364X6TIBZ6VQ5UQmPbQWUVWHWws5MmJXlHAXvJEmpQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", "cpu": [ "x64" ], @@ -500,9 +504,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.17.tgz", - "integrity": "sha512-/jGlhWR7Sj9JPZHzXyyMZ1RFMkNPjC6QIAan0sDOtIo2TYk3tZn5UDrkE0XgsTQCxWTTOcMPf9p6Rh2hXtl5TQ==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", "cpu": [ "x64" ], @@ -516,9 +520,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.17.tgz", - "integrity": "sha512-rSEeYaGgyGGf4qZM2NonMhMOP/5EHp4u9ehFiBrg7stH6BYEEjlkVREuDEcQ0LfIl53OXLxNbfuIj7mr5m29TA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", "cpu": [ "x64" ], @@ -532,9 +536,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.17.tgz", - "integrity": "sha512-Y7ZBbkLqlSgn4+zot4KUNYst0bFoO68tRgI6mY2FIM+b7ZbyNVtNbDP5y8qlu4/knZZ73fgJDlXID+ohY5zt5g==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", "cpu": [ "x64" ], @@ -548,9 +552,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.17.tgz", - "integrity": "sha512-bwPmTJsEQcbZk26oYpc4c/8PvTY3J5/QK8jM19DVlEsAB41M39aWovWoHtNm78sd6ip6prilxeHosPADXtEJFw==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", "cpu": [ "arm64" ], @@ -564,9 +568,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.17.tgz", - "integrity": "sha512-H/XaPtPKli2MhW+3CQueo6Ni3Avggi6hP/YvgkEe1aSaxw+AeO8MFjq8DlgfTd9Iz4Yih3QCZI6YLMoyccnPRg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", "cpu": [ "ia32" ], @@ -580,9 +584,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.17.tgz", - "integrity": "sha512-fGEb8f2BSA3CW7riJVurug65ACLuQAzKq0SSqkY2b2yHHH0MzDfbLyKIGzHwOI/gkHcxM/leuSW6D5w/LMNitA==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", "cpu": [ "x64" ], @@ -607,19 +611,6 @@ "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==", "dev": true }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", - "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", - "dev": true, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.0.0", - "vue": "^3.2.25" - } - }, "node_modules/@vue/compiler-core": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", @@ -739,14 +730,14 @@ "dev": true }, "node_modules/@vueuse/core": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.1.tgz", - "integrity": "sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.4.1.tgz", + "integrity": "sha512-DkHIfMIoSIBjMgRRvdIvxsyboRZQmImofLyOHADqiVbQVilP8VVHDhBX2ZqoItOgu7dWa8oXiNnScOdPLhdEXg==", "dev": true, "dependencies": { "@types/web-bluetooth": "^0.0.17", - "@vueuse/metadata": "10.2.1", - "@vueuse/shared": "10.2.1", + "@vueuse/metadata": "10.4.1", + "@vueuse/shared": "10.4.1", "vue-demi": ">=0.14.5" }, "funding": { @@ -754,9 +745,9 @@ } }, "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "dev": true, "hasInstallScript": true, "bin": { @@ -780,13 +771,13 @@ } }, "node_modules/@vueuse/integrations": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.2.1.tgz", - "integrity": "sha512-FDP5lni+z9FjHE9H3xuvwSjoRV9U8jmDvJpmHPCBjUgPGYRynwb60eHWXCFJXLUtb4gSIHy0e+iaEbrKdalCkQ==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-10.4.1.tgz", + "integrity": "sha512-uRBPyG5Lxoh1A/J+boiioPT3ELEAPEo4t8W6Mr4yTKIQBeW/FcbsotZNPr4k9uz+3QEksMmflWloS9wCnypM7g==", "dev": true, "dependencies": { - "@vueuse/core": "10.2.1", - "@vueuse/shared": "10.2.1", + "@vueuse/core": "10.4.1", + "@vueuse/shared": "10.4.1", "vue-demi": ">=0.14.5" }, "funding": { @@ -846,9 +837,9 @@ } }, "node_modules/@vueuse/integrations/node_modules/vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "dev": true, "hasInstallScript": true, "bin": { @@ -872,18 +863,18 @@ } }, "node_modules/@vueuse/metadata": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.1.tgz", - "integrity": "sha512-3Gt68mY/i6bQvFqx7cuGBzrCCQu17OBaGWS5JdwISpMsHnMKKjC2FeB5OAfMcCQ0oINfADP3i9A4PPRo0peHdQ==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.4.1.tgz", + "integrity": "sha512-2Sc8X+iVzeuMGHr6O2j4gv/zxvQGGOYETYXEc41h0iZXIRnRbJZGmY/QP8dvzqUelf8vg0p/yEA5VpCEu+WpZg==", "dev": true, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.1.tgz", - "integrity": "sha512-QWHq2bSuGptkcxx4f4M/fBYC3Y8d3M2UYyLsyzoPgEoVzJURQ0oJeWXu79OiLlBb8gTKkqe4mO85T/sf39mmiw==", + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.4.1.tgz", + "integrity": "sha512-vz5hbAM4qA0lDKmcr2y3pPdU+2EVw/yzfRsBdu+6+USGa4PxqSQRYIUC9/NcT06y+ZgaTsyURw2I9qOFaaXHAg==", "dev": true, "dependencies": { "vue-demi": ">=0.14.5" @@ -893,9 +884,9 @@ } }, "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", "dev": true, "hasInstallScript": true, "bin": { @@ -946,12 +937,6 @@ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", "dev": true }, - "node_modules/body-scroll-lock": { - "version": "4.0.0-beta.0", - "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz", - "integrity": "sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==", - "dev": true - }, "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", @@ -959,9 +944,9 @@ "dev": true }, "node_modules/esbuild": { - "version": "0.18.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.17.tgz", - "integrity": "sha512-1GJtYnUxsJreHYA0Y+iQz2UEykonY66HNWOb0yXYZi9/kNrORUEHVg87eQsCtqh59PEJ5YVZJO98JHznMJSWjg==", + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", "dev": true, "hasInstallScript": true, "bin": { @@ -971,28 +956,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.17", - "@esbuild/android-arm64": "0.18.17", - "@esbuild/android-x64": "0.18.17", - "@esbuild/darwin-arm64": "0.18.17", - "@esbuild/darwin-x64": "0.18.17", - "@esbuild/freebsd-arm64": "0.18.17", - "@esbuild/freebsd-x64": "0.18.17", - "@esbuild/linux-arm": "0.18.17", - "@esbuild/linux-arm64": "0.18.17", - "@esbuild/linux-ia32": "0.18.17", - "@esbuild/linux-loong64": "0.18.17", - "@esbuild/linux-mips64el": "0.18.17", - "@esbuild/linux-ppc64": "0.18.17", - "@esbuild/linux-riscv64": "0.18.17", - "@esbuild/linux-s390x": "0.18.17", - "@esbuild/linux-x64": "0.18.17", - "@esbuild/netbsd-x64": "0.18.17", - "@esbuild/openbsd-x64": "0.18.17", - "@esbuild/sunos-x64": "0.18.17", - "@esbuild/win32-arm64": "0.18.17", - "@esbuild/win32-ia32": "0.18.17", - "@esbuild/win32-x64": "0.18.17" + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, "node_modules/estree-walker": { @@ -1011,9 +996,9 @@ } }, "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, "optional": true, @@ -1031,9 +1016,9 @@ "dev": true }, "node_modules/magic-string": { - "version": "0.30.2", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz", - "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==", + "version": "0.30.3", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.3.tgz", + "integrity": "sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -1079,9 +1064,9 @@ "dev": true }, "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "version": "8.4.29", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.29.tgz", + "integrity": "sha512-cbI+jaqIeu/VGqXEarWkRCCffhjgXc0qjBtXpqJhTBohMUjUQnbBr0xqX3vEKudc4iviTewcJo5ajcec5+wdJw==", "dev": true, "funding": [ { @@ -1107,9 +1092,9 @@ } }, "node_modules/preact": { - "version": "10.16.0", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.16.0.tgz", - "integrity": "sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA==", + "version": "10.17.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz", + "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==", "dev": true, "funding": { "type": "opencollective", @@ -1117,9 +1102,9 @@ } }, "node_modules/rollup": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.27.0.tgz", - "integrity": "sha512-aOltLCrYZ0FhJDm7fCqwTjIUEVjWjcydKBV/Zeid6Mn8BWgDCUBBWT5beM5ieForYNo/1ZHuGJdka26kvQ3Gzg==", + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.28.1.tgz", + "integrity": "sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -1133,13 +1118,13 @@ } }, "node_modules/search-insights": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.7.0.tgz", - "integrity": "sha512-GLbVaGgzYEKMvuJbHRhLi1qoBFnjXZGZ6l4LxOYPCp4lI2jDRB3jPU9/XNhMwv6kvnA9slTreq6pvK+b3o3aqg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.8.0.tgz", + "integrity": "sha512-VzI4PMktJbydkbrF3/n40vFfRxdwg+o3CkQt0F3mHRSXVuv0PsVxQvB6mQQq/e9MCXAemcmp/GP9CNHpayFoCw==", "dev": true, "peer": true, "engines": { - "node": ">=8.16.0" + "node": ">=16.0.0" } }, "node_modules/shiki": { @@ -1170,14 +1155,14 @@ "dev": true }, "node_modules/vite": { - "version": "4.4.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.7.tgz", - "integrity": "sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==", + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.4.9.tgz", + "integrity": "sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==", "dev": true, "dependencies": { "esbuild": "^0.18.10", - "postcss": "^8.4.26", - "rollup": "^3.25.2" + "postcss": "^8.4.27", + "rollup": "^3.27.1" }, "bin": { "vite": "bin/vite.js" @@ -1225,23 +1210,21 @@ } }, "node_modules/vitepress": { - "version": "1.0.0-beta.6", - "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-beta.6.tgz", - "integrity": "sha512-xK/ulKgQpKZVbvlL4+/vW49VG7ySi5nmSoKUNH1G4kM+Cj9JwYM+PDJO7jSJROv8zW99G0ise+maDYnaLlbGBQ==", + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.0.0-rc.10.tgz", + "integrity": "sha512-+MsahIWqq5WUEmj6MR4obcKYbT7im07jZPCQPdNJExkeOSbOAJ4xypSLx88x7rvtzWHhHc5aXbOhCRvGEGjFrw==", "dev": true, "dependencies": { - "@docsearch/css": "^3.5.1", - "@docsearch/js": "^3.5.1", - "@vitejs/plugin-vue": "^4.2.3", + "@docsearch/css": "^3.5.2", + "@docsearch/js": "^3.5.2", "@vue/devtools-api": "^6.5.0", - "@vueuse/core": "^10.2.1", - "@vueuse/integrations": "^10.2.1", - "body-scroll-lock": "4.0.0-beta.0", + "@vueuse/core": "^10.4.1", + "@vueuse/integrations": "^10.4.1", "focus-trap": "^7.5.2", "mark.js": "8.11.1", "minisearch": "^6.1.0", "shiki": "^0.14.3", - "vite": "^4.4.6", + "vite": "^4.4.9", "vue": "^3.3.4" }, "bin": { diff --git a/Documentation/reference.md b/Documentation/reference.md index 26d3b4a4..44adcaad 100644 --- a/Documentation/reference.md +++ b/Documentation/reference.md @@ -73,4 +73,6 @@ The reference of PeyrSharp. - [Home](ui-helpers.md) - [Screen](/ui-helpers/screen.md) - [WinForms](/ui-helpers/winforms.md) +- [WindowHelpers](/ui-helpers/windowhelpers.md) +- [WindowInfo](/ui-helpers/windowinfo.md) - [WPF](/ui-helpers/wpf.md) diff --git a/docs/404.html b/docs/404.html index 72307277..e0882d80 100644 --- a/docs/404.html +++ b/docs/404.html @@ -5,16 +5,16 @@ 404 | PeyrSharp - + - + - + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

- +
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/assets/app.49563fce.js b/docs/assets/app.49563fce.js new file mode 100644 index 00000000..61a3f1c2 --- /dev/null +++ b/docs/assets/app.49563fce.js @@ -0,0 +1 @@ +import{s as o,a0 as p,a1 as i,a2 as u,a3 as c,a4 as l,a5 as d,a6 as f,a7 as m,a8 as h,a9 as A,U as g,d as P,u as v,j as y,y as C,aa as w,ab as _,ac as b,ad as E}from"./chunks/framework.b637c96f.js";import{t as R}from"./chunks/theme.1c98771e.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=r(R),D=P({name:"VitePressApp",setup(){const{site:e}=v();return y(()=>{C(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),_(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function j(){const e=S(),a=O();a.provide(i,e);const t=u(e.route);return a.provide(c,t),a.component("Content",l),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:f}),{app:a,router:e,data:t}}function O(){return m(D)}function S(){let e=o,a;return h(t=>{let n=A(t);return n?(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),o&&(e=!1),g(()=>import(n),[])):null},s.NotFound)}o&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/docs/assets/app.b069fff0.js b/docs/assets/app.b069fff0.js deleted file mode 100644 index 47139dae..00000000 --- a/docs/assets/app.b069fff0.js +++ /dev/null @@ -1 +0,0 @@ -import{V as s,a4 as p,a5 as i,a6 as u,a7 as c,a8 as l,a9 as f,aa as d,ab as m,ac as h,ad as A,Y as g,d as P,u as v,j as y,A as C,ae as w,af as _,ag as b,ah as E}from"./chunks/framework.1eef7d9b.js";import{t as R}from"./chunks/theme.0b40695b.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const o=r(R),D=P({name:"VitePressApp",setup(){const{site:e}=v();return y(()=>{C(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),_(),b(),o.setup&&o.setup(),()=>E(o.Layout)}});async function j(){const e=S(),a=O();a.provide(i,e);const t=u(e.route);return a.provide(c,t),a.component("Content",l),a.component("ClientOnly",f),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:a,router:e,siteData:d}),{app:a,router:e,data:t}}function O(){return m(D)}function S(){let e=s,a;return h(t=>{let n=A(t);return n?(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),s&&(e=!1),g(()=>import(n),[])):null},o.NotFound)}s&&j().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{j as createApp}; diff --git a/docs/assets/chunks/VPAlgoliaSearchBox.456e474e.js b/docs/assets/chunks/VPAlgoliaSearchBox.c3e2c39d.js similarity index 55% rename from docs/assets/chunks/VPAlgoliaSearchBox.456e474e.js rename to docs/assets/chunks/VPAlgoliaSearchBox.c3e2c39d.js index 6e72be02..7d6c68d9 100644 --- a/docs/assets/chunks/VPAlgoliaSearchBox.456e474e.js +++ b/docs/assets/chunks/VPAlgoliaSearchBox.c3e2c39d.js @@ -1,17 +1,17 @@ -import{d as fo,ai as mo,D as po,j as vo,z as ho,o as yo,c as go}from"./framework.1eef7d9b.js";import{u as bo}from"./theme.0b40695b.js";/*! @docsearch/js 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function cn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function I(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function st(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var i,a,u=[],c=!0,s=!1;try{for(o=o.call(n);!(c=(i=o.next()).done)&&(u.push(i.value),!r||u.length!==r);c=!0);}catch(l){s=!0,a=l}finally{try{c||o.return==null||o.return()}finally{if(s)throw a}}return u}}(t,e)||yr(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +import{d as so,ae as fo,K as mo,j as po,x as vo,o as ho,c as yo}from"./framework.b637c96f.js";import{u as go}from"./theme.1c98771e.js";/*! @docsearch/js 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function un(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function I(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function se(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var i,a,u=[],c=!0,s=!1;try{for(o=o.call(n);!(c=(i=o.next()).done)&&(u.push(i.value),!r||u.length!==r);c=!0);}catch(l){s=!0,a=l}finally{try{c||o.return==null||o.return()}finally{if(s)throw a}}return u}}(t,e)||yr(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ft(t){return function(e){if(Array.isArray(e))return Lt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||yr(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function yr(t,e){if(t){if(typeof t=="string")return Lt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Lt(t,e):void 0}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n3)for(n=[n],i=3;i0?Pe(v.type,v.props,v.key,null,v.__v):v)!=null){if(v.__=n,v.__b=n.__b+1,(p=b[l])===null||p&&v.key==p.key&&v.type===p.type)b[l]=void 0;else for(m=0;m<_;m++){if((p=b[m])&&v.key==p.key&&v.type===p.type){b[m]=void 0;break}p=null}Zt(t,v,p=p||mt,o,i,a,u,c,s),d=v.__e,(m=v.ref)&&p.ref!=m&&(y||(y=[]),p.ref&&y.push(p.ref,null,v),y.push(m,v.__c||d,v)),d!=null?(h==null&&(h=d),typeof v.type=="function"&&v.__k!=null&&v.__k===p.__k?v.__d=c=wr(v,c,t):c=jr(t,v,p,b,d,c),s||n.type!=="option"?typeof n.type=="function"&&(n.__d=c):t.value=""):c&&p.__e==c&&c.parentNode!=t&&(c=Ve(p))}for(n.__e=h,l=_;l--;)b[l]!=null&&(typeof n.type=="function"&&b[l].__e!=null&&b[l].__e==n.__d&&(n.__d=Ve(r,l+1)),Ir(b[l],b[l]));if(y)for(l=0;l3)for(n=[n],i=3;i=n.__.length&&n.__.push({}),n.__[t]}function kr(t){return pe=1,Ar(xr,t)}function Ar(t,e,n){var r=ze(de++,2);return r.t=t,r.__c||(r.__=[n?n(e):xr(void 0,e),function(o){var i=r.t(r.__[0],o);r.__[0]!==i&&(r.__=[i,r.__[1]],r.__c.setState({}))}],r.__c=q),r.__}function Cr(t,e){var n=ze(de++,3);!w.__s&&Yt(n.__H,e)&&(n.__=t,n.__H=e,q.__H.__h.push(n))}function gn(t,e){var n=ze(de++,4);!w.__s&&Yt(n.__H,e)&&(n.__=t,n.__H=e,q.__h.push(n))}function Pt(t,e){var n=ze(de++,7);return Yt(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Po(){Ht.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(at),t.__H.__h.forEach(Ut),t.__H.__h=[]}catch(e){t.__H.__h=[],w.__e(e,t.__v)}}),Ht=[]}w.__b=function(t){q=null,pn&&pn(t)},w.__r=function(t){vn&&vn(t),de=0;var e=(q=t.__c).__H;e&&(e.__h.forEach(at),e.__h.forEach(Ut),e.__h=[])},w.diffed=function(t){dn&&dn(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(Ht.push(e)!==1&&mn===w.requestAnimationFrame||((mn=w.requestAnimationFrame)||function(n){var r,o=function(){clearTimeout(i),bn&&cancelAnimationFrame(r),setTimeout(n)},i=setTimeout(o,100);bn&&(r=requestAnimationFrame(o))})(Po)),q=void 0},w.__c=function(t,e){e.some(function(n){try{n.__h.forEach(at),n.__h=n.__h.filter(function(r){return!r.__||Ut(r)})}catch(r){e.some(function(o){o.__h&&(o.__h=[])}),e=[],w.__e(r,n.__v)}}),hn&&hn(t,e)},w.unmount=function(t){yn&&yn(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(at)}catch(n){w.__e(n,e.__v)}};var bn=typeof requestAnimationFrame=="function";function at(t){var e=q;typeof t.__c=="function"&&t.__c(),q=e}function Ut(t){var e=q;t.__c=t.__(),q=e}function Yt(t,e){return!t||t.length!==e.length||e.some(function(n,r){return n!==t[r]})}function xr(t,e){return typeof e=="function"?e(t):e}function Nr(t,e){for(var n in e)t[n]=e[n];return t}function Ft(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var r in e)if(r!=="__source"&&t[r]!==e[r])return!0;return!1}function Bt(t){this.props=t}(Bt.prototype=new W).isPureReactComponent=!0,Bt.prototype.shouldComponentUpdate=function(t,e){return Ft(this.props,t)||Ft(this.state,e)};var _n=w.__b;w.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),_n&&_n(t)};var Io=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,On=function(t,e){return t==null?null:J(J(t).map(e))},Do={map:On,forEach:On,count:function(t){return t?J(t).length:0},only:function(t){var e=J(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:J},ko=w.__e;function ct(){this.__u=0,this.t=null,this.__b=null}function Tr(t){var e=t.__.__c;return e&&e.__e&&e.__e(t)}function we(){this.u=null,this.o=null}w.__e=function(t,e,n){if(t.then){for(var r,o=e;o=o.__;)if((r=o.__c)&&r.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),r.__c(t,e)}ko(t,e,n)},(ct.prototype=new W).__c=function(t,e){var n=e.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var o=Tr(r.__v),i=!1,a=function(){i||(i=!0,n.componentWillUnmount=n.__c,o?o(u):u())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){a(),n.__c&&n.__c()};var u=function(){if(!--r.__u){if(r.state.__e){var s=r.state.__e;r.__v.__k[0]=function m(p,v,d){return p&&(p.__v=null,p.__k=p.__k&&p.__k.map(function(h){return m(h,v,d)}),p.__c&&p.__c.__P===v&&(p.__e&&d.insertBefore(p.__e,p.__d),p.__c.__e=!0,p.__c.__P=d)),p}(s,s.__c.__P,s.__c.__O)}var l;for(r.setState({__e:r.__b=null});l=r.t.pop();)l.forceUpdate()}},c=e.__h===!0;r.__u++||c||r.setState({__e:r.__b=r.__v.__k[0]}),t.then(a,a)},ct.prototype.componentWillUnmount=function(){this.t=[]},ct.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function i(a,u,c){return a&&(a.__c&&a.__c.__H&&(a.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),a.__c.__H=null),(a=Nr({},a)).__c!=null&&(a.__c.__P===c&&(a.__c.__P=u),a.__c=null),a.__k=a.__k&&a.__k.map(function(s){return i(s,u,c)})),a}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=e.__e&&V(X,null,t.fallback);return o&&(o.__h=null),[V(X,null,e.__e?null:t.children),o]};var Sn=function(t,e,n){if(++n[1]===n[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(n=t.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),e.i.removeChild(r)}}),We(V(Ao,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Rr(t,e){return V(Co,{__v:t,i:e})}(we.prototype=new W).__e=function(t){var e=this,n=Tr(e.__v),r=e.o.get(t);return r[0]++,function(o){var i=function(){e.props.revealOrder?(r.push(o),Sn(e,t,r)):o()};n?n(i):i()}},we.prototype.render=function(t){this.u=null,this.o=new Map;var e=J(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},we.prototype.componentDidUpdate=we.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){Sn(t,n,e)})};var qr=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,xo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,No=function(t){return(typeof Symbol<"u"&&Be(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};function Lr(t,e,n){return e.__k==null&&(e.textContent=""),We(t,e),typeof n=="function"&&n(),t?t.__c:null}W.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(W.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var wn=w.event;function To(){}function Ro(){return this.cancelBubble}function qo(){return this.defaultPrevented}w.event=function(t){return wn&&(t=wn(t)),t.persist=To,t.isPropagationStopped=Ro,t.isDefaultPrevented=qo,t.nativeEvent=t};var Mr,jn={configurable:!0,get:function(){return this.class}},En=w.vnode;w.vnode=function(t){var e=t.type,n=t.props,r=n;if(typeof e=="string"){for(var o in r={},n){var i=n[o];o==="value"&&"defaultValue"in n&&i==null||(o==="defaultValue"&&"value"in n&&n.value==null?o="value":o==="download"&&i===!0?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+e)&&!No(n.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():xo.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():i===null&&(i=void 0),r[o]=i)}e=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=J(n.children).forEach(function(a){a.props.selected=r.value.indexOf(a.props.value)!=-1})),e=="select"&&r.defaultValue!=null&&(r.value=J(n.children).forEach(function(a){a.props.selected=r.multiple?r.defaultValue.indexOf(a.props.value)!=-1:r.defaultValue==a.props.value})),t.props=r}e&&n.class!=n.className&&(jn.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",jn)),t.$$typeof=qr,En&&En(t)};var Pn=w.__r;w.__r=function(t){Pn&&Pn(t),Mr=t.__c};var Lo={ReactCurrentDispatcher:{current:{readContext:function(t){return Mr.__n[t.__c].props.value}}}};(typeof performance>"u"?"undefined":Be(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function In(t){return!!t&&t.$$typeof===qr}var f={useState:kr,useReducer:Ar,useEffect:Cr,useLayoutEffect:gn,useRef:function(t){return pe=5,Pt(function(){return{current:t}},[])},useImperativeHandle:function(t,e,n){pe=6,gn(function(){typeof t=="function"?t(e()):t&&(t.current=e())},n==null?n:n.concat(t))},useMemo:Pt,useCallback:function(t,e){return pe=8,Pt(function(){return t},e)},useContext:function(t){var e=q.context[t.__c],n=ze(de++,9);return n.__c=t,e?(n.__==null&&(n.__=!0,e.sub(q)),e.props.value):t.__},useDebugValue:function(t,e){w.useDebugValue&&w.useDebugValue(e?e(t):t)},version:"16.8.0",Children:Do,render:Lr,hydrate:function(t,e,n){return Dr(t,e),typeof n=="function"&&n(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(We(null,t),!0)},createPortal:Rr,createElement:V,createContext:function(t,e){var n={__c:e="__cC"+br++,__:t,Consumer:function(r,o){return r.children(o)},Provider:function(r){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.some(Mt)},this.sub=function(a){o.push(a);var u=a.componentWillUnmount;a.componentWillUnmount=function(){o.splice(o.indexOf(a),1),u&&u.call(a)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n},createFactory:function(t){return V.bind(null,t)},cloneElement:function(t){return In(t)?Eo.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:X,isValidElement:In,findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:W,PureComponent:Bt,memo:function(t,e){function n(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:Ft(this.props,o)}function r(o){return this.shouldComponentUpdate=n,V(t,o)}return r.displayName="Memo("+(t.displayName||t.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r},forwardRef:function(t){function e(n,r){var o=Nr({},n);return delete o.ref,t(o,(r=n.ref||r)&&(Be(r)!="object"||"current"in r)?r:null)}return e.$$typeof=Io,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:X,Suspense:ct,SuspenseList:we,lazy:function(t){var e,n,r;function o(i){if(e||(e=t()).then(function(a){n=a.default||a},function(a){r=a}),r)throw r;if(!n)throw e;return V(n,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Lo};function Mo(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Hr(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ho=["translations"];function Vt(){return Vt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var Bo=f.forwardRef(function(t,e){var n=t.translations,r=n===void 0?{}:n,o=Fo(t,Ho),i=r.buttonText,a=i===void 0?"Search":i,u=r.buttonAriaLabel,c=u===void 0?"Search":u,s=Uo(kr(null),2),l=s[0],m=s[1];return Cr(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("⌘"):m("Ctrl"))},[]),f.createElement("button",Vt({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:e}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(Hr,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement(Mo,null):l),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Ur(t,e){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),i=0;it.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function xn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function ve(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:20,n=[],r=0;r=3||n===2&&r>=4||n===1&&r>=10);function i(a,u,c){if(o&&c!==void 0){var s=c[0].__autocomplete_algoliaCredentials,l={"X-Algolia-Application-Id":s.appId,"X-Algolia-API-Key":s.apiKey};t.apply(void 0,[a].concat(Ye(u),[{headers:l}]))}else t.apply(void 0,[a].concat(Ye(u)))}return{init:function(a,u){t("init",{appId:a,apiKey:u})},setUserToken:function(a){t("setUserToken",a)},clickedObjectIDsAfterSearch:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("clickedObjectIDsAfterSearch",Ge(u),u[0].items)},clickedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("clickedObjectIDs",Ge(u),u[0].items)},clickedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["clickedFilters"].concat(u))},convertedObjectIDsAfterSearch:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("convertedObjectIDsAfterSearch",Ge(u),u[0].items)},convertedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("convertedObjectIDs",Ge(u),u[0].items)},convertedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["convertedFilters"].concat(u))},viewedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&u.reduce(function(s,l){var m=l.items,p=Br(l,$o);return[].concat(Ye(s),Ye(Qo(ve(ve({},p),{},{objectIDs:(m==null?void 0:m.map(function(v){return v.objectID}))||p.objectIDs})).map(function(v){return{items:m,payload:v}})))},[]).forEach(function(s){var l=s.items;return i("viewedObjectIDs",[s.payload],l)})},viewedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["viewedFilters"].concat(u))}}}function Yo(t){var e=t.items.reduce(function(n,r){var o;return n[r.__autocomplete_indexName]=((o=n[r.__autocomplete_indexName])!==null&&o!==void 0?o:[]).concat(r),n},{});return Object.keys(e).map(function(n){return{index:n,items:e[n],algoliaSource:["autocomplete"]}})}function Dt(t){return t.objectID&&t.__autocomplete_indexName&&t.__autocomplete_queryID}function De(t){return De=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},De(t)}function ae(t){return function(e){if(Array.isArray(e))return kt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||function(e,n){if(e){if(typeof e=="string")return kt(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kt(e,n)}}(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function kt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&ei({onItemsChange:r,items:p,insights:u,state:m}))}},0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(l){var m=l.setContext,p=l.onSelect,v=l.onActive;a("addAlgoliaAgent","insights-plugin"),m({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:u}}),p(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&o({state:y,event:b,insights:u,item:h,insightsEvents:[G({eventName:"Item Selected"},An({item:h,items:c.current}))]})}),v(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&i({state:y,event:b,insights:u,item:h,insightsEvents:[G({eventName:"Item Active"},An({item:h,items:c.current}))]})})},onStateChange:function(l){var m=l.state;s({state:m})},__autocomplete_pluginOptions:t}}function ut(t,e){var n=e;return{then:function(r,o){return ut(t.then(Xe(r,n,t),Xe(o,n,t)),n)},catch:function(r){return ut(t.catch(Xe(r,n,t)),n)},finally:function(r){return r&&n.onCancelList.push(r),ut(t.finally(Xe(r&&function(){return n.onCancelList=[],r()},n,t)),n)},cancel:function(){n.isCanceled=!0;var r=n.onCancelList;n.onCancelList=[],r.forEach(function(o){o()})},isCanceled:function(){return n.isCanceled===!0}}}function Tn(t){return ut(t,{isCanceled:!1,onCancelList:[]})}function Xe(t,e,n){return t?function(r){return e.isCanceled?r:t(r)}:n}function Rn(t,e,n,r){if(!n)return null;if(t<0&&(e===null||r!==null&&e===0))return n+t;var o=(e===null?-1:e)+t;return o<=-1||o>=n?r===null?null:0:o}function qn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ln(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0},reshape:function(i){return i.sources}},t),{},{id:(n=t.id)!==null&&n!==void 0?n:"autocomplete-".concat(Vo++),plugins:o,initialState:ce({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},t.initialState),onStateChange:function(i){var a;(a=t.onStateChange)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onStateChange)===null||c===void 0?void 0:c.call(u,i)})},onSubmit:function(i){var a;(a=t.onSubmit)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onSubmit)===null||c===void 0?void 0:c.call(u,i)})},onReset:function(i){var a;(a=t.onReset)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onReset)===null||c===void 0?void 0:c.call(u,i)})},getSources:function(i){return Promise.all([].concat(ci(o.map(function(a){return a.getSources})),[t.getSources]).filter(Boolean).map(function(a){return function(u,c){var s=[];return Promise.resolve(u(c)).then(function(l){return Promise.all(l.filter(function(m){return!!m}).map(function(m){if(m.sourceId,s.includes(m.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(m.sourceId)," is not unique."));s.push(m.sourceId);var p={getItemInputValue:function(d){return d.state.query},getItemUrl:function(){},onSelect:function(d){(0,d.setIsOpen)(!1)},onActive:vt,onResolve:vt};Object.keys(p).forEach(function(d){p[d].__default=!0});var v=Ln(Ln({},p),m);return Promise.resolve(v)}))})}(a,i)})).then(function(a){return Ke(a)}).then(function(a){return a.map(function(u){return ce(ce({},u),{},{onSelect:function(c){u.onSelect(c),e.forEach(function(s){var l;return(l=s.onSelect)===null||l===void 0?void 0:l.call(s,c)})},onActive:function(c){u.onActive(c),e.forEach(function(s){var l;return(l=s.onActive)===null||l===void 0?void 0:l.call(s,c)})},onResolve:function(c){u.onResolve(c),e.forEach(function(s){var l;return(l=s.onResolve)===null||l===void 0?void 0:l.call(s,c)})}})})})},navigator:ce({navigate:function(i){var a=i.itemUrl;r.location.assign(a)},navigateNewTab:function(i){var a=i.itemUrl,u=r.open(a,"_blank","noopener");u==null||u.focus()},navigateNewWindow:function(i){var a=i.itemUrl;r.open(a,"_blank","noopener")}},t.navigator)})}function Ne(t){return Ne=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ne(t)}function Fn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function tt(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n3)for(n=[n],i=3;i0?Ie(v.type,v.props,v.key,null,v.__v):v)!=null){if(v.__=n,v.__b=n.__b+1,(p=b[l])===null||p&&v.key==p.key&&v.type===p.type)b[l]=void 0;else for(m=0;m<_;m++){if((p=b[m])&&v.key==p.key&&v.type===p.type){b[m]=void 0;break}p=null}Yt(t,v,p=p||mt,o,i,a,u,c,s),d=v.__e,(m=v.ref)&&p.ref!=m&&(y||(y=[]),p.ref&&y.push(p.ref,null,v),y.push(m,v.__c||d,v)),d!=null?(h==null&&(h=d),typeof v.type=="function"&&v.__k!=null&&v.__k===p.__k?v.__d=c=wr(v,c,t):c=jr(t,v,p,b,d,c),s||n.type!=="option"?typeof n.type=="function"&&(n.__d=c):t.value=""):c&&p.__e==c&&c.parentNode!=t&&(c=We(p))}for(n.__e=h,l=_;l--;)b[l]!=null&&(typeof n.type=="function"&&b[l].__e!=null&&b[l].__e==n.__d&&(n.__d=We(r,l+1)),Ir(b[l],b[l]));if(y)for(l=0;l3)for(n=[n],i=3;i=n.__.length&&n.__.push({}),n.__[t]}function kr(t){return pe=1,Ar(xr,t)}function Ar(t,e,n){var r=Je(de++,2);return r.t=t,r.__c||(r.__=[n?n(e):xr(void 0,e),function(o){var i=r.t(r.__[0],o);r.__[0]!==i&&(r.__=[i,r.__[1]],r.__c.setState({}))}],r.__c=q),r.__}function Cr(t,e){var n=Je(de++,3);!w.__s&&Gt(n.__H,e)&&(n.__=t,n.__H=e,q.__H.__h.push(n))}function bn(t,e){var n=Je(de++,4);!w.__s&&Gt(n.__H,e)&&(n.__=t,n.__H=e,q.__h.push(n))}function Pt(t,e){var n=Je(de++,7);return Gt(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Eo(){Ht.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(ct),t.__H.__h.forEach(Ut),t.__H.__h=[]}catch(e){t.__H.__h=[],w.__e(e,t.__v)}}),Ht=[]}w.__b=function(t){q=null,vn&&vn(t)},w.__r=function(t){dn&&dn(t),de=0;var e=(q=t.__c).__H;e&&(e.__h.forEach(ct),e.__h.forEach(Ut),e.__h=[])},w.diffed=function(t){hn&&hn(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(Ht.push(e)!==1&&pn===w.requestAnimationFrame||((pn=w.requestAnimationFrame)||function(n){var r,o=function(){clearTimeout(i),_n&&cancelAnimationFrame(r),setTimeout(n)},i=setTimeout(o,100);_n&&(r=requestAnimationFrame(o))})(Eo)),q=void 0},w.__c=function(t,e){e.some(function(n){try{n.__h.forEach(ct),n.__h=n.__h.filter(function(r){return!r.__||Ut(r)})}catch(r){e.some(function(o){o.__h&&(o.__h=[])}),e=[],w.__e(r,n.__v)}}),yn&&yn(t,e)},w.unmount=function(t){gn&&gn(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ct)}catch(n){w.__e(n,e.__v)}};var _n=typeof requestAnimationFrame=="function";function ct(t){var e=q;typeof t.__c=="function"&&t.__c(),q=e}function Ut(t){var e=q;t.__c=t.__(),q=e}function Gt(t,e){return!t||t.length!==e.length||e.some(function(n,r){return n!==t[r]})}function xr(t,e){return typeof e=="function"?e(t):e}function Nr(t,e){for(var n in e)t[n]=e[n];return t}function Ft(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var r in e)if(r!=="__source"&&t[r]!==e[r])return!0;return!1}function Bt(t){this.props=t}(Bt.prototype=new K).isPureReactComponent=!0,Bt.prototype.shouldComponentUpdate=function(t,e){return Ft(this.props,t)||Ft(this.state,e)};var On=w.__b;w.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),On&&On(t)};var Po=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Sn=function(t,e){return t==null?null:$($(t).map(e))},Io={map:Sn,forEach:Sn,count:function(t){return t?$(t).length:0},only:function(t){var e=$(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:$},Do=w.__e;function ut(){this.__u=0,this.t=null,this.__b=null}function Tr(t){var e=t.__.__c;return e&&e.__e&&e.__e(t)}function je(){this.u=null,this.o=null}w.__e=function(t,e,n){if(t.then){for(var r,o=e;o=o.__;)if((r=o.__c)&&r.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),r.__c(t,e)}Do(t,e,n)},(ut.prototype=new K).__c=function(t,e){var n=e.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var o=Tr(r.__v),i=!1,a=function(){i||(i=!0,n.componentWillUnmount=n.__c,o?o(u):u())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){a(),n.__c&&n.__c()};var u=function(){if(!--r.__u){if(r.state.__e){var s=r.state.__e;r.__v.__k[0]=function m(p,v,d){return p&&(p.__v=null,p.__k=p.__k&&p.__k.map(function(h){return m(h,v,d)}),p.__c&&p.__c.__P===v&&(p.__e&&d.insertBefore(p.__e,p.__d),p.__c.__e=!0,p.__c.__P=d)),p}(s,s.__c.__P,s.__c.__O)}var l;for(r.setState({__e:r.__b=null});l=r.t.pop();)l.forceUpdate()}},c=e.__h===!0;r.__u++||c||r.setState({__e:r.__b=r.__v.__k[0]}),t.then(a,a)},ut.prototype.componentWillUnmount=function(){this.t=[]},ut.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function i(a,u,c){return a&&(a.__c&&a.__c.__H&&(a.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),a.__c.__H=null),(a=Nr({},a)).__c!=null&&(a.__c.__P===c&&(a.__c.__P=u),a.__c=null),a.__k=a.__k&&a.__k.map(function(s){return i(s,u,c)})),a}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=e.__e&&W(X,null,t.fallback);return o&&(o.__h=null),[W(X,null,e.__e?null:t.children),o]};var wn=function(t,e,n){if(++n[1]===n[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(n=t.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),e.i.removeChild(r)}}),Ke(W(ko,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Rr(t,e){return W(Ao,{__v:t,i:e})}(je.prototype=new K).__e=function(t){var e=this,n=Tr(e.__v),r=e.o.get(t);return r[0]++,function(o){var i=function(){e.props.revealOrder?(r.push(o),wn(e,t,r)):o()};n?n(i):i()}},je.prototype.render=function(t){this.u=null,this.o=new Map;var e=$(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},je.prototype.componentDidUpdate=je.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){wn(t,n,e)})};var qr=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Co=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,xo=function(t){return(typeof Symbol<"u"&&Ve(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};function Lr(t,e,n){return e.__k==null&&(e.textContent=""),Ke(t,e),typeof n=="function"&&n(),t?t.__c:null}K.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(K.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var jn=w.event;function No(){}function To(){return this.cancelBubble}function Ro(){return this.defaultPrevented}w.event=function(t){return jn&&(t=jn(t)),t.persist=No,t.isPropagationStopped=To,t.isDefaultPrevented=Ro,t.nativeEvent=t};var Mr,En={configurable:!0,get:function(){return this.class}},Pn=w.vnode;w.vnode=function(t){var e=t.type,n=t.props,r=n;if(typeof e=="string"){for(var o in r={},n){var i=n[o];o==="value"&&"defaultValue"in n&&i==null||(o==="defaultValue"&&"value"in n&&n.value==null?o="value":o==="download"&&i===!0?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+e)&&!xo(n.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():Co.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():i===null&&(i=void 0),r[o]=i)}e=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=$(n.children).forEach(function(a){a.props.selected=r.value.indexOf(a.props.value)!=-1})),e=="select"&&r.defaultValue!=null&&(r.value=$(n.children).forEach(function(a){a.props.selected=r.multiple?r.defaultValue.indexOf(a.props.value)!=-1:r.defaultValue==a.props.value})),t.props=r}e&&n.class!=n.className&&(En.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",En)),t.$$typeof=qr,Pn&&Pn(t)};var In=w.__r;w.__r=function(t){In&&In(t),Mr=t.__c};var qo={ReactCurrentDispatcher:{current:{readContext:function(t){return Mr.__n[t.__c].props.value}}}};(typeof performance>"u"?"undefined":Ve(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Dn(t){return!!t&&t.$$typeof===qr}var f={useState:kr,useReducer:Ar,useEffect:Cr,useLayoutEffect:bn,useRef:function(t){return pe=5,Pt(function(){return{current:t}},[])},useImperativeHandle:function(t,e,n){pe=6,bn(function(){typeof t=="function"?t(e()):t&&(t.current=e())},n==null?n:n.concat(t))},useMemo:Pt,useCallback:function(t,e){return pe=8,Pt(function(){return t},e)},useContext:function(t){var e=q.context[t.__c],n=Je(de++,9);return n.__c=t,e?(n.__==null&&(n.__=!0,e.sub(q)),e.props.value):t.__},useDebugValue:function(t,e){w.useDebugValue&&w.useDebugValue(e?e(t):t)},version:"16.8.0",Children:Io,render:Lr,hydrate:function(t,e,n){return Dr(t,e),typeof n=="function"&&n(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(Ke(null,t),!0)},createPortal:Rr,createElement:W,createContext:function(t,e){var n={__c:e="__cC"+br++,__:t,Consumer:function(r,o){return r.children(o)},Provider:function(r){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.some(Mt)},this.sub=function(a){o.push(a);var u=a.componentWillUnmount;a.componentWillUnmount=function(){o.splice(o.indexOf(a),1),u&&u.call(a)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n},createFactory:function(t){return W.bind(null,t)},cloneElement:function(t){return Dn(t)?jo.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:X,isValidElement:Dn,findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:K,PureComponent:Bt,memo:function(t,e){function n(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:Ft(this.props,o)}function r(o){return this.shouldComponentUpdate=n,W(t,o)}return r.displayName="Memo("+(t.displayName||t.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r},forwardRef:function(t){function e(n,r){var o=Nr({},n);return delete o.ref,t(o,(r=n.ref||r)&&(Ve(r)!="object"||"current"in r)?r:null)}return e.$$typeof=Po,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:X,Suspense:ut,SuspenseList:je,lazy:function(t){var e,n,r;function o(i){if(e||(e=t()).then(function(a){n=a.default||a},function(a){r=a}),r)throw r;if(!n)throw e;return W(n,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:qo};function Lo(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Hr(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Mo=["translations"];function Vt(){return Vt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var Fo=f.forwardRef(function(t,e){var n=t.translations,r=n===void 0?{}:n,o=Uo(t,Mo),i=r.buttonText,a=i===void 0?"Search":i,u=r.buttonAriaLabel,c=u===void 0?"Search":u,s=Ho(kr(null),2),l=s[0],m=s[1];return Cr(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("⌘"):m("Ctrl"))},[]),f.createElement("button",Vt({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},o,{ref:e}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(Hr,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement(Lo,null):l),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Ur(t,e){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),i=0;it.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Nn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function ve(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:20,n=[],r=0;r=3||n===2&&r>=4||n===1&&r>=10);function i(a,u,c){if(o&&c!==void 0){var s=c[0].__autocomplete_algoliaCredentials,l={"X-Algolia-Application-Id":s.appId,"X-Algolia-API-Key":s.apiKey};t.apply(void 0,[a].concat(Ge(u),[{headers:l}]))}else t.apply(void 0,[a].concat(Ge(u)))}return{init:function(a,u){t("init",{appId:a,apiKey:u})},setUserToken:function(a){t("setUserToken",a)},clickedObjectIDsAfterSearch:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("clickedObjectIDsAfterSearch",Xe(u),u[0].items)},clickedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("clickedObjectIDs",Xe(u),u[0].items)},clickedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["clickedFilters"].concat(u))},convertedObjectIDsAfterSearch:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("convertedObjectIDsAfterSearch",Xe(u),u[0].items)},convertedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&i("convertedObjectIDs",Xe(u),u[0].items)},convertedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["convertedFilters"].concat(u))},viewedObjectIDs:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&u.reduce(function(s,l){var m=l.items,p=Br(l,zo);return[].concat(Ge(s),Ge($o(ve(ve({},p),{},{objectIDs:(m==null?void 0:m.map(function(v){return v.objectID}))||p.objectIDs})).map(function(v){return{items:m,payload:v}})))},[]).forEach(function(s){var l=s.items;return i("viewedObjectIDs",[s.payload],l)})},viewedFilters:function(){for(var a=arguments.length,u=new Array(a),c=0;c0&&t.apply(void 0,["viewedFilters"].concat(u))}}}function Zo(t){var e=t.items.reduce(function(n,r){var o;return n[r.__autocomplete_indexName]=((o=n[r.__autocomplete_indexName])!==null&&o!==void 0?o:[]).concat(r),n},{});return Object.keys(e).map(function(n){return{index:n,items:e[n],algoliaSource:["autocomplete"]}})}function Dt(t){return t.objectID&&t.__autocomplete_indexName&&t.__autocomplete_queryID}function ke(t){return ke=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(t)}function ie(t){return function(e){if(Array.isArray(e))return kt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||function(e,n){if(e){if(typeof e=="string")return kt(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return kt(e,n)}}(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function kt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&Xo({onItemsChange:r,items:p,insights:u,state:m}))}},0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(l){var m=l.setContext,p=l.onSelect,v=l.onActive;a("addAlgoliaAgent","insights-plugin"),m({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:u}}),p(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&o({state:y,event:b,insights:u,item:h,insightsEvents:[G({eventName:"Item Selected"},Cn({item:h,items:c.current}))]})}),v(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&i({state:y,event:b,insights:u,item:h,insightsEvents:[G({eventName:"Item Active"},Cn({item:h,items:c.current}))]})})},onStateChange:function(l){var m=l.state;s({state:m})},__autocomplete_pluginOptions:t}}function lt(t,e){var n=e;return{then:function(r,o){return lt(t.then(et(r,n,t),et(o,n,t)),n)},catch:function(r){return lt(t.catch(et(r,n,t)),n)},finally:function(r){return r&&n.onCancelList.push(r),lt(t.finally(et(r&&function(){return n.onCancelList=[],r()},n,t)),n)},cancel:function(){n.isCanceled=!0;var r=n.onCancelList;n.onCancelList=[],r.forEach(function(o){o()})},isCanceled:function(){return n.isCanceled===!0}}}function Rn(t){return lt(t,{isCanceled:!1,onCancelList:[]})}function et(t,e,n){return t?function(r){return e.isCanceled?r:t(r)}:n}function qn(t,e,n,r){if(!n)return null;if(t<0&&(e===null||r!==null&&e===0))return n+t;var o=(e===null?-1:e)+t;return o<=-1||o>=n?r===null?null:0:o}function Ln(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mn(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n0},reshape:function(i){return i.sources}},t),{},{id:(n=t.id)!==null&&n!==void 0?n:"autocomplete-".concat(Bo++),plugins:o,initialState:ae({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},t.initialState),onStateChange:function(i){var a;(a=t.onStateChange)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onStateChange)===null||c===void 0?void 0:c.call(u,i)})},onSubmit:function(i){var a;(a=t.onSubmit)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onSubmit)===null||c===void 0?void 0:c.call(u,i)})},onReset:function(i){var a;(a=t.onReset)===null||a===void 0||a.call(t,i),o.forEach(function(u){var c;return(c=u.onReset)===null||c===void 0?void 0:c.call(u,i)})},getSources:function(i){return Promise.all([].concat(ai(o.map(function(a){return a.getSources})),[t.getSources]).filter(Boolean).map(function(a){return function(u,c){var s=[];return Promise.resolve(u(c)).then(function(l){return Promise.all(l.filter(function(m){return!!m}).map(function(m){if(m.sourceId,s.includes(m.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(m.sourceId)," is not unique."));s.push(m.sourceId);var p={getItemInputValue:function(d){return d.state.query},getItemUrl:function(){},onSelect:function(d){(0,d.setIsOpen)(!1)},onActive:vt,onResolve:vt};Object.keys(p).forEach(function(d){p[d].__default=!0});var v=Mn(Mn({},p),m);return Promise.resolve(v)}))})}(a,i)})).then(function(a){return ze(a)}).then(function(a){return a.map(function(u){return ae(ae({},u),{},{onSelect:function(c){u.onSelect(c),e.forEach(function(s){var l;return(l=s.onSelect)===null||l===void 0?void 0:l.call(s,c)})},onActive:function(c){u.onActive(c),e.forEach(function(s){var l;return(l=s.onActive)===null||l===void 0?void 0:l.call(s,c)})},onResolve:function(c){u.onResolve(c),e.forEach(function(s){var l;return(l=s.onResolve)===null||l===void 0?void 0:l.call(s,c)})}})})})},navigator:ae({navigate:function(i){var a=i.itemUrl;r.location.assign(a)},navigateNewTab:function(i){var a=i.itemUrl,u=r.open(a,"_blank","noopener");u==null||u.focus()},navigateNewWindow:function(i){var a=i.itemUrl;r.open(a,"_blank","noopener")}},t.navigator)})}function Te(t){return Te=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(t)}function Bn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function nt(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var Wn,xt,rt,Se=null,Kn=(Wn=-1,xt=-1,rt=void 0,function(t){var e=++Wn;return Promise.resolve(t).then(function(n){return rt&&e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Le(t){return Le=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Le(t)}var _i=["props","refresh","store"],Oi=["inputElement","formElement","panelElement"],Si=["inputElement"],wi=["inputElement","maxLength"],ji=["sourceIndex"],Ei=["sourceIndex"],Pi=["item","source","sourceIndex"];function $n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function R(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Di(t){var e=t.props,n=t.refresh,r=t.store,o=ne(t,_i),i=function(a,u){return u!==void 0?"".concat(a,"-").concat(u):a};return{getEnvironmentProps:function(a){var u=a.inputElement,c=a.formElement,s=a.panelElement;function l(m){!r.getState().isOpen&&r.pendingRequests.isEmpty()||m.target===u||[c,s].some(function(p){return v=p,d=m.target,v===d||v.contains(d);var v,d})===!1&&(r.dispatch("blur",null),e.debug||r.pendingRequests.cancelAll())}return R({onTouchStart:l,onMouseDown:l,onTouchMove:function(m){r.getState().isOpen!==!1&&u===e.environment.document.activeElement&&m.target!==u&&u.blur()}},ne(a,Oi))},getRootProps:function(a){return R({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label")},a)},getFormProps:function(a){return a.inputElement,R({action:"",noValidate:!0,role:"search",onSubmit:function(u){var c;u.preventDefault(),e.onSubmit(R({event:u,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),(c=a.inputElement)===null||c===void 0||c.blur()},onReset:function(u){var c;u.preventDefault(),e.onReset(R({event:u,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),(c=a.inputElement)===null||c===void 0||c.focus()}},ne(a,Si))},getLabelProps:function(a){var u=a||{},c=u.sourceIndex,s=ne(u,ji);return R({htmlFor:"".concat(i(e.id,c),"-input"),id:"".concat(i(e.id,c),"-label")},s)},getInputProps:function(a){var u;function c(y){(e.openOnFocus||r.getState().query)&&se(R({event:y,props:e,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=a||{},l=(s.inputElement,s.maxLength),m=l===void 0?512:l,p=ne(s,wi),v=fe(r.getState()),d=function(y){return!!(y&&y.match(ri))}(((u=e.environment.navigator)===null||u===void 0?void 0:u.userAgent)||""),h=v!=null&&v.itemUrl&&!d?"go":"search";return R({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&r.getState().activeItemId!==null?"".concat(e.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(e.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:h,spellCheck:"false",autoFocus:e.autoFocus,placeholder:e.placeholder,maxLength:m,type:"search",onChange:function(y){se(R({event:y,props:e,query:y.currentTarget.value.slice(0,m),refresh:n,store:r},o))},onKeyDown:function(y){(function(b){var _=b.event,S=b.props,O=b.refresh,g=b.store,P=bi(b,yi);if(_.key==="ArrowUp"||_.key==="ArrowDown"){var C=function(){var M=S.environment.document.getElementById("".concat(S.id,"-item-").concat(g.getState().activeItemId));M&&(M.scrollIntoViewIfNeeded?M.scrollIntoViewIfNeeded(!1):M.scrollIntoView(!1))},L=function(){var M=fe(g.getState());if(g.getState().activeItemId!==null&&M){var Ot=M.item,St=M.itemInputValue,$e=M.itemUrl,B=M.source;B.onActive(te({event:_,item:Ot,itemInputValue:St,itemUrl:$e,refresh:O,source:B,state:g.getState()},P))}};_.preventDefault(),g.getState().isOpen===!1&&(S.openOnFocus||g.getState().query)?se(te({event:_,props:S,query:g.getState().query,refresh:O,store:g},P)).then(function(){g.dispatch(_.key,{nextActiveItemId:S.defaultActiveItemId}),L(),setTimeout(C,0)}):(g.dispatch(_.key,{}),L(),C())}else if(_.key==="Escape")_.preventDefault(),g.dispatch(_.key,null),g.pendingRequests.cancelAll();else if(_.key==="Tab")g.dispatch("blur",null),g.pendingRequests.cancelAll();else if(_.key==="Enter"){if(g.getState().activeItemId===null||g.getState().collections.every(function(M){return M.items.length===0}))return void(S.debug||g.pendingRequests.cancelAll());_.preventDefault();var x=fe(g.getState()),k=x.item,N=x.itemInputValue,U=x.itemUrl,F=x.source;if(_.metaKey||_.ctrlKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewTab({itemUrl:U,item:k,state:g.getState()}));else if(_.shiftKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewWindow({itemUrl:U,item:k,state:g.getState()}));else if(!_.altKey){if(U!==void 0)return F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),void S.navigator.navigate({itemUrl:U,item:k,state:g.getState()});se(te({event:_,nextState:{isOpen:!1},props:S,query:N,refresh:O,store:g},P)).then(function(){F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P))})}}})(R({event:y,props:e,refresh:n,store:r},o))},onFocus:c,onBlur:vt,onClick:function(y){a.inputElement!==e.environment.document.activeElement||r.getState().isOpen||c(y)}},p)},getPanelProps:function(a){return R({onMouseDown:function(u){u.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},a)},getListProps:function(a){var u=a||{},c=u.sourceIndex,s=ne(u,Ei);return R({role:"listbox","aria-labelledby":"".concat(i(e.id,c),"-label"),id:"".concat(i(e.id,c),"-list")},s)},getItemProps:function(a){var u=a.item,c=a.source,s=a.sourceIndex,l=ne(a,Pi);return R({id:"".concat(i(e.id,s),"-item-").concat(u.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===u.__autocomplete_id,onMouseMove:function(m){if(u.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",u.__autocomplete_id);var p=fe(r.getState());if(r.getState().activeItemId!==null&&p){var v=p.item,d=p.itemInputValue,h=p.itemUrl,y=p.source;y.onActive(R({event:m,item:v,itemInputValue:d,itemUrl:h,refresh:n,source:y,state:r.getState()},o))}}},onMouseDown:function(m){m.preventDefault()},onClick:function(m){var p=c.getItemInputValue({item:u,state:r.getState()}),v=c.getItemUrl({item:u,state:r.getState()});(v?Promise.resolve():se(R({event:m,nextState:{isOpen:!1},props:e,query:p,refresh:n,store:r},o))).then(function(){c.onSelect(R({event:m,item:u,itemInputValue:p,itemUrl:v,refresh:n,source:c,state:r.getState()},o))})}},l)}}}function Me(t){return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(t)}function Jn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function ki(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Yi(t){var e=t.translations,n=e===void 0?{}:e,r=Zi(t,Ji),o=n.noResultsText,i=o===void 0?"No results for":o,a=n.suggestedQueryText,u=a===void 0?"Try searching for":a,c=n.reportMissingResultsText,s=c===void 0?"Believe this query should return results?":c,l=n.reportMissingResultsLinkText,m=l===void 0?"Let us know.":l,p=r.state.context.searchSuggestions;return f.createElement("div",{className:"DocSearch-NoResults"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(zi,null)),f.createElement("p",{className:"DocSearch-Title"},i,' "',f.createElement("strong",null,r.state.query),'"'),p&&p.length>0&&f.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},f.createElement("p",{className:"DocSearch-Help"},u,":"),f.createElement("ul",null,p.slice(0,3).reduce(function(v,d){return[].concat(Qi(v),[f.createElement("li",{key:d},f.createElement("button",{className:"DocSearch-Prefill",key:d,type:"button",onClick:function(){r.setQuery(d.toLowerCase()+" "),r.refresh(),r.inputRef.current.focus()}},d))])},[]))),r.getMissingResultsUrl&&f.createElement("p",{className:"DocSearch-Help"},"".concat(s," "),f.createElement("a",{href:r.getMissingResultsUrl({query:r.state.query}),target:"_blank",rel:"noopener noreferrer"},m)))}var Gi=["hit","attribute","tagName"];function Xn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function er(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function tr(t,e){return e.split(".").reduce(function(n,r){return n!=null&&n[r]?n[r]:null},t)}function le(t){var e=t.hit,n=t.attribute,r=t.tagName;return V(r===void 0?"span":r,er(er({},ea(t,Gi)),{},{dangerouslySetInnerHTML:{__html:tr(e,"_snippetResult.".concat(n,".value"))||tr(e,n)}}))}function nr(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var i,a,u=[],c=!0,s=!1;try{for(o=o.call(n);!(c=(i=o.next()).done)&&(u.push(i.value),!r||u.length!==r);c=!0);}catch(l){s=!0,a=l}finally{try{c||o.return==null||o.return()}finally{if(s)throw a}}return u}}(t,e)||function(n,r){if(n){if(typeof n=="string")return rr(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);if(o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set")return Array.from(n);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return rr(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function rr(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n|<\/mark>)/g,ra=RegExp(zr.source);function $r(t){var e,n,r,o,i,a=t;if(!a.__docsearch_parent&&!t._highlightResult)return t.hierarchy.lvl0;var u=((a.__docsearch_parent?(e=a.__docsearch_parent)===null||e===void 0||(n=e._highlightResult)===null||n===void 0||(r=n.hierarchy)===null||r===void 0?void 0:r.lvl0:(o=t._highlightResult)===null||o===void 0||(i=o.hierarchy)===null||i===void 0?void 0:i.lvl0)||{}).value;return u&&ra.test(u)?u.replace(zr,""):u}function $t(){return $t=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ca(t){var e=t.translations,n=e===void 0?{}:e,r=aa(t,ia),o=n.recentSearchesTitle,i=o===void 0?"Recent":o,a=n.noRecentSearchesText,u=a===void 0?"No recent searches":a,c=n.saveRecentSearchButtonTitle,s=c===void 0?"Save this search":c,l=n.removeRecentSearchButtonTitle,m=l===void 0?"Remove this search from history":l,p=n.favoriteSearchesTitle,v=p===void 0?"Favorite":p,d=n.removeFavoriteSearchButtonTitle,h=d===void 0?"Remove this search from favorites":d;return r.state.status==="idle"&&r.hasCollections===!1?r.disableUserPersonalization?null:f.createElement("div",{className:"DocSearch-StartScreen"},f.createElement("p",{className:"DocSearch-Help"},u)):r.hasCollections===!1?null:f.createElement("div",{className:"DocSearch-Dropdown-Container"},f.createElement(zt,ht({},r,{title:i,collection:r.state.collections[0],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Hi,null))},renderAction:function(y){var b=y.item,_=y.runFavoriteTransition,S=y.runDeleteTransition;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:s,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),_(function(){r.favoriteSearches.add(b),r.recentSearches.remove(b),r.refresh()})}},f.createElement(Gn,null))),f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),S(function(){r.recentSearches.remove(b),r.refresh()})}},f.createElement(Kt,null))))}})),f.createElement(zt,ht({},r,{title:v,collection:r.state.collections[1],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Gn,null))},renderAction:function(y){var b=y.item,_=y.runDeleteTransition;return f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(S){S.preventDefault(),S.stopPropagation(),_(function(){r.favoriteSearches.remove(b),r.refresh()})}},f.createElement(Kt,null)))}})))}var ua=["translations"];function yt(){return yt=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var sa=f.memo(function(t){var e=t.translations,n=e===void 0?{}:e,r=la(t,ua);if(r.state.status==="error")return f.createElement($i,{translations:n==null?void 0:n.errorScreen});var o=r.state.collections.some(function(i){return i.items.length>0});return r.state.query?o===!1?f.createElement(Yi,yt({},r,{translations:n==null?void 0:n.noResultsScreen})):f.createElement(oa,r):f.createElement(ca,yt({},r,{hasCollections:o,translations:n==null?void 0:n.startScreen}))},function(t,e){return e.state.status==="loading"||e.state.status==="stalled"}),fa=["translations"];function gt(){return gt=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function pa(t){var e=t.translations,n=e===void 0?{}:e,r=ma(t,fa),o=n.resetButtonTitle,i=o===void 0?"Clear the query":o,a=n.resetButtonAriaLabel,u=a===void 0?"Clear the query":a,c=n.cancelButtonText,s=c===void 0?"Cancel":c,l=n.cancelButtonAriaLabel,m=l===void 0?"Cancel":l,p=r.getFormProps({inputElement:r.inputRef.current}).onReset;return f.useEffect(function(){r.autoFocus&&r.inputRef.current&&r.inputRef.current.focus()},[r.autoFocus,r.inputRef]),f.useEffect(function(){r.isFromSelection&&r.inputRef.current&&r.inputRef.current.select()},[r.isFromSelection,r.inputRef]),f.createElement(f.Fragment,null,f.createElement("form",{className:"DocSearch-Form",onSubmit:function(v){v.preventDefault()},onReset:p},f.createElement("label",gt({className:"DocSearch-MagnifierLabel"},r.getLabelProps()),f.createElement(Hr,null)),f.createElement("div",{className:"DocSearch-LoadingIndicator"},f.createElement(Mi,null)),f.createElement("input",gt({className:"DocSearch-Input",ref:r.inputRef},r.getInputProps({inputElement:r.inputRef.current,autoFocus:r.autoFocus,maxLength:64}))),f.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":u,hidden:!r.state.query},f.createElement(Kt,null))),f.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":m,onClick:r.onClose},s))}var va=["_highlightResult","_snippetResult"];function da(t,e){if(t==null)return{};var n,r,o=function(a,u){if(a==null)return{};var c,s,l={},m=Object.keys(a);for(s=0;s=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ha(t){return function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(e){return window.localStorage.setItem(t,JSON.stringify(e))},getItem:function(){var e=window.localStorage.getItem(t);return e?JSON.parse(e):[]}}}function ar(t){var e=t.key,n=t.limit,r=n===void 0?5:n,o=ha(e),i=o.getItem().slice(0,r);return{add:function(a){var u=a,c=(u._highlightResult,u._snippetResult,da(u,va)),s=i.findIndex(function(l){return l.objectID===c.objectID});s>-1&&i.splice(s,1),i.unshift(c),i=i.slice(0,r),o.setItem(i)},remove:function(a){i=i.filter(function(u){return u.objectID!==a.objectID}),o.setItem(i)},getAll:function(){return i}}}var ya=["facetName","facetQuery"];function ga(t){var e,n="algoliasearch-client-js-".concat(t.key),r=function(){return e===void 0&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(r().getItem(n)||"{}")};return{get:function(i,a){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){var c=JSON.stringify(i),s=o()[c];return Promise.all([s||a(),s!==void 0])}).then(function(c){var s=st(c,2),l=s[0],m=s[1];return Promise.all([l,m||u.miss(l)])}).then(function(c){return st(c,1)[0]})},set:function(i,a){return Promise.resolve().then(function(){var u=o();return u[JSON.stringify(i)]=a,r().setItem(n,JSON.stringify(u)),a})},delete:function(i){return Promise.resolve().then(function(){var a=o();delete a[JSON.stringify(i)],r().setItem(n,JSON.stringify(a))})},clear:function(){return Promise.resolve().then(function(){r().removeItem(n)})}}}function je(t){var e=ft(t.caches),n=e.shift();return n===void 0?{get:function(r,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(a){return Promise.all([a,i.miss(a)])}).then(function(a){return st(a,1)[0]})},set:function(r,o){return Promise.resolve(o)},delete:function(r){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(r,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(r,o,i).catch(function(){return je({caches:e}).get(r,o,i)})},set:function(r,o){return n.set(r,o).catch(function(){return je({caches:e}).set(r,o)})},delete:function(r){return n.delete(r).catch(function(){return je({caches:e}).delete(r)})},clear:function(){return n.clear().catch(function(){return je({caches:e}).clear()})}}}function Tt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},e={};return{get:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(n);if(i in e)return Promise.resolve(t.serializable?JSON.parse(e[i]):e[i]);var a=r(),u=o&&o.miss||function(){return Promise.resolve()};return a.then(function(c){return u(c)}).then(function(){return a})},set:function(n,r){return e[JSON.stringify(n)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(n){return delete e[JSON.stringify(n)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function ba(t){for(var e=t.length-1;e>0;e--){var n=Math.floor(Math.random()*(e+1)),r=t[e];t[e]=t[n],t[n]=r}return t}function Jr(t,e){return e&&Object.keys(e).forEach(function(n){t[n]=e[n](t)}),t}function bt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0?r:void 0,timeout:n.timeout||e,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}var me={Read:1,Write:2,Any:3},Qr=1,_a=2,Zr=3;function Yr(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qr;return I(I({},t),{},{status:e,lastUpdate:Date.now()})}function Gr(t){return typeof t=="string"?{protocol:"https",url:t,accept:me.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||me.Any}}var ur="GET",_t="POST";function Oa(t,e){return Promise.all(e.map(function(n){return t.get(n,function(){return Promise.resolve(Yr(n))})})).then(function(n){var r=n.filter(function(a){return function(u){return u.status===Qr||Date.now()-u.lastUpdate>12e4}(a)}),o=n.filter(function(a){return function(u){return u.status===Zr&&Date.now()-u.lastUpdate<=12e4}(a)}),i=[].concat(ft(r),ft(o));return{getTimeout:function(a,u){return(o.length===0&&a===0?1:o.length+3+a)*u},statelessHosts:i.length>0?i.map(function(a){return Gr(a)}):e}})}function lr(t,e,n,r){var o=[],i=function(p,v){if(!(p.method===ur||p.data===void 0&&v.data===void 0)){var d=Array.isArray(p.data)?p.data:I(I({},p.data),v.data);return JSON.stringify(d)}}(n,r),a=function(p,v){var d=I(I({},p.headers),v.headers),h={};return Object.keys(d).forEach(function(y){var b=d[y];h[y.toLowerCase()]=b}),h}(t,r),u=n.method,c=n.method!==ur?{}:I(I({},n.data),r.data),s=I(I(I({"x-algolia-agent":t.userAgent.value},t.queryParameters),c),r.queryParameters),l=0,m=function p(v,d){var h=v.pop();if(h===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:sr(o)};var y={data:i,headers:a,method:u,url:wa(h,n.path,s),connectTimeout:d(l,t.timeouts.connect),responseTimeout:d(l,r.timeout)},b=function(S){var O={request:y,response:S,host:h,triesLeft:v.length};return o.push(O),O},_={onSucess:function(S){return function(O){try{return JSON.parse(O.content)}catch(g){throw function(P,C){return{name:"DeserializationError",message:P,response:C}}(g.message,O)}}(S)},onRetry:function(S){var O=b(S);return S.isTimedOut&&l++,Promise.all([t.logger.info("Retryable failure",eo(O)),t.hostsCache.set(h,Yr(h,S.isTimedOut?Zr:_a))]).then(function(){return p(v,d)})},onFail:function(S){throw b(S),function(O,g){var P=O.content,C=O.status,L=P;try{L=JSON.parse(P).message}catch{}return function(x,k,N){return{name:"ApiError",message:x,status:k,transporterStackTrace:N}}(L,C,g)}(S,sr(o))}};return t.requester.send(y).then(function(S){return function(O,g){return function(P){var C=P.status;return P.isTimedOut||function(L){var x=L.isTimedOut,k=L.status;return!x&&~~k==0}(P)||~~(C/100)!=2&&~~(C/100)!=4}(O)?g.onRetry(O):~~(O.status/100)==2?g.onSucess(O):g.onFail(O)}(S,_)})};return Oa(t.hostsCache,e).then(function(p){return m(ft(p.statelessHosts).reverse(),p.getTimeout)})}function Sa(t){var e={value:"Algolia for JavaScript (".concat(t,")"),add:function(n){var r="; ".concat(n.segment).concat(n.version!==void 0?" (".concat(n.version,")"):"");return e.value.indexOf(r)===-1&&(e.value="".concat(e.value).concat(r)),e}};return e}function wa(t,e,n){var r=Xr(n),o="".concat(t.protocol,"://").concat(t.url,"/").concat(e.charAt(0)==="/"?e.substr(1):e);return r.length&&(o+="?".concat(r)),o}function Xr(t){return Object.keys(t).map(function(e){return bt("%s=%s",e,(n=t[e],Object.prototype.toString.call(n)==="[object Object]"||Object.prototype.toString.call(n)==="[object Array]"?JSON.stringify(t[e]):t[e]));var n}).join("&")}function sr(t){return t.map(function(e){return eo(e)})}function eo(t){var e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return I(I({},t),{},{request:I(I({},t.request),{},{headers:I(I({},t.request.headers),e)})})}var ja=function(t){var e=t.appId,n=function(i,a,u){var c={"x-algolia-api-key":u,"x-algolia-application-id":a};return{headers:function(){return i===lt.WithinHeaders?c:{}},queryParameters:function(){return i===lt.WithinQueryParameters?c:{}}}}(t.authMode!==void 0?t.authMode:lt.WithinHeaders,e,t.apiKey),r=function(i){var a=i.hostsCache,u=i.logger,c=i.requester,s=i.requestsCache,l=i.responsesCache,m=i.timeouts,p=i.userAgent,v=i.hosts,d=i.queryParameters,h={hostsCache:a,logger:u,requester:c,requestsCache:s,responsesCache:l,timeouts:m,userAgent:p,headers:i.headers,queryParameters:d,hosts:v.map(function(y){return Gr(y)}),read:function(y,b){var _=cr(b,h.timeouts.read),S=function(){return lr(h,h.hosts.filter(function(g){return(g.accept&me.Read)!=0}),y,_)};if((_.cacheable!==void 0?_.cacheable:y.cacheable)!==!0)return S();var O={request:y,mappedRequestOptions:_,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(O,function(){return h.requestsCache.get(O,function(){return h.requestsCache.set(O,S()).then(function(g){return Promise.all([h.requestsCache.delete(O),g])},function(g){return Promise.all([h.requestsCache.delete(O),Promise.reject(g)])}).then(function(g){var P=st(g,2);return P[0],P[1]})})},{miss:function(g){return h.responsesCache.set(O,g)}})},write:function(y,b){return lr(h,h.hosts.filter(function(_){return(_.accept&me.Write)!=0}),y,cr(b,h.timeouts.write))}};return h}(I(I({hosts:[{url:"".concat(e,"-dsn.algolia.net"),accept:me.Read},{url:"".concat(e,".algolia.net"),accept:me.Write}].concat(ba([{url:"".concat(e,"-1.algolianet.com")},{url:"".concat(e,"-2.algolianet.com")},{url:"".concat(e,"-3.algolianet.com")}]))},t),{},{headers:I(I(I({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),t.headers),queryParameters:I(I({},n.queryParameters()),t.queryParameters)})),o={transporter:r,appId:e,addAlgoliaAgent:function(i,a){r.userAgent.add({segment:i,version:a})},clearCache:function(){return Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then(function(){})}};return Jr(o,t.methods)},to=function(t){return function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r={transporter:t.transporter,appId:t.appId,indexName:e};return Jr(r,n.methods)}},fr=function(t){return function(e,n){var r=e.map(function(o){return I(I({},o),{},{params:Xr(o.params||{})})});return t.transporter.read({method:_t,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)}},mr=function(t){return function(e,n){return Promise.all(e.map(function(r){var o=r.params,i=o.facetName,a=o.facetQuery,u=Oo(o,ya);return to(t)(r.indexName,{methods:{searchForFacetValues:no}}).searchForFacetValues(i,a,I(I({},n),u))}))}},Ea=function(t){return function(e,n,r){return t.transporter.read({method:_t,path:bt("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:n},cacheable:!0},r)}},Pa=function(t){return function(e,n){return t.transporter.read({method:_t,path:bt("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},n)}},no=function(t){return function(e,n,r){return t.transporter.read({method:_t,path:bt("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:n},cacheable:!0},r)}},Ia=1,Da=2,ka=3;function ro(t,e,n){var r,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(i){return new Promise(function(a){var u=new XMLHttpRequest;u.open(i.method,i.url,!0),Object.keys(i.headers).forEach(function(m){return u.setRequestHeader(m,i.headers[m])});var c,s=function(m,p){return setTimeout(function(){u.abort(),a({status:0,content:p,isTimedOut:!0})},1e3*m)},l=s(i.connectTimeout,"Connection timeout");u.onreadystatechange=function(){u.readyState>u.OPENED&&c===void 0&&(clearTimeout(l),c=s(i.responseTimeout,"Socket timeout"))},u.onerror=function(){u.status===0&&(clearTimeout(l),clearTimeout(c),a({content:u.responseText||"Network request failed",status:u.status,isTimedOut:!1}))},u.onload=function(){clearTimeout(l),clearTimeout(c),a({content:u.responseText,status:u.status,isTimedOut:!1})},u.send(i.data)})}},logger:(r=ka,{debug:function(i,a){return Ia>=r&&console.debug(i,a),Promise.resolve()},info:function(i,a){return Da>=r&&console.info(i,a),Promise.resolve()},error:function(i,a){return console.error(i,a),Promise.resolve()}}),responsesCache:Tt(),requestsCache:Tt({serializable:!1}),hostsCache:je({caches:[ga({key:"".concat("4.8.5","-").concat(t)}),Tt()]}),userAgent:Sa("4.8.5").add({segment:"Browser",version:"lite"}),authMode:lt.WithinQueryParameters};return ja(I(I(I({},o),n),{},{methods:{search:fr,searchForFacetValues:mr,multipleQueries:fr,multipleSearchForFacetValues:mr,initIndex:function(i){return function(a){return to(i)(a,{methods:{search:Pa,searchForFacetValues:no,findAnswers:Ea}})}}}}))}ro.version="4.8.5";var Aa=["footer","searchBox"];function Fe(){return Fe=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Ta(t){var e=t.appId,n=t.apiKey,r=t.indexName,o=t.placeholder,i=o===void 0?"Search docs":o,a=t.searchParameters,u=t.maxResultsPerGroup,c=t.onClose,s=c===void 0?na:c,l=t.transformItems,m=l===void 0?ir:l,p=t.hitComponent,v=p===void 0?Li:p,d=t.resultsFooterComponent,h=d===void 0?function(){return null}:d,y=t.navigator,b=t.initialScrollY,_=b===void 0?0:b,S=t.transformSearchClient,O=S===void 0?ir:S,g=t.disableUserPersonalization,P=g!==void 0&&g,C=t.initialQuery,L=C===void 0?"":C,x=t.translations,k=x===void 0?{}:x,N=t.getMissingResultsUrl,U=t.insights,F=U!==void 0&&U,M=k.footer,Ot=k.searchBox,St=Na(k,Aa),$e=xa(f.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=$e[0],oo=$e[1],Gt=f.useRef(null),wt=f.useRef(null),Xt=f.useRef(null),Je=f.useRef(null),he=f.useRef(null),Q=f.useRef(10),en=f.useRef(typeof window<"u"?window.getSelection().toString().slice(0,64):"").current,ee=f.useRef(L||en).current,tn=function(j,D,T){return f.useMemo(function(){var H=ro(j,D);return H.addAlgoliaAgent("docsearch","3.5.1"),/docsearch.js \(.*\)/.test(H.transporter.userAgent.value)===!1&&H.addAlgoliaAgent("docsearch-react","3.5.1"),T(H)},[j,D,T])}(e,n,O),oe=f.useRef(ar({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(r),limit:10})).current,ye=f.useRef(ar({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(r),limit:oe.getAll().length===0?7:4})).current,ge=f.useCallback(function(j){if(!P){var D=j.type==="content"?j.__docsearch_parent:j;D&&oe.getAll().findIndex(function(T){return T.objectID===D.objectID})===-1&&ye.add(D)}},[oe,ye,P]),io=f.useCallback(function(j){if(B.context.algoliaInsightsPlugin&&j.__autocomplete_id){var D=j,T={eventName:"Item Selected",index:D.__autocomplete_indexName,items:[D],positions:[j.__autocomplete_id],queryID:D.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(T)}},[B.context.algoliaInsightsPlugin]),be=f.useMemo(function(){return Ti({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:ee,context:{searchSuggestions:[]}},insights:F,navigator:y,onStateChange:function(j){oo(j.state)},getSources:function(j){var D=j.query,T=j.state,H=j.setContext,Z=j.setStatus;if(!D)return P?[]:[{sourceId:"recentSearches",onSelect:function(A){var K=A.item,ie=A.event;ge(K),it(ie)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return ye.getAll()}},{sourceId:"favoriteSearches",onSelect:function(A){var K=A.item,ie=A.event;ge(K),it(ie)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return oe.getAll()}}];var Y=!!F;return tn.search([{query:D,indexName:r,params:Rt({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(Q.current),"hierarchy.lvl2:".concat(Q.current),"hierarchy.lvl3:".concat(Q.current),"hierarchy.lvl4:".concat(Q.current),"hierarchy.lvl5:".concat(Q.current),"hierarchy.lvl6:".concat(Q.current),"content:".concat(Q.current)],snippetEllipsisText:"…",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:Y},a)}]).catch(function(A){throw A.name==="RetryError"&&Z("error"),A}).then(function(A){var K=A.results,ie=K[0],uo=ie.hits,lo=ie.nbHits,jt=or(uo,function(Et){return $r(Et)},u);T.context.searchSuggestions.length0&&(nn(),he.current&&he.current.focus())},[ee,nn]),f.useEffect(function(){function j(){if(wt.current){var D=.01*window.innerHeight;wt.current.style.setProperty("--docsearch-vh","".concat(D,"px"))}}return j(),window.addEventListener("resize",j),function(){window.removeEventListener("resize",j)}},[]),f.createElement("div",Fe({ref:Gt},co({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",B.status==="stalled"&&"DocSearch-Container--Stalled",B.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(j){j.target===j.currentTarget&&s()}}),f.createElement("div",{className:"DocSearch-Modal",ref:wt},f.createElement("header",{className:"DocSearch-SearchBar",ref:Xt},f.createElement(pa,Fe({},be,{state:B,autoFocus:ee.length===0,inputRef:he,isFromSelection:!!ee&&ee===en,translations:Ot,onClose:s}))),f.createElement("div",{className:"DocSearch-Dropdown",ref:Je},f.createElement(sa,Fe({},be,{indexName:r,state:B,hitComponent:v,resultsFooterComponent:h,disableUserPersonalization:P,recentSearches:ye,favoriteSearches:oe,inputRef:he,translations:St,getMissingResultsUrl:N,onItemClick:function(j,D){io(j),ge(j),it(D)||s()}}))),f.createElement("footer",{className:"DocSearch-Footer"},f.createElement(qi,{translations:M}))))}function Jt(){return Jt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:window;return typeof e=="string"?n.document.querySelector(e):e}(t.container,t.environment))}const La={id:"docsearch"},Ua=fo({__name:"VPAlgoliaSearchBox",props:{algolia:{}},setup(t){const e=t,n=mo(),r=po(),{site:o,localeIndex:i,lang:a}=bo();vo(u),ho(i,u);function u(){var v,d;const l={...e.algolia,...(v=e.algolia.locales)==null?void 0:v[i.value]},m=((d=l.searchParameters)==null?void 0:d.facetFilters)??[],p=[...(Array.isArray(m)?m:[m]).filter(h=>!h.startsWith("lang:")),`lang:${a.value}`];c({...l,searchParameters:{...l.searchParameters,facetFilters:p}})}function c(l){const m=Object.assign({},l,{container:"#docsearch",navigator:{navigate({itemUrl:p}){const{pathname:v}=new URL(window.location.origin+p);r.path===v?window.location.assign(window.location.origin+p):n.go(p)}},transformItems(p){return p.map(v=>Object.assign({},v,{url:s(v.url)}))},hitComponent({hit:p,children:v}){return{__v:null,type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:p.url,children:v}}}});qa(m)}function s(l){const{pathname:m,hash:p}=new URL(l);return m.replace(/\.html$/,o.value.cleanUrls?"":".html")+p}return(l,m)=>(yo(),go("div",La))}});export{Ua as default}; +See: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems`),{source:r,items:c}})}function qe(t){return qe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},qe(t)}var pi=["event","nextState","props","query","refresh","store"];function Wn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Se(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var Kn,xt,ot,we=null,zn=(Kn=-1,xt=-1,ot=void 0,function(t){var e=++Kn;return Promise.resolve(t).then(function(n){return ot&&e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Me(t){return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(t)}var bi=["props","refresh","store"],_i=["inputElement","formElement","panelElement"],Oi=["inputElement"],Si=["inputElement","maxLength"],wi=["sourceIndex"],ji=["sourceIndex"],Ei=["item","source","sourceIndex"];function $n(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function R(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Ii(t){var e=t.props,n=t.refresh,r=t.store,o=ne(t,bi),i=function(a,u){return u!==void 0?"".concat(a,"-").concat(u):a};return{getEnvironmentProps:function(a){var u=a.inputElement,c=a.formElement,s=a.panelElement;function l(m){!r.getState().isOpen&&r.pendingRequests.isEmpty()||m.target===u||[c,s].some(function(p){return v=p,d=m.target,v===d||v.contains(d);var v,d})===!1&&(r.dispatch("blur",null),e.debug||r.pendingRequests.cancelAll())}return R({onTouchStart:l,onMouseDown:l,onTouchMove:function(m){r.getState().isOpen!==!1&&u===e.environment.document.activeElement&&m.target!==u&&u.blur()}},ne(a,_i))},getRootProps:function(a){return R({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label")},a)},getFormProps:function(a){return a.inputElement,R({action:"",noValidate:!0,role:"search",onSubmit:function(u){var c;u.preventDefault(),e.onSubmit(R({event:u,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),(c=a.inputElement)===null||c===void 0||c.blur()},onReset:function(u){var c;u.preventDefault(),e.onReset(R({event:u,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),(c=a.inputElement)===null||c===void 0||c.focus()}},ne(a,Oi))},getLabelProps:function(a){var u=a||{},c=u.sourceIndex,s=ne(u,wi);return R({htmlFor:"".concat(i(e.id,c),"-input"),id:"".concat(i(e.id,c),"-label")},s)},getInputProps:function(a){var u;function c(y){(e.openOnFocus||r.getState().query)&&le(R({event:y,props:e,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var s=a||{},l=(s.inputElement,s.maxLength),m=l===void 0?512:l,p=ne(s,Si),v=fe(r.getState()),d=function(y){return!!(y&&y.match(ni))}(((u=e.environment.navigator)===null||u===void 0?void 0:u.userAgent)||""),h=v!=null&&v.itemUrl&&!d?"go":"search";return R({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&r.getState().activeItemId!==null?"".concat(e.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(e.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:h,spellCheck:"false",autoFocus:e.autoFocus,placeholder:e.placeholder,maxLength:m,type:"search",onChange:function(y){le(R({event:y,props:e,query:y.currentTarget.value.slice(0,m),refresh:n,store:r},o))},onKeyDown:function(y){(function(b){var _=b.event,S=b.props,O=b.refresh,g=b.store,P=gi(b,hi);if(_.key==="ArrowUp"||_.key==="ArrowDown"){var C=function(){var M=S.environment.document.getElementById("".concat(S.id,"-item-").concat(g.getState().activeItemId));M&&(M.scrollIntoViewIfNeeded?M.scrollIntoViewIfNeeded(!1):M.scrollIntoView(!1))},L=function(){var M=fe(g.getState());if(g.getState().activeItemId!==null&&M){var Ot=M.item,St=M.itemInputValue,$e=M.itemUrl,B=M.source;B.onActive(te({event:_,item:Ot,itemInputValue:St,itemUrl:$e,refresh:O,source:B,state:g.getState()},P))}};_.preventDefault(),g.getState().isOpen===!1&&(S.openOnFocus||g.getState().query)?le(te({event:_,props:S,query:g.getState().query,refresh:O,store:g},P)).then(function(){g.dispatch(_.key,{nextActiveItemId:S.defaultActiveItemId}),L(),setTimeout(C,0)}):(g.dispatch(_.key,{}),L(),C())}else if(_.key==="Escape")_.preventDefault(),g.dispatch(_.key,null),g.pendingRequests.cancelAll();else if(_.key==="Tab")g.dispatch("blur",null),g.pendingRequests.cancelAll();else if(_.key==="Enter"){if(g.getState().activeItemId===null||g.getState().collections.every(function(M){return M.items.length===0}))return void(S.debug||g.pendingRequests.cancelAll());_.preventDefault();var x=fe(g.getState()),k=x.item,N=x.itemInputValue,U=x.itemUrl,F=x.source;if(_.metaKey||_.ctrlKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewTab({itemUrl:U,item:k,state:g.getState()}));else if(_.shiftKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewWindow({itemUrl:U,item:k,state:g.getState()}));else if(!_.altKey){if(U!==void 0)return F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),void S.navigator.navigate({itemUrl:U,item:k,state:g.getState()});le(te({event:_,nextState:{isOpen:!1},props:S,query:N,refresh:O,store:g},P)).then(function(){F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P))})}}})(R({event:y,props:e,refresh:n,store:r},o))},onFocus:c,onBlur:vt,onClick:function(y){a.inputElement!==e.environment.document.activeElement||r.getState().isOpen||c(y)}},p)},getPanelProps:function(a){return R({onMouseDown:function(u){u.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},a)},getListProps:function(a){var u=a||{},c=u.sourceIndex,s=ne(u,ji);return R({role:"listbox","aria-labelledby":"".concat(i(e.id,c),"-label"),id:"".concat(i(e.id,c),"-list")},s)},getItemProps:function(a){var u=a.item,c=a.source,s=a.sourceIndex,l=ne(a,Ei);return R({id:"".concat(i(e.id,s),"-item-").concat(u.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===u.__autocomplete_id,onMouseMove:function(m){if(u.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",u.__autocomplete_id);var p=fe(r.getState());if(r.getState().activeItemId!==null&&p){var v=p.item,d=p.itemInputValue,h=p.itemUrl,y=p.source;y.onActive(R({event:m,item:v,itemInputValue:d,itemUrl:h,refresh:n,source:y,state:r.getState()},o))}}},onMouseDown:function(m){m.preventDefault()},onClick:function(m){var p=c.getItemInputValue({item:u,state:r.getState()}),v=c.getItemUrl({item:u,state:r.getState()});(v?Promise.resolve():le(R({event:m,nextState:{isOpen:!1},props:e,query:p,refresh:n,store:r},o))).then(function(){c.onSelect(R({event:m,item:u,itemInputValue:p,itemUrl:v,refresh:n,source:c,state:r.getState()},o))})}},l)}}}function He(t){return He=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(t)}function Qn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Di(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Zi(t){var e=t.translations,n=e===void 0?{}:e,r=Qi(t,Ji),o=n.noResultsText,i=o===void 0?"No results for":o,a=n.suggestedQueryText,u=a===void 0?"Try searching for":a,c=n.reportMissingResultsText,s=c===void 0?"Believe this query should return results?":c,l=n.reportMissingResultsLinkText,m=l===void 0?"Let us know.":l,p=r.state.context.searchSuggestions;return f.createElement("div",{className:"DocSearch-NoResults"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(Ki,null)),f.createElement("p",{className:"DocSearch-Title"},i,' "',f.createElement("strong",null,r.state.query),'"'),p&&p.length>0&&f.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},f.createElement("p",{className:"DocSearch-Help"},u,":"),f.createElement("ul",null,p.slice(0,3).reduce(function(v,d){return[].concat($i(v),[f.createElement("li",{key:d},f.createElement("button",{className:"DocSearch-Prefill",key:d,type:"button",onClick:function(){r.setQuery(d.toLowerCase()+" "),r.refresh(),r.inputRef.current.focus()}},d))])},[]))),r.getMissingResultsUrl&&f.createElement("p",{className:"DocSearch-Help"},"".concat(s," "),f.createElement("a",{href:r.getMissingResultsUrl({query:r.state.query}),target:"_blank",rel:"noopener noreferrer"},m)))}var Yi=["hit","attribute","tagName"];function er(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function tr(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function nr(t,e){return e.split(".").reduce(function(n,r){return n!=null&&n[r]?n[r]:null},t)}function ue(t){var e=t.hit,n=t.attribute,r=t.tagName;return W(r===void 0?"span":r,tr(tr({},Xi(t,Yi)),{},{dangerouslySetInnerHTML:{__html:nr(e,"_snippetResult.".concat(n,".value"))||nr(e,n)}}))}function rr(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var i,a,u=[],c=!0,s=!1;try{for(o=o.call(n);!(c=(i=o.next()).done)&&(u.push(i.value),!r||u.length!==r);c=!0);}catch(l){s=!0,a=l}finally{try{c||o.return==null||o.return()}finally{if(s)throw a}}return u}}(t,e)||function(n,r){if(n){if(typeof n=="string")return or(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);if(o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set")return Array.from(n);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return or(n,r)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function or(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n|<\/mark>)/g,na=RegExp(zr.source);function Jr(t){var e,n,r=t;if(!r.__docsearch_parent&&!t._highlightResult)return t.hierarchy.lvl0;var o=((r.__docsearch_parent?(e=r.__docsearch_parent)===null||e===void 0||(e=e._highlightResult)===null||e===void 0||(e=e.hierarchy)===null||e===void 0?void 0:e.lvl0:(n=t._highlightResult)===null||n===void 0||(n=n.hierarchy)===null||n===void 0?void 0:n.lvl0)||{}).value;return o&&na.test(o)?o.replace(zr,""):o}function Jt(){return Jt=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function aa(t){var e=t.translations,n=e===void 0?{}:e,r=ia(t,oa),o=n.recentSearchesTitle,i=o===void 0?"Recent":o,a=n.noRecentSearchesText,u=a===void 0?"No recent searches":a,c=n.saveRecentSearchButtonTitle,s=c===void 0?"Save this search":c,l=n.removeRecentSearchButtonTitle,m=l===void 0?"Remove this search from history":l,p=n.favoriteSearchesTitle,v=p===void 0?"Favorite":p,d=n.removeFavoriteSearchButtonTitle,h=d===void 0?"Remove this search from favorites":d;return r.state.status==="idle"&&r.hasCollections===!1?r.disableUserPersonalization?null:f.createElement("div",{className:"DocSearch-StartScreen"},f.createElement("p",{className:"DocSearch-Help"},u)):r.hasCollections===!1?null:f.createElement("div",{className:"DocSearch-Dropdown-Container"},f.createElement(zt,ht({},r,{title:i,collection:r.state.collections[0],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Mi,null))},renderAction:function(y){var b=y.item,_=y.runFavoriteTransition,S=y.runDeleteTransition;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:s,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),_(function(){r.favoriteSearches.add(b),r.recentSearches.remove(b),r.refresh()})}},f.createElement(Xn,null))),f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),S(function(){r.recentSearches.remove(b),r.refresh()})}},f.createElement(Kt,null))))}})),f.createElement(zt,ht({},r,{title:v,collection:r.state.collections[1],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Xn,null))},renderAction:function(y){var b=y.item,_=y.runDeleteTransition;return f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(S){S.preventDefault(),S.stopPropagation(),_(function(){r.favoriteSearches.remove(b),r.refresh()})}},f.createElement(Kt,null)))}})))}var ca=["translations"];function yt(){return yt=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}var la=f.memo(function(t){var e=t.translations,n=e===void 0?{}:e,r=ua(t,ca);if(r.state.status==="error")return f.createElement(zi,{translations:n==null?void 0:n.errorScreen});var o=r.state.collections.some(function(i){return i.items.length>0});return r.state.query?o===!1?f.createElement(Zi,yt({},r,{translations:n==null?void 0:n.noResultsScreen})):f.createElement(ra,r):f.createElement(aa,yt({},r,{hasCollections:o,translations:n==null?void 0:n.startScreen}))},function(t,e){return e.state.status==="loading"||e.state.status==="stalled"}),sa=["translations"];function gt(){return gt=Object.assign||function(t){for(var e=1;e=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function ma(t){var e=t.translations,n=e===void 0?{}:e,r=fa(t,sa),o=n.resetButtonTitle,i=o===void 0?"Clear the query":o,a=n.resetButtonAriaLabel,u=a===void 0?"Clear the query":a,c=n.cancelButtonText,s=c===void 0?"Cancel":c,l=n.cancelButtonAriaLabel,m=l===void 0?"Cancel":l,p=r.getFormProps({inputElement:r.inputRef.current}).onReset;return f.useEffect(function(){r.autoFocus&&r.inputRef.current&&r.inputRef.current.focus()},[r.autoFocus,r.inputRef]),f.useEffect(function(){r.isFromSelection&&r.inputRef.current&&r.inputRef.current.select()},[r.isFromSelection,r.inputRef]),f.createElement(f.Fragment,null,f.createElement("form",{className:"DocSearch-Form",onSubmit:function(v){v.preventDefault()},onReset:p},f.createElement("label",gt({className:"DocSearch-MagnifierLabel"},r.getLabelProps()),f.createElement(Hr,null)),f.createElement("div",{className:"DocSearch-LoadingIndicator"},f.createElement(Li,null)),f.createElement("input",gt({className:"DocSearch-Input",ref:r.inputRef},r.getInputProps({inputElement:r.inputRef.current,autoFocus:r.autoFocus,maxLength:64}))),f.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":u,hidden:!r.state.query},f.createElement(Kt,null))),f.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":m,onClick:r.onClose},s))}var pa=["_highlightResult","_snippetResult"];function va(t,e){if(t==null)return{};var n,r,o=function(a,u){if(a==null)return{};var c,s,l={},m=Object.keys(a);for(s=0;s=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function da(t){return function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(e){return window.localStorage.setItem(t,JSON.stringify(e))},getItem:function(){var e=window.localStorage.getItem(t);return e?JSON.parse(e):[]}}}function cr(t){var e=t.key,n=t.limit,r=n===void 0?5:n,o=da(e),i=o.getItem().slice(0,r);return{add:function(a){var u=a,c=(u._highlightResult,u._snippetResult,va(u,pa)),s=i.findIndex(function(l){return l.objectID===c.objectID});s>-1&&i.splice(s,1),i.unshift(c),i=i.slice(0,r),o.setItem(i)},remove:function(a){i=i.filter(function(u){return u.objectID!==a.objectID}),o.setItem(i)},getAll:function(){return i}}}var ha=["facetName","facetQuery"];function ya(t){var e,n="algoliasearch-client-js-".concat(t.key),r=function(){return e===void 0&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(r().getItem(n)||"{}")},i=function(u){r().setItem(n,JSON.stringify(u))},a=function(){var u=t.timeToLive?1e3*t.timeToLive:null,c=o(),s=Object.fromEntries(Object.entries(c).filter(function(m){return se(m,2)[1].timestamp!==void 0}));if(i(s),u){var l=Object.fromEntries(Object.entries(s).filter(function(m){var p=se(m,2)[1],v=new Date().getTime();return!(p.timestamp+u2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){a();var l=JSON.stringify(u);return o()[l]}).then(function(l){return Promise.all([l?l.value:c(),l!==void 0])}).then(function(l){var m=se(l,2),p=m[0],v=m[1];return Promise.all([p,v||s.miss(p)])}).then(function(l){return se(l,1)[0]})},set:function(u,c){return Promise.resolve().then(function(){var s=o();return s[JSON.stringify(u)]={timestamp:new Date().getTime(),value:c},r().setItem(n,JSON.stringify(s)),c})},delete:function(u){return Promise.resolve().then(function(){var c=o();delete c[JSON.stringify(u)],r().setItem(n,JSON.stringify(c))})},clear:function(){return Promise.resolve().then(function(){r().removeItem(n)})}}}function Ee(t){var e=ft(t.caches),n=e.shift();return n===void 0?{get:function(r,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(a){return Promise.all([a,i.miss(a)])}).then(function(a){return se(a,1)[0]})},set:function(r,o){return Promise.resolve(o)},delete:function(r){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(r,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(r,o,i).catch(function(){return Ee({caches:e}).get(r,o,i)})},set:function(r,o){return n.set(r,o).catch(function(){return Ee({caches:e}).set(r,o)})},delete:function(r){return n.delete(r).catch(function(){return Ee({caches:e}).delete(r)})},clear:function(){return n.clear().catch(function(){return Ee({caches:e}).clear()})}}}function Tt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},e={};return{get:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(n);if(i in e)return Promise.resolve(t.serializable?JSON.parse(e[i]):e[i]);var a=r(),u=o&&o.miss||function(){return Promise.resolve()};return a.then(function(c){return u(c)}).then(function(){return a})},set:function(n,r){return e[JSON.stringify(n)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(n){return delete e[JSON.stringify(n)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function ga(t){for(var e=t.length-1;e>0;e--){var n=Math.floor(Math.random()*(e+1)),r=t[e];t[e]=t[n],t[n]=r}return t}function $r(t,e){return e&&Object.keys(e).forEach(function(n){t[n]=e[n](t)}),t}function bt(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r0?r:void 0,timeout:n.timeout||e,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}var me={Read:1,Write:2,Any:3},Qr=1,ba=2,Zr=3;function Yr(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qr;return I(I({},t),{},{status:e,lastUpdate:Date.now()})}function Gr(t){return typeof t=="string"?{protocol:"https",url:t,accept:me.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||me.Any}}var $t="GET",_t="POST";function _a(t,e){return Promise.all(e.map(function(n){return t.get(n,function(){return Promise.resolve(Yr(n))})})).then(function(n){var r=n.filter(function(a){return function(u){return u.status===Qr||Date.now()-u.lastUpdate>12e4}(a)}),o=n.filter(function(a){return function(u){return u.status===Zr&&Date.now()-u.lastUpdate<=12e4}(a)}),i=[].concat(ft(r),ft(o));return{getTimeout:function(a,u){return(o.length===0&&a===0?1:o.length+3+a)*u},statelessHosts:i.length>0?i.map(function(a){return Gr(a)}):e}})}function lr(t,e,n,r){var o=[],i=function(p,v){if(!(p.method===$t||p.data===void 0&&v.data===void 0)){var d=Array.isArray(p.data)?p.data:I(I({},p.data),v.data);return JSON.stringify(d)}}(n,r),a=function(p,v){var d=I(I({},p.headers),v.headers),h={};return Object.keys(d).forEach(function(y){var b=d[y];h[y.toLowerCase()]=b}),h}(t,r),u=n.method,c=n.method!==$t?{}:I(I({},n.data),r.data),s=I(I(I({"x-algolia-agent":t.userAgent.value},t.queryParameters),c),r.queryParameters),l=0,m=function p(v,d){var h=v.pop();if(h===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:sr(o)};var y={data:i,headers:a,method:u,url:Sa(h,n.path,s),connectTimeout:d(l,t.timeouts.connect),responseTimeout:d(l,r.timeout)},b=function(S){var O={request:y,response:S,host:h,triesLeft:v.length};return o.push(O),O},_={onSuccess:function(S){return function(O){try{return JSON.parse(O.content)}catch(g){throw function(P,C){return{name:"DeserializationError",message:P,response:C}}(g.message,O)}}(S)},onRetry:function(S){var O=b(S);return S.isTimedOut&&l++,Promise.all([t.logger.info("Retryable failure",eo(O)),t.hostsCache.set(h,Yr(h,S.isTimedOut?Zr:ba))]).then(function(){return p(v,d)})},onFail:function(S){throw b(S),function(O,g){var P=O.content,C=O.status,L=P;try{L=JSON.parse(P).message}catch{}return function(x,k,N){return{name:"ApiError",message:x,status:k,transporterStackTrace:N}}(L,C,g)}(S,sr(o))}};return t.requester.send(y).then(function(S){return function(O,g){return function(P){var C=P.status;return P.isTimedOut||function(L){var x=L.isTimedOut,k=L.status;return!x&&~~k==0}(P)||~~(C/100)!=2&&~~(C/100)!=4}(O)?g.onRetry(O):~~(O.status/100)==2?g.onSuccess(O):g.onFail(O)}(S,_)})};return _a(t.hostsCache,e).then(function(p){return m(ft(p.statelessHosts).reverse(),p.getTimeout)})}function Oa(t){var e={value:"Algolia for JavaScript (".concat(t,")"),add:function(n){var r="; ".concat(n.segment).concat(n.version!==void 0?" (".concat(n.version,")"):"");return e.value.indexOf(r)===-1&&(e.value="".concat(e.value).concat(r)),e}};return e}function Sa(t,e,n){var r=Xr(n),o="".concat(t.protocol,"://").concat(t.url,"/").concat(e.charAt(0)==="/"?e.substr(1):e);return r.length&&(o+="?".concat(r)),o}function Xr(t){return Object.keys(t).map(function(e){return bt("%s=%s",e,(n=t[e],Object.prototype.toString.call(n)==="[object Object]"||Object.prototype.toString.call(n)==="[object Array]"?JSON.stringify(t[e]):t[e]));var n}).join("&")}function sr(t){return t.map(function(e){return eo(e)})}function eo(t){var e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return I(I({},t),{},{request:I(I({},t.request),{},{headers:I(I({},t.request.headers),e)})})}var wa=function(t){var e=t.appId,n=function(i,a,u){var c={"x-algolia-api-key":u,"x-algolia-application-id":a};return{headers:function(){return i===st.WithinHeaders?c:{}},queryParameters:function(){return i===st.WithinQueryParameters?c:{}}}}(t.authMode!==void 0?t.authMode:st.WithinHeaders,e,t.apiKey),r=function(i){var a=i.hostsCache,u=i.logger,c=i.requester,s=i.requestsCache,l=i.responsesCache,m=i.timeouts,p=i.userAgent,v=i.hosts,d=i.queryParameters,h={hostsCache:a,logger:u,requester:c,requestsCache:s,responsesCache:l,timeouts:m,userAgent:p,headers:i.headers,queryParameters:d,hosts:v.map(function(y){return Gr(y)}),read:function(y,b){var _=ur(b,h.timeouts.read),S=function(){return lr(h,h.hosts.filter(function(g){return(g.accept&me.Read)!=0}),y,_)};if((_.cacheable!==void 0?_.cacheable:y.cacheable)!==!0)return S();var O={request:y,mappedRequestOptions:_,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(O,function(){return h.requestsCache.get(O,function(){return h.requestsCache.set(O,S()).then(function(g){return Promise.all([h.requestsCache.delete(O),g])},function(g){return Promise.all([h.requestsCache.delete(O),Promise.reject(g)])}).then(function(g){var P=se(g,2);return P[0],P[1]})})},{miss:function(g){return h.responsesCache.set(O,g)}})},write:function(y,b){return lr(h,h.hosts.filter(function(_){return(_.accept&me.Write)!=0}),y,ur(b,h.timeouts.write))}};return h}(I(I({hosts:[{url:"".concat(e,"-dsn.algolia.net"),accept:me.Read},{url:"".concat(e,".algolia.net"),accept:me.Write}].concat(ga([{url:"".concat(e,"-1.algolianet.com")},{url:"".concat(e,"-2.algolianet.com")},{url:"".concat(e,"-3.algolianet.com")}]))},t),{},{headers:I(I(I({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),t.headers),queryParameters:I(I({},n.queryParameters()),t.queryParameters)})),o={transporter:r,appId:e,addAlgoliaAgent:function(i,a){r.userAgent.add({segment:i,version:a})},clearCache:function(){return Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then(function(){})}};return $r(o,t.methods)},ja=function(t){return function(e,n){return e.method===$t?t.transporter.read(e,n):t.transporter.write(e,n)}},to=function(t){return function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r={transporter:t.transporter,appId:t.appId,indexName:e};return $r(r,n.methods)}},fr=function(t){return function(e,n){var r=e.map(function(o){return I(I({},o),{},{params:Xr(o.params||{})})});return t.transporter.read({method:_t,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)}},mr=function(t){return function(e,n){return Promise.all(e.map(function(r){var o=r.params,i=o.facetName,a=o.facetQuery,u=_o(o,ha);return to(t)(r.indexName,{methods:{searchForFacetValues:no}}).searchForFacetValues(i,a,I(I({},n),u))}))}},Ea=function(t){return function(e,n,r){return t.transporter.read({method:_t,path:bt("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:n},cacheable:!0},r)}},Pa=function(t){return function(e,n){return t.transporter.read({method:_t,path:bt("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},n)}},no=function(t){return function(e,n,r){return t.transporter.read({method:_t,path:bt("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:n},cacheable:!0},r)}},Ia=1,Da=2,ka=3;function ro(t,e,n){var r,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(i){return new Promise(function(a){var u=new XMLHttpRequest;u.open(i.method,i.url,!0),Object.keys(i.headers).forEach(function(m){return u.setRequestHeader(m,i.headers[m])});var c,s=function(m,p){return setTimeout(function(){u.abort(),a({status:0,content:p,isTimedOut:!0})},1e3*m)},l=s(i.connectTimeout,"Connection timeout");u.onreadystatechange=function(){u.readyState>u.OPENED&&c===void 0&&(clearTimeout(l),c=s(i.responseTimeout,"Socket timeout"))},u.onerror=function(){u.status===0&&(clearTimeout(l),clearTimeout(c),a({content:u.responseText||"Network request failed",status:u.status,isTimedOut:!1}))},u.onload=function(){clearTimeout(l),clearTimeout(c),a({content:u.responseText,status:u.status,isTimedOut:!1})},u.send(i.data)})}},logger:(r=ka,{debug:function(i,a){return Ia>=r&&console.debug(i,a),Promise.resolve()},info:function(i,a){return Da>=r&&console.info(i,a),Promise.resolve()},error:function(i,a){return console.error(i,a),Promise.resolve()}}),responsesCache:Tt(),requestsCache:Tt({serializable:!1}),hostsCache:Ee({caches:[ya({key:"".concat("4.19.1","-").concat(t)}),Tt()]}),userAgent:Oa("4.19.1").add({segment:"Browser",version:"lite"}),authMode:st.WithinQueryParameters};return wa(I(I(I({},o),n),{},{methods:{search:fr,searchForFacetValues:mr,multipleQueries:fr,multipleSearchForFacetValues:mr,customRequest:ja,initIndex:function(i){return function(a){return to(i)(a,{methods:{search:Pa,searchForFacetValues:no,findAnswers:Ea}})}}}}))}ro.version="4.19.1";var Aa=["footer","searchBox"];function Be(){return Be=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(l[c]=a[c]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Ta(t){var e=t.appId,n=t.apiKey,r=t.indexName,o=t.placeholder,i=o===void 0?"Search docs":o,a=t.searchParameters,u=t.maxResultsPerGroup,c=t.onClose,s=c===void 0?ta:c,l=t.transformItems,m=l===void 0?ar:l,p=t.hitComponent,v=p===void 0?qi:p,d=t.resultsFooterComponent,h=d===void 0?function(){return null}:d,y=t.navigator,b=t.initialScrollY,_=b===void 0?0:b,S=t.transformSearchClient,O=S===void 0?ar:S,g=t.disableUserPersonalization,P=g!==void 0&&g,C=t.initialQuery,L=C===void 0?"":C,x=t.translations,k=x===void 0?{}:x,N=t.getMissingResultsUrl,U=t.insights,F=U!==void 0&&U,M=k.footer,Ot=k.searchBox,St=Na(k,Aa),$e=xa(f.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=$e[0],oo=$e[1],Xt=f.useRef(null),wt=f.useRef(null),en=f.useRef(null),Qe=f.useRef(null),he=f.useRef(null),Q=f.useRef(10),tn=f.useRef(typeof window<"u"?window.getSelection().toString().slice(0,64):"").current,ee=f.useRef(L||tn).current,nn=function(j,D,T){return f.useMemo(function(){var H=ro(j,D);return H.addAlgoliaAgent("docsearch","3.5.2"),/docsearch.js \(.*\)/.test(H.transporter.userAgent.value)===!1&&H.addAlgoliaAgent("docsearch-react","3.5.2"),T(H)},[j,D,T])}(e,n,O),oe=f.useRef(cr({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(r),limit:10})).current,ye=f.useRef(cr({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(r),limit:oe.getAll().length===0?7:4})).current,ge=f.useCallback(function(j){if(!P){var D=j.type==="content"?j.__docsearch_parent:j;D&&oe.getAll().findIndex(function(T){return T.objectID===D.objectID})===-1&&ye.add(D)}},[oe,ye,P]),io=f.useCallback(function(j){if(B.context.algoliaInsightsPlugin&&j.__autocomplete_id){var D=j,T={eventName:"Item Selected",index:D.__autocomplete_indexName,items:[D],positions:[j.__autocomplete_id],queryID:D.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(T)}},[B.context.algoliaInsightsPlugin]),be=f.useMemo(function(){return Ni({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:ee,context:{searchSuggestions:[]}},insights:F,navigator:y,onStateChange:function(j){oo(j.state)},getSources:function(j){var D=j.query,T=j.state,H=j.setContext,Z=j.setStatus;if(!D)return P?[]:[{sourceId:"recentSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return ye.getAll()}},{sourceId:"favoriteSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return oe.getAll()}}];var Y=!!F;return nn.search([{query:D,indexName:r,params:Rt({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(Q.current),"hierarchy.lvl2:".concat(Q.current),"hierarchy.lvl3:".concat(Q.current),"hierarchy.lvl4:".concat(Q.current),"hierarchy.lvl5:".concat(Q.current),"hierarchy.lvl6:".concat(Q.current),"content:".concat(Q.current)],snippetEllipsisText:"…",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:Y},a)}]).catch(function(A){throw A.name==="RetryError"&&Z("error"),A}).then(function(A){var V=A.results[0],_e=V.hits,uo=V.nbHits,jt=ir(_e,function(Et){return Jr(Et)},u);T.context.searchSuggestions.length0&&(rn(),he.current&&he.current.focus())},[ee,rn]),f.useEffect(function(){function j(){if(wt.current){var D=.01*window.innerHeight;wt.current.style.setProperty("--docsearch-vh","".concat(D,"px"))}}return j(),window.addEventListener("resize",j),function(){window.removeEventListener("resize",j)}},[]),f.createElement("div",Be({ref:Xt},co({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",B.status==="stalled"&&"DocSearch-Container--Stalled",B.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(j){j.target===j.currentTarget&&s()}}),f.createElement("div",{className:"DocSearch-Modal",ref:wt},f.createElement("header",{className:"DocSearch-SearchBar",ref:en},f.createElement(ma,Be({},be,{state:B,autoFocus:ee.length===0,inputRef:he,isFromSelection:!!ee&&ee===tn,translations:Ot,onClose:s}))),f.createElement("div",{className:"DocSearch-Dropdown",ref:Qe},f.createElement(la,Be({},be,{indexName:r,state:B,hitComponent:v,resultsFooterComponent:h,disableUserPersonalization:P,recentSearches:ye,favoriteSearches:oe,inputRef:he,translations:St,getMissingResultsUrl:N,onItemClick:function(j,D){io(j),ge(j),at(D)||s()}}))),f.createElement("footer",{className:"DocSearch-Footer"},f.createElement(Ri,{translations:M}))))}function Qt(){return Qt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n1&&arguments[1]!==void 0?arguments[1]:window;return typeof e=="string"?n.document.querySelector(e):e}(t.container,t.environment))}const La={id:"docsearch"},Ua=so({__name:"VPAlgoliaSearchBox",props:{algolia:{}},setup(t){const e=t,n=fo(),r=mo(),{site:o,localeIndex:i,lang:a}=go();po(u),vo(i,u);function u(){var v,d;const l={...e.algolia,...(v=e.algolia.locales)==null?void 0:v[i.value]},m=((d=l.searchParameters)==null?void 0:d.facetFilters)??[],p=[...(Array.isArray(m)?m:[m]).filter(h=>!h.startsWith("lang:")),`lang:${a.value}`];c({...l,searchParameters:{...l.searchParameters,facetFilters:p}})}function c(l){const m=Object.assign({},l,{container:"#docsearch",navigator:{navigate({itemUrl:p}){const{pathname:v}=new URL(window.location.origin+p);r.path===v?window.location.assign(window.location.origin+p):n.go(p)}},transformItems(p){return p.map(v=>Object.assign({},v,{url:s(v.url)}))},hitComponent({hit:p,children:v}){return{__v:null,type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:p.url,children:v}}}});qa(m)}function s(l){const{pathname:m,hash:p}=new URL(l);return m.replace(/\.html$/,o.value.cleanUrls?"":".html")+p}return(l,m)=>(ho(),yo("div",La))}});export{Ua as default}; diff --git a/docs/assets/chunks/framework.1eef7d9b.js b/docs/assets/chunks/framework.1eef7d9b.js deleted file mode 100644 index 89652260..00000000 --- a/docs/assets/chunks/framework.1eef7d9b.js +++ /dev/null @@ -1,2 +0,0 @@ -function Yn(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const te={},ft=[],Pe=()=>{},Ei=()=>!1,Ti=/^on[^a-z]/,$t=e=>Ti.test(e),Jn=e=>e.startsWith("onUpdate:"),oe=Object.assign,Xn=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,q=(e,t)=>Ai.call(e,t),N=Array.isArray,at=e=>an(e)==="[object Map]",pr=e=>an(e)==="[object Set]",j=e=>typeof e=="function",re=e=>typeof e=="string",Zn=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",gr=e=>ee(e)&&j(e.then)&&j(e.catch),mr=Object.prototype.toString,an=e=>mr.call(e),Ri=e=>an(e).slice(8,-1),_r=e=>an(e)==="[object Object]",Qn=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=Yn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),un=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Pi=/-(\w)/g,Me=un(e=>e.replace(Pi,(t,n)=>n?n.toUpperCase():"")),Ii=/\B([A-Z])/g,rt=un(e=>e.replace(Ii,"-$1").toLowerCase()),dn=un(e=>e.charAt(0).toUpperCase()+e.slice(1)),Xt=un(e=>e?`on${dn(e)}`:""),Ft=(e,t)=>!Object.is(e,t),Tn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Oi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Fi=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let xs;const Nn=()=>xs||(xs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Gn(e){if(N(e)){const t={};for(let n=0;n{if(n){const s=n.split(Mi);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function es(e){let t="";if(re(e))t=e;else if(N(e))for(let n=0;nre(e)?e:e==null?"":N(e)||ee(e)&&(e.toString===mr||!j(e.toString))?JSON.stringify(e,yr,2):String(e),yr=(e,t)=>t&&t.__v_isRef?yr(e,t.value):at(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:pr(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!N(t)&&!_r(t)?String(t):t;let _e;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=_e,!t&&_e&&(this.index=(_e.scopes||(_e.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=_e;try{return _e=this,t()}finally{_e=n}}}on(){_e=this}off(){_e=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},vr=e=>(e.w&Ve)>0,wr=e=>(e.n&Ve)>0,Di=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(d==="length"||d>=c)&&l.push(a)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":N(e)?Qn(n)&&l.push(o.get("length")):(l.push(o.get(nt)),at(e)&&l.push(o.get(Hn)));break;case"delete":N(e)||(l.push(o.get(nt)),at(e)&&l.push(o.get(Hn)));break;case"set":at(e)&&l.push(o.get(nt));break}if(l.length===1)l[0]&&Bn(l[0]);else{const c=[];for(const a of l)a&&c.push(...a);Bn(ts(c))}}function Bn(e,t){const n=N(e)?e:[...e];for(const s of n)s.computed&&Ts(s);for(const s of n)s.computed||Ts(s)}function Ts(e,t){(e!==Ae||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function ki(e,t){var n;return(n=tn.get(e))==null?void 0:n.get(t)}const Wi=Yn("__proto__,__v_isRef,__isVue"),Er=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Zn)),Vi=ss(),qi=ss(!1,!0),zi=ss(!0),As=Yi();function Yi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let i=0,o=this.length;i{e[t]=function(...n){vt();const s=z(this)[t].apply(this,n);return wt(),s}}),e}function Ji(e){const t=z(this);return pe(t,"has",e),t.hasOwnProperty(e)}function ss(e=!1,t=!1){return function(s,r,i){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&i===(e?t?uo:Ir:t?Pr:Rr).get(s))return s;const o=N(s);if(!e){if(o&&q(As,r))return Reflect.get(As,r,i);if(r==="hasOwnProperty")return Ji}const l=Reflect.get(s,r,i);return(Zn(r)?Er.has(r):Wi(r))||(e||pe(s,"get",r),t)?l:ce(l)?o&&Qn(r)?l:l.value:ee(l)?e?Or(l):pn(l):l}}const Xi=Tr(),Zi=Tr(!0);function Tr(e=!1){return function(n,s,r,i){let o=n[s];if(mt(o)&&ce(o)&&!ce(r))return!1;if(!e&&(!nn(r)&&!mt(r)&&(o=z(o),r=z(r)),!N(n)&&ce(o)&&!ce(r)))return o.value=r,!0;const l=N(n)&&Qn(s)?Number(s)e,hn=e=>Reflect.getPrototypeOf(e);function Dt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),i=z(t);n||(t!==i&&pe(r,"get",t),pe(r,"get",i));const{has:o}=hn(r),l=s?rs:n?ls:St;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Kt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return t||(e!==r&&pe(s,"has",e),pe(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function kt(e,t=!1){return e=e.__v_raw,!t&&pe(z(e),"iterate",nt),Reflect.get(e,"size",e)}function Rs(e){e=z(e);const t=z(this);return hn(t).has.call(t,e)||(t.add(e),$e(t,"add",e,e)),this}function Ps(e,t){t=z(t);const n=z(this),{has:s,get:r}=hn(n);let i=s.call(n,e);i||(e=z(e),i=s.call(n,e));const o=r.call(n,e);return n.set(e,t),i?Ft(t,o)&&$e(n,"set",e,t):$e(n,"add",e,t),this}function Is(e){const t=z(this),{has:n,get:s}=hn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&$e(t,"delete",e,void 0),i}function Os(){const e=z(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Wt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=z(o),c=t?rs:e?ls:St;return!e&&pe(l,"iterate",nt),o.forEach((a,d)=>s.call(r,c(a),c(d),i))}}function Vt(e,t,n){return function(...s){const r=this.__v_raw,i=z(r),o=at(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),d=n?rs:t?ls:St;return!t&&pe(i,"iterate",c?Hn:nt),{next(){const{value:p,done:v}=a.next();return v?{value:p,done:v}:{value:l?[d(p[0]),d(p[1])]:d(p),done:v}},[Symbol.iterator](){return this}}}}function Be(e){return function(...t){return e==="delete"?!1:this}}function so(){const e={get(i){return Dt(this,i)},get size(){return kt(this)},has:Kt,add:Rs,set:Ps,delete:Is,clear:Os,forEach:Wt(!1,!1)},t={get(i){return Dt(this,i,!1,!0)},get size(){return kt(this)},has:Kt,add:Rs,set:Ps,delete:Is,clear:Os,forEach:Wt(!1,!0)},n={get(i){return Dt(this,i,!0)},get size(){return kt(this,!0)},has(i){return Kt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:Wt(!0,!1)},s={get(i){return Dt(this,i,!0,!0)},get size(){return kt(this,!0)},has(i){return Kt.call(this,i,!0)},add:Be("add"),set:Be("set"),delete:Be("delete"),clear:Be("clear"),forEach:Wt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=Vt(i,!1,!1),n[i]=Vt(i,!0,!1),t[i]=Vt(i,!1,!0),s[i]=Vt(i,!0,!0)}),[e,n,t,s]}const[ro,io,oo,lo]=so();function is(e,t){const n=t?e?lo:oo:e?io:ro;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,i)}const co={get:is(!1,!1)},fo={get:is(!1,!0)},ao={get:is(!0,!1)},Rr=new WeakMap,Pr=new WeakMap,Ir=new WeakMap,uo=new WeakMap;function ho(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function po(e){return e.__v_skip||!Object.isExtensible(e)?0:ho(Ri(e))}function pn(e){return mt(e)?e:os(e,!1,Ar,co,Rr)}function go(e){return os(e,!1,no,fo,Pr)}function Or(e){return os(e,!0,to,ao,Ir)}function os(e,t,n,s,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=po(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ut(e){return mt(e)?ut(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function nn(e){return!!(e&&e.__v_isShallow)}function Fr(e){return ut(e)||mt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Rt(e){return en(e,"__v_skip",!0),e}const St=e=>ee(e)?pn(e):e,ls=e=>ee(e)?Or(e):e;function cs(e){ke&&Ae&&(e=z(e),xr(e.dep||(e.dep=ts())))}function fs(e,t){e=z(e);const n=e.dep;n&&Bn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function dt(e){return Sr(e,!1)}function mo(e){return Sr(e,!0)}function Sr(e,t){return ce(e)?e:new _o(e,t)}class _o{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:St(t)}get value(){return cs(this),this._value}set value(t){const n=this.__v_isShallow||nn(t)||mt(t);t=n?t:z(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:St(t),fs(this))}}function bo(e){return ce(e)?e.value:e}const yo={get:(e,t,n)=>bo(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Mr(e){return ut(e)?e:new Proxy(e,yo)}class vo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>cs(this),()=>fs(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Mc(e){return new vo(e)}class wo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return ki(z(this._object),this._key)}}class Co{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Lc(e,t,n){return ce(e)?e:j(e)?new Co(e):ee(e)&&arguments.length>1?xo(e,t,n):dt(e)}function xo(e,t,n){const s=e[t];return ce(s)?s:new wo(e,t,n)}class Eo{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ns(t,()=>{this._dirty||(this._dirty=!0,fs(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return cs(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function To(e,t,n=!1){let s,r;const i=j(e);return i?(s=e,r=Pe):(s=e.get,r=e.set),new Eo(s,r,i||!r,n)}function We(e,t,n,s){let r;try{r=s?e(...s):e()}catch(i){Ht(i,t,n)}return r}function Ce(e,t,n,s){if(j(e)){const i=We(e,t,n,s);return i&&gr(i)&&i.catch(o=>{Ht(o,t,n)}),i}const r=[];for(let i=0;i>>1;Lt(fe[s])Se&&fe.splice(t,1)}function Io(e){N(e)?ht.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?Qe+1:Qe))&&ht.push(e),$r()}function Fs(e,t=Mt?Se+1:0){for(;tLt(n)-Lt(s)),Qe=0;Qee.id==null?1/0:e.id,Oo=(e,t)=>{const n=Lt(e)-Lt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Hr(e){Un=!1,Mt=!0,fe.sort(Oo);const t=Pe;try{for(Se=0;Sere(E)?E.trim():E)),p&&(r=n.map(Oi))}let l,c=s[l=Xt(t)]||s[l=Xt(Me(t))];!c&&i&&(c=s[l=Xt(rt(t))]),c&&Ce(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ce(a,e,6,r)}}function Br(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!j(e)){const c=a=>{const d=Br(a,t,!0);d&&(l=!0,oe(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ee(e)&&s.set(e,null),null):(N(i)?i.forEach(c=>o[c]=null):oe(o,i),ee(e)&&s.set(e,o),o)}function mn(e,t){return!e||!$t(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,rt(t))||q(e,t))}let ae=null,_n=null;function rn(e){const t=ae;return ae=e,_n=e&&e.type.__scopeId||null,t}function Nc(e){_n=e}function $c(){_n=null}function So(e,t=ae,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&ks(-1);const i=rn(t);let o;try{o=e(...r)}finally{rn(i),s._d&&ks(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function An(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:i,propsOptions:[o],slots:l,attrs:c,emit:a,render:d,renderCache:p,data:v,setupState:E,ctx:R,inheritAttrs:I}=e;let $,_;const b=rn(e);try{if(n.shapeFlag&4){const P=r||s;$=Te(d.call(P,P,p,i,E,v,R)),_=c}else{const P=t;$=Te(P.length>1?P(i,{attrs:c,slots:l,emit:a}):P(i,null)),_=t.props?c:Mo(c)}}catch(P){Ot.length=0,Ht(P,e,1),$=se(be)}let H=$;if(_&&I!==!1){const P=Object.keys(_),{shapeFlag:K}=H;P.length&&K&7&&(o&&P.some(Jn)&&(_=Lo(_,o)),H=qe(H,_))}return n.dirs&&(H=qe(H),H.dirs=H.dirs?H.dirs.concat(n.dirs):n.dirs),n.transition&&(H.transition=n.transition),$=H,rn(b),$}const Mo=e=>{let t;for(const n in e)(n==="class"||n==="style"||$t(n))&&((t||(t={}))[n]=e[n]);return t},Lo=(e,t)=>{const n={};for(const s in e)(!Jn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function No(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ss(s,o,a):!!o;if(c&8){const d=t.dynamicProps;for(let p=0;pe.__isSuspense;function Ur(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Io(e)}function Bo(e,t){return bn(e,null,t)}function Hc(e,t){return bn(e,null,{flush:"post"})}const qt={};function Zt(e,t,n){return bn(e,t,n)}function bn(e,t,{immediate:n,deep:s,flush:r,onTrack:i,onTrigger:o}=te){var l;const c=ji()===((l=le)==null?void 0:l.scope)?le:null;let a,d=!1,p=!1;if(ce(e)?(a=()=>e.value,d=nn(e)):ut(e)?(a=()=>e,s=!0):N(e)?(p=!0,d=e.some(P=>ut(P)||nn(P)),a=()=>e.map(P=>{if(ce(P))return P.value;if(ut(P))return ct(P);if(j(P))return We(P,c,2)})):j(e)?t?a=()=>We(e,c,2):a=()=>{if(!(c&&c.isUnmounted))return v&&v(),Ce(e,c,3,[E])}:a=Pe,t&&s){const P=a;a=()=>ct(P())}let v,E=P=>{v=b.onStop=()=>{We(P,c,4)}},R;if(yt)if(E=Pe,t?n&&Ce(t,c,3,[a(),p?[]:void 0,E]):a(),r==="sync"){const P=Sl();R=P.__watcherHandles||(P.__watcherHandles=[])}else return Pe;let I=p?new Array(e.length).fill(qt):qt;const $=()=>{if(b.active)if(t){const P=b.run();(s||d||(p?P.some((K,J)=>Ft(K,I[J])):Ft(P,I)))&&(v&&v(),Ce(t,c,3,[P,I===qt?void 0:p&&I[0]===qt?[]:I,E]),I=P)}else b.run()};$.allowRecurse=!!t;let _;r==="sync"?_=$:r==="post"?_=()=>de($,c&&c.suspense):($.pre=!0,c&&($.id=c.uid),_=()=>gn($));const b=new ns(a,_);t?n?$():I=b.run():r==="post"?de(b.run.bind(b),c&&c.suspense):b.run();const H=()=>{b.stop(),c&&c.scope&&Xn(c.scope.effects,b)};return R&&R.push(H),H}function Uo(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?jr(s,e):()=>s[e]:e.bind(s,s);let i;j(t)?i=t:(i=t.handler,n=t);const o=le;bt(this);const l=bn(r,i.bind(s),n);return o?bt(o):st(),l}function jr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{ct(n,t)});else if(_r(e))for(const n in e)ct(e[n],t);return e}function Fe(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o{e.isMounted=!0}),Vr(()=>{e.isUnmounting=!0}),e}const ye=[Function,Array],Dr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ye,onEnter:ye,onAfterEnter:ye,onEnterCancelled:ye,onBeforeLeave:ye,onLeave:ye,onAfterLeave:ye,onLeaveCancelled:ye,onBeforeAppear:ye,onAppear:ye,onAfterAppear:ye,onAppearCancelled:ye},Do={name:"BaseTransition",props:Dr,setup(e,{slots:t}){const n=fi(),s=jo();let r;return()=>{const i=t.default&&kr(t.default(),!0);if(!i||!i.length)return;let o=i[0];if(i.length>1){for(const I of i)if(I.type!==be){o=I;break}}const l=z(e),{mode:c}=l;if(s.isLeaving)return Rn(o);const a=Ms(o);if(!a)return Rn(o);const d=jn(a,l,s,n);Dn(a,d);const p=n.subTree,v=p&&Ms(p);let E=!1;const{getTransitionKey:R}=a.type;if(R){const I=R();r===void 0?r=I:I!==r&&(r=I,E=!0)}if(v&&v.type!==be&&(!Ge(a,v)||E)){const I=jn(v,l,s,n);if(Dn(v,I),c==="out-in")return s.isLeaving=!0,I.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&n.update()},Rn(o);c==="in-out"&&a.type!==be&&(I.delayLeave=($,_,b)=>{const H=Kr(s,v);H[String(v.key)]=v,$._leaveCb=()=>{_(),$._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=b})}return o}}},Ko=Do;function Kr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function jn(e,t,n,s){const{appear:r,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:p,onLeave:v,onAfterLeave:E,onLeaveCancelled:R,onBeforeAppear:I,onAppear:$,onAfterAppear:_,onAppearCancelled:b}=t,H=String(e.key),P=Kr(n,e),K=(A,D)=>{A&&Ce(A,s,9,D)},J=(A,D)=>{const U=D[1];K(A,D),N(A)?A.every(Y=>Y.length<=1)&&U():A.length<=1&&U()},V={mode:i,persisted:o,beforeEnter(A){let D=l;if(!n.isMounted)if(r)D=I||l;else return;A._leaveCb&&A._leaveCb(!0);const U=P[H];U&&Ge(e,U)&&U.el._leaveCb&&U.el._leaveCb(),K(D,[A])},enter(A){let D=c,U=a,Y=d;if(!n.isMounted)if(r)D=$||c,U=_||a,Y=b||d;else return;let O=!1;const k=A._enterCb=S=>{O||(O=!0,S?K(Y,[A]):K(U,[A]),V.delayedLeave&&V.delayedLeave(),A._enterCb=void 0)};D?J(D,[A,k]):k()},leave(A,D){const U=String(e.key);if(A._enterCb&&A._enterCb(!0),n.isUnmounting)return D();K(p,[A]);let Y=!1;const O=A._leaveCb=k=>{Y||(Y=!0,D(),k?K(R,[A]):K(E,[A]),A._leaveCb=void 0,P[U]===e&&delete P[U])};P[U]=e,v?J(v,[A,O]):O()},clone(A){return jn(A,t,n,s)}};return V}function Rn(e){if(Bt(e))return e=qe(e),e.children=null,e}function Ms(e){return Bt(e)?e.children?e.children[0]:void 0:e}function Dn(e,t){e.shapeFlag&6&&e.component?Dn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function kr(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ioe({name:e.name},t,{setup:e}))():e}const pt=e=>!!e.type.__asyncLoader;function Bc(e){j(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:i,suspensible:o=!0,onError:l}=e;let c=null,a,d=0;const p=()=>(d++,c=null,v()),v=()=>{let E;return c||(E=c=t().catch(R=>{if(R=R instanceof Error?R:new Error(String(R)),l)return new Promise((I,$)=>{l(R,()=>I(p()),()=>$(R),d+1)});throw R}).then(R=>E!==c&&c?c:(R&&(R.__esModule||R[Symbol.toStringTag]==="Module")&&(R=R.default),a=R,R)))};return us({name:"AsyncComponentWrapper",__asyncLoader:v,get __asyncResolved(){return a},setup(){const E=le;if(a)return()=>Pn(a,E);const R=b=>{c=null,Ht(b,E,13,!s)};if(o&&E.suspense||yt)return v().then(b=>()=>Pn(b,E)).catch(b=>(R(b),()=>s?se(s,{error:b}):null));const I=dt(!1),$=dt(),_=dt(!!r);return r&&setTimeout(()=>{_.value=!1},r),i!=null&&setTimeout(()=>{if(!I.value&&!$.value){const b=new Error(`Async component timed out after ${i}ms.`);R(b),$.value=b}},i),v().then(()=>{I.value=!0,E.parent&&Bt(E.parent.vnode)&&gn(E.parent.update)}).catch(b=>{R(b),$.value=b}),()=>{if(I.value&&a)return Pn(a,E);if($.value&&s)return se(s,{error:$.value});if(n&&!_.value)return se(n)}}})}function Pn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=se(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Bt=e=>e.type.__isKeepAlive;function ko(e,t){Wr(e,"a",t)}function Wo(e,t){Wr(e,"da",t)}function Wr(e,t,n=le){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(yn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Bt(r.parent.vnode)&&Vo(s,t,n,r),r=r.parent}}function Vo(e,t,n,s){const r=yn(t,e,s,!0);wn(()=>{Xn(s[t],r)},n)}function yn(e,t,n=le,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;vt(),bt(n);const l=Ce(t,n,e,o);return st(),wt(),l});return s?r.unshift(i):r.push(i),i}}const He=e=>(t,n=le)=>(!yt||e==="sp")&&yn(e,(...s)=>t(...s),n),qo=He("bm"),vn=He("m"),zo=He("bu"),Yo=He("u"),Vr=He("bum"),wn=He("um"),Jo=He("sp"),Xo=He("rtg"),Zo=He("rtc");function Qo(e,t=le){yn("ec",e,t)}const ds="components";function Uc(e,t){return zr(ds,e,!0,t)||e}const qr=Symbol.for("v-ndc");function jc(e){return re(e)?zr(ds,e,!1)||e:e||qr}function zr(e,t,n=!0,s=!1){const r=ae||le;if(r){const i=r.type;if(e===ds){const l=Il(i,!1);if(l&&(l===t||l===Me(t)||l===dn(Me(t))))return i}const o=Ls(r[e]||i[e],t)||Ls(r.appContext[e],t);return!o&&s?i:o}}function Ls(e,t){return e&&(e[t]||e[Me(t)]||e[dn(Me(t))])}function Dc(e,t,n,s){let r;const i=n&&n[s];if(N(e)||re(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i&&i[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lfn(t)?!(t.type===be||t.type===he&&!Yr(t.children)):!0)?e:null}function kc(e,t){const n={};for(const s in e)n[t&&/[A-Z]/.test(s)?`on:${s}`:Xt(s)]=e[s];return n}const Kn=e=>e?ai(e)?_s(e)||e.proxy:Kn(e.parent):null,Pt=oe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Kn(e.parent),$root:e=>Kn(e.root),$emit:e=>e.emit,$options:e=>hs(e),$forceUpdate:e=>e.f||(e.f=()=>gn(e.update)),$nextTick:e=>e.n||(e.n=Nr.bind(e.proxy)),$watch:e=>Uo.bind(e)}),In=(e,t)=>e!==te&&!e.__isScriptSetup&&q(e,t),Go={get({_:e},t){const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let a;if(t[0]!=="$"){const E=o[t];if(E!==void 0)switch(E){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(In(s,t))return o[t]=1,s[t];if(r!==te&&q(r,t))return o[t]=2,r[t];if((a=e.propsOptions[0])&&q(a,t))return o[t]=3,i[t];if(n!==te&&q(n,t))return o[t]=4,n[t];kn&&(o[t]=0)}}const d=Pt[t];let p,v;if(d)return t==="$attrs"&&pe(e,"get",t),d(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(n!==te&&q(n,t))return o[t]=4,n[t];if(v=c.config.globalProperties,q(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return In(r,t)?(r[t]=n,!0):s!==te&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&q(e,o)||In(t,o)||(l=i[0])&&q(l,o)||q(s,o)||q(Pt,o)||q(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Wc(){return el().slots}function el(){const e=fi();return e.setupContext||(e.setupContext=di(e))}function Ns(e){return N(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let kn=!0;function tl(e){const t=hs(e),n=e.proxy,s=e.ctx;kn=!1,t.beforeCreate&&$s(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:d,beforeMount:p,mounted:v,beforeUpdate:E,updated:R,activated:I,deactivated:$,beforeDestroy:_,beforeUnmount:b,destroyed:H,unmounted:P,render:K,renderTracked:J,renderTriggered:V,errorCaptured:A,serverPrefetch:D,expose:U,inheritAttrs:Y,components:O,directives:k,filters:S}=t;if(a&&nl(a,s,null),o)for(const ne in o){const Q=o[ne];j(Q)&&(s[ne]=Q.bind(n))}if(r){const ne=r.call(n,n);ee(ne)&&(e.data=pn(ne))}if(kn=!0,i)for(const ne in i){const Q=i[ne],ze=j(Q)?Q.bind(n,n):j(Q.get)?Q.get.bind(n,n):Pe,Ut=!j(Q)&&j(Q.set)?Q.set.bind(n):Pe,Ye=Ee({get:ze,set:Ut});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Ie=>Ye.value=Ie})}if(l)for(const ne in l)Jr(l[ne],s,n,ne);if(c){const ne=j(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Q=>{cl(Q,ne[Q])})}d&&$s(d,e,"c");function X(ne,Q){N(Q)?Q.forEach(ze=>ne(ze.bind(n))):Q&&ne(Q.bind(n))}if(X(qo,p),X(vn,v),X(zo,E),X(Yo,R),X(ko,I),X(Wo,$),X(Qo,A),X(Zo,J),X(Xo,V),X(Vr,b),X(wn,P),X(Jo,D),N(U))if(U.length){const ne=e.exposed||(e.exposed={});U.forEach(Q=>{Object.defineProperty(ne,Q,{get:()=>n[Q],set:ze=>n[Q]=ze})})}else e.exposed||(e.exposed={});K&&e.render===Pe&&(e.render=K),Y!=null&&(e.inheritAttrs=Y),O&&(e.components=O),k&&(e.directives=k)}function nl(e,t,n=Pe){N(e)&&(e=Wn(e));for(const s in e){const r=e[s];let i;ee(r)?"default"in r?i=gt(r.from||s,r.default,!0):i=gt(r.from||s):i=gt(r),ce(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function $s(e,t,n){Ce(N(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Jr(e,t,n,s){const r=s.includes(".")?jr(n,s):()=>n[s];if(re(e)){const i=t[e];j(i)&&Zt(r,i)}else if(j(e))Zt(r,e.bind(n));else if(ee(e))if(N(e))e.forEach(i=>Jr(i,t,n,s));else{const i=j(e.handler)?e.handler.bind(n):t[e.handler];j(i)&&Zt(r,i,e)}}function hs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>on(c,a,o,!0)),on(c,t,o)),ee(t)&&i.set(t,c),c}function on(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&on(e,i,n,!0),r&&r.forEach(o=>on(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=sl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const sl={data:Hs,props:Bs,emits:Bs,methods:Tt,computed:Tt,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Tt,directives:Tt,watch:il,provide:Hs,inject:rl};function Hs(e,t){return t?e?function(){return oe(j(e)?e.call(this,this):e,j(t)?t.call(this,this):t)}:t:e}function rl(e,t){return Tt(Wn(e),Wn(t))}function Wn(e){if(N(e)){const t={};for(let n=0;n1)return n&&j(t)?t.call(s&&s.proxy):t}}function fl(e,t,n,s=!1){const r={},i={};en(i,Cn,1),e.propsDefaults=Object.create(null),Zr(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:go(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function al(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=z(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let p=0;p{c=!0;const[v,E]=Qr(p,t,!0);oe(o,v),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return ee(e)&&s.set(e,ft),ft;if(N(i))for(let d=0;d-1,E[1]=I<0||R-1||q(E,"default"))&&l.push(p)}}}const a=[o,l];return ee(e)&&s.set(e,a),a}function Us(e){return e[0]!=="$"}function js(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Ds(e,t){return js(e)===js(t)}function Ks(e,t){return N(t)?t.findIndex(n=>Ds(n,e)):j(t)&&Ds(t,e)?0:-1}const Gr=e=>e[0]==="_"||e==="$stable",ps=e=>N(e)?e.map(Te):[Te(e)],ul=(e,t,n)=>{if(t._n)return t;const s=So((...r)=>ps(t(...r)),n);return s._c=!1,s},ei=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Gr(r))continue;const i=e[r];if(j(i))t[r]=ul(r,i,s);else if(i!=null){const o=ps(i);t[r]=()=>o}}},ti=(e,t)=>{const n=ps(t);e.slots.default=()=>n},dl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),en(t,"_",n)):ei(t,e.slots={})}else e.slots={},t&&ti(e,t);en(e.slots,Cn,1)},hl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:(oe(r,t),!n&&l===1&&delete r._):(i=!t.$stable,ei(t,r)),o=t}else t&&(ti(e,t),o={default:1});if(i)for(const l in r)!Gr(l)&&!(l in o)&&delete r[l]};function cn(e,t,n,s,r=!1){if(N(e)){e.forEach((v,E)=>cn(v,t&&(N(t)?t[E]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?_s(s.component)||s.component.proxy:s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,d=l.refs===te?l.refs={}:l.refs,p=l.setupState;if(a!=null&&a!==c&&(re(a)?(d[a]=null,q(p,a)&&(p[a]=null)):ce(a)&&(a.value=null)),j(c))We(c,l,12,[o,d]);else{const v=re(c),E=ce(c);if(v||E){const R=()=>{if(e.f){const I=v?q(p,c)?p[c]:d[c]:c.value;r?N(I)&&Xn(I,i):N(I)?I.includes(i)||I.push(i):v?(d[c]=[i],q(p,c)&&(p[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else v?(d[c]=o,q(p,c)&&(p[c]=o)):E&&(c.value=o,e.k&&(d[e.k]=o))};o?(R.id=-1,de(R,n)):R()}}}let Ue=!1;const zt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Yt=e=>e.nodeType===8;function pl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:a}}=e,d=(_,b)=>{if(!b.hasChildNodes()){n(null,_,b),sn(),b._vnode=_;return}Ue=!1,p(b.firstChild,_,null,null,null),sn(),b._vnode=_,Ue&&console.error("Hydration completed but contains mismatches.")},p=(_,b,H,P,K,J=!1)=>{const V=Yt(_)&&_.data==="[",A=()=>I(_,b,H,P,K,V),{type:D,ref:U,shapeFlag:Y,patchFlag:O}=b;let k=_.nodeType;b.el=_,O===-2&&(J=!1,b.dynamicChildren=null);let S=null;switch(D){case _t:k!==3?b.children===""?(c(b.el=r(""),o(_),_),S=_):S=A():(_.data!==b.children&&(Ue=!0,_.data=b.children),S=i(_));break;case be:k!==8||V?S=A():S=i(_);break;case It:if(V&&(_=i(_),k=_.nodeType),k===1||k===3){S=_;const ge=!b.children.length;for(let X=0;X{J=J||!!b.dynamicChildren;const{type:V,props:A,patchFlag:D,shapeFlag:U,dirs:Y}=b,O=V==="input"&&Y||V==="option";if(O||D!==-1){if(Y&&Fe(b,null,H,"created"),A)if(O||!J||D&48)for(const S in A)(O&&S.endsWith("value")||$t(S)&&!At(S))&&s(_,S,null,A[S],!1,void 0,H);else A.onClick&&s(_,"onClick",null,A.onClick,!1,void 0,H);let k;if((k=A&&A.onVnodeBeforeMount)&&ve(k,H,b),Y&&Fe(b,null,H,"beforeMount"),((k=A&&A.onVnodeMounted)||Y)&&Ur(()=>{k&&ve(k,H,b),Y&&Fe(b,null,H,"mounted")},P),U&16&&!(A&&(A.innerHTML||A.textContent))){let S=E(_.firstChild,b,_,H,P,K,J);for(;S;){Ue=!0;const ge=S;S=S.nextSibling,l(ge)}}else U&8&&_.textContent!==b.children&&(Ue=!0,_.textContent=b.children)}return _.nextSibling},E=(_,b,H,P,K,J,V)=>{V=V||!!b.dynamicChildren;const A=b.children,D=A.length;for(let U=0;U{const{slotScopeIds:V}=b;V&&(K=K?K.concat(V):V);const A=o(_),D=E(i(_),b,A,H,P,K,J);return D&&Yt(D)&&D.data==="]"?i(b.anchor=D):(Ue=!0,c(b.anchor=a("]"),A,D),D)},I=(_,b,H,P,K,J)=>{if(Ue=!0,b.el=null,J){const D=$(_);for(;;){const U=i(_);if(U&&U!==D)l(U);else break}}const V=i(_),A=o(_);return l(_),n(null,b,A,V,H,P,zt(A),K),V},$=_=>{let b=0;for(;_;)if(_=i(_),_&&Yt(_)&&(_.data==="["&&b++,_.data==="]")){if(b===0)return i(_);b--}return _};return[d,p]}const de=Ur;function gl(e){return ml(e,pl)}function ml(e,t){const n=Nn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:d,parentNode:p,nextSibling:v,setScopeId:E=Pe,insertStaticContent:R}=e,I=(f,u,h,m=null,g=null,C=null,T=!1,w=null,x=!!u.dynamicChildren)=>{if(f===u)return;f&&!Ge(f,u)&&(m=jt(f),Ie(f,g,C,!0),f=null),u.patchFlag===-2&&(x=!1,u.dynamicChildren=null);const{type:y,ref:M,shapeFlag:F}=u;switch(y){case _t:$(f,u,h,m);break;case be:_(f,u,h,m);break;case It:f==null&&b(u,h,m,T);break;case he:O(f,u,h,m,g,C,T,w,x);break;default:F&1?K(f,u,h,m,g,C,T,w,x):F&6?k(f,u,h,m,g,C,T,w,x):(F&64||F&128)&&y.process(f,u,h,m,g,C,T,w,x,it)}M!=null&&g&&cn(M,f&&f.ref,C,u||f,!u)},$=(f,u,h,m)=>{if(f==null)s(u.el=l(u.children),h,m);else{const g=u.el=f.el;u.children!==f.children&&a(g,u.children)}},_=(f,u,h,m)=>{f==null?s(u.el=c(u.children||""),h,m):u.el=f.el},b=(f,u,h,m)=>{[f.el,f.anchor]=R(f.children,u,h,m,f.el,f.anchor)},H=({el:f,anchor:u},h,m)=>{let g;for(;f&&f!==u;)g=v(f),s(f,h,m),f=g;s(u,h,m)},P=({el:f,anchor:u})=>{let h;for(;f&&f!==u;)h=v(f),r(f),f=h;r(u)},K=(f,u,h,m,g,C,T,w,x)=>{T=T||u.type==="svg",f==null?J(u,h,m,g,C,T,w,x):D(f,u,g,C,T,w,x)},J=(f,u,h,m,g,C,T,w)=>{let x,y;const{type:M,props:F,shapeFlag:L,transition:B,dirs:W}=f;if(x=f.el=o(f.type,C,F&&F.is,F),L&8?d(x,f.children):L&16&&A(f.children,x,null,m,g,C&&M!=="foreignObject",T,w),W&&Fe(f,null,m,"created"),V(x,f,f.scopeId,T,m),F){for(const Z in F)Z!=="value"&&!At(Z)&&i(x,Z,null,F[Z],C,f.children,m,g,Le);"value"in F&&i(x,"value",null,F.value),(y=F.onVnodeBeforeMount)&&ve(y,m,f)}W&&Fe(f,null,m,"beforeMount");const G=(!g||g&&!g.pendingBranch)&&B&&!B.persisted;G&&B.beforeEnter(x),s(x,u,h),((y=F&&F.onVnodeMounted)||G||W)&&de(()=>{y&&ve(y,m,f),G&&B.enter(x),W&&Fe(f,null,m,"mounted")},g)},V=(f,u,h,m,g)=>{if(h&&E(f,h),m)for(let C=0;C{for(let y=x;y{const w=u.el=f.el;let{patchFlag:x,dynamicChildren:y,dirs:M}=u;x|=f.patchFlag&16;const F=f.props||te,L=u.props||te;let B;h&&Je(h,!1),(B=L.onVnodeBeforeUpdate)&&ve(B,h,u,f),M&&Fe(u,f,h,"beforeUpdate"),h&&Je(h,!0);const W=g&&u.type!=="foreignObject";if(y?U(f.dynamicChildren,y,w,h,m,W,C):T||Q(f,u,w,null,h,m,W,C,!1),x>0){if(x&16)Y(w,u,F,L,h,m,g);else if(x&2&&F.class!==L.class&&i(w,"class",null,L.class,g),x&4&&i(w,"style",F.style,L.style,g),x&8){const G=u.dynamicProps;for(let Z=0;Z{B&&ve(B,h,u,f),M&&Fe(u,f,h,"updated")},m)},U=(f,u,h,m,g,C,T)=>{for(let w=0;w{if(h!==m){if(h!==te)for(const w in h)!At(w)&&!(w in m)&&i(f,w,h[w],null,T,u.children,g,C,Le);for(const w in m){if(At(w))continue;const x=m[w],y=h[w];x!==y&&w!=="value"&&i(f,w,y,x,T,u.children,g,C,Le)}"value"in m&&i(f,"value",h.value,m.value)}},O=(f,u,h,m,g,C,T,w,x)=>{const y=u.el=f?f.el:l(""),M=u.anchor=f?f.anchor:l("");let{patchFlag:F,dynamicChildren:L,slotScopeIds:B}=u;B&&(w=w?w.concat(B):B),f==null?(s(y,h,m),s(M,h,m),A(u.children,h,M,g,C,T,w,x)):F>0&&F&64&&L&&f.dynamicChildren?(U(f.dynamicChildren,L,h,g,C,T,w),(u.key!=null||g&&u===g.subTree)&&ni(f,u,!0)):Q(f,u,h,M,g,C,T,w,x)},k=(f,u,h,m,g,C,T,w,x)=>{u.slotScopeIds=w,f==null?u.shapeFlag&512?g.ctx.activate(u,h,m,T,x):S(u,h,m,g,C,T,x):ge(f,u,x)},S=(f,u,h,m,g,C,T)=>{const w=f.component=Tl(f,m,g);if(Bt(f)&&(w.ctx.renderer=it),Al(w),w.asyncDep){if(g&&g.registerDep(w,X),!f.el){const x=w.subTree=se(be);_(null,x,u,h)}return}X(w,f,u,h,g,C,T)},ge=(f,u,h)=>{const m=u.component=f.component;if(No(f,u,h))if(m.asyncDep&&!m.asyncResolved){ne(m,u,h);return}else m.next=u,Po(m.update),m.update();else u.el=f.el,m.vnode=u},X=(f,u,h,m,g,C,T)=>{const w=()=>{if(f.isMounted){let{next:M,bu:F,u:L,parent:B,vnode:W}=f,G=M,Z;Je(f,!1),M?(M.el=W.el,ne(f,M,T)):M=W,F&&Tn(F),(Z=M.props&&M.props.onVnodeBeforeUpdate)&&ve(Z,B,M,W),Je(f,!0);const ie=An(f),xe=f.subTree;f.subTree=ie,I(xe,ie,p(xe.el),jt(xe),f,g,C),M.el=ie.el,G===null&&$o(f,ie.el),L&&de(L,g),(Z=M.props&&M.props.onVnodeUpdated)&&de(()=>ve(Z,B,M,W),g)}else{let M;const{el:F,props:L}=u,{bm:B,m:W,parent:G}=f,Z=pt(u);if(Je(f,!1),B&&Tn(B),!Z&&(M=L&&L.onVnodeBeforeMount)&&ve(M,G,u),Je(f,!0),F&&En){const ie=()=>{f.subTree=An(f),En(F,f.subTree,f,g,null)};Z?u.type.__asyncLoader().then(()=>!f.isUnmounted&&ie()):ie()}else{const ie=f.subTree=An(f);I(null,ie,h,m,f,g,C),u.el=ie.el}if(W&&de(W,g),!Z&&(M=L&&L.onVnodeMounted)){const ie=u;de(()=>ve(M,G,ie),g)}(u.shapeFlag&256||G&&pt(G.vnode)&&G.vnode.shapeFlag&256)&&f.a&&de(f.a,g),f.isMounted=!0,u=h=m=null}},x=f.effect=new ns(w,()=>gn(y),f.scope),y=f.update=()=>x.run();y.id=f.uid,Je(f,!0),y()},ne=(f,u,h)=>{u.component=f;const m=f.vnode.props;f.vnode=u,f.next=null,al(f,u.props,m,h),hl(f,u.children,h),vt(),Fs(),wt()},Q=(f,u,h,m,g,C,T,w,x=!1)=>{const y=f&&f.children,M=f?f.shapeFlag:0,F=u.children,{patchFlag:L,shapeFlag:B}=u;if(L>0){if(L&128){Ut(y,F,h,m,g,C,T,w,x);return}else if(L&256){ze(y,F,h,m,g,C,T,w,x);return}}B&8?(M&16&&Le(y,g,C),F!==y&&d(h,F)):M&16?B&16?Ut(y,F,h,m,g,C,T,w,x):Le(y,g,C,!0):(M&8&&d(h,""),B&16&&A(F,h,m,g,C,T,w,x))},ze=(f,u,h,m,g,C,T,w,x)=>{f=f||ft,u=u||ft;const y=f.length,M=u.length,F=Math.min(y,M);let L;for(L=0;LM?Le(f,g,C,!0,!1,F):A(u,h,m,g,C,T,w,x,F)},Ut=(f,u,h,m,g,C,T,w,x)=>{let y=0;const M=u.length;let F=f.length-1,L=M-1;for(;y<=F&&y<=L;){const B=f[y],W=u[y]=x?Ke(u[y]):Te(u[y]);if(Ge(B,W))I(B,W,h,null,g,C,T,w,x);else break;y++}for(;y<=F&&y<=L;){const B=f[F],W=u[L]=x?Ke(u[L]):Te(u[L]);if(Ge(B,W))I(B,W,h,null,g,C,T,w,x);else break;F--,L--}if(y>F){if(y<=L){const B=L+1,W=BL)for(;y<=F;)Ie(f[y],g,C,!0),y++;else{const B=y,W=y,G=new Map;for(y=W;y<=L;y++){const me=u[y]=x?Ke(u[y]):Te(u[y]);me.key!=null&&G.set(me.key,y)}let Z,ie=0;const xe=L-W+1;let ot=!1,vs=0;const Ct=new Array(xe);for(y=0;y=xe){Ie(me,g,C,!0);continue}let Oe;if(me.key!=null)Oe=G.get(me.key);else for(Z=W;Z<=L;Z++)if(Ct[Z-W]===0&&Ge(me,u[Z])){Oe=Z;break}Oe===void 0?Ie(me,g,C,!0):(Ct[Oe-W]=y+1,Oe>=vs?vs=Oe:ot=!0,I(me,u[Oe],h,null,g,C,T,w,x),ie++)}const ws=ot?_l(Ct):ft;for(Z=ws.length-1,y=xe-1;y>=0;y--){const me=W+y,Oe=u[me],Cs=me+1{const{el:C,type:T,transition:w,children:x,shapeFlag:y}=f;if(y&6){Ye(f.component.subTree,u,h,m);return}if(y&128){f.suspense.move(u,h,m);return}if(y&64){T.move(f,u,h,it);return}if(T===he){s(C,u,h);for(let F=0;Fw.enter(C),g);else{const{leave:F,delayLeave:L,afterLeave:B}=w,W=()=>s(C,u,h),G=()=>{F(C,()=>{W(),B&&B()})};L?L(C,W,G):G()}else s(C,u,h)},Ie=(f,u,h,m=!1,g=!1)=>{const{type:C,props:T,ref:w,children:x,dynamicChildren:y,shapeFlag:M,patchFlag:F,dirs:L}=f;if(w!=null&&cn(w,null,h,f,!0),M&256){u.ctx.deactivate(f);return}const B=M&1&&L,W=!pt(f);let G;if(W&&(G=T&&T.onVnodeBeforeUnmount)&&ve(G,u,f),M&6)xi(f.component,h,m);else{if(M&128){f.suspense.unmount(h,m);return}B&&Fe(f,null,u,"beforeUnmount"),M&64?f.type.remove(f,u,h,g,it,m):y&&(C!==he||F>0&&F&64)?Le(y,u,h,!1,!0):(C===he&&F&384||!g&&M&16)&&Le(x,u,h),m&&bs(f)}(W&&(G=T&&T.onVnodeUnmounted)||B)&&de(()=>{G&&ve(G,u,f),B&&Fe(f,null,u,"unmounted")},h)},bs=f=>{const{type:u,el:h,anchor:m,transition:g}=f;if(u===he){Ci(h,m);return}if(u===It){P(f);return}const C=()=>{r(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(f.shapeFlag&1&&g&&!g.persisted){const{leave:T,delayLeave:w}=g,x=()=>T(h,C);w?w(f.el,C,x):x()}else C()},Ci=(f,u)=>{let h;for(;f!==u;)h=v(f),r(f),f=h;r(u)},xi=(f,u,h)=>{const{bum:m,scope:g,update:C,subTree:T,um:w}=f;m&&Tn(m),g.stop(),C&&(C.active=!1,Ie(T,f,u,h)),w&&de(w,u),de(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},Le=(f,u,h,m=!1,g=!1,C=0)=>{for(let T=C;Tf.shapeFlag&6?jt(f.component.subTree):f.shapeFlag&128?f.suspense.next():v(f.anchor||f.el),ys=(f,u,h)=>{f==null?u._vnode&&Ie(u._vnode,null,null,!0):I(u._vnode||null,f,u,null,null,null,h),Fs(),sn(),u._vnode=f},it={p:I,um:Ie,m:Ye,r:bs,mt:S,mc:A,pc:Q,pbc:U,n:jt,o:e};let xn,En;return t&&([xn,En]=t(it)),{render:ys,hydrate:xn,createApp:ll(ys,xn)}}function Je({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ni(e,t,n=!1){const s=e.children,r=t.children;if(N(s)&&N(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}const bl=e=>e.__isTeleport,he=Symbol.for("v-fgt"),_t=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),It=Symbol.for("v-stc"),Ot=[];let Re=null;function si(e=!1){Ot.push(Re=e?null:[])}function yl(){Ot.pop(),Re=Ot[Ot.length-1]||null}let Nt=1;function ks(e){Nt+=e}function ri(e){return e.dynamicChildren=Nt>0?Re||ft:null,yl(),Nt>0&&Re&&Re.push(e),e}function Vc(e,t,n,s,r,i){return ri(li(e,t,n,s,r,i,!0))}function ii(e,t,n,s,r){return ri(se(e,t,n,s,r,!0))}function fn(e){return e?e.__v_isVNode===!0:!1}function Ge(e,t){return e.type===t.type&&e.key===t.key}const Cn="__vInternal",oi=({key:e})=>e??null,Qt=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ce(e)||j(e)?{i:ae,r:e,k:t,f:!!n}:e:null);function li(e,t=null,n=null,s=0,r=null,i=e===he?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&oi(t),ref:t&&Qt(t),scopeId:_n,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ae};return l?(gs(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Nt>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const se=vl;function vl(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===qr)&&(e=be),fn(e)){const l=qe(e,t,!0);return n&&gs(l,n),Nt>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag|=-2,l}if(Ol(e)&&(e=e.__vccOpts),t){t=wl(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=es(l)),ee(c)&&(Fr(c)&&!N(c)&&(c=oe({},c)),t.style=Gn(c))}const o=re(e)?1:Ho(e)?128:bl(e)?64:ee(e)?4:j(e)?2:0;return li(e,t,n,s,r,o,i,!0)}function wl(e){return e?Fr(e)||Cn in e?oe({},e):e:null}function qe(e,t,n=!1){const{props:s,ref:r,patchFlag:i,children:o}=e,l=t?Cl(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&oi(l),ref:t&&t.ref?n&&r?N(r)?r.concat(Qt(t)):[r,Qt(t)]:Qt(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==he?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qe(e.ssContent),ssFallback:e.ssFallback&&qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function ci(e=" ",t=0){return se(_t,null,e,t)}function qc(e,t){const n=se(It,null,e);return n.staticCount=t,n}function zc(e="",t=!1){return t?(si(),ii(be,null,e)):se(be,null,e)}function Te(e){return e==null||typeof e=="boolean"?se(be):N(e)?se(he,null,e.slice()):typeof e=="object"?Ke(e):se(_t,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qe(e)}function gs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(N(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),gs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Cn in t)?t._ctx=ae:r===3&&ae&&(ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else j(t)?(t={default:t,_ctx:ae},n=32):(t=String(t),s&64?(n=16,t=[ci(t)]):n=8);e.children=t,e.shapeFlag|=n}function Cl(...e){const t={};for(let n=0;nle||ae;let ms,lt,Ws="__VUE_INSTANCE_SETTERS__";(lt=Nn()[Ws])||(lt=Nn()[Ws]=[]),lt.push(e=>le=e),ms=e=>{lt.length>1?lt.forEach(t=>t(e)):lt[0](e)};const bt=e=>{ms(e),e.scope.on()},st=()=>{le&&le.scope.off(),ms(null)};function ai(e){return e.vnode.shapeFlag&4}let yt=!1;function Al(e,t=!1){yt=t;const{props:n,children:s}=e.vnode,r=ai(e);fl(e,n,r,t),dl(e,s);const i=r?Rl(e,t):void 0;return yt=!1,i}function Rl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Rt(new Proxy(e.ctx,Go));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?di(e):null;bt(e),vt();const i=We(s,e,0,[e.props,r]);if(wt(),st(),gr(i)){if(i.then(st,st),t)return i.then(o=>{Vs(e,o,t)}).catch(o=>{Ht(o,e,0)});e.asyncDep=i}else Vs(e,i,t)}else ui(e,t)}function Vs(e,t,n){j(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Mr(t)),ui(e,n)}let qs;function ui(e,t,n){const s=e.type;if(!e.render){if(!t&&qs&&!s.render){const r=s.template||hs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,a=oe(oe({isCustomElement:i,delimiters:l},o),c);s.render=qs(r,a)}}e.render=s.render||Pe}bt(e),vt(),tl(e),wt(),st()}function Pl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return pe(e,"get","$attrs"),t[n]}}))}function di(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Pl(e)},slots:e.slots,emit:e.emit,expose:t}}function _s(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Mr(Rt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Pt)return Pt[n](e)},has(t,n){return n in t||n in Pt}}))}function Il(e,t=!0){return j(e)?e.displayName||e.name:e.name||t&&e.__name}function Ol(e){return j(e)&&"__vccOpts"in e}const Ee=(e,t)=>To(e,t,yt);function qn(e,t,n){const s=arguments.length;return s===2?ee(t)&&!N(t)?fn(t)?se(e,null,[t]):se(e,t):se(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&fn(n)&&(n=[n]),se(e,t,n))}const Fl=Symbol.for("v-scx"),Sl=()=>gt(Fl),Ml="3.3.4",Ll="http://www.w3.org/2000/svg",et=typeof document<"u"?document:null,zs=et&&et.createElement("template"),Nl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?et.createElementNS(Ll,e):et.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{zs.innerHTML=s?`${e}`:e;const l=zs.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function $l(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Hl(e,t,n){const s=e.style,r=re(n);if(n&&!r){if(t&&!re(t))for(const i in t)n[i]==null&&zn(s,i,"");for(const i in n)zn(s,i,n[i])}else{const i=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=i)}}const Ys=/\s*!important$/;function zn(e,t,n){if(N(n))n.forEach(s=>zn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Bl(e,t);Ys.test(n)?e.setProperty(rt(s),n.replace(Ys,""),"important"):e[s]=n}}const Js=["Webkit","Moz","ms"],On={};function Bl(e,t){const n=On[t];if(n)return n;let s=Me(t);if(s!=="filter"&&s in e)return On[t]=s;s=dn(s);for(let r=0;rFn||(Vl.then(()=>Fn=0),Fn=Date.now());function zl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ce(Yl(s,n.value),t,5,[s])};return n.value=e,n.attached=ql(),n}function Yl(e,t){if(N(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Qs=/^on[a-z]/,Jl=(e,t,n,s,r=!1,i,o,l,c)=>{t==="class"?$l(e,s,r):t==="style"?Hl(e,n,s):$t(t)?Jn(t)||kl(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xl(e,t,s,r))?jl(e,t,s,i,o,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ul(e,t,s,r))};function Xl(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Qs.test(t)&&j(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Qs.test(t)&&re(n)?!1:t in e}const je="transition",xt="animation",hi=(e,{slots:t})=>qn(Ko,Zl(e),t);hi.displayName="Transition";const pi={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};hi.props=oe({},Dr,pi);const Xe=(e,t=[])=>{N(e)?e.forEach(n=>n(...t)):e&&e(...t)},Gs=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function Zl(e){const t={};for(const O in e)O in pi||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:d=l,leaveFromClass:p=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:E=`${n}-leave-to`}=e,R=Ql(r),I=R&&R[0],$=R&&R[1],{onBeforeEnter:_,onEnter:b,onEnterCancelled:H,onLeave:P,onLeaveCancelled:K,onBeforeAppear:J=_,onAppear:V=b,onAppearCancelled:A=H}=t,D=(O,k,S)=>{Ze(O,k?d:l),Ze(O,k?a:o),S&&S()},U=(O,k)=>{O._isLeaving=!1,Ze(O,p),Ze(O,E),Ze(O,v),k&&k()},Y=O=>(k,S)=>{const ge=O?V:b,X=()=>D(k,O,S);Xe(ge,[k,X]),er(()=>{Ze(k,O?c:i),De(k,O?d:l),Gs(ge)||tr(k,s,I,X)})};return oe(t,{onBeforeEnter(O){Xe(_,[O]),De(O,i),De(O,o)},onBeforeAppear(O){Xe(J,[O]),De(O,c),De(O,a)},onEnter:Y(!1),onAppear:Y(!0),onLeave(O,k){O._isLeaving=!0;const S=()=>U(O,k);De(O,p),tc(),De(O,v),er(()=>{O._isLeaving&&(Ze(O,p),De(O,E),Gs(P)||tr(O,s,$,S))}),Xe(P,[O,S])},onEnterCancelled(O){D(O,!1),Xe(H,[O])},onAppearCancelled(O){D(O,!0),Xe(A,[O])},onLeaveCancelled(O){U(O),Xe(K,[O])}})}function Ql(e){if(e==null)return null;if(ee(e))return[Sn(e.enter),Sn(e.leave)];{const t=Sn(e);return[t,t]}}function Sn(e){return Fi(e)}function De(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ze(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function er(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gl=0;function tr(e,t,n,s){const r=e._endId=++Gl,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=ec(e,t);if(!o)return s();const a=o+"end";let d=0;const p=()=>{e.removeEventListener(a,v),i()},v=E=>{E.target===e&&++d>=c&&p()};setTimeout(()=>{d(n[R]||"").split(", "),r=s(`${je}Delay`),i=s(`${je}Duration`),o=nr(r,i),l=s(`${xt}Delay`),c=s(`${xt}Duration`),a=nr(l,c);let d=null,p=0,v=0;t===je?o>0&&(d=je,p=o,v=i.length):t===xt?a>0&&(d=xt,p=a,v=c.length):(p=Math.max(o,a),d=p>0?o>a?je:xt:null,v=d?d===je?i.length:c.length:0);const E=d===je&&/\b(transform|all)(,|$)/.test(s(`${je}Property`).toString());return{type:d,timeout:p,propCount:v,hasTransform:E}}function nr(e,t){for(;e.lengthsr(n)+sr(e[s])))}function sr(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function tc(){return document.body.offsetHeight}const nc=["ctrl","shift","alt","meta"],sc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>nc.some(n=>e[`${n}Key`]&&!t.includes(n))},Yc=(e,t)=>(n,...s)=>{for(let r=0;rn=>{if(!("key"in n))return;const s=rt(n.key);if(t.some(r=>r===s||rc[r]===s))return e(n)},ic=oe({patchProp:Jl},Nl);let Mn,rr=!1;function oc(){return Mn=rr?Mn:gl(ic),rr=!0,Mn}const Xc=(...e)=>{const t=oc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=lc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function lc(e){return re(e)?document.querySelector(e):e}const Zc=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},cc="modulepreload",fc=function(e){return"/"+e},ir={},Qc=function(t,n,s){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(i=>{if(i=fc(i),i in ir)return;ir[i]=!0;const o=i.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!s)for(let d=r.length-1;d>=0;d--){const p=r[d];if(p.href===i&&(!o||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${l}`))return;const a=document.createElement("link");if(a.rel=o?"stylesheet":cc,o||(a.as="script",a.crossOrigin=""),a.href=i,document.head.appendChild(a),o)return new Promise((d,p)=>{a.addEventListener("load",d),a.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},ac=window.__VP_SITE_DATA__,gi=/^[a-z]+:/i,Gc=/^pathname:\/\//,ef="vitepress-theme-appearance",mi=/#.*$/,uc=/(index)?\.(md|html)$/,we=typeof document<"u",_i={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function dc(e,t,n=!1){if(t===void 0)return!1;if(e=or(`/${e}`),n)return new RegExp(t).test(e);if(or(t)!==e)return!1;const s=t.match(mi);return s?(we?location.hash:"")===s[0]:!0}function or(e){return decodeURI(e).replace(mi,"").replace(uc,"")}function hc(e){return gi.test(e)}function pc(e,t){var s,r,i,o,l,c,a;const n=Object.keys(e.locales).find(d=>d!=="root"&&!hc(d)&&dc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:yi(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(a=e.locales[n])==null?void 0:a.themeConfig}})}function bi(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=gc(e.title,s);return`${n}${r}`}function gc(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function mc(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function yi(e,t){return[...e.filter(n=>!mc(t,n)),...t]}const _c=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,bc=/^[a-z]:/i;function lr(e){const t=bc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(_c,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const yc=Symbol(),tt=mo(ac);function tf(e){const t=Ee(()=>pc(tt.value,e.data.relativePath));return{site:t,theme:Ee(()=>t.value.themeConfig),page:Ee(()=>e.data),frontmatter:Ee(()=>e.data.frontmatter),params:Ee(()=>e.data.params),lang:Ee(()=>t.value.lang),dir:Ee(()=>t.value.dir),localeIndex:Ee(()=>t.value.localeIndex||"root"),title:Ee(()=>bi(t.value,e.data)),description:Ee(()=>e.data.description||t.value.description),isDark:dt(!1)}}function nf(){const e=gt(yc);if(!e)throw new Error("vitepress data not properly injected in app");return e}function vc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function cr(e){return gi.test(e)||e.startsWith(".")?e:vc(tt.value.base,e)}function wc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),we){const n="/";t=lr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}${"assets".replace(/"(.+)"/,"$1")}/${t}.${s}.js`}else t=`./${lr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let Gt=[];function sf(e){Gt.push(e),wn(()=>{Gt=Gt.filter(t=>t!==e)})}const Cc=Symbol(),fr="http://a.com",xc=()=>({path:"/",component:null,data:_i});function rf(e,t){const n=pn(xc()),s={route:n,go:r};async function r(l=we?location.href:"/"){var a,d;if(await((a=s.onBeforeRouteChange)==null?void 0:a.call(s,l))===!1)return;const c=new URL(l,fr);tt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),we&&l!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",l)),await o(l),await((d=s.onAfterRouteChanged)==null?void 0:d.call(s,l))}let i=null;async function o(l,c=0,a=!1){var v;if(await((v=s.onBeforePageLoad)==null?void 0:v.call(s,l))===!1)return;const d=new URL(l,fr),p=i=d.pathname;try{let E=await e(p);if(!E)throw new Error(`Page not found: ${p}`);if(i===p){i=null;const{default:R,__pageData:I}=E;if(!R)throw new Error(`Invalid route component: ${R}`);n.path=we?p:cr(p),n.component=Rt(R),n.data=Rt(I),we&&Nr(()=>{let $=tt.value.base+I.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!tt.value.cleanUrls&&!$.endsWith("/")&&($+=".html"),$!==d.pathname&&(d.pathname=$,l=$+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let _=null;try{_=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(b){console.warn(b)}if(_){ar(_,d.hash);return}}window.scrollTo(0,c)})}}catch(E){if(!/fetch|Page not found/.test(E.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(E),!a)try{const R=await fetch(tt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await R.json(),await o(l,c,!0);return}catch{}i===p&&(i=null,n.path=we?p:cr(p),n.component=t?Rt(t):null,n.data=_i)}}return we&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const a=l.target.closest("a");if(a&&!a.closest(".vp-raw")&&(a instanceof SVGElement||!a.download)){const{target:d}=a,{href:p,origin:v,pathname:E,hash:R,search:I}=new URL(a.href instanceof SVGAnimatedString?a.href.animVal:a.href,a.baseURI),$=window.location,_=E.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&v===$.origin&&!(_&&_[0]!==".html")&&(l.preventDefault(),E===$.pathname&&I===$.search?R&&(R!==$.hash&&(history.pushState(null,"",R),window.dispatchEvent(new Event("hashchange"))),ar(a,R,a.classList.contains("header-anchor"))):r(p))}},{capture:!0}),window.addEventListener("popstate",l=>{o(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Ec(){const e=gt(Cc);if(!e)throw new Error("useRouter() is called without provider.");return e}function vi(){return Ec().route}function ar(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let c=function(){!n||Math.abs(l-window.scrollY)>window.innerHeight?window.scrollTo(0,l):window.scrollTo({left:0,top:l,behavior:"smooth"})};const r=tt.value.scrollOffset;let i=0;if(typeof r=="number")i=r;else if(typeof r=="string")i=ur(r);else if(Array.isArray(r))for(const a of r){const d=ur(a);if(d){i=d;break}}const o=parseInt(window.getComputedStyle(s).paddingTop,10),l=window.scrollY+s.getBoundingClientRect().top-i+o;requestAnimationFrame(c)}}function ur(e){const t=document.querySelector(e);if(!t)return 0;const n=t.getBoundingClientRect().bottom;return n<0?0:n+24}const dr=()=>Gt.forEach(e=>e()),of=us({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=vi();return()=>qn(e.as,{style:{position:"relative"}},[t.component?qn(t.component,{onVnodeMounted:dr,onVnodeUpdated:dr}):"404 Page Not Found"])}}),lf=us({setup(e,{slots:t}){const n=dt(!1);return vn(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function cf(){we&&window.addEventListener("click",e=>{var n,s;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement,i=Array.from((r==null?void 0:r.querySelectorAll("input"))||[]).indexOf(t),o=r==null?void 0:r.querySelector('div[class*="language-"].active'),l=(s=r==null?void 0:r.querySelectorAll('div[class*="language-"]:not(.language-id)'))==null?void 0:s[i];o&&l&&o!==l&&(o.classList.remove("active"),l.classList.add("active"))}})}function ff(){if(we){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";i.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` -`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),Tc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function Tc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function af(e,t){let n=[],s=!0;const r=i=>{if(s){s=!1;return}n.forEach(o=>document.head.removeChild(o)),n=[],i.forEach(o=>{const l=hr(o);document.head.appendChild(l),n.push(l)})};Bo(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[];document.title=bi(o,i);const a=l||o.description;let d=document.querySelector("meta[name=description]");d?d.setAttribute("content",a):hr(["meta",{name:"description",content:a}]),r(yi(o.head,Rc(c)))})}function hr([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function Ac(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function Rc(e){return e.filter(t=>!Ac(t))}const Ln=new Set,wi=()=>document.createElement("link"),Pc=e=>{const t=wi();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ic=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let Jt;const Oc=we&&(Jt=wi())&&Jt.relList&&Jt.relList.supports&&Jt.relList.supports("prefetch")?Pc:Ic;function uf(){if(!we||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Ln.has(c)){Ln.add(c);const a=wc(c);a&&Oc(a)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Ln.add(l))})})};vn(s);const r=vi();Zt(()=>r.path,s),wn(()=>{n&&n.disconnect()})}export{Jc as $,Bo as A,fi as B,dc as C,vi as D,wn as E,Yo as F,Uc as G,he as H,Dc as I,mo as J,sf as K,se as L,jc as M,gi as N,Cl as O,Gc as P,gt as Q,Gn as R,Nr as S,hi as T,qc as U,we as V,ef as W,Bc as X,Qc as Y,cl as Z,Zc as _,ci as a,kc as a0,Hc as a1,Yc as a2,Wc as a3,af as a4,Cc as a5,tf as a6,yc as a7,of as a8,lf as a9,tt as aa,Xc as ab,rf as ac,wc as ad,uf as ae,ff as af,cf as ag,qn as ah,Ec as ai,ii as b,Vc as c,us as d,zc as e,cr as f,Ee as g,dt as h,hc as i,vn as j,li as k,bo as l,$c as m,es as n,si as o,Nc as p,Lc as q,Kc as r,Or as s,Fc as t,nf as u,Mc as v,So as w,ji as x,Sc as y,Zt as z}; diff --git a/docs/assets/chunks/framework.b637c96f.js b/docs/assets/chunks/framework.b637c96f.js new file mode 100644 index 00000000..076c6eac --- /dev/null +++ b/docs/assets/chunks/framework.b637c96f.js @@ -0,0 +1,2 @@ +function rr(e,t){const n=Object.create(null),r=e.split(",");for(let s=0;s!!n[s.toLowerCase()]:s=>!!n[s]}const te={},dt=[],Re=()=>{},qo=()=>!1,zo=/^on[^a-z]/,Bt=e=>zo.test(e),sr=e=>e.startsWith("onUpdate:"),ie=Object.assign,or=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yo=Object.prototype.hasOwnProperty,z=(e,t)=>Yo.call(e,t),D=Array.isArray,ht=e=>mn(e)==="[object Map]",Ss=e=>mn(e)==="[object Set]",K=e=>typeof e=="function",se=e=>typeof e=="string",ir=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Os=e=>ee(e)&&K(e.then)&&K(e.catch),Rs=Object.prototype.toString,mn=e=>Rs.call(e),Jo=e=>mn(e).slice(8,-1),Ps=e=>mn(e)==="[object Object]",lr=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pt=rr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_n=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Xo=/-(\w)/g,Le=_n(e=>e.replace(Xo,(t,n)=>n?n.toUpperCase():"")),Qo=/\B([A-Z])/g,lt=_n(e=>e.replace(Qo,"-$1").toLowerCase()),yn=_n(e=>e.charAt(0).toUpperCase()+e.slice(1)),nn=_n(e=>e?`on${yn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),Mn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Zo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Go=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Mr;const Wn=()=>Mr||(Mr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function cr(e){if(D(e)){const t={};for(let n=0;n{if(n){const r=n.split(ti);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ar(e){let t="";if(se(e))t=e;else if(D(e))for(let n=0;nse(e)?e:e==null?"":D(e)||ee(e)&&(e.toString===Rs||!K(e.toString))?JSON.stringify(e,Is,2):String(e),Is=(e,t)=>t&&t.__v_isRef?Is(e,t.value):ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s])=>(n[`${r} =>`]=s,n),{})}:Ss(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!D(t)&&!Ps(t)?String(t):t;let be;class ii{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=be;try{return be=this,t()}finally{be=n}}}on(){be=this}off(){be=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Ls=e=>(e.w&ze)>0,Ns=e=>(e.n&ze)>0,ai=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{(d==="length"||d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":D(e)?lr(n)&&l.push(i.get("length")):(l.push(i.get(st)),ht(e)&&l.push(i.get(qn)));break;case"delete":D(e)||(l.push(i.get(st)),ht(e)&&l.push(i.get(qn)));break;case"set":ht(e)&&l.push(i.get(st));break}if(l.length===1)l[0]&&zn(l[0]);else{const c=[];for(const u of l)u&&c.push(...u);zn(ur(c))}}function zn(e,t){const n=D(e)?e:[...e];for(const r of n)r.computed&&Nr(r);for(const r of n)r.computed||Nr(r)}function Nr(e,t){(e!==Se||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function fi(e,t){var n;return(n=ln.get(e))==null?void 0:n.get(t)}const di=rr("__proto__,__v_isRef,__isVue"),js=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ir)),hi=dr(),pi=dr(!1,!0),gi=dr(!0),$r=mi();function mi(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=Y(this);for(let o=0,i=this.length;o{e[t]=function(...n){Et();const r=Y(this)[t].apply(this,n);return xt(),r}}),e}function _i(e){const t=Y(this);return me(t,"has",e),t.hasOwnProperty(e)}function dr(e=!1,t=!1){return function(r,s,o){if(s==="__v_isReactive")return!e;if(s==="__v_isReadonly")return e;if(s==="__v_isShallow")return t;if(s==="__v_raw"&&o===(e?t?Mi:Ks:t?ks:Us).get(r))return r;const i=D(r);if(!e){if(i&&z($r,s))return Reflect.get($r,s,o);if(s==="hasOwnProperty")return _i}const l=Reflect.get(r,s,o);return(ir(s)?js.has(s):di(s))||(e||me(r,"get",s),t)?l:ce(l)?i&&lr(s)?l:l.value:ee(l)?e?wn(l):vn(l):l}}const yi=Ds(),bi=Ds(!0);function Ds(e=!1){return function(n,r,s,o){let i=n[r];if(yt(i)&&ce(i)&&!ce(s))return!1;if(!e&&(!cn(s)&&!yt(s)&&(i=Y(i),s=Y(s)),!D(n)&&ce(i)&&!ce(s)))return i.value=s,!0;const l=D(n)&&lr(r)?Number(r)e,bn=e=>Reflect.getPrototypeOf(e);function Vt(e,t,n=!1,r=!1){e=e.__v_raw;const s=Y(e),o=Y(t);n||(t!==o&&me(s,"get",t),me(s,"get",o));const{has:i}=bn(s),l=r?hr:n?mr:$t;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function qt(e,t=!1){const n=this.__v_raw,r=Y(n),s=Y(e);return t||(e!==s&&me(r,"has",e),me(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function zt(e,t=!1){return e=e.__v_raw,!t&&me(Y(e),"iterate",st),Reflect.get(e,"size",e)}function Hr(e){e=Y(e);const t=Y(this);return bn(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function jr(e,t){t=Y(t);const n=Y(this),{has:r,get:s}=bn(n);let o=r.call(n,e);o||(e=Y(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Nt(t,i)&&He(n,"set",e,t):He(n,"add",e,t),this}function Dr(e){const t=Y(this),{has:n,get:r}=bn(t);let s=n.call(t,e);s||(e=Y(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&He(t,"delete",e,void 0),o}function Br(){const e=Y(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Yt(e,t){return function(r,s){const o=this,i=o.__v_raw,l=Y(i),c=t?hr:e?mr:$t;return!e&&me(l,"iterate",st),i.forEach((u,d)=>r.call(s,c(u),c(d),o))}}function Jt(e,t,n){return function(...r){const s=this.__v_raw,o=Y(s),i=ht(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,u=s[e](...r),d=n?hr:t?mr:$t;return!t&&me(o,"iterate",c?qn:st),{next(){const{value:h,done:y}=u.next();return y?{value:h,done:y}:{value:l?[d(h[0]),d(h[1])]:d(h),done:y}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:this}}function Ti(){const e={get(o){return Vt(this,o)},get size(){return zt(this)},has:qt,add:Hr,set:jr,delete:Dr,clear:Br,forEach:Yt(!1,!1)},t={get(o){return Vt(this,o,!1,!0)},get size(){return zt(this)},has:qt,add:Hr,set:jr,delete:Dr,clear:Br,forEach:Yt(!1,!0)},n={get(o){return Vt(this,o,!0)},get size(){return zt(this,!0)},has(o){return qt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Yt(!0,!1)},r={get(o){return Vt(this,o,!0,!0)},get size(){return zt(this,!0)},has(o){return qt.call(this,o,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Yt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Jt(o,!1,!1),n[o]=Jt(o,!0,!1),t[o]=Jt(o,!1,!0),r[o]=Jt(o,!0,!0)}),[e,n,t,r]}const[Ai,Si,Oi,Ri]=Ti();function pr(e,t){const n=t?e?Ri:Oi:e?Si:Ai;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(z(n,s)&&s in r?n:r,s,o)}const Pi={get:pr(!1,!1)},Fi={get:pr(!1,!0)},Ii={get:pr(!0,!1)},Us=new WeakMap,ks=new WeakMap,Ks=new WeakMap,Mi=new WeakMap;function Li(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ni(e){return e.__v_skip||!Object.isExtensible(e)?0:Li(Jo(e))}function vn(e){return yt(e)?e:gr(e,!1,Bs,Pi,Us)}function $i(e){return gr(e,!1,xi,Fi,ks)}function wn(e){return gr(e,!0,Ei,Ii,Ks)}function gr(e,t,n,r,s){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=Ni(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function pt(e){return yt(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function cn(e){return!!(e&&e.__v_isShallow)}function Ws(e){return pt(e)||yt(e)}function Y(e){const t=e&&e.__v_raw;return t?Y(t):e}function Ft(e){return on(e,"__v_skip",!0),e}const $t=e=>ee(e)?vn(e):e,mr=e=>ee(e)?wn(e):e;function _r(e){We&&Se&&(e=Y(e),Hs(e.dep||(e.dep=ur())))}function yr(e,t){e=Y(e);const n=e.dep;n&&zn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function fe(e){return qs(e,!1)}function Vs(e){return qs(e,!0)}function qs(e,t){return ce(e)?e:new Hi(e,t)}class Hi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Y(t),this._value=n?t:$t(t)}get value(){return _r(this),this._value}set value(t){const n=this.__v_isShallow||cn(t)||yt(t);t=n?t:Y(t),Nt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:$t(t),yr(this))}}function zs(e){return ce(e)?e.value:e}const ji={get:(e,t,n)=>zs(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ce(s)&&!ce(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Ys(e){return pt(e)?e:new Proxy(e,ji)}class Di{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>_r(this),()=>yr(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Bi(e){return new Di(e)}class Ui{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return fi(Y(this._object),this._key)}}class ki{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Ki(e,t,n){return ce(e)?e:K(e)?new ki(e):ee(e)&&arguments.length>1?Wi(e,t,n):fe(e)}function Wi(e,t,n){const r=e[t];return ce(r)?r:new Ui(e,t,n)}class Vi{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new fr(t,()=>{this._dirty||(this._dirty=!0,yr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=Y(this);return _r(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function qi(e,t,n=!1){let r,s;const o=K(e);return o?(r=e,s=Re):(r=e.get,s=e.set),new Vi(r,s,o||!s,n)}function Ve(e,t,n,r){let s;try{s=r?e(...r):e()}catch(o){Ut(o,t,n)}return s}function xe(e,t,n,r){if(K(e)){const o=Ve(e,t,n,r);return o&&Os(o)&&o.catch(i=>{Ut(i,t,n)}),o}const s=[];for(let o=0;o>>1;jt(ue[r])Me&&ue.splice(t,1)}function Xi(e){D(e)?gt.push(...e):(!$e||!$e.includes(e,e.allowRecurse?et+1:et))&>.push(e),Xs()}function Ur(e,t=Ht?Me+1:0){for(;tjt(n)-jt(r)),et=0;et<$e.length;et++)$e[et]();$e=null,et=0}}const jt=e=>e.id==null?1/0:e.id,Qi=(e,t)=>{const n=jt(e)-jt(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Qs(e){Yn=!1,Ht=!0,ue.sort(Qi);const t=Re;try{for(Me=0;Mese(C)?C.trim():C)),h&&(s=n.map(Zo))}let l,c=r[l=nn(t)]||r[l=nn(Le(t))];!c&&o&&(c=r[l=nn(lt(t))]),c&&xe(c,e,6,s);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,xe(u,e,6,s)}}function Zs(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!K(e)){const c=u=>{const d=Zs(u,t,!0);d&&(l=!0,ie(i,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(ee(e)&&r.set(e,null),null):(D(o)?o.forEach(c=>i[c]=null):ie(i,o),ee(e)&&r.set(e,i),i)}function xn(e,t){return!e||!Bt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,lt(t))||z(e,t))}let de=null,Tn=null;function un(e){const t=de;return de=e,Tn=e&&e.type.__scopeId||null,t}function va(e){Tn=e}function wa(){Tn=null}function Gi(e,t=de,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Gr(-1);const o=un(t);let i;try{i=e(...s)}finally{un(o),r._d&&Gr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Ln(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:c,emit:u,render:d,renderCache:h,data:y,setupState:C,ctx:x,inheritAttrs:O}=e;let H,g;const m=un(e);try{if(n.shapeFlag&4){const A=s||r;H=Ae(d.call(A,A,h,o,C,y,x)),g=c}else{const A=t;H=Ae(A.length>1?A(o,{attrs:c,slots:l,emit:u}):A(o,null)),g=t.props?c:el(c)}}catch(A){Lt.length=0,Ut(A,e,1),H=re(ve)}let j=H;if(g&&O!==!1){const A=Object.keys(g),{shapeFlag:B}=j;A.length&&B&7&&(i&&A.some(sr)&&(g=tl(g,i)),j=Ye(j,g))}return n.dirs&&(j=Ye(j),j.dirs=j.dirs?j.dirs.concat(n.dirs):n.dirs),n.transition&&(j.transition=n.transition),H=j,un(m),H}const el=e=>{let t;for(const n in e)(n==="class"||n==="style"||Bt(n))&&((t||(t={}))[n]=e[n]);return t},tl=(e,t)=>{const n={};for(const r in e)(!sr(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function nl(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:c}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?kr(r,i,u):!!i;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function Gs(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Xi(e)}function eo(e,t){return An(e,null,t)}function Ca(e,t){return An(e,null,{flush:"post"})}const Xt={};function qe(e,t,n){return An(e,t,n)}function An(e,t,{immediate:n,deep:r,flush:s,onTrack:o,onTrigger:i}=te){var l;const c=Ms()===((l=le)==null?void 0:l.scope)?le:null;let u,d=!1,h=!1;if(ce(e)?(u=()=>e.value,d=cn(e)):pt(e)?(u=()=>e,r=!0):D(e)?(h=!0,d=e.some(A=>pt(A)||cn(A)),u=()=>e.map(A=>{if(ce(A))return A.value;if(pt(A))return ft(A);if(K(A))return Ve(A,c,2)})):K(e)?t?u=()=>Ve(e,c,2):u=()=>{if(!(c&&c.isUnmounted))return y&&y(),xe(e,c,3,[C])}:u=Re,t&&r){const A=u;u=()=>ft(A())}let y,C=A=>{y=m.onStop=()=>{Ve(A,c,4)}},x;if(wt)if(C=Re,t?n&&xe(t,c,3,[u(),h?[]:void 0,C]):u(),s==="sync"){const A=Zl();x=A.__watcherHandles||(A.__watcherHandles=[])}else return Re;let O=h?new Array(e.length).fill(Xt):Xt;const H=()=>{if(m.active)if(t){const A=m.run();(r||d||(h?A.some((B,q)=>Nt(B,O[q])):Nt(A,O)))&&(y&&y(),xe(t,c,3,[A,O===Xt?void 0:h&&O[0]===Xt?[]:O,C]),O=A)}else m.run()};H.allowRecurse=!!t;let g;s==="sync"?g=H:s==="post"?g=()=>pe(H,c&&c.suspense):(H.pre=!0,c&&(H.id=c.uid),g=()=>En(H));const m=new fr(u,g);t?n?H():O=m.run():s==="post"?pe(m.run.bind(m),c&&c.suspense):m.run();const j=()=>{m.stop(),c&&c.scope&&or(c.scope.effects,m)};return x&&x.push(j),j}function ol(e,t,n){const r=this.proxy,s=se(e)?e.includes(".")?to(r,e):()=>r[e]:e.bind(r,r);let o;K(t)?o=t:(o=t.handler,n=t);const i=le;vt(this);const l=An(s,o.bind(r),n);return i?vt(i):ot(),l}function to(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{ft(n,t)});else if(Ps(e))for(const n in e)ft(e[n],t);return e}function Ie(e,t,n,r){const s=e.dirs,o=t&&t.dirs;for(let i=0;i{e.isMounted=!0}),io(()=>{e.isUnmounting=!0}),e}const we=[Function,Array],no={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:we,onEnter:we,onAfterEnter:we,onEnterCancelled:we,onBeforeLeave:we,onLeave:we,onAfterLeave:we,onLeaveCancelled:we,onBeforeAppear:we,onAppear:we,onAfterAppear:we,onAppearCancelled:we},ll={name:"BaseTransition",props:no,setup(e,{slots:t}){const n=Pn(),r=il();let s;return()=>{const o=t.default&&so(t.default(),!0);if(!o||!o.length)return;let i=o[0];if(o.length>1){for(const O of o)if(O.type!==ve){i=O;break}}const l=Y(e),{mode:c}=l;if(r.isLeaving)return Nn(i);const u=Kr(i);if(!u)return Nn(i);const d=Jn(u,l,r,n);Xn(u,d);const h=n.subTree,y=h&&Kr(h);let C=!1;const{getTransitionKey:x}=u.type;if(x){const O=x();s===void 0?s=O:O!==s&&(s=O,C=!0)}if(y&&y.type!==ve&&(!tt(u,y)||C)){const O=Jn(y,l,r,n);if(Xn(y,O),c==="out-in")return r.isLeaving=!0,O.afterLeave=()=>{r.isLeaving=!1,n.update.active!==!1&&n.update()},Nn(i);c==="in-out"&&u.type!==ve&&(O.delayLeave=(H,g,m)=>{const j=ro(r,y);j[String(y.key)]=y,H._leaveCb=()=>{g(),H._leaveCb=void 0,delete d.delayedLeave},d.delayedLeave=m})}return i}}},cl=ll;function ro(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Jn(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:y,onAfterLeave:C,onLeaveCancelled:x,onBeforeAppear:O,onAppear:H,onAfterAppear:g,onAppearCancelled:m}=t,j=String(e.key),A=ro(n,e),B=(_,I)=>{_&&xe(_,r,9,I)},q=(_,I)=>{const M=I[1];B(_,I),D(_)?_.every(J=>J.length<=1)&&M():_.length<=1&&M()},k={mode:o,persisted:i,beforeEnter(_){let I=l;if(!n.isMounted)if(s)I=O||l;else return;_._leaveCb&&_._leaveCb(!0);const M=A[j];M&&tt(e,M)&&M.el._leaveCb&&M.el._leaveCb(),B(I,[_])},enter(_){let I=c,M=u,J=d;if(!n.isMounted)if(s)I=H||c,M=g||u,J=m||d;else return;let P=!1;const W=_._enterCb=L=>{P||(P=!0,L?B(J,[_]):B(M,[_]),k.delayedLeave&&k.delayedLeave(),_._enterCb=void 0)};I?q(I,[_,W]):W()},leave(_,I){const M=String(e.key);if(_._enterCb&&_._enterCb(!0),n.isUnmounting)return I();B(h,[_]);let J=!1;const P=_._leaveCb=W=>{J||(J=!0,I(),W?B(x,[_]):B(C,[_]),_._leaveCb=void 0,A[M]===e&&delete A[M])};A[M]=e,y?q(y,[_,P]):P()},clone(_){return Jn(_,t,n,r)}};return k}function Nn(e){if(kt(e))return e=Ye(e),e.children=null,e}function Kr(e){return kt(e)?e.children?e.children[0]:void 0:e}function Xn(e,t){e.shapeFlag&6&&e.component?Xn(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function so(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;oie({name:e.name},t,{setup:e}))():e}const mt=e=>!!e.type.__asyncLoader;function Ea(e){K(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,u,d=0;const h=()=>(d++,c=null,y()),y=()=>{let C;return c||(C=c=t().catch(x=>{if(x=x instanceof Error?x:new Error(String(x)),l)return new Promise((O,H)=>{l(x,()=>O(h()),()=>H(x),d+1)});throw x}).then(x=>C!==c&&c?c:(x&&(x.__esModule||x[Symbol.toStringTag]==="Module")&&(x=x.default),u=x,x)))};return vr({name:"AsyncComponentWrapper",__asyncLoader:y,get __asyncResolved(){return u},setup(){const C=le;if(u)return()=>$n(u,C);const x=m=>{c=null,Ut(m,C,13,!r)};if(i&&C.suspense||wt)return y().then(m=>()=>$n(m,C)).catch(m=>(x(m),()=>r?re(r,{error:m}):null));const O=fe(!1),H=fe(),g=fe(!!s);return s&&setTimeout(()=>{g.value=!1},s),o!=null&&setTimeout(()=>{if(!O.value&&!H.value){const m=new Error(`Async component timed out after ${o}ms.`);x(m),H.value=m}},o),y().then(()=>{O.value=!0,C.parent&&kt(C.parent.vnode)&&En(C.parent.update)}).catch(m=>{x(m),H.value=m}),()=>{if(O.value&&u)return $n(u,C);if(H.value&&r)return re(r,{error:H.value});if(n&&!g.value)return re(n)}}})}function $n(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=re(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const kt=e=>e.type.__isKeepAlive;function al(e,t){oo(e,"a",t)}function ul(e,t){oo(e,"da",t)}function oo(e,t,n=le){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Sn(t,r,n),n){let s=n.parent;for(;s&&s.parent;)kt(s.parent.vnode)&&fl(r,t,n,s),s=s.parent}}function fl(e,t,n,r){const s=Sn(t,e,r,!0);On(()=>{or(r[t],s)},n)}function Sn(e,t,n=le,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Et(),vt(n);const l=xe(t,n,e,i);return ot(),xt(),l});return r?s.unshift(o):s.push(o),o}}const je=e=>(t,n=le)=>(!wt||e==="sp")&&Sn(e,(...r)=>t(...r),n),dl=je("bm"),Tt=je("m"),hl=je("bu"),pl=je("u"),io=je("bum"),On=je("um"),gl=je("sp"),ml=je("rtg"),_l=je("rtc");function yl(e,t=le){Sn("ec",e,t)}const wr="components";function xa(e,t){return co(wr,e,!0,t)||e}const lo=Symbol.for("v-ndc");function Ta(e){return se(e)?co(wr,e,!1)||e:e||lo}function co(e,t,n=!0,r=!1){const s=de||le;if(s){const o=s.type;if(e===wr){const l=Jl(o,!1);if(l&&(l===t||l===Le(t)||l===yn(Le(t))))return o}const i=Wr(s[e]||o[e],t)||Wr(s.appContext[e],t);return!i&&r?o:i}}function Wr(e,t){return e&&(e[t]||e[Le(t)]||e[yn(Le(t))])}function Aa(e,t,n,r){let s;const o=n&&n[r];if(D(e)||se(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,c=i.length;lpn(t)?!(t.type===ve||t.type===ge&&!ao(t.children)):!0)?e:null}function Oa(e,t){const n={};for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:nn(r)]=e[r];return n}const Qn=e=>e?To(e)?Ar(e)||e.proxy:Qn(e.parent):null,It=ie(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Qn(e.parent),$root:e=>Qn(e.root),$emit:e=>e.emit,$options:e=>Cr(e),$forceUpdate:e=>e.f||(e.f=()=>En(e.update)),$nextTick:e=>e.n||(e.n=Cn.bind(e.proxy)),$watch:e=>ol.bind(e)}),Hn=(e,t)=>e!==te&&!e.__isScriptSetup&&z(e,t),bl={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const C=i[t];if(C!==void 0)switch(C){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Hn(r,t))return i[t]=1,r[t];if(s!==te&&z(s,t))return i[t]=2,s[t];if((u=e.propsOptions[0])&&z(u,t))return i[t]=3,o[t];if(n!==te&&z(n,t))return i[t]=4,n[t];Zn&&(i[t]=0)}}const d=It[t];let h,y;if(d)return t==="$attrs"&&me(e,"get",t),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&z(n,t))return i[t]=4,n[t];if(y=c.config.globalProperties,z(y,t))return y[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Hn(s,t)?(s[t]=n,!0):r!==te&&z(r,t)?(r[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==te&&z(e,i)||Hn(t,i)||(l=o[0])&&z(l,i)||z(r,i)||z(It,i)||z(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ra(){return vl().slots}function vl(){const e=Pn();return e.setupContext||(e.setupContext=So(e))}function Vr(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Zn=!0;function wl(e){const t=Cr(e),n=e.proxy,r=e.ctx;Zn=!1,t.beforeCreate&&qr(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:c,inject:u,created:d,beforeMount:h,mounted:y,beforeUpdate:C,updated:x,activated:O,deactivated:H,beforeDestroy:g,beforeUnmount:m,destroyed:j,unmounted:A,render:B,renderTracked:q,renderTriggered:k,errorCaptured:_,serverPrefetch:I,expose:M,inheritAttrs:J,components:P,directives:W,filters:L}=t;if(u&&Cl(u,r,null),i)for(const ne in i){const Z=i[ne];K(Z)&&(r[ne]=Z.bind(n))}if(s){const ne=s.call(n,n);ee(ne)&&(e.data=vn(ne))}if(Zn=!0,o)for(const ne in o){const Z=o[ne],Je=K(Z)?Z.bind(n,n):K(Z.get)?Z.get.bind(n,n):Re,Kt=!K(Z)&&K(Z.set)?Z.set.bind(n):Re,Xe=ae({get:Je,set:Kt});Object.defineProperty(r,ne,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Pe=>Xe.value=Pe})}if(l)for(const ne in l)uo(l[ne],r,n,ne);if(c){const ne=K(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(Z=>{Ol(Z,ne[Z])})}d&&qr(d,e,"c");function X(ne,Z){D(Z)?Z.forEach(Je=>ne(Je.bind(n))):Z&&ne(Z.bind(n))}if(X(dl,h),X(Tt,y),X(hl,C),X(pl,x),X(al,O),X(ul,H),X(yl,_),X(_l,q),X(ml,k),X(io,m),X(On,A),X(gl,I),D(M))if(M.length){const ne=e.exposed||(e.exposed={});M.forEach(Z=>{Object.defineProperty(ne,Z,{get:()=>n[Z],set:Je=>n[Z]=Je})})}else e.exposed||(e.exposed={});B&&e.render===Re&&(e.render=B),J!=null&&(e.inheritAttrs=J),P&&(e.components=P),W&&(e.directives=W)}function Cl(e,t,n=Re){D(e)&&(e=Gn(e));for(const r in e){const s=e[r];let o;ee(s)?"default"in s?o=_t(s.from||r,s.default,!0):o=_t(s.from||r):o=_t(s),ce(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function qr(e,t,n){xe(D(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function uo(e,t,n,r){const s=r.includes(".")?to(n,r):()=>n[r];if(se(e)){const o=t[e];K(o)&&qe(s,o)}else if(K(e))qe(s,e.bind(n));else if(ee(e))if(D(e))e.forEach(o=>uo(o,t,n,r));else{const o=K(e.handler)?e.handler.bind(n):t[e.handler];K(o)&&qe(s,o,e)}}function Cr(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(u=>fn(c,u,i,!0)),fn(c,t,i)),ee(t)&&o.set(t,c),c}function fn(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&fn(e,o,n,!0),s&&s.forEach(i=>fn(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=El[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const El={data:zr,props:Yr,emits:Yr,methods:Rt,computed:Rt,beforeCreate:he,created:he,beforeMount:he,mounted:he,beforeUpdate:he,updated:he,beforeDestroy:he,beforeUnmount:he,destroyed:he,unmounted:he,activated:he,deactivated:he,errorCaptured:he,serverPrefetch:he,components:Rt,directives:Rt,watch:Tl,provide:zr,inject:xl};function zr(e,t){return t?e?function(){return ie(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function xl(e,t){return Rt(Gn(e),Gn(t))}function Gn(e){if(D(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(r&&r.proxy):t}}function Rl(e,t,n,r=!1){const s={},o={};on(o,Rn,1),e.propsDefaults=Object.create(null),ho(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:$i(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Pl(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=Y(s),[c]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[y,C]=po(h,t,!0);ie(i,y),C&&l.push(...C)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!c)return ee(e)&&r.set(e,dt),dt;if(D(o))for(let d=0;d-1,C[1]=O<0||x-1||z(C,"default"))&&l.push(h)}}}const u=[i,l];return ee(e)&&r.set(e,u),u}function Jr(e){return e[0]!=="$"}function Xr(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Qr(e,t){return Xr(e)===Xr(t)}function Zr(e,t){return D(t)?t.findIndex(n=>Qr(n,e)):K(t)&&Qr(t,e)?0:-1}const go=e=>e[0]==="_"||e==="$stable",Er=e=>D(e)?e.map(Ae):[Ae(e)],Fl=(e,t,n)=>{if(t._n)return t;const r=Gi((...s)=>Er(t(...s)),n);return r._c=!1,r},mo=(e,t,n)=>{const r=e._ctx;for(const s in e){if(go(s))continue;const o=e[s];if(K(o))t[s]=Fl(s,o,r);else if(o!=null){const i=Er(o);t[s]=()=>i}}},_o=(e,t)=>{const n=Er(t);e.slots.default=()=>n},Il=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Y(t),on(t,"_",n)):mo(t,e.slots={})}else e.slots={},t&&_o(e,t);on(e.slots,Rn,1)},Ml=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=te;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ie(s,t),!n&&l===1&&delete s._):(o=!t.$stable,mo(t,s)),i=t}else t&&(_o(e,t),i={default:1});if(o)for(const l in s)!go(l)&&!(l in i)&&delete s[l]};function hn(e,t,n,r,s=!1){if(D(e)){e.forEach((y,C)=>hn(y,t&&(D(t)?t[C]:t),n,r,s));return}if(mt(r)&&!s)return;const o=r.shapeFlag&4?Ar(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:c}=e,u=t&&t.r,d=l.refs===te?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(se(u)?(d[u]=null,z(h,u)&&(h[u]=null)):ce(u)&&(u.value=null)),K(c))Ve(c,l,12,[i,d]);else{const y=se(c),C=ce(c);if(y||C){const x=()=>{if(e.f){const O=y?z(h,c)?h[c]:d[c]:c.value;s?D(O)&&or(O,o):D(O)?O.includes(o)||O.push(o):y?(d[c]=[o],z(h,c)&&(h[c]=d[c])):(c.value=[o],e.k&&(d[e.k]=c.value))}else y?(d[c]=i,z(h,c)&&(h[c]=i)):C&&(c.value=i,e.k&&(d[e.k]=i))};i?(x.id=-1,pe(x,n)):x()}}}let Be=!1;const Qt=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Zt=e=>e.nodeType===8;function Ll(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:c,createComment:u}}=e,d=(g,m)=>{if(!m.hasChildNodes()){n(null,g,m),an(),m._vnode=g;return}Be=!1,h(m.firstChild,g,null,null,null),an(),m._vnode=g,Be&&console.error("Hydration completed but contains mismatches.")},h=(g,m,j,A,B,q=!1)=>{const k=Zt(g)&&g.data==="[",_=()=>O(g,m,j,A,B,k),{type:I,ref:M,shapeFlag:J,patchFlag:P}=m;let W=g.nodeType;m.el=g,P===-2&&(q=!1,m.dynamicChildren=null);let L=null;switch(I){case bt:W!==3?m.children===""?(c(m.el=s(""),i(g),g),L=g):L=_():(g.data!==m.children&&(Be=!0,g.data=m.children),L=o(g));break;case ve:W!==8||k?L=_():L=o(g);break;case Mt:if(k&&(g=o(g),W=g.nodeType),W===1||W===3){L=g;const _e=!m.children.length;for(let X=0;X{q=q||!!m.dynamicChildren;const{type:k,props:_,patchFlag:I,shapeFlag:M,dirs:J}=m,P=k==="input"&&J||k==="option";if(P||I!==-1){if(J&&Ie(m,null,j,"created"),_)if(P||!q||I&48)for(const L in _)(P&&L.endsWith("value")||Bt(L)&&!Pt(L))&&r(g,L,null,_[L],!1,void 0,j);else _.onClick&&r(g,"onClick",null,_.onClick,!1,void 0,j);let W;if((W=_&&_.onVnodeBeforeMount)&&Ce(W,j,m),J&&Ie(m,null,j,"beforeMount"),((W=_&&_.onVnodeMounted)||J)&&Gs(()=>{W&&Ce(W,j,m),J&&Ie(m,null,j,"mounted")},A),M&16&&!(_&&(_.innerHTML||_.textContent))){let L=C(g.firstChild,m,g,j,A,B,q);for(;L;){Be=!0;const _e=L;L=L.nextSibling,l(_e)}}else M&8&&g.textContent!==m.children&&(Be=!0,g.textContent=m.children)}return g.nextSibling},C=(g,m,j,A,B,q,k)=>{k=k||!!m.dynamicChildren;const _=m.children,I=_.length;for(let M=0;M{const{slotScopeIds:k}=m;k&&(B=B?B.concat(k):k);const _=i(g),I=C(o(g),m,_,j,A,B,q);return I&&Zt(I)&&I.data==="]"?o(m.anchor=I):(Be=!0,c(m.anchor=u("]"),_,I),I)},O=(g,m,j,A,B,q)=>{if(Be=!0,m.el=null,q){const I=H(g);for(;;){const M=o(g);if(M&&M!==I)l(M);else break}}const k=o(g),_=i(g);return l(g),n(null,m,_,k,j,A,Qt(_),B),k},H=g=>{let m=0;for(;g;)if(g=o(g),g&&Zt(g)&&(g.data==="["&&m++,g.data==="]")){if(m===0)return o(g);m--}return g};return[d,h]}const pe=Gs;function Nl(e){return $l(e,Ll)}function $l(e,t){const n=Wn();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:c,setText:u,setElementText:d,parentNode:h,nextSibling:y,setScopeId:C=Re,insertStaticContent:x}=e,O=(a,f,p,v=null,b=null,T=null,R=!1,E=null,S=!!f.dynamicChildren)=>{if(a===f)return;a&&!tt(a,f)&&(v=Wt(a),Pe(a,b,T,!0),a=null),f.patchFlag===-2&&(S=!1,f.dynamicChildren=null);const{type:w,ref:N,shapeFlag:F}=f;switch(w){case bt:H(a,f,p,v);break;case ve:g(a,f,p,v);break;case Mt:a==null&&m(f,p,v,R);break;case ge:P(a,f,p,v,b,T,R,E,S);break;default:F&1?B(a,f,p,v,b,T,R,E,S):F&6?W(a,f,p,v,b,T,R,E,S):(F&64||F&128)&&w.process(a,f,p,v,b,T,R,E,S,ct)}N!=null&&b&&hn(N,a&&a.ref,T,f||a,!f)},H=(a,f,p,v)=>{if(a==null)r(f.el=l(f.children),p,v);else{const b=f.el=a.el;f.children!==a.children&&u(b,f.children)}},g=(a,f,p,v)=>{a==null?r(f.el=c(f.children||""),p,v):f.el=a.el},m=(a,f,p,v)=>{[a.el,a.anchor]=x(a.children,f,p,v,a.el,a.anchor)},j=({el:a,anchor:f},p,v)=>{let b;for(;a&&a!==f;)b=y(a),r(a,p,v),a=b;r(f,p,v)},A=({el:a,anchor:f})=>{let p;for(;a&&a!==f;)p=y(a),s(a),a=p;s(f)},B=(a,f,p,v,b,T,R,E,S)=>{R=R||f.type==="svg",a==null?q(f,p,v,b,T,R,E,S):I(a,f,b,T,R,E,S)},q=(a,f,p,v,b,T,R,E)=>{let S,w;const{type:N,props:F,shapeFlag:$,transition:U,dirs:V}=a;if(S=a.el=i(a.type,T,F&&F.is,F),$&8?d(S,a.children):$&16&&_(a.children,S,null,v,b,T&&N!=="foreignObject",R,E),V&&Ie(a,null,v,"created"),k(S,a,a.scopeId,R,v),F){for(const Q in F)Q!=="value"&&!Pt(Q)&&o(S,Q,null,F[Q],T,a.children,v,b,Ne);"value"in F&&o(S,"value",null,F.value),(w=F.onVnodeBeforeMount)&&Ce(w,v,a)}V&&Ie(a,null,v,"beforeMount");const G=(!b||b&&!b.pendingBranch)&&U&&!U.persisted;G&&U.beforeEnter(S),r(S,f,p),((w=F&&F.onVnodeMounted)||G||V)&&pe(()=>{w&&Ce(w,v,a),G&&U.enter(S),V&&Ie(a,null,v,"mounted")},b)},k=(a,f,p,v,b)=>{if(p&&C(a,p),v)for(let T=0;T{for(let w=S;w{const E=f.el=a.el;let{patchFlag:S,dynamicChildren:w,dirs:N}=f;S|=a.patchFlag&16;const F=a.props||te,$=f.props||te;let U;p&&Qe(p,!1),(U=$.onVnodeBeforeUpdate)&&Ce(U,p,f,a),N&&Ie(f,a,p,"beforeUpdate"),p&&Qe(p,!0);const V=b&&f.type!=="foreignObject";if(w?M(a.dynamicChildren,w,E,p,v,V,T):R||Z(a,f,E,null,p,v,V,T,!1),S>0){if(S&16)J(E,f,F,$,p,v,b);else if(S&2&&F.class!==$.class&&o(E,"class",null,$.class,b),S&4&&o(E,"style",F.style,$.style,b),S&8){const G=f.dynamicProps;for(let Q=0;Q{U&&Ce(U,p,f,a),N&&Ie(f,a,p,"updated")},v)},M=(a,f,p,v,b,T,R)=>{for(let E=0;E{if(p!==v){if(p!==te)for(const E in p)!Pt(E)&&!(E in v)&&o(a,E,p[E],null,R,f.children,b,T,Ne);for(const E in v){if(Pt(E))continue;const S=v[E],w=p[E];S!==w&&E!=="value"&&o(a,E,w,S,R,f.children,b,T,Ne)}"value"in v&&o(a,"value",p.value,v.value)}},P=(a,f,p,v,b,T,R,E,S)=>{const w=f.el=a?a.el:l(""),N=f.anchor=a?a.anchor:l("");let{patchFlag:F,dynamicChildren:$,slotScopeIds:U}=f;U&&(E=E?E.concat(U):U),a==null?(r(w,p,v),r(N,p,v),_(f.children,p,N,b,T,R,E,S)):F>0&&F&64&&$&&a.dynamicChildren?(M(a.dynamicChildren,$,p,b,T,R,E),(f.key!=null||b&&f===b.subTree)&&yo(a,f,!0)):Z(a,f,p,N,b,T,R,E,S)},W=(a,f,p,v,b,T,R,E,S)=>{f.slotScopeIds=E,a==null?f.shapeFlag&512?b.ctx.activate(f,p,v,R,S):L(f,p,v,b,T,R,S):_e(a,f,S)},L=(a,f,p,v,b,T,R)=>{const E=a.component=Vl(a,v,b);if(kt(a)&&(E.ctx.renderer=ct),ql(E),E.asyncDep){if(b&&b.registerDep(E,X),!a.el){const S=E.subTree=re(ve);g(null,S,f,p)}return}X(E,a,f,p,b,T,R)},_e=(a,f,p)=>{const v=f.component=a.component;if(nl(a,f,p))if(v.asyncDep&&!v.asyncResolved){ne(v,f,p);return}else v.next=f,Ji(v.update),v.update();else f.el=a.el,v.vnode=f},X=(a,f,p,v,b,T,R)=>{const E=()=>{if(a.isMounted){let{next:N,bu:F,u:$,parent:U,vnode:V}=a,G=N,Q;Qe(a,!1),N?(N.el=V.el,ne(a,N,R)):N=V,F&&Mn(F),(Q=N.props&&N.props.onVnodeBeforeUpdate)&&Ce(Q,U,N,V),Qe(a,!0);const oe=Ln(a),Te=a.subTree;a.subTree=oe,O(Te,oe,h(Te.el),Wt(Te),a,b,T),N.el=oe.el,G===null&&rl(a,oe.el),$&&pe($,b),(Q=N.props&&N.props.onVnodeUpdated)&&pe(()=>Ce(Q,U,N,V),b)}else{let N;const{el:F,props:$}=f,{bm:U,m:V,parent:G}=a,Q=mt(f);if(Qe(a,!1),U&&Mn(U),!Q&&(N=$&&$.onVnodeBeforeMount)&&Ce(N,G,f),Qe(a,!0),F&&In){const oe=()=>{a.subTree=Ln(a),In(F,a.subTree,a,b,null)};Q?f.type.__asyncLoader().then(()=>!a.isUnmounted&&oe()):oe()}else{const oe=a.subTree=Ln(a);O(null,oe,p,v,a,b,T),f.el=oe.el}if(V&&pe(V,b),!Q&&(N=$&&$.onVnodeMounted)){const oe=f;pe(()=>Ce(N,G,oe),b)}(f.shapeFlag&256||G&&mt(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&pe(a.a,b),a.isMounted=!0,f=p=v=null}},S=a.effect=new fr(E,()=>En(w),a.scope),w=a.update=()=>S.run();w.id=a.uid,Qe(a,!0),w()},ne=(a,f,p)=>{f.component=a;const v=a.vnode.props;a.vnode=f,a.next=null,Pl(a,f.props,v,p),Ml(a,f.children,p),Et(),Ur(),xt()},Z=(a,f,p,v,b,T,R,E,S=!1)=>{const w=a&&a.children,N=a?a.shapeFlag:0,F=f.children,{patchFlag:$,shapeFlag:U}=f;if($>0){if($&128){Kt(w,F,p,v,b,T,R,E,S);return}else if($&256){Je(w,F,p,v,b,T,R,E,S);return}}U&8?(N&16&&Ne(w,b,T),F!==w&&d(p,F)):N&16?U&16?Kt(w,F,p,v,b,T,R,E,S):Ne(w,b,T,!0):(N&8&&d(p,""),U&16&&_(F,p,v,b,T,R,E,S))},Je=(a,f,p,v,b,T,R,E,S)=>{a=a||dt,f=f||dt;const w=a.length,N=f.length,F=Math.min(w,N);let $;for($=0;$N?Ne(a,b,T,!0,!1,F):_(f,p,v,b,T,R,E,S,F)},Kt=(a,f,p,v,b,T,R,E,S)=>{let w=0;const N=f.length;let F=a.length-1,$=N-1;for(;w<=F&&w<=$;){const U=a[w],V=f[w]=S?Ke(f[w]):Ae(f[w]);if(tt(U,V))O(U,V,p,null,b,T,R,E,S);else break;w++}for(;w<=F&&w<=$;){const U=a[F],V=f[$]=S?Ke(f[$]):Ae(f[$]);if(tt(U,V))O(U,V,p,null,b,T,R,E,S);else break;F--,$--}if(w>F){if(w<=$){const U=$+1,V=U$)for(;w<=F;)Pe(a[w],b,T,!0),w++;else{const U=w,V=w,G=new Map;for(w=V;w<=$;w++){const ye=f[w]=S?Ke(f[w]):Ae(f[w]);ye.key!=null&&G.set(ye.key,w)}let Q,oe=0;const Te=$-V+1;let at=!1,Pr=0;const At=new Array(Te);for(w=0;w=Te){Pe(ye,b,T,!0);continue}let Fe;if(ye.key!=null)Fe=G.get(ye.key);else for(Q=V;Q<=$;Q++)if(At[Q-V]===0&&tt(ye,f[Q])){Fe=Q;break}Fe===void 0?Pe(ye,b,T,!0):(At[Fe-V]=w+1,Fe>=Pr?Pr=Fe:at=!0,O(ye,f[Fe],p,null,b,T,R,E,S),oe++)}const Fr=at?Hl(At):dt;for(Q=Fr.length-1,w=Te-1;w>=0;w--){const ye=V+w,Fe=f[ye],Ir=ye+1{const{el:T,type:R,transition:E,children:S,shapeFlag:w}=a;if(w&6){Xe(a.component.subTree,f,p,v);return}if(w&128){a.suspense.move(f,p,v);return}if(w&64){R.move(a,f,p,ct);return}if(R===ge){r(T,f,p);for(let F=0;FE.enter(T),b);else{const{leave:F,delayLeave:$,afterLeave:U}=E,V=()=>r(T,f,p),G=()=>{F(T,()=>{V(),U&&U()})};$?$(T,V,G):G()}else r(T,f,p)},Pe=(a,f,p,v=!1,b=!1)=>{const{type:T,props:R,ref:E,children:S,dynamicChildren:w,shapeFlag:N,patchFlag:F,dirs:$}=a;if(E!=null&&hn(E,null,p,a,!0),N&256){f.ctx.deactivate(a);return}const U=N&1&&$,V=!mt(a);let G;if(V&&(G=R&&R.onVnodeBeforeUnmount)&&Ce(G,f,a),N&6)Vo(a.component,p,v);else{if(N&128){a.suspense.unmount(p,v);return}U&&Ie(a,null,f,"beforeUnmount"),N&64?a.type.remove(a,f,p,b,ct,v):w&&(T!==ge||F>0&&F&64)?Ne(w,f,p,!1,!0):(T===ge&&F&384||!b&&N&16)&&Ne(S,f,p),v&&Or(a)}(V&&(G=R&&R.onVnodeUnmounted)||U)&&pe(()=>{G&&Ce(G,f,a),U&&Ie(a,null,f,"unmounted")},p)},Or=a=>{const{type:f,el:p,anchor:v,transition:b}=a;if(f===ge){Wo(p,v);return}if(f===Mt){A(a);return}const T=()=>{s(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:R,delayLeave:E}=b,S=()=>R(p,T);E?E(a.el,T,S):S()}else T()},Wo=(a,f)=>{let p;for(;a!==f;)p=y(a),s(a),a=p;s(f)},Vo=(a,f,p)=>{const{bum:v,scope:b,update:T,subTree:R,um:E}=a;v&&Mn(v),b.stop(),T&&(T.active=!1,Pe(R,a,f,p)),E&&pe(E,f),pe(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},Ne=(a,f,p,v=!1,b=!1,T=0)=>{for(let R=T;Ra.shapeFlag&6?Wt(a.component.subTree):a.shapeFlag&128?a.suspense.next():y(a.anchor||a.el),Rr=(a,f,p)=>{a==null?f._vnode&&Pe(f._vnode,null,null,!0):O(f._vnode||null,a,f,null,null,null,p),Ur(),an(),f._vnode=a},ct={p:O,um:Pe,m:Xe,r:Or,mt:L,mc:_,pc:Z,pbc:M,n:Wt,o:e};let Fn,In;return t&&([Fn,In]=t(ct)),{render:Rr,hydrate:Fn,createApp:Sl(Rr,Fn)}}function Qe({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function yo(e,t,n=!1){const r=e.children,s=t.children;if(D(r)&&D(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const jl=e=>e.__isTeleport,ge=Symbol.for("v-fgt"),bt=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),Mt=Symbol.for("v-stc"),Lt=[];let Oe=null;function bo(e=!1){Lt.push(Oe=e?null:[])}function Dl(){Lt.pop(),Oe=Lt[Lt.length-1]||null}let Dt=1;function Gr(e){Dt+=e}function vo(e){return e.dynamicChildren=Dt>0?Oe||dt:null,Dl(),Dt>0&&Oe&&Oe.push(e),e}function Pa(e,t,n,r,s,o){return vo(Eo(e,t,n,r,s,o,!0))}function wo(e,t,n,r,s){return vo(re(e,t,n,r,s,!0))}function pn(e){return e?e.__v_isVNode===!0:!1}function tt(e,t){return e.type===t.type&&e.key===t.key}const Rn="__vInternal",Co=({key:e})=>e??null,rn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ce(e)||K(e)?{i:de,r:e,k:t,f:!!n}:e:null);function Eo(e,t=null,n=null,r=0,s=null,o=e===ge?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Co(t),ref:t&&rn(t),scopeId:Tn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:de};return l?(xr(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Dt>0&&!i&&Oe&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Oe.push(c),c}const re=Bl;function Bl(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===lo)&&(e=ve),pn(e)){const l=Ye(e,t,!0);return n&&xr(l,n),Dt>0&&!o&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag|=-2,l}if(Xl(e)&&(e=e.__vccOpts),t){t=Ul(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=ar(l)),ee(c)&&(Ws(c)&&!D(c)&&(c=ie({},c)),t.style=cr(c))}const i=se(e)?1:sl(e)?128:jl(e)?64:ee(e)?4:K(e)?2:0;return Eo(e,t,n,r,s,i,o,!0)}function Ul(e){return e?Ws(e)||Rn in e?ie({},e):e:null}function Ye(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?kl(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Co(l),ref:t&&t.ref?n&&s?D(s)?s.concat(rn(t)):[s,rn(t)]:rn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ye(e.ssContent),ssFallback:e.ssFallback&&Ye(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function xo(e=" ",t=0){return re(bt,null,e,t)}function Fa(e,t){const n=re(Mt,null,e);return n.staticCount=t,n}function Ia(e="",t=!1){return t?(bo(),wo(ve,null,e)):re(ve,null,e)}function Ae(e){return e==null||typeof e=="boolean"?re(ve):D(e)?re(ge,null,e.slice()):typeof e=="object"?Ke(e):re(bt,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ye(e)}function xr(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),xr(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(Rn in t)?t._ctx=de:s===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:de},n=32):(t=String(t),r&64?(n=16,t=[xo(t)]):n=8);e.children=t,e.shapeFlag|=n}function kl(...e){const t={};for(let n=0;nle||de;let Tr,ut,es="__VUE_INSTANCE_SETTERS__";(ut=Wn()[es])||(ut=Wn()[es]=[]),ut.push(e=>le=e),Tr=e=>{ut.length>1?ut.forEach(t=>t(e)):ut[0](e)};const vt=e=>{Tr(e),e.scope.on()},ot=()=>{le&&le.scope.off(),Tr(null)};function To(e){return e.vnode.shapeFlag&4}let wt=!1;function ql(e,t=!1){wt=t;const{props:n,children:r}=e.vnode,s=To(e);Rl(e,n,s,t),Il(e,r);const o=s?zl(e,t):void 0;return wt=!1,o}function zl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ft(new Proxy(e.ctx,bl));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?So(e):null;vt(e),Et();const o=Ve(r,e,0,[e.props,s]);if(xt(),ot(),Os(o)){if(o.then(ot,ot),t)return o.then(i=>{ts(e,i,t)}).catch(i=>{Ut(i,e,0)});e.asyncDep=o}else ts(e,o,t)}else Ao(e,t)}function ts(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Ys(t)),Ao(e,n)}let ns;function Ao(e,t,n){const r=e.type;if(!e.render){if(!t&&ns&&!r.render){const s=r.template||Cr(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=r,u=ie(ie({isCustomElement:o,delimiters:l},i),c);r.render=ns(s,u)}}e.render=r.render||Re}vt(e),Et(),wl(e),xt(),ot()}function Yl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return me(e,"get","$attrs"),t[n]}}))}function So(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Yl(e)},slots:e.slots,emit:e.emit,expose:t}}function Ar(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ys(Ft(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in It)return It[n](e)},has(t,n){return n in t||n in It}}))}function Jl(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function Xl(e){return K(e)&&"__vccOpts"in e}const ae=(e,t)=>qi(e,t,wt);function tr(e,t,n){const r=arguments.length;return r===2?ee(t)&&!D(t)?pn(t)?re(e,null,[t]):re(e,t):re(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&pn(n)&&(n=[n]),re(e,t,n))}const Ql=Symbol.for("v-scx"),Zl=()=>_t(Ql),Gl="3.3.4",ec="http://www.w3.org/2000/svg",nt=typeof document<"u"?document:null,rs=nt&&nt.createElement("template"),tc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t?nt.createElementNS(ec,e):nt.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>nt.createTextNode(e),createComment:e=>nt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>nt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{rs.innerHTML=r?`${e}`:e;const l=rs.content;if(r){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function nc(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function rc(e,t,n){const r=e.style,s=se(n);if(n&&!s){if(t&&!se(t))for(const o in t)n[o]==null&&nr(r,o,"");for(const o in n)nr(r,o,n[o])}else{const o=r.display;s?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(r.display=o)}}const ss=/\s*!important$/;function nr(e,t,n){if(D(n))n.forEach(r=>nr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=sc(e,t);ss.test(n)?e.setProperty(lt(r),n.replace(ss,""),"important"):e[r]=n}}const os=["Webkit","Moz","ms"],jn={};function sc(e,t){const n=jn[t];if(n)return n;let r=Le(t);if(r!=="filter"&&r in e)return jn[t]=r;r=yn(r);for(let s=0;sDn||(fc.then(()=>Dn=0),Dn=Date.now());function hc(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;xe(pc(r,n.value),t,5,[r])};return n.value=e,n.attached=dc(),n}function pc(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const cs=/^on[a-z]/,gc=(e,t,n,r,s=!1,o,i,l,c)=>{t==="class"?nc(e,r,s):t==="style"?rc(e,n,r):Bt(t)?sr(t)||ac(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):mc(e,t,r,s))?ic(e,t,r,o,i,l,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),oc(e,t,r,s))};function mc(e,t,n,r){return r?!!(t==="innerHTML"||t==="textContent"||t in e&&cs.test(t)&&K(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||cs.test(t)&&se(n)?!1:t in e}const Ue="transition",St="animation",Oo=(e,{slots:t})=>tr(cl,_c(e),t);Oo.displayName="Transition";const Ro={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Oo.props=ie({},no,Ro);const Ze=(e,t=[])=>{D(e)?e.forEach(n=>n(...t)):e&&e(...t)},as=e=>e?D(e)?e.some(t=>t.length>1):e.length>1:!1;function _c(e){const t={};for(const P in e)P in Ro||(t[P]=e[P]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=o,appearActiveClass:u=i,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:C=`${n}-leave-to`}=e,x=yc(s),O=x&&x[0],H=x&&x[1],{onBeforeEnter:g,onEnter:m,onEnterCancelled:j,onLeave:A,onLeaveCancelled:B,onBeforeAppear:q=g,onAppear:k=m,onAppearCancelled:_=j}=t,I=(P,W,L)=>{Ge(P,W?d:l),Ge(P,W?u:i),L&&L()},M=(P,W)=>{P._isLeaving=!1,Ge(P,h),Ge(P,C),Ge(P,y),W&&W()},J=P=>(W,L)=>{const _e=P?k:m,X=()=>I(W,P,L);Ze(_e,[W,X]),us(()=>{Ge(W,P?c:o),ke(W,P?d:l),as(_e)||fs(W,r,O,X)})};return ie(t,{onBeforeEnter(P){Ze(g,[P]),ke(P,o),ke(P,i)},onBeforeAppear(P){Ze(q,[P]),ke(P,c),ke(P,u)},onEnter:J(!1),onAppear:J(!0),onLeave(P,W){P._isLeaving=!0;const L=()=>M(P,W);ke(P,h),wc(),ke(P,y),us(()=>{P._isLeaving&&(Ge(P,h),ke(P,C),as(A)||fs(P,r,H,L))}),Ze(A,[P,L])},onEnterCancelled(P){I(P,!1),Ze(j,[P])},onAppearCancelled(P){I(P,!0),Ze(_,[P])},onLeaveCancelled(P){M(P),Ze(B,[P])}})}function yc(e){if(e==null)return null;if(ee(e))return[Bn(e.enter),Bn(e.leave)];{const t=Bn(e);return[t,t]}}function Bn(e){return Go(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Ge(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function us(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let bc=0;function fs(e,t,n,r){const s=e._endId=++bc,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:c}=vc(e,t);if(!i)return r();const u=i+"end";let d=0;const h=()=>{e.removeEventListener(u,y),o()},y=C=>{C.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[x]||"").split(", "),s=r(`${Ue}Delay`),o=r(`${Ue}Duration`),i=ds(s,o),l=r(`${St}Delay`),c=r(`${St}Duration`),u=ds(l,c);let d=null,h=0,y=0;t===Ue?i>0&&(d=Ue,h=i,y=o.length):t===St?u>0&&(d=St,h=u,y=c.length):(h=Math.max(i,u),d=h>0?i>u?Ue:St:null,y=d?d===Ue?o.length:c.length:0);const C=d===Ue&&/\b(transform|all)(,|$)/.test(r(`${Ue}Property`).toString());return{type:d,timeout:h,propCount:y,hasTransform:C}}function ds(e,t){for(;e.lengthhs(n)+hs(e[r])))}function hs(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function wc(){return document.body.offsetHeight}const Cc=["ctrl","shift","alt","meta"],Ec={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Cc.some(n=>e[`${n}Key`]&&!t.includes(n))},Ma=(e,t)=>(n,...r)=>{for(let s=0;sn=>{if(!("key"in n))return;const r=lt(n.key);if(t.some(s=>s===r||xc[s]===r))return e(n)},Tc=ie({patchProp:gc},tc);let Un,ps=!1;function Ac(){return Un=ps?Un:Nl(Tc),ps=!0,Un}const Na=(...e)=>{const t=Ac().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Sc(r);if(s)return n(s,!0,s instanceof SVGElement)},t};function Sc(e){return se(e)?document.querySelector(e):e}const $a=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},Oc="modulepreload",Rc=function(e){return"/"+e},gs={},Ha=function(t,n,r){if(!n||n.length===0)return t();const s=document.getElementsByTagName("link");return Promise.all(n.map(o=>{if(o=Rc(o),o in gs)return;gs[o]=!0;const i=o.endsWith(".css"),l=i?'[rel="stylesheet"]':"";if(!!r)for(let d=s.length-1;d>=0;d--){const h=s[d];if(h.href===o&&(!i||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${l}`))return;const u=document.createElement("link");if(u.rel=i?"stylesheet":Oc,i||(u.as="script",u.crossOrigin=""),u.href=o,document.head.appendChild(u),i)return new Promise((d,h)=>{u.addEventListener("load",d),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o})},Pc=window.__VP_SITE_DATA__;function Sr(e){return Ms()?(ci(e),!0):!1}function it(e){return typeof e=="function"?e():zs(e)}const Po=typeof window<"u"&&typeof document<"u",Fc=Object.prototype.toString,Ic=e=>Fc.call(e)==="[object Object]",Fo=()=>{},ms=Mc();function Mc(){var e;return Po&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function Lc(e,t){function n(...r){return new Promise((s,o)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(o)})}return n}const Io=e=>e();function Nc(e=Io){const t=fe(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...o)=>{t.value&&e(...o)};return{isActive:wn(t),pause:n,resume:r,eventFilter:s}}function Mo(...e){if(e.length!==1)return Ki(...e);const t=e[0];return typeof t=="function"?wn(Bi(()=>({get:t,set:Fo}))):fe(t)}function $c(e,t,n={}){const{eventFilter:r=Io,...s}=n;return qe(e,Lc(r,t),s)}function Hc(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:o,pause:i,resume:l,isActive:c}=Nc(r);return{stop:$c(e,t,{...s,eventFilter:o}),pause:i,resume:l,isActive:c}}function jc(e,t=!0){Pn()?Tt(e):t?e():Cn(e)}function Lo(e){var t;const n=it(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Ct=Po?window:void 0;function gn(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Ct):[t,n,r,s]=e,!t)return Fo;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const o=[],i=()=>{o.forEach(d=>d()),o.length=0},l=(d,h,y,C)=>(d.addEventListener(h,y,C),()=>d.removeEventListener(h,y,C)),c=qe(()=>[Lo(t),it(s)],([d,h])=>{if(i(),!d)return;const y=Ic(h)?{...h}:h;o.push(...n.flatMap(C=>r.map(x=>l(d,C,x,y))))},{immediate:!0,flush:"post"}),u=()=>{c(),i()};return Sr(u),u}function Dc(){const e=fe(!1);return Pn()&&Tt(()=>{e.value=!0}),e}function Bc(e){const t=Dc();return ae(()=>(t.value,!!e()))}function Uc(e,t={}){const{window:n=Ct}=t,r=Bc(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const o=fe(!1),i=u=>{o.value=u.matches},l=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",i):s.removeListener(i))},c=eo(()=>{r.value&&(l(),s=n.matchMedia(it(e)),"addEventListener"in s?s.addEventListener("change",i):s.addListener(i),o.value=s.matches)});return Sr(()=>{c(),l(),s=void 0}),o}const Gt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},en="__vueuse_ssr_handlers__",kc=Kc();function Kc(){return en in Gt||(Gt[en]=Gt[en]||{}),Gt[en]}function No(e,t){return kc[e]||t}function Wc(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Vc={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},_s="vueuse-storage";function qc(e,t,n,r={}){var s;const{flush:o="pre",deep:i=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:h=Ct,eventFilter:y,onError:C=_=>{console.error(_)}}=r,x=(d?Vs:fe)(t);if(!n)try{n=No("getDefaultStorage",()=>{var _;return(_=Ct)==null?void 0:_.localStorage})()}catch(_){C(_)}if(!n)return x;const O=it(t),H=Wc(O),g=(s=r.serializer)!=null?s:Vc[H],{pause:m,resume:j}=Hc(x,()=>A(x.value),{flush:o,deep:i,eventFilter:y});return h&&l&&(gn(h,"storage",k),gn(h,_s,q)),k(),x;function A(_){try{if(_==null)n.removeItem(e);else{const I=g.write(_),M=n.getItem(e);M!==I&&(n.setItem(e,I),h&&h.dispatchEvent(new CustomEvent(_s,{detail:{key:e,oldValue:M,newValue:I,storageArea:n}})))}}catch(I){C(I)}}function B(_){const I=_?_.newValue:n.getItem(e);if(I==null)return c&&O!==null&&n.setItem(e,g.write(O)),O;if(!_&&u){const M=g.read(I);return typeof u=="function"?u(M,O):H==="object"&&!Array.isArray(M)?{...O,...M}:M}else return typeof I!="string"?I:g.read(I)}function q(_){k(_.detail)}function k(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){x.value=O;return}if(!(_&&_.key!==e)){m();try{(_==null?void 0:_.newValue)!==g.write(x.value)&&(x.value=B(_))}catch(I){C(I)}finally{_?Cn(j):j()}}}}}function zc(e){return Uc("(prefers-color-scheme: dark)",e)}function Yc(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Ct,storage:o,storageKey:i="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},y=zc({window:s}),C=ae(()=>y.value?"dark":"light"),x=c||(i==null?Mo(r):qc(i,r,o,{window:s,listenToStorageChanges:l})),O=ae(()=>x.value==="auto"?C.value:x.value),H=No("updateHTMLAttrs",(A,B,q)=>{const k=typeof A=="string"?s==null?void 0:s.document.querySelector(A):Lo(A);if(!k)return;let _;if(d){_=s.document.createElement("style");const I="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";_.appendChild(document.createTextNode(I)),s.document.head.appendChild(_)}if(B==="class"){const I=q.split(/\s/g);Object.values(h).flatMap(M=>(M||"").split(/\s/g)).filter(Boolean).forEach(M=>{I.includes(M)?k.classList.add(M):k.classList.remove(M)})}else k.setAttribute(B,q);d&&(s.getComputedStyle(_).opacity,document.head.removeChild(_))});function g(A){var B;H(t,n,(B=h[A])!=null?B:A)}function m(A){e.onChanged?e.onChanged(A,g):g(A)}qe(O,m,{flush:"post",immediate:!0}),jc(()=>m(O.value));const j=ae({get(){return u?x.value:O.value},set(A){x.value=A}});try{return Object.assign(j,{store:x,system:C,state:O})}catch{return j}}function Jc(e={}){const{valueDark:t="dark",valueLight:n=""}=e,r=Yc({...e,onChanged:(o,i)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,o==="dark",i,o):i(o)},modes:{dark:t,light:n}});return ae({get(){return r.value==="dark"},set(o){const i=o?"dark":"light";r.system.value===i?r.value="auto":r.value=i}})}function kn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function $o(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}function ja(e,t=!1){const n=fe(t);let r=null,s;qe(Mo(e),l=>{const c=kn(it(l));if(c){const u=c;s=u.style.overflow,n.value&&(u.style.overflow="hidden")}},{immediate:!0});const o=()=>{const l=kn(it(e));!l||n.value||(ms&&(r=gn(l,"touchmove",c=>{Xc(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},i=()=>{const l=kn(it(e));!l||!n.value||(ms&&(r==null||r()),l.style.overflow=s,n.value=!1)};return Sr(i),ae({get(){return n.value},set(l){l?o():i()}})}function Da({window:e=Ct}={}){if(!e)return{x:fe(0),y:fe(0)};const t=fe(e.scrollX),n=fe(e.scrollY);return gn(e,"scroll",()=>{t.value=e.scrollX,n.value=e.scrollY},{capture:!1,passive:!0}),{x:t,y:n}}const Ho=/^[a-z]+:/i,Qc="vitepress-theme-appearance",jo=/#.*$/,Zc=/(index)?\.(md|html)$/,Ee=typeof document<"u",Do={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Gc(e,t,n=!1){if(t===void 0)return!1;if(e=ys(`/${e}`),n)return new RegExp(t).test(e);if(ys(t)!==e)return!1;const r=t.match(jo);return r?(Ee?location.hash:"")===r[0]:!0}function ys(e){return decodeURI(e).replace(jo,"").replace(Zc,"")}function ea(e){return Ho.test(e)}function ta(e,t){var r,s,o,i,l,c,u;const n=Object.keys(e.locales).find(d=>d!=="root"&&!ea(d)&&Gc(t,`/${d}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((r=e.locales[n])==null?void 0:r.lang)??e.lang,dir:((s=e.locales[n])==null?void 0:s.dir)??e.dir,title:((o=e.locales[n])==null?void 0:o.title)??e.title,titleTemplate:((i=e.locales[n])==null?void 0:i.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Uo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function Bo(e,t){const n=t.title||e.title,r=t.titleTemplate??e.titleTemplate;if(typeof r=="string"&&r.includes(":title"))return r.replace(/:title/g,n);const s=na(e.title,r);return`${n}${s}`}function na(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function ra(e,t){const[n,r]=t;if(n!=="meta")return!1;const s=Object.entries(r)[0];return s==null?!1:e.some(([o,i])=>o===n&&i[s[0]]===s[1])}function Uo(e,t){return[...e.filter(n=>!ra(t,n)),...t]}const sa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,oa=/^[a-z]:/i;function bs(e){const t=oa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(sa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ia=Symbol(),rt=Vs(Pc);function Ba(e){const t=ae(()=>ta(rt.value,e.data.relativePath)),n=t.value.appearance?Jc({storageKey:Qc,initialValue:()=>typeof t.value.appearance=="string"?t.value.appearance:"auto",...typeof t.value.appearance=="object"?t.value.appearance:{}}):fe(!1);return{site:t,theme:ae(()=>t.value.themeConfig),page:ae(()=>e.data),frontmatter:ae(()=>e.data.frontmatter),params:ae(()=>e.data.params),lang:ae(()=>t.value.lang),dir:ae(()=>t.value.dir),localeIndex:ae(()=>t.value.localeIndex||"root"),title:ae(()=>Bo(t.value,e.data)),description:ae(()=>e.data.description||t.value.description),isDark:n}}function la(){const e=_t(ia);if(!e)throw new Error("vitepress data not properly injected in app");return e}function ca(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function vs(e){return Ho.test(e)||!e.startsWith("/")?e:ca(rt.value.base,e)}function aa(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ee){const n="/";t=bs(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let r=__VP_HASH_MAP__[t.toLowerCase()];if(r||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",r=__VP_HASH_MAP__[t.toLowerCase()]),!r)return null;t=`${n}assets/${t}.${r}.js`}else t=`./${bs(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let sn=[];function Ua(e){sn.push(e),On(()=>{sn=sn.filter(t=>t!==e)})}const ua=Symbol(),ws="http://a.com",fa=()=>({path:"/",component:null,data:Do});function ka(e,t){const n=vn(fa()),r={route:n,go:s};async function s(l=Ee?location.href:"/"){var u,d;if(await((u=r.onBeforeRouteChange)==null?void 0:u.call(r,l))===!1)return;const c=new URL(l,ws);rt.value.cleanUrls||!c.pathname.endsWith("/")&&!c.pathname.endsWith(".html")&&(c.pathname+=".html",l=c.pathname+c.search+c.hash),xs(l),await i(l),await((d=r.onAfterRouteChanged)==null?void 0:d.call(r,l))}let o=null;async function i(l,c=0,u=!1){var y;if(await((y=r.onBeforePageLoad)==null?void 0:y.call(r,l))===!1)return;const d=new URL(l,ws),h=o=d.pathname;try{let C=await e(h);if(!C)throw new Error(`Page not found: ${h}`);if(o===h){o=null;const{default:x,__pageData:O}=C;if(!x)throw new Error(`Invalid route component: ${x}`);n.path=Ee?h:vs(h),n.component=Ft(x),n.data=Ft(O),Ee&&Cn(()=>{let H=rt.value.base+O.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!rt.value.cleanUrls&&!H.endsWith("/")&&(H+=".html"),H!==d.pathname&&(d.pathname=H,l=H+d.search+d.hash,history.replaceState(null,"",l)),d.hash&&!c){let g=null;try{g=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(m){console.warn(m)}if(g){Cs(g,d.hash);return}}window.scrollTo(0,c)})}}catch(C){if(!/fetch|Page not found/.test(C.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(C),!u)try{const x=await fetch(rt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await x.json(),await i(l,c,!0);return}catch{}o===h&&(o=null,n.path=Ee?h:vs(h),n.component=t?Ft(t):null,n.data=Do)}}return Ee&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const u=l.target.closest("a");if(u&&!u.closest(".vp-raw")&&(u instanceof SVGElement||!u.download)){const{target:d}=u,{href:h,origin:y,pathname:C,hash:x,search:O}=new URL(u.href instanceof SVGAnimatedString?u.href.animVal:u.href,u.baseURI),H=window.location,g=C.match(/\.\w+$/);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!d&&y===H.origin&&!(g&&g[0]!==".html")&&(l.preventDefault(),C===H.pathname&&O===H.search?(x!==H.hash&&(history.pushState(null,"",x),window.dispatchEvent(new Event("hashchange"))),x?Cs(u,x,u.classList.contains("header-anchor")):(xs(h),window.scrollTo(0,0))):s(h))}},{capture:!0}),window.addEventListener("popstate",l=>{i(location.href,l.state&&l.state.scrollPosition||0)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),r}function da(){const e=_t(ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function ko(){return da().route}function Cs(e,t,n=!1){let r=null;try{r=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(s){console.warn(s)}if(r){let u=function(){!n||Math.abs(c-window.scrollY)>window.innerHeight?window.scrollTo(0,c):window.scrollTo({left:0,top:c,behavior:"smooth"})},s=rt.value.scrollOffset,o=0,i=24;if(typeof s=="object"&&"padding"in s&&(i=s.padding,s=s.selector),typeof s=="number")o=s;else if(typeof s=="string")o=Es(s,i);else if(Array.isArray(s))for(const d of s){const h=Es(d,i);if(h){o=h;break}}const l=parseInt(window.getComputedStyle(r).paddingTop,10),c=window.scrollY+r.getBoundingClientRect().top-o+l;requestAnimationFrame(u)}}function Es(e,t){const n=document.querySelector(e);if(!n)return 0;const r=n.getBoundingClientRect().bottom;return r<0?0:r+t}function xs(e){Ee&&e!==location.href&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}const Ts=()=>sn.forEach(e=>e()),Ka=vr({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=ko(),{site:n}=la();return()=>tr(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?tr(t.component,{onVnodeMounted:Ts,onVnodeUpdated:Ts}):"404 Page Not Found"])}}),Wa=vr({setup(e,{slots:t}){const n=fe(!1);return Tt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Va(){Ee&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const r=(n=t.parentElement)==null?void 0:n.parentElement;if(!r)return;const s=Array.from(r.querySelectorAll("input")).indexOf(t);if(s<0)return;const o=r.querySelector(".blocks");if(!o)return;const i=Array.from(o.children).find(u=>u.classList.contains("active"));if(!i)return;const l=o.children[s];if(!l||i===l)return;i.classList.remove("active"),l.classList.add("active");const c=r==null?void 0:r.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function qa(){if(Ee){const e=new WeakMap;window.addEventListener("click",t=>{var r;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const s=n.parentElement,o=(r=n.nextElementSibling)==null?void 0:r.nextElementSibling;if(!s||!o)return;const i=/language-(shellscript|shell|bash|sh|zsh)/.test(s.className);let l="";o.querySelectorAll("span.line:not(.diff.remove)").forEach(c=>l+=(c.textContent||"")+` +`),l=l.slice(0,-1),i&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),ha(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const c=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,c)})}})}}async function ha(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const r=document.getSelection(),s=r?r.rangeCount>0&&r.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),s&&(r.removeAllRanges(),r.addRange(s)),n&&n.focus()}}function za(e,t){let n=[],r=!0;const s=o=>{if(r){r=!1;return}n.forEach(i=>document.head.removeChild(i)),n=[],o.forEach(i=>{const l=As(i);document.head.appendChild(l),n.push(l)})};eo(()=>{const o=e.data,i=t.value,l=o&&o.description,c=o&&o.frontmatter.head||[];document.title=Bo(i,o);const u=l||i.description;let d=document.querySelector("meta[name=description]");d?d.setAttribute("content",u):As(["meta",{name:"description",content:u}]),s(Uo(i.head,ga(c)))})}function As([e,t,n]){const r=document.createElement(e);for(const s in t)r.setAttribute(s,t[s]);return n&&(r.innerHTML=n),r}function pa(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function ga(e){return e.filter(t=>!pa(t))}const Kn=new Set,Ko=()=>document.createElement("link"),ma=e=>{const t=Ko();t.rel="prefetch",t.href=e,document.head.appendChild(t)},_a=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let tn;const ya=Ee&&(tn=Ko())&&tn.relList&&tn.relList.supports&&tn.relList.supports("prefetch")?ma:_a;function Ya(){if(!Ee||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const r=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!Kn.has(c)){Kn.add(c);const u=aa(c);u&&ya(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{hostname:i,pathname:l}=new URL(o.href instanceof SVGAnimatedString?o.href.animVal:o.href,o.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||o.target!=="_blank"&&i===location.hostname&&(l!==location.pathname?n.observe(o):Kn.add(l))})})};Tt(r);const s=ko();qe(()=>s.path,r),On(()=>{n&&n.disconnect()})}export{Ra as $,Ca as A,pl as B,xa as C,Aa as D,Vs as E,ge as F,Ua as G,re as H,Ta as I,Ho as J,ko as K,kl as L,_t as M,cr as N,Cn as O,Da as P,Fa as Q,wn as R,Ea as S,Oo as T,Ha as U,ja as V,Ol as W,La as X,Oa as Y,Ma as Z,$a as _,xo as a,za as a0,ua as a1,Ba as a2,ia as a3,Ka as a4,Wa as a5,rt as a6,Na as a7,ka as a8,aa as a9,Ya as aa,qa as ab,Va as ac,tr as ad,da as ae,wo as b,Pa as c,vr as d,Ia as e,vs as f,ae as g,fe as h,ea as i,Tt as j,Eo as k,zs as l,wa as m,ar as n,bo as o,va as p,Gc as q,Sa as r,Ee as s,ba as t,la as u,Uc as v,Gi as w,qe as x,eo as y,On as z}; diff --git a/docs/assets/chunks/theme.0b40695b.js b/docs/assets/chunks/theme.0b40695b.js deleted file mode 100644 index bd3e477f..00000000 --- a/docs/assets/chunks/theme.0b40695b.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as g,o as a,c as l,r as c,n as B,a as x,t as S,_ as m,b,w as v,T as he,e as f,u as nt,i as st,P as ot,f as fe,g as k,h as V,j as F,k as u,l as i,p as D,m as z,q as at,s as De,v as rt,x as it,y as lt,z as K,A as J,B as ct,C as W,D as te,E as le,F as ut,G as U,H as C,I as H,J as me,K as Z,L as h,M as j,N as ze,O as se,Q as ge,R as Fe,S as dt,U as _t,V as Oe,W as Ae,X as vt,Y as pt,Z as oe,$ as ht,a0 as ft,a1 as mt,a2 as gt,a3 as yt}from"./framework.1eef7d9b.js";const bt=g({__name:"VPBadge",props:{text:{},type:{}},setup(n){return(e,t)=>(a(),l("span",{class:B(["VPBadge",e.type??"tip"])},[c(e.$slots,"default",{},()=>[x(S(e.text),1)],!0)],2))}});const kt=m(bt,[["__scopeId","data-v-ce917cfb"]]),$t={key:0,class:"VPBackdrop"},Pt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(n){return(e,t)=>(a(),b(he,{name:"fade"},{default:v(()=>[e.show?(a(),l("div",$t)):f("",!0)]),_:1}))}});const Vt=m(Pt,[["__scopeId","data-v-54a304ca"]]),P=nt;function wt(n,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(n,e):(n(),s=!0,setTimeout(()=>{s=!1},e))}}function _e(n){return/^\//.test(n)?n:`/${n}`}function ee(n){if(st(n))return n.replace(ot,"");const{site:e}=P(),{pathname:t,search:s,hash:o}=new URL(n,"http://a.com"),r=t.endsWith("/")||t.endsWith(".html")?n:n.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${s}${o}`);return fe(r)}function ne({removeCurrent:n=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:s,page:o,theme:r}=P(),d=k(()=>{var _,y;return{label:(_=t.value.locales[s.value])==null?void 0:_.label,link:((y=t.value.locales[s.value])==null?void 0:y.link)||(s.value==="root"?"/":`/${s.value}/`)}});return{localeLinks:k(()=>Object.entries(t.value.locales).flatMap(([_,y])=>n&&d.value.label===y.label?[]:{text:y.label,link:St(y.link||(_==="root"?"/":`/${_}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function St(n,e,t,s){return e?n.replace(/\/$/,"")+_e(t.replace(/(^|\/)?index.md$/,"$1").replace(/\.md$/,s?".html":"")):n}const ce=n=>(D("data-v-e5bd6573"),n=n(),z(),n),Lt={class:"NotFound"},Mt=ce(()=>u("p",{class:"code"},"404",-1)),Ct=ce(()=>u("h1",{class:"title"},"PAGE NOT FOUND",-1)),It=ce(()=>u("div",{class:"divider"},null,-1)),Tt=ce(()=>u("blockquote",{class:"quote"}," But if you don't change your direction, and if you keep looking, you may end up where you are heading. ",-1)),Bt={class:"action"},Nt=["href"],At=g({__name:"NotFound",setup(n){const{site:e}=P(),{localeLinks:t}=ne({removeCurrent:!1}),s=V("/");return F(()=>{var r;const o=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");t.value.length&&(s.value=((r=t.value.find(({link:d})=>d.startsWith(o)))==null?void 0:r.link)||t.value[0].link)}),(o,r)=>(a(),l("div",Lt,[Mt,Ct,It,Tt,u("div",Bt,[u("a",{class:"link",href:i(fe)(s.value),"aria-label":"go to home"}," Take me home ",8,Nt)])]))}});const xt=m(At,[["__scopeId","data-v-e5bd6573"]]);function Ge(n){return it()?(lt(n),!0):!1}function Re(n){return typeof n=="function"?n():i(n)}const Ht=typeof window<"u",Ue=()=>{};function Et(...n){if(n.length!==1)return at(...n);const e=n[0];return typeof e=="function"?De(rt(()=>({get:e,set:Ue}))):V(e)}function Dt(n){var e;const t=Re(n);return(e=t==null?void 0:t.$el)!=null?e:t}const ye=Ht?window:void 0;function zt(...n){let e,t,s,o;if(typeof n[0]=="string"||Array.isArray(n[0])?([t,s,o]=n,e=ye):[e,t,s,o]=n,!e)return Ue;Array.isArray(t)||(t=[t]),Array.isArray(s)||(s=[s]);const r=[],d=()=>{r.forEach(L=>L()),r.length=0},p=(L,N,I,w)=>(L.addEventListener(N,I,w),()=>L.removeEventListener(N,I,w)),_=K(()=>[Dt(e),Re(o)],([L,N])=>{d(),L&&r.push(...t.flatMap(I=>s.map(w=>p(L,I,w,N))))},{immediate:!0,flush:"post"}),y=()=>{_(),d()};return Ge(y),y}function Ft(){const n=V(!1);return ct()&&F(()=>{n.value=!0}),n}function Ot(n){const e=Ft();return k(()=>(e.value,!!n()))}function ve(n,e={}){const{window:t=ye}=e,s=Ot(()=>t&&"matchMedia"in t&&typeof t.matchMedia=="function");let o;const r=V(!1),d=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",p):o.removeListener(p))},p=()=>{s.value&&(d(),o=t.matchMedia(Et(n).value),r.value=!!(o!=null&&o.matches),o&&("addEventListener"in o?o.addEventListener("change",p):o.addListener(p)))};return J(p),Ge(()=>d()),r}function je({window:n=ye}={}){if(!n)return{x:V(0),y:V(0)};const e=V(n.scrollX),t=V(n.scrollY);return zt(n,"scroll",()=>{e.value=n.scrollX,t.value=n.scrollY},{capture:!1,passive:!0}),{x:e,y:t}}function qe(n,e){if(Array.isArray(n))return n;if(n==null)return[];e=_e(e);const t=Object.keys(n).sort((s,o)=>o.split("/").length-s.split("/").length).find(s=>e.startsWith(_e(s)));return t?n[t]:[]}function Gt(n){const e=[];let t=0;for(const s in n){const o=n[s];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function Rt(n){const e=[];function t(s){for(const o of s)o.text&&o.link&&e.push({text:o.text,link:o.link}),o.items&&t(o.items)}return t(n),e}function pe(n,e){return Array.isArray(e)?e.some(t=>pe(n,t)):W(n,e.link)?!0:e.items?pe(n,e.items):!1}function O(){const n=te(),{theme:e,frontmatter:t}=P(),s=ve("(min-width: 960px)"),o=V(!1),r=k(()=>{const A=e.value.sidebar,M=n.data.relativePath;return A?qe(A,M):[]}),d=k(()=>t.value.sidebar!==!1&&r.value.length>0&&t.value.layout!=="home"),p=k(()=>_?t.value.aside==null?e.value.aside==="left":t.value.aside==="left":!1),_=k(()=>t.value.layout==="home"?!1:t.value.aside!=null?!!t.value.aside:e.value.aside!==!1),y=k(()=>d.value&&s.value),L=k(()=>d.value?Gt(r.value):[]);function N(){o.value=!0}function I(){o.value=!1}function w(){o.value?I():N()}return{isOpen:o,sidebar:r,sidebarGroups:L,hasSidebar:d,hasAside:_,leftAside:p,isSidebarEnabled:y,open:N,close:I,toggle:w}}function Ut(n,e){let t;J(()=>{t=n.value?document.activeElement:void 0}),F(()=>{window.addEventListener("keyup",s)}),le(()=>{window.removeEventListener("keyup",s)});function s(o){o.key==="Escape"&&n.value&&(e(),t==null||t.focus())}}function jt(n){const{page:e}=P(),t=V(!1),s=k(()=>n.value.collapsed!=null),o=k(()=>!!n.value.link),r=k(()=>W(e.value.relativePath,n.value.link)),d=k(()=>r.value?!0:n.value.items?pe(e.value.relativePath,n.value.items):!1),p=k(()=>!!(n.value.items&&n.value.items.length));J(()=>{t.value=!!(s.value&&n.value.collapsed)}),J(()=>{(r.value||d.value)&&(t.value=!1)});function _(){s.value&&(t.value=!t.value)}return{collapsed:t,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:_}}function qt(){const{hasSidebar:n}=O(),e=ve("(min-width: 960px)"),t=ve("(min-width: 1280px)");return{isAsideEnabled:k(()=>!t.value&&!e.value?!1:n.value?t.value:e.value)}}const Kt=71;function be(n){return typeof n.outline=="object"&&!Array.isArray(n.outline)&&n.outline.label||n.outlineTitle||"On this page"}function ke(n){const e=[...document.querySelectorAll(".VPDoc h2,h3,h4,h5,h6")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{title:Wt(t),link:"#"+t.id,level:s}});return Yt(e,n)}function Wt(n){let e="";for(const t of n.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function Yt(n,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;n=n.filter(d=>d.level>=s&&d.level<=o);const r=[];e:for(let d=0;d=0;_--){const y=n[_];if(y.level{requestAnimationFrame(r),window.addEventListener("scroll",s)}),ut(()=>{d(location.hash)}),le(()=>{window.removeEventListener("scroll",s)});function r(){if(!t.value)return;const p=[].slice.call(n.value.querySelectorAll(".outline-link")),_=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(w=>p.some(A=>A.hash===w.hash&&w.offsetParent!==null)),y=window.scrollY,L=window.innerHeight,N=document.body.offsetHeight,I=Math.abs(y+L-N)<1;if(_.length&&I){d(_[_.length-1].hash);return}for(let w=0;w<_.length;w++){const A=_[w],M=_[w+1],[$,T]=Qt(w,A,M);if($){d(T);return}}}function d(p){o&&o.classList.remove("active"),p!==null&&(o=n.value.querySelector(`a[href="${decodeURIComponent(p)}"]`));const _=o;_?(_.classList.add("active"),e.value.style.top=_.offsetTop+33+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function xe(n){return n.parentElement.offsetTop-Kt}function Qt(n,e,t){const s=window.scrollY;return n===0&&s===0?[!0,null]:s{const o=U("VPDocOutlineItem",!0);return a(),l("ul",{class:B(t.root?"root":"nested")},[(a(!0),l(C,null,H(t.headers,({children:r,link:d,title:p})=>(a(),l("li",null,[u("a",{class:"outline-link",href:d,onClick:e,title:p},S(p),9,Jt),r!=null&&r.length?(a(),b(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const $e=m(Zt,[["__scopeId","data-v-89c8d7c6"]]),en=n=>(D("data-v-c834746b"),n=n(),z(),n),tn={class:"content"},nn={class:"outline-title"},sn={"aria-labelledby":"doc-outline-aria-label"},on=en(()=>u("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),an=g({__name:"VPDocAsideOutline",setup(n){const{frontmatter:e,theme:t}=P(),s=me([]);Z(()=>{s.value=ke(e.value.outline??t.value.outline)});const o=V(),r=V();return Xt(o,r),(d,p)=>(a(),l("div",{class:B(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:o},[u("div",tn,[u("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),u("div",nn,S(i(be)(i(t))),1),u("nav",sn,[on,h($e,{headers:s.value,root:!0},null,8,["headers"])])])],2))}});const rn=m(an,[["__scopeId","data-v-c834746b"]]),ln={class:"VPDocAsideCarbonAds"},cn=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(n){const e=()=>null;return(t,s)=>(a(),l("div",ln,[h(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),un=n=>(D("data-v-cb998dce"),n=n(),z(),n),dn={class:"VPDocAside"},_n=un(()=>u("div",{class:"spacer"},null,-1)),vn=g({__name:"VPDocAside",setup(n){const{theme:e}=P();return(t,s)=>(a(),l("div",dn,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),h(rn),c(t.$slots,"aside-outline-after",{},void 0,!0),_n,c(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),b(cn,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):f("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}});const pn=m(vn,[["__scopeId","data-v-cb998dce"]]);function hn(){const{theme:n,page:e}=P();return k(()=>{const{text:t="Edit this page",pattern:s=""}=n.value.editLink||{};let o;return typeof s=="function"?o=s(e.value):o=s.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function fn(){const{page:n,theme:e,frontmatter:t}=P();return k(()=>{var _,y,L,N,I,w;const s=qe(e.value.sidebar,n.value.relativePath),o=Rt(s),r=o.findIndex(A=>W(n.value.relativePath,A.link)),d=((_=e.value.docFooter)==null?void 0:_.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((y=e.value.docFooter)==null?void 0:y.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((L=o[r-1])==null?void 0:L.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=o[r-1])==null?void 0:N.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((I=o[r+1])==null?void 0:I.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((w=o[r+1])==null?void 0:w.link)}}})}const mn={},gn={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},yn=u("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),bn=u("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),kn=[yn,bn];function $n(n,e){return a(),l("svg",gn,kn)}const Pn=m(mn,[["render",$n]]),G=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(n){const e=n,t=k(()=>e.tag??e.href?"a":"span"),s=k(()=>e.href&&ze.test(e.href));return(o,r)=>(a(),b(j(t.value),{class:B(["VPLink",{link:o.href,"vp-external-link-icon":s.value,"no-icon":o.noIcon}]),href:o.href?i(ee)(o.href):void 0,target:o.target||(s.value?"_blank":void 0),rel:o.rel||(s.value?"noreferrer":void 0)},{default:v(()=>[c(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Vn={class:"VPLastUpdated"},wn=["datetime"],Sn=g({__name:"VPDocFooterLastUpdated",setup(n){const{theme:e,page:t}=P(),s=k(()=>new Date(t.value.lastUpdated)),o=k(()=>s.value.toISOString()),r=V("");return F(()=>{J(()=>{var d;r.value=new Intl.DateTimeFormat(void 0,((d=e.value.lastUpdated)==null?void 0:d.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(s.value)})}),(d,p)=>{var _;return a(),l("p",Vn,[x(S(((_=i(e).lastUpdated)==null?void 0:_.text)||i(e).lastUpdatedText||"Last updated")+": ",1),u("time",{datetime:o.value},S(r.value),9,wn)])}}});const Ln=m(Sn,[["__scopeId","data-v-b89b6307"]]),Mn={key:0,class:"VPDocFooter"},Cn={key:0,class:"edit-info"},In={key:0,class:"edit-link"},Tn={key:1,class:"last-updated"},Bn={key:1,class:"prev-next"},Nn={class:"pager"},An=["href"],xn=["innerHTML"],Hn=["innerHTML"],En={class:"pager"},Dn=["href"],zn=["innerHTML"],Fn=["innerHTML"],On=g({__name:"VPDocFooter",setup(n){const{theme:e,page:t,frontmatter:s}=P(),o=hn(),r=fn(),d=k(()=>e.value.editLink&&s.value.editLink!==!1),p=k(()=>t.value.lastUpdated&&s.value.lastUpdated!==!1),_=k(()=>d.value||p.value||r.value.prev||r.value.next);return(y,L)=>{var N,I,w,A,M,$;return _.value?(a(),l("footer",Mn,[c(y.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),l("div",Cn,[d.value?(a(),l("div",In,[h(G,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:v(()=>[h(Pn,{class:"edit-link-icon","aria-label":"edit icon"}),x(" "+S(i(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),l("div",Tn,[h(Ln)])):f("",!0)])):f("",!0),(N=i(r).prev)!=null&&N.link||(I=i(r).next)!=null&&I.link?(a(),l("nav",Bn,[u("div",Nn,[(w=i(r).prev)!=null&&w.link?(a(),l("a",{key:0,class:"pager-link prev",href:i(ee)(i(r).prev.link)},[u("span",{class:"desc",innerHTML:((A=i(e).docFooter)==null?void 0:A.prev)||"Previous page"},null,8,xn),u("span",{class:"title",innerHTML:i(r).prev.text},null,8,Hn)],8,An)):f("",!0)]),u("div",En,[(M=i(r).next)!=null&&M.link?(a(),l("a",{key:0,class:"pager-link next",href:i(ee)(i(r).next.link)},[u("span",{class:"desc",innerHTML:(($=i(e).docFooter)==null?void 0:$.next)||"Next page"},null,8,zn),u("span",{class:"title",innerHTML:i(r).next.text},null,8,Fn)],8,Dn)):f("",!0)])])):f("",!0)])):f("",!0)}}});const Gn=m(On,[["__scopeId","data-v-5774f702"]]),Rn={},Un={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},jn=u("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),qn=[jn];function Kn(n,e){return a(),l("svg",Un,qn)}const Pe=m(Rn,[["render",Kn]]),Wn={key:0,class:"VPDocOutlineDropdown"},Yn={key:0,class:"items"},Xn=g({__name:"VPDocOutlineDropdown",setup(n){const{frontmatter:e,theme:t}=P(),s=V(!1);Z(()=>{s.value=!1});const o=me([]);return Z(()=>{o.value=ke(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),l("div",Wn,[u("button",{onClick:d[0]||(d[0]=p=>s.value=!s.value),class:B({open:s.value})},[x(S(i(be)(i(t)))+" ",1),h(Pe,{class:"icon"})],2),s.value?(a(),l("div",Yn,[h($e,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const Qn=m(Xn,[["__scopeId","data-v-2d98506c"]]),Jn=n=>(D("data-v-a3c25e27"),n=n(),z(),n),Zn={class:"container"},es=Jn(()=>u("div",{class:"aside-curtain"},null,-1)),ts={class:"aside-container"},ns={class:"aside-content"},ss={class:"content"},os={class:"content-container"},as={class:"main"},rs=g({__name:"VPDoc",setup(n){const{theme:e}=P(),t=te(),{hasSidebar:s,hasAside:o,leftAside:r}=O(),d=k(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,_)=>{const y=U("Content");return a(),l("div",{class:B(["VPDoc",{"has-sidebar":i(s),"has-aside":i(o)}])},[c(p.$slots,"doc-top",{},void 0,!0),u("div",Zn,[i(o)?(a(),l("div",{key:0,class:B(["aside",{"left-aside":i(r)}])},[es,u("div",ts,[u("div",ns,[h(pn,null,{"aside-top":v(()=>[c(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),u("div",ss,[u("div",os,[c(p.$slots,"doc-before",{},void 0,!0),h(Qn),u("main",as,[h(y,{class:B(["vp-doc",[d.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(Gn,null,{"doc-footer-before":v(()=>[c(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(p.$slots,"doc-after",{},void 0,!0)])])]),c(p.$slots,"doc-bottom",{},void 0,!0)],2)}}});const is=m(rs,[["__scopeId","data-v-a3c25e27"]]),ls=g({__name:"VPButton",props:{tag:{},size:{},theme:{},text:{},href:{}},setup(n){const e=n,t=k(()=>[e.size??"medium",e.theme??"brand"]),s=k(()=>e.href&&ze.test(e.href)),o=k(()=>e.tag?e.tag:e.href?"a":"button");return(r,d)=>(a(),b(j(o.value),{class:B(["VPButton",t.value]),href:r.href?i(ee)(r.href):void 0,target:s.value?"_blank":void 0,rel:s.value?"noreferrer":void 0},{default:v(()=>[x(S(r.text),1)]),_:1},8,["class","href","target","rel"]))}});const cs=m(ls,[["__scopeId","data-v-fa1633a1"]]),us=["src","alt"],ds={inheritAttrs:!1},_s=g({...ds,__name:"VPImage",props:{image:{},alt:{}},setup(n){return(e,t)=>{const s=U("VPImage",!0);return e.image?(a(),l(C,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",se({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(fe)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,us)):(a(),l(C,{key:1},[h(s,se({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(s,se({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const Ve=m(_s,[["__scopeId","data-v-dc109a54"]]),vs=n=>(D("data-v-5a3e9999"),n=n(),z(),n),ps={class:"container"},hs={class:"main"},fs={key:0,class:"name"},ms=["innerHTML"],gs=["innerHTML"],ys=["innerHTML"],bs={key:0,class:"actions"},ks={key:0,class:"image"},$s={class:"image-container"},Ps=vs(()=>u("div",{class:"image-bg"},null,-1)),Vs=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(n){const e=ge("hero-image-slot-exists");return(t,s)=>(a(),l("div",{class:B(["VPHero",{"has-image":t.image||i(e)}])},[u("div",ps,[u("div",hs,[c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",fs,[u("span",{innerHTML:t.name,class:"clip"},null,8,ms)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,gs)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,ys)):f("",!0)],!0),t.actions?(a(),l("div",bs,[(a(!0),l(C,null,H(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[h(cs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||i(e)?(a(),l("div",ks,[u("div",$s,[Ps,c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(Ve,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const ws=m(Vs,[["__scopeId","data-v-5a3e9999"]]),Ss=g({__name:"VPHomeHero",setup(n){const{frontmatter:e}=P();return(t,s)=>i(e).hero?(a(),b(ws,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info":v(()=>[c(t.$slots,"home-hero-info")]),"home-hero-image":v(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Ls={},Ms={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Cs=u("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Is=[Cs];function Ts(n,e){return a(),l("svg",Ms,Is)}const Bs=m(Ls,[["render",Ts]]),Ns={class:"box"},As=["innerHTML"],xs=["innerHTML"],Hs=["innerHTML"],Es={key:3,class:"link-text"},Ds={class:"link-text-value"},zs=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{}},setup(n){return(e,t)=>(a(),b(G,{class:"VPFeature",href:e.link,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[u("article",Ns,[typeof e.icon=="object"?(a(),b(Ve,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height,width:e.icon.width},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:1,class:"icon",innerHTML:e.icon},null,8,As)):f("",!0),u("h2",{class:"title",innerHTML:e.title},null,8,xs),e.details?(a(),l("p",{key:2,class:"details",innerHTML:e.details},null,8,Hs)):f("",!0),e.linkText?(a(),l("div",Es,[u("p",Ds,[x(S(e.linkText)+" ",1),h(Bs,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","tag"]))}});const Fs=m(zs,[["__scopeId","data-v-37d05ba9"]]),Os={key:0,class:"VPFeatures"},Gs={class:"container"},Rs={class:"items"},Us=g({__name:"VPFeatures",props:{features:{}},setup(n){const e=n,t=k(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,o)=>s.features?(a(),l("div",Os,[u("div",Gs,[u("div",Rs,[(a(!0),l(C,null,H(s.features,r=>(a(),l("div",{key:r.title,class:B(["item",[t.value]])},[h(Fs,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText},null,8,["icon","title","details","link","link-text"])],2))),128))])])])):f("",!0)}});const js=m(Us,[["__scopeId","data-v-fcd3089b"]]),qs=g({__name:"VPHomeFeatures",setup(n){const{frontmatter:e}=P();return(t,s)=>i(e).features?(a(),b(js,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):f("",!0)}}),Ks={class:"VPHome"},Ws=g({__name:"VPHome",setup(n){return(e,t)=>{const s=U("Content");return a(),l("div",Ks,[c(e.$slots,"home-hero-before",{},void 0,!0),h(Ss,null,{"home-hero-info":v(()=>[c(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[c(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(e.$slots,"home-hero-after",{},void 0,!0),c(e.$slots,"home-features-before",{},void 0,!0),h(qs),c(e.$slots,"home-features-after",{},void 0,!0),h(s)])}}});const Ys=m(Ws,[["__scopeId","data-v-20eabd3a"]]),Xs={},Qs={class:"VPPage"};function Js(n,e){const t=U("Content");return a(),l("div",Qs,[c(n.$slots,"page-top"),h(t),c(n.$slots,"page-bottom")])}const Zs=m(Xs,[["render",Js]]),eo=g({__name:"VPContent",setup(n){const{page:e,frontmatter:t}=P(),{hasSidebar:s}=O();return(o,r)=>(a(),l("div",{class:B(["VPContent",{"has-sidebar":i(s),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?c(o.$slots,"not-found",{key:0},()=>[h(xt)],!0):i(t).layout==="page"?(a(),b(Zs,{key:1},{"page-top":v(()=>[c(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),b(Ys,{key:2},{"home-hero-before":v(()=>[c(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[c(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):(a(),b(is,{key:3},{"doc-top":v(()=>[c(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[c(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[c(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[c(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[c(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const to=m(eo,[["__scopeId","data-v-f0629f57"]]),no={class:"container"},so=["innerHTML"],oo=["innerHTML"],ao=g({__name:"VPFooter",setup(n){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=O();return(o,r)=>i(e).footer&&i(t).footer!==!1?(a(),l("footer",{key:0,class:B(["VPFooter",{"has-sidebar":i(s)}])},[u("div",no,[i(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,so)):f("",!0),i(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,oo)):f("",!0)])],2)):f("",!0)}});const ro=m(ao,[["__scopeId","data-v-e4279f1c"]]),io=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(n){const e=n,{theme:t}=P(),s=V(!1),o=V(0),r=V();Z(()=>{s.value=!1});function d(){s.value=!s.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(y){y.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),dt(()=>{s.value=!1}))}function _(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,L)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Fe({"--vp-vh":o.value+"px"})},[y.headers.length>0?(a(),l("button",{key:0,onClick:d,class:B({open:s.value})},[x(S(i(be)(i(t)))+" ",1),h(Pe,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:_},S(i(t).returnToTopLabel||"Return to top"),1)),h(he,{name:"flyout"},{default:v(()=>[s.value?(a(),l("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[u("a",{class:"top-link",href:"#",onClick:_},S(i(t).returnToTopLabel||"Return to top"),1),h($e,{headers:y.headers},null,8,["headers"])],512)):f("",!0)]),_:1})],4))}});const lo=m(io,[["__scopeId","data-v-bd10e8af"]]),co={},uo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_o=u("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),vo=u("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),po=u("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),ho=u("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),fo=[_o,vo,po,ho];function mo(n,e){return a(),l("svg",uo,fo)}const go=m(co,[["render",mo]]),yo=["aria-expanded"],bo={class:"menu-text"},ko=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(n){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=O(),{y:o}=je(),r=me([]),d=V(0);F(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{r.value=ke(t.value.outline??e.value.outline)});const p=k(()=>r.value.length===0&&!s.value),_=k(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return(y,L)=>i(t).layout!=="home"&&(!p.value||i(o)>=d.value)?(a(),l("div",{key:0,class:B(_.value)},[i(s)?(a(),l("button",{key:0,class:"menu","aria-expanded":y.open,"aria-controls":"VPSidebarNav",onClick:L[0]||(L[0]=N=>y.$emit("open-menu"))},[h(go,{class:"menu-icon"}),u("span",bo,S(i(e).sidebarMenuLabel||"Menu"),1)],8,yo)):f("",!0),h(lo,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const $o=m(ko,[["__scopeId","data-v-693d654a"]]);function Po(){const n=V(!1);function e(){n.value=!0,window.addEventListener("resize",o)}function t(){n.value=!1,window.removeEventListener("resize",o)}function s(){n.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=te();return K(()=>r.path,t),{isScreenOpen:n,openScreen:e,closeScreen:t,toggleScreen:s}}const Vo={},wo={class:"VPSwitch",type:"button",role:"switch"},So={class:"check"},Lo={key:0,class:"icon"};function Mo(n,e){return a(),l("button",wo,[u("span",So,[n.$slots.default?(a(),l("span",Lo,[c(n.$slots,"default",{},void 0,!0)])):f("",!0)])])}const Co=m(Vo,[["render",Mo],["__scopeId","data-v-92d8f6fb"]]),Io={},To={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Bo=_t('',9),No=[Bo];function Ao(n,e){return a(),l("svg",To,No)}const xo=m(Io,[["render",Ao]]),Ho={},Eo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Do=u("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),zo=[Do];function Fo(n,e){return a(),l("svg",Eo,zo)}const Oo=m(Ho,[["render",Fo]]),Go=g({__name:"VPSwitchAppearance",setup(n){const{site:e,isDark:t}=P(),s=V(!1),o=Oe?r():()=>{};F(()=>{s.value=document.documentElement.classList.contains("dark")});function r(){const d=window.matchMedia("(prefers-color-scheme: dark)"),p=document.documentElement.classList;let _=localStorage.getItem(Ae),y=e.value.appearance==="dark"&&_==null||(_==="auto"||_==null?d.matches:_==="dark");d.onchange=I=>{_==="auto"&&N(y=I.matches)};function L(){N(y=!y),_=y?d.matches?"auto":"dark":d.matches?"light":"auto",localStorage.setItem(Ae,_)}function N(I){const w=document.createElement("style");w.type="text/css",w.appendChild(document.createTextNode(`:not(.VPSwitchAppearance):not(.VPSwitchAppearance *) { - -webkit-transition: none !important; - -moz-transition: none !important; - -o-transition: none !important; - -ms-transition: none !important; - transition: none !important; -}`)),document.head.appendChild(w),s.value=I,p[I?"add":"remove"]("dark"),window.getComputedStyle(w).opacity,document.head.removeChild(w)}return L}return K(s,d=>{t.value=d}),(d,p)=>(a(),b(Co,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":s.value,onClick:i(o)},{default:v(()=>[h(xo,{class:"sun"}),h(Oo,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const we=m(Go,[["__scopeId","data-v-a99ed743"]]),Ro={key:0,class:"VPNavBarAppearance"},Uo=g({__name:"VPNavBarAppearance",setup(n){const{site:e}=P();return(t,s)=>i(e).appearance?(a(),l("div",Ro,[h(we)])):f("",!0)}});const jo=m(Uo,[["__scopeId","data-v-5e9f0637"]]),Se=V();let Ke=!1,de=0;function qo(n){const e=V(!1);if(Oe){!Ke&&Ko(),de++;const t=K(Se,s=>{var o,r,d;s===n.el.value||(o=n.el.value)!=null&&o.contains(s)?(e.value=!0,(r=n.onFocus)==null||r.call(n)):(e.value=!1,(d=n.onBlur)==null||d.call(n))});le(()=>{t(),de--,de||Wo()})}return De(e)}function Ko(){document.addEventListener("focusin",We),Ke=!0,Se.value=document.activeElement}function Wo(){document.removeEventListener("focusin",We)}function We(){Se.value=document.activeElement}const Yo={},Xo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Qo=u("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Jo=[Qo];function Zo(n,e){return a(),l("svg",Xo,Jo)}const Ye=m(Yo,[["render",Zo]]),ea={},ta={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},na=u("circle",{cx:"12",cy:"12",r:"2"},null,-1),sa=u("circle",{cx:"19",cy:"12",r:"2"},null,-1),oa=u("circle",{cx:"5",cy:"12",r:"2"},null,-1),aa=[na,sa,oa];function ra(n,e){return a(),l("svg",ta,aa)}const ia=m(ea,[["render",ra]]),la={class:"VPMenuLink"},ca=g({__name:"VPMenuLink",props:{item:{}},setup(n){const{page:e}=P();return(t,s)=>(a(),l("div",la,[h(G,{class:B({active:i(W)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:v(()=>[x(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ue=m(ca,[["__scopeId","data-v-2a4d50e5"]]),ua={class:"VPMenuGroup"},da={key:0,class:"title"},_a=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),l("div",ua,[e.text?(a(),l("p",da,S(e.text),1)):f("",!0),(a(!0),l(C,null,H(e.items,s=>(a(),l(C,null,["link"in s?(a(),b(ue,{key:0,item:s},null,8,["item"])):f("",!0)],64))),256))]))}});const va=m(_a,[["__scopeId","data-v-a6b0397c"]]),pa={class:"VPMenu"},ha={key:0,class:"items"},fa=g({__name:"VPMenu",props:{items:{}},setup(n){return(e,t)=>(a(),l("div",pa,[e.items?(a(),l("div",ha,[(a(!0),l(C,null,H(e.items,s=>(a(),l(C,{key:s.text},["link"in s?(a(),b(ue,{key:0,item:s},null,8,["item"])):(a(),b(va,{key:1,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):f("",!0),c(e.$slots,"default",{},void 0,!0)]))}});const ma=m(fa,[["__scopeId","data-v-e42ed9b3"]]),ga=["aria-expanded","aria-label"],ya={key:0,class:"text"},ba={class:"menu"},ka=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(n){const e=V(!1),t=V();qo({el:t,onBlur:s});function s(){e.value=!1}return(o,r)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[u("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",ya,[o.icon?(a(),b(j(o.icon),{key:0,class:"option-icon"})):f("",!0),x(" "+S(o.button)+" ",1),h(Ye,{class:"text-icon"})])):(a(),b(ia,{key:1,class:"icon"}))],8,ga),u("div",ba,[h(ma,{items:o.items},{default:v(()=>[c(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const Le=m(ka,[["__scopeId","data-v-6afe904b"]]),$a={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',youtube:'YouTube'},Pa=["href","aria-label","innerHTML"],Va=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(n){const e=n,t=k(()=>typeof e.icon=="object"?e.icon.svg:$a[e.icon]);return(s,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Pa))}});const wa=m(Va,[["__scopeId","data-v-16cf740a"]]),Sa={class:"VPSocialLinks"},La=g({__name:"VPSocialLinks",props:{links:{}},setup(n){return(e,t)=>(a(),l("div",Sa,[(a(!0),l(C,null,H(e.links,({link:s,icon:o,ariaLabel:r})=>(a(),b(wa,{key:s,icon:o,link:s,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const Me=m(La,[["__scopeId","data-v-e71e869c"]]),Ma={key:0,class:"group translations"},Ca={class:"trans-title"},Ia={key:1,class:"group"},Ta={class:"item appearance"},Ba={class:"label"},Na={class:"appearance-action"},Aa={key:2,class:"group"},xa={class:"item social-links"},Ha=g({__name:"VPNavBarExtra",setup(n){const{site:e,theme:t}=P(),{localeLinks:s,currentLang:o}=ne({correspondingLink:!0}),r=k(()=>s.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),b(Le,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[i(s).length&&i(o).label?(a(),l("div",Ma,[u("p",Ca,S(i(o).label),1),(a(!0),l(C,null,H(i(s),_=>(a(),b(ue,{key:_.link,item:_},null,8,["item"]))),128))])):f("",!0),i(e).appearance?(a(),l("div",Ia,[u("div",Ta,[u("p",Ba,S(i(t).darkModeSwitchLabel||"Appearance"),1),u("div",Na,[h(we)])])])):f("",!0),i(t).socialLinks?(a(),l("div",Aa,[u("div",xa,[h(Me,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const Ea=m(Ha,[["__scopeId","data-v-c8c2ae4b"]]),Da=n=>(D("data-v-6bee1efd"),n=n(),z(),n),za=["aria-expanded"],Fa=Da(()=>u("span",{class:"container"},[u("span",{class:"top"}),u("span",{class:"middle"}),u("span",{class:"bottom"})],-1)),Oa=[Fa],Ga=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(n){return(e,t)=>(a(),l("button",{type:"button",class:B(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Oa,10,za))}});const Ra=m(Ga,[["__scopeId","data-v-6bee1efd"]]),Ua=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(n){const{page:e}=P();return(t,s)=>(a(),b(G,{class:B({VPNavBarMenuLink:!0,active:i(W)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:v(()=>[x(S(t.item.text),1)]),_:1},8,["class","href","target","rel"]))}});const ja=m(Ua,[["__scopeId","data-v-7f10a92a"]]),qa=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(n){const{page:e}=P();return(t,s)=>(a(),b(Le,{class:B({VPNavBarMenuGroup:!0,active:i(W)(i(e).relativePath,t.item.activeMatch,!!t.item.activeMatch)}),button:t.item.text,items:t.item.items},null,8,["class","button","items"]))}}),Ka=n=>(D("data-v-f732b5d0"),n=n(),z(),n),Wa={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Ya=Ka(()=>u("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Xa=g({__name:"VPNavBarMenu",setup(n){const{theme:e}=P();return(t,s)=>i(e).nav?(a(),l("nav",Wa,[Ya,(a(!0),l(C,null,H(i(e).nav,o=>(a(),l(C,{key:o.text},["link"in o?(a(),b(ja,{key:0,item:o},null,8,["item"])):(a(),b(qa,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Qa=m(Xa,[["__scopeId","data-v-f732b5d0"]]);const Ja={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Za={class:"DocSearch-Button-Container"},er=u("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[u("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),tr={class:"DocSearch-Button-Placeholder"},nr=u("span",{class:"DocSearch-Button-Keys"},[u("kbd",{class:"DocSearch-Button-Key"}),u("kbd",{class:"DocSearch-Button-Key"},"K")],-1),He=g({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(n){return(e,t)=>(a(),l("button",Ja,[u("span",Za,[er,u("span",tr,S(e.placeholder),1)]),nr]))}});const sr={id:"local-search"},or={key:1,id:"docsearch"},ar=g({__name:"VPNavBarSearch",setup(n){const e=()=>null,t=vt(()=>pt(()=>import("./VPAlgoliaSearchBox.456e474e.js"),["assets/chunks/VPAlgoliaSearchBox.456e474e.js","assets/chunks/framework.1eef7d9b.js"])),{theme:s,localeIndex:o}=P(),r=V(!1),d=V(!1),p=k(()=>{var $,T,E,Y,Te,Be,Ne;const M=(($=s.value.search)==null?void 0:$.options)??s.value.algolia;return((Te=(Y=(E=(T=M==null?void 0:M.locales)==null?void 0:T[o.value])==null?void 0:E.translations)==null?void 0:Y.button)==null?void 0:Te.buttonText)||((Ne=(Be=M==null?void 0:M.translations)==null?void 0:Be.button)==null?void 0:Ne.buttonText)||"Search"}),_=()=>{const M="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var E;const T=document.createElement("link");T.id=M,T.rel="preconnect",T.href=`https://${(((E=s.value.search)==null?void 0:E.options)??s.value.algolia).appId}-dsn.algolia.net`,T.crossOrigin="",document.head.appendChild(T)})};F(()=>{_();const M=T=>{(T.key.toLowerCase()==="k"&&(T.metaKey||T.ctrlKey)||!N(T)&&T.key==="/")&&(T.preventDefault(),y(),$())},$=()=>{window.removeEventListener("keydown",M)};window.addEventListener("keydown",M),le($)});function y(){r.value||(r.value=!0,setTimeout(L,16))}function L(){const M=new Event("keydown");M.key="k",M.metaKey=!0,window.dispatchEvent(M),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||L()},16)}function N(M){const $=M.target,T=$.tagName;return $.isContentEditable||T==="INPUT"||T==="SELECT"||T==="TEXTAREA"}const I=V(!1),w=V("'Meta'");F(()=>{w.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const A="algolia";return(M,$)=>{var T;return a(),l("div",{class:"VPNavBarSearch",style:Fe({"--vp-meta-key":w.value})},[i(A)==="local"?(a(),l(C,{key:0},[I.value?(a(),b(i(e),{key:0,placeholder:p.value,onClose:$[0]||($[0]=E=>I.value=!1)},null,8,["placeholder"])):f("",!0),u("div",sr,[h(He,{placeholder:p.value,onClick:$[1]||($[1]=E=>I.value=!0)},null,8,["placeholder"])])],64)):i(A)==="algolia"?(a(),l(C,{key:1},[r.value?(a(),b(i(t),{key:0,algolia:((T=i(s).search)==null?void 0:T.options)??i(s).algolia,onVnodeBeforeMount:$[2]||($[2]=E=>d.value=!0)},null,8,["algolia"])):f("",!0),d.value?f("",!0):(a(),l("div",or,[h(He,{placeholder:p.value,onClick:y},null,8,["placeholder"])]))],64)):f("",!0)],4)}}});const rr=g({__name:"VPNavBarSocialLinks",setup(n){const{theme:e}=P();return(t,s)=>i(e).socialLinks?(a(),b(Me,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}});const ir=m(rr,[["__scopeId","data-v-ef6192dc"]]),lr=["href"],cr=g({__name:"VPNavBarTitle",setup(n){const{site:e,theme:t}=P(),{hasSidebar:s}=O(),{currentLang:o}=ne();return(r,d)=>(a(),l("div",{class:B(["VPNavBarTitle",{"has-sidebar":i(s)}])},[u("a",{class:"title",href:i(ee)(i(o).link)},[c(r.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),b(Ve,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):f("",!0),i(t).siteTitle?(a(),l(C,{key:1},[x(S(i(t).siteTitle),1)],64)):i(t).siteTitle===void 0?(a(),l(C,{key:2},[x(S(i(e).title),1)],64)):f("",!0),c(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,lr)],2))}});const ur=m(cr,[["__scopeId","data-v-6d57964e"]]),dr={},_r={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vr=u("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),pr=u("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),hr=[vr,pr];function fr(n,e){return a(),l("svg",_r,hr)}const Xe=m(dr,[["render",fr]]),mr={class:"items"},gr={class:"title"},yr=g({__name:"VPNavBarTranslations",setup(n){const{theme:e}=P(),{localeLinks:t,currentLang:s}=ne({correspondingLink:!0});return(o,r)=>i(t).length&&i(s).label?(a(),b(Le,{key:0,class:"VPNavBarTranslations",icon:Xe,label:i(e).langMenuLabel||"Change language"},{default:v(()=>[u("div",mr,[u("p",gr,S(i(s).label),1),(a(!0),l(C,null,H(i(t),d=>(a(),b(ue,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const br=m(yr,[["__scopeId","data-v-ff4524ae"]]),kr=n=>(D("data-v-4077a65e"),n=n(),z(),n),$r={class:"container"},Pr={class:"title"},Vr={class:"content"},wr=kr(()=>u("div",{class:"curtain"},null,-1)),Sr={class:"content-body"},Lr=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(n){const{y:e}=je(),{hasSidebar:t}=O(),s=k(()=>({"has-sidebar":t.value,fill:e.value>0}));return(o,r)=>(a(),l("div",{class:B(["VPNavBar",s.value])},[u("div",$r,[u("div",Pr,[h(ur,null,{"nav-bar-title-before":v(()=>[c(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(o.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),u("div",Vr,[wr,u("div",Sr,[c(o.$slots,"nav-bar-content-before",{},void 0,!0),h(ar,{class:"search"}),h(Qa,{class:"menu"}),h(br,{class:"translations"}),h(jo,{class:"appearance"}),h(ir,{class:"social-links"}),h(Ea,{class:"extra"}),c(o.$slots,"nav-bar-content-after",{},void 0,!0),h(Ra,{class:"hamburger",active:o.isScreenOpen,onClick:r[0]||(r[0]=d=>o.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const Mr=m(Lr,[["__scopeId","data-v-4077a65e"]]);function Cr(n){if(Array.isArray(n)){for(var e=0,t=Array(n.length);e1),q=[],re=!1,Ie=-1,X=void 0,R=void 0,Q=void 0,Qe=function(e){return q.some(function(t){return!!(t.options.allowTouchMove&&t.options.allowTouchMove(e))})},ie=function(e){var t=e||window.event;return Qe(t.target)||t.touches.length>1?!0:(t.preventDefault&&t.preventDefault(),!1)},Ir=function(e){if(Q===void 0){var t=!!e&&e.reserveScrollBarGap===!0,s=window.innerWidth-document.documentElement.clientWidth;if(t&&s>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);Q=document.body.style.paddingRight,document.body.style.paddingRight=o+s+"px"}}X===void 0&&(X=document.body.style.overflow,document.body.style.overflow="hidden")},Tr=function(){Q!==void 0&&(document.body.style.paddingRight=Q,Q=void 0),X!==void 0&&(document.body.style.overflow=X,X=void 0)},Br=function(){return window.requestAnimationFrame(function(){if(R===void 0){R={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var e=window,t=e.scrollY,s=e.scrollX,o=e.innerHeight;document.body.style.position="fixed",document.body.style.top=-t,document.body.style.left=-s,setTimeout(function(){return window.requestAnimationFrame(function(){var r=o-window.innerHeight;r&&t>=o&&(document.body.style.top=-(t+r))})},300)}})},Nr=function(){if(R!==void 0){var e=-parseInt(document.body.style.top,10),t=-parseInt(document.body.style.left,10);document.body.style.position=R.position,document.body.style.top=R.top,document.body.style.left=R.left,window.scrollTo(t,e),R=void 0}},Ar=function(e){return e?e.scrollHeight-e.scrollTop<=e.clientHeight:!1},xr=function(e,t){var s=e.targetTouches[0].clientY-Ie;return Qe(e.target)?!1:t&&t.scrollTop===0&&s>0||Ar(t)&&s<0?ie(e):(e.stopPropagation(),!0)},Je=function(e,t){if(!e){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!q.some(function(o){return o.targetElement===e})){var s={targetElement:e,options:t||{}};q=[].concat(Cr(q),[s]),ae?Br():Ir(t),ae&&(e.ontouchstart=function(o){o.targetTouches.length===1&&(Ie=o.targetTouches[0].clientY)},e.ontouchmove=function(o){o.targetTouches.length===1&&xr(o,e)},re||(document.addEventListener("touchmove",ie,Ce?{passive:!1}:void 0),re=!0))}},Ze=function(){ae&&(q.forEach(function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null}),re&&(document.removeEventListener("touchmove",ie,Ce?{passive:!1}:void 0),re=!1),Ie=-1),ae?Nr():Tr(),q=[]};const Hr=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(n){const e=ge("close-screen");return(t,s)=>(a(),b(G,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:v(()=>[x(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Er=m(Hr,[["__scopeId","data-v-08b49756"]]),Dr={},zr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Fr=u("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),Or=[Fr];function Gr(n,e){return a(),l("svg",zr,Or)}const Rr=m(Dr,[["render",Gr]]),Ur=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(n){const e=ge("close-screen");return(t,s)=>(a(),b(G,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:v(()=>[x(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const et=m(Ur,[["__scopeId","data-v-97083fb3"]]),jr={class:"VPNavScreenMenuGroupSection"},qr={key:0,class:"title"},Kr=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(n){return(e,t)=>(a(),l("div",jr,[e.text?(a(),l("p",qr,S(e.text),1)):f("",!0),(a(!0),l(C,null,H(e.items,s=>(a(),b(et,{key:s.text,item:s},null,8,["item"]))),128))]))}});const Wr=m(Kr,[["__scopeId","data-v-f60dbfa7"]]),Yr=["aria-controls","aria-expanded"],Xr={class:"button-text"},Qr=["id"],Jr={key:1,class:"group"},Zr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(n){const e=n,t=V(!1),s=k(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),l("div",{class:B(["VPNavScreenMenuGroup",{open:t.value}])},[u("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:o},[u("span",Xr,S(r.text),1),h(Rr,{class:"button-icon"})],8,Yr),u("div",{id:s.value,class:"items"},[(a(!0),l(C,null,H(r.items,p=>(a(),l(C,{key:p.text},["link"in p?(a(),l("div",{key:p.text,class:"item"},[h(et,{item:p},null,8,["item"])])):(a(),l("div",Jr,[h(Wr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Qr)],2))}});const ei=m(Zr,[["__scopeId","data-v-10e00a88"]]),ti={key:0,class:"VPNavScreenMenu"},ni=g({__name:"VPNavScreenMenu",setup(n){const{theme:e}=P();return(t,s)=>i(e).nav?(a(),l("nav",ti,[(a(!0),l(C,null,H(i(e).nav,o=>(a(),l(C,{key:o.text},["link"in o?(a(),b(Er,{key:0,item:o},null,8,["item"])):(a(),b(ei,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),si={key:0,class:"VPNavScreenAppearance"},oi={class:"text"},ai=g({__name:"VPNavScreenAppearance",setup(n){const{site:e,theme:t}=P();return(s,o)=>i(e).appearance?(a(),l("div",si,[u("p",oi,S(i(t).darkModeSwitchLabel||"Appearance"),1),h(we)])):f("",!0)}});const ri=m(ai,[["__scopeId","data-v-0dc5cf49"]]),ii={class:"list"},li=g({__name:"VPNavScreenTranslations",setup(n){const{localeLinks:e,currentLang:t}=ne({correspondingLink:!0}),s=V(!1);function o(){s.value=!s.value}return(r,d)=>i(e).length&&i(t).label?(a(),l("div",{key:0,class:B(["VPNavScreenTranslations",{open:s.value}])},[u("button",{class:"title",onClick:o},[h(Xe,{class:"icon lang"}),x(" "+S(i(t).label)+" ",1),h(Ye,{class:"icon chevron"})]),u("ul",ii,[(a(!0),l(C,null,H(i(e),p=>(a(),l("li",{key:p.link,class:"item"},[h(G,{class:"link",href:p.link},{default:v(()=>[x(S(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const ci=m(li,[["__scopeId","data-v-41505286"]]),ui=g({__name:"VPNavScreenSocialLinks",setup(n){const{theme:e}=P();return(t,s)=>i(e).socialLinks?(a(),b(Me,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),di={class:"container"},_i=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(n){const e=V(null);function t(){Je(e.value,{reserveScrollBarGap:!0})}function s(){Ze()}return(o,r)=>(a(),b(he,{name:"fade",onEnter:t,onAfterLeave:s},{default:v(()=>[o.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[u("div",di,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),h(ni,{class:"menu"}),h(ci,{class:"translations"}),h(ri,{class:"appearance"}),h(ui,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const vi=m(_i,[["__scopeId","data-v-dc785598"]]),pi={class:"VPNav"},hi=g({__name:"VPNav",setup(n){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=Po();return oe("close-screen",t),(o,r)=>(a(),l("header",pi,[h(Mr,{"is-screen-open":i(e),onToggleScreen:i(s)},{"nav-bar-title-before":v(()=>[c(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(vi,{open:i(e)},{"nav-screen-content-before":v(()=>[c(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const fi=m(hi,[["__scopeId","data-v-5bdc5df3"]]),mi=n=>(D("data-v-66c2f55a"),n=n(),z(),n),gi=["role","tabindex"],yi=mi(()=>u("div",{class:"indicator"},null,-1)),bi=["onKeydown"],ki={key:1,class:"items"},$i=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(n){const e=n,{collapsed:t,collapsible:s,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:_}=jt(k(()=>e.item)),y=k(()=>p.value?"section":"div"),L=k(()=>o.value?"a":"div"),N=k(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),I=k(()=>o.value?void 0:"button"),w=k(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function A($){"key"in $&&$.key!=="Enter"||!e.item.link&&_()}function M(){e.item.link&&_()}return($,T)=>{const E=U("VPSidebarItem",!0);return a(),b(j(y.value),{class:B(["VPSidebarItem",w.value])},{default:v(()=>[$.item.text?(a(),l("div",se({key:0,class:"item",role:I.value},ft($.item.items?{click:A,keydown:A}:{},!0),{tabindex:$.item.items&&0}),[yi,$.item.link?(a(),b(G,{key:0,tag:L.value,class:"link",href:$.item.link},{default:v(()=>[(a(),b(j(N.value),{class:"text",innerHTML:$.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href"])):(a(),b(j(N.value),{key:1,class:"text",innerHTML:$.item.text},null,8,["innerHTML"])),$.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:M,onKeydown:ht(M,["enter"]),tabindex:"0"},[h(Pe,{class:"caret-icon"})],40,bi)):f("",!0)],16,gi)):f("",!0),$.item.items&&$.item.items.length?(a(),l("div",ki,[$.depth<5?(a(!0),l(C,{key:0},H($.item.items,Y=>(a(),b(E,{key:Y.text,item:Y,depth:$.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Pi=m($i,[["__scopeId","data-v-66c2f55a"]]),tt=n=>(D("data-v-b04a928c"),n=n(),z(),n),Vi=tt(()=>u("div",{class:"curtain"},null,-1)),wi={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Si=tt(()=>u("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Li=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(n){const e=n,{sidebarGroups:t,hasSidebar:s}=O();let o=V(null);function r(){Je(o.value,{reserveScrollBarGap:!0})}function d(){Ze()}return mt(async()=>{var p;e.open?(r(),(p=o.value)==null||p.focus()):d()}),(p,_)=>i(s)?(a(),l("aside",{key:0,class:B(["VPSidebar",{open:p.open}]),ref_key:"navEl",ref:o,onClick:_[0]||(_[0]=gt(()=>{},["stop"]))},[Vi,u("nav",wi,[Si,c(p.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(C,null,H(i(t),y=>(a(),l("div",{key:y.text,class:"group"},[h(Pi,{item:y,depth:0},null,8,["item"])]))),128)),c(p.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const Mi=m(Li,[["__scopeId","data-v-b04a928c"]]),Ci=g({__name:"VPSkipLink",setup(n){const e=te(),t=V();K(()=>e.path,()=>t.value.focus());function s({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),l(C,null,[u("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),u("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}});const Ii=m(Ci,[["__scopeId","data-v-9c8615dd"]]),Ti={key:0,class:"Layout"},Bi=g({__name:"Layout",setup(n){const{isOpen:e,open:t,close:s}=O(),o=te();K(()=>o.path,s),Ut(e,s),oe("close-sidebar",s),oe("is-sidebar-open",e);const{frontmatter:r}=P(),d=yt(),p=k(()=>!!d["home-hero-image"]);return oe("hero-image-slot-exists",p),(_,y)=>{const L=U("Content");return i(r).layout!==!1?(a(),l("div",Ti,[c(_.$slots,"layout-top",{},void 0,!0),h(Ii),h(Vt,{class:"backdrop",show:i(e),onClick:i(s)},null,8,["show","onClick"]),i(r).navbar!==!1?(a(),b(fi,{key:0},{"nav-bar-title-before":v(()=>[c(_.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[c(_.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[c(_.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[c(_.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[c(_.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[c(_.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3})):f("",!0),h($o,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),h(Mi,{open:i(e)},{"sidebar-nav-before":v(()=>[c(_.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[c(_.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(to,null,{"page-top":v(()=>[c(_.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[c(_.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[c(_.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[c(_.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":v(()=>[c(_.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":v(()=>[c(_.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[c(_.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[c(_.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[c(_.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[c(_.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[c(_.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[c(_.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[c(_.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[c(_.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[c(_.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[c(_.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[c(_.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[c(_.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[c(_.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[c(_.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(ro),c(_.$slots,"layout-bottom",{},void 0,!0)])):(a(),b(L,{key:1}))}}});const Ni=m(Bi,[["__scopeId","data-v-ffdc1df7"]]);const xi={Layout:Ni,enhanceApp:({app:n})=>{n.component("Badge",kt)}};export{xi as t,P as u}; diff --git a/docs/assets/chunks/theme.1c98771e.js b/docs/assets/chunks/theme.1c98771e.js new file mode 100644 index 00000000..aa95c6ca --- /dev/null +++ b/docs/assets/chunks/theme.1c98771e.js @@ -0,0 +1 @@ +import{d as g,o as a,c as i,r as u,n as M,a as H,t as w,_ as m,b,w as _,T as ie,e as f,u as Fe,i as Oe,f as ce,g as y,h as L,j as O,k as c,l,p as E,m as D,q as K,s as J,v as ae,x as R,y as ue,z as ee,A as Le,B as Ge,C as j,F as S,D as x,E as de,G as W,H as h,I as U,J as Se,K as te,L as Z,M as se,N as Me,O as Ue,P as Ce,Q as Re,R as je,S as Ke,U as qe,V as Ie,W as Ne,X as We,Y as Ye,Z as Je,$ as Xe}from"./framework.b637c96f.js";const Ze=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),i("span",{class:M(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[H(w(e.text),1)],!0)],2))}});const Qe=m(Ze,[["__scopeId","data-v-ea5b2908"]]),et={key:0,class:"VPBackdrop"},tt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),b(ie,{name:"fade"},{default:_(()=>[e.show?(a(),i("div",et)):f("",!0)]),_:1}))}});const st=m(tt,[["__scopeId","data-v-54a304ca"]]),P=Fe;function nt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function le(s){return/^\//.test(s)?s:`/${s}`}function Y(s){if(Oe(s))return s;const{site:e}=P(),{pathname:t,search:n,hash:o}=new URL(s,"http://a.com"),r=t.endsWith("/")||t.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${t.replace(/(\.md)?$/,e.value.cleanUrls?"":".html")}${n}${o}`);return ce(r)}function X({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:r}=P(),d=y(()=>{var v,k;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:((k=t.value.locales[n.value])==null?void 0:k.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:y(()=>Object.entries(t.value.locales).flatMap(([v,k])=>s&&d.value.label===k.label?[]:{text:k.label,link:ot(k.link||(v==="root"?"/":`/${v}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function ot(s,e,t,n){return e?s.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const at=s=>(E("data-v-b9c0c15a"),s=s(),D(),s),lt={class:"NotFound"},rt={class:"code"},it={class:"title"},ct=at(()=>c("div",{class:"divider"},null,-1)),ut={class:"quote"},dt={class:"action"},_t=["href","aria-label"],vt=g({__name:"NotFound",setup(s){const{site:e,theme:t}=P(),{localeLinks:n}=X({removeCurrent:!1}),o=L("/");return O(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((d=n.value.find(({link:p})=>p.startsWith(r)))==null?void 0:d.link)||n.value[0].link)}),(r,d)=>{var p,v,k,N,T;return a(),i("div",lt,[c("p",rt,w(((p=l(t).notFound)==null?void 0:p.code)??"404"),1),c("h1",it,w(((v=l(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),ct,c("blockquote",ut,w(((k=l(t).notFound)==null?void 0:k.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",dt,[c("a",{class:"link",href:l(ce)(o.value),"aria-label":((N=l(t).notFound)==null?void 0:N.linkLabel)??"go to home"},w(((T=l(t).notFound)==null?void 0:T.linkText)??"Take me home"),9,_t)])])}}});const pt=m(vt,[["__scopeId","data-v-b9c0c15a"]]);function Te(s,e){if(Array.isArray(s))return Q(s);if(s==null)return[];e=le(e);const t=Object.keys(s).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(le(o))),n=t?s[t]:[];return Array.isArray(n)?Q(n):Q(n.items,n.base)}function ht(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function ft(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function re(s,e){return Array.isArray(e)?e.some(t=>re(s,t)):K(s,e.link)?!0:e.items?re(s,e.items):!1}function Q(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Q(n.items,o)),n})}function F(){const{frontmatter:s,page:e,theme:t}=P(),n=ae("(min-width: 960px)"),o=L(!1),r=y(()=>{const V=t.value.sidebar,$=e.value.relativePath;return V?Te(V,$):[]}),d=L(r.value);R(r,(V,$)=>{JSON.stringify(V)!==JSON.stringify($)&&(d.value=r.value)});const p=y(()=>s.value.sidebar!==!1&&d.value.length>0&&s.value.layout!=="home"),v=y(()=>k?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),k=y(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),N=y(()=>p.value&&n.value),T=y(()=>p.value?ht(d.value):[]);function A(){o.value=!0}function I(){o.value=!1}function B(){o.value?I():A()}return{isOpen:o,sidebar:d,sidebarGroups:T,hasSidebar:p,hasAside:k,leftAside:v,isSidebarEnabled:N,open:A,close:I,toggle:B}}function mt(s,e){let t;ue(()=>{t=s.value?document.activeElement:void 0}),O(()=>{window.addEventListener("keyup",n)}),ee(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}const Be=L(J?location.hash:"");J&&window.addEventListener("hashchange",()=>{Be.value=location.hash});function gt(s){const{page:e}=P(),t=L(!1),n=y(()=>s.value.collapsed!=null),o=y(()=>!!s.value.link),r=L(!1),d=()=>{r.value=K(e.value.relativePath,s.value.link)};R([e,s,Be],d),O(d);const p=y(()=>r.value?!0:s.value.items?re(e.value.relativePath,s.value.items):!1),v=y(()=>!!(s.value.items&&s.value.items.length));ue(()=>{t.value=!!(n.value&&s.value.collapsed)}),Le(()=>{(r.value||p.value)&&(t.value=!1)});function k(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:p,hasChildren:v,toggle:k}}function bt(){const{hasSidebar:s}=F(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:y(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const $t=71;function _e(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function ve(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{title:kt(t),link:"#"+t.id,level:n}});return yt(e,s)}function kt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(d=>d.level>=n&&d.level<=o);const r=[];e:for(let d=0;d=0;v--){const k=s[v];if(k.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),Ge(()=>{d(location.hash)}),ee(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=[].slice.call(s.value.querySelectorAll(".outline-link")),v=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(I=>p.some(B=>B.hash===I.hash&&I.offsetParent!==null)),k=window.scrollY,N=window.innerHeight,T=document.body.offsetHeight,A=Math.abs(k+N-T)<1;if(v.length&&A){d(v[v.length-1].hash);return}for(let I=0;I{const o=j("VPDocOutlineItem",!0);return a(),i("ul",{class:M(t.root?"root":"nested")},[(a(!0),i(S,null,x(t.headers,({children:r,link:d,title:p})=>(a(),i("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:p},w(p),9,wt),r!=null&&r.length?(a(),b(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}});const pe=m(Lt,[["__scopeId","data-v-463da30f"]]),St=s=>(E("data-v-626d8d18"),s=s(),D(),s),Mt={class:"content"},Ct={class:"outline-title",role:"heading"},It={"aria-labelledby":"doc-outline-aria-label"},Nt=St(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),Tt=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),n=de([]);W(()=>{n.value=ve(e.value.outline??t.value.outline)});const o=L(),r=L();return Pt(o,r),(d,p)=>(a(),i("div",{class:M(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Mt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",Ct,w(l(_e)(l(t))),1),c("nav",It,[Nt,h(pe,{headers:n.value,root:!0},null,8,["headers"])])])],2))}});const Bt=m(Tt,[["__scopeId","data-v-626d8d18"]]),At={class:"VPDocAsideCarbonAds"},xt=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),i("div",At,[h(l(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Ht=s=>(E("data-v-cb998dce"),s=s(),D(),s),zt={class:"VPDocAside"},Et=Ht(()=>c("div",{class:"spacer"},null,-1)),Dt=g({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,n)=>(a(),i("div",zt,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),h(Bt),u(t.$slots,"aside-outline-after",{},void 0,!0),Et,u(t.$slots,"aside-ads-before",{},void 0,!0),l(e).carbonAds?(a(),b(xt,{key:0,"carbon-ads":l(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}});const Ft=m(Dt,[["__scopeId","data-v-cb998dce"]]);function Ot(){const{theme:s,page:e}=P();return y(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Gt(){const{page:s,theme:e,frontmatter:t}=P();return y(()=>{var v,k,N,T,A,I,B,V;const n=Te(e.value.sidebar,s.value.relativePath),o=ft(n),r=o.findIndex($=>K(s.value.relativePath,$.link)),d=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,p=((k=e.value.docFooter)==null?void 0:k.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((N=o[r-1])==null?void 0:N.docFooterText)??((T=o[r-1])==null?void 0:T.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((A=o[r-1])==null?void 0:A.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((I=o[r+1])==null?void 0:I.docFooterText)??((B=o[r+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((V=o[r+1])==null?void 0:V.link)}}})}const Ut={},Rt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},jt=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Kt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),qt=[jt,Kt];function Wt(s,e){return a(),i("svg",Rt,qt)}const Yt=m(Ut,[["render",Wt]]),G=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=y(()=>e.tag??(e.href?"a":"span")),n=y(()=>e.href&&Se.test(e.href));return(o,r)=>(a(),b(U(t.value),{class:M(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?l(Y)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:_(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Xt=["datetime"],Zt=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=y(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),r=y(()=>o.value.toISOString()),d=L("");return O(()=>{ue(()=>{var p;d.value=new Intl.DateTimeFormat(void 0,((p=e.value.lastUpdated)==null?void 0:p.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(o.value)})}),(p,v)=>{var k;return a(),i("p",Jt,[H(w(((k=l(e).lastUpdated)==null?void 0:k.text)||l(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:r.value},w(d.value),9,Xt)])}}});const Qt=m(Zt,[["__scopeId","data-v-6a7fda06"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},ns={key:1,class:"last-updated"},os={key:1,class:"prev-next"},as={class:"pager"},ls=["href"],rs=["innerHTML"],is=["innerHTML"],cs={class:"pager"},us=["href"],ds=["innerHTML"],_s=["innerHTML"],vs=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=P(),o=Ot(),r=Gt(),d=y(()=>e.value.editLink&&n.value.editLink!==!1),p=y(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=y(()=>d.value||p.value||r.value.prev||r.value.next);return(k,N)=>{var T,A,I,B,V,$;return v.value?(a(),i("footer",es,[u(k.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),i("div",ts,[d.value?(a(),i("div",ss,[h(G,{class:"edit-link-button",href:l(o).url,"no-icon":!0},{default:_(()=>[h(Yt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+w(l(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),i("div",ns,[h(Qt)])):f("",!0)])):f("",!0),(T=l(r).prev)!=null&&T.link||(A=l(r).next)!=null&&A.link?(a(),i("nav",os,[c("div",as,[(I=l(r).prev)!=null&&I.link?(a(),i("a",{key:0,class:"pager-link prev",href:l(Y)(l(r).prev.link)},[c("span",{class:"desc",innerHTML:((B=l(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,rs),c("span",{class:"title",innerHTML:l(r).prev.text},null,8,is)],8,ls)):f("",!0)]),c("div",cs,[(V=l(r).next)!=null&&V.link?(a(),i("a",{key:0,class:"pager-link next",href:l(Y)(l(r).next.link)},[c("span",{class:"desc",innerHTML:(($=l(e).docFooter)==null?void 0:$.next)||"Next page"},null,8,ds),c("span",{class:"title",innerHTML:l(r).next.text},null,8,_s)],8,us)):f("",!0)])])):f("",!0)])):f("",!0)}}});const ps=m(vs,[["__scopeId","data-v-a2d931e4"]]),hs={},fs={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ms=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),gs=[ms];function bs(s,e){return a(),i("svg",fs,gs)}const he=m(hs,[["render",bs]]),$s={key:0,class:"VPDocOutlineDropdown"},ks={key:0,class:"items"},ys=g({__name:"VPDocOutlineDropdown",setup(s){const{frontmatter:e,theme:t}=P(),n=L(!1);W(()=>{n.value=!1});const o=de([]);return W(()=>{o.value=ve(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),i("div",$s,[c("button",{onClick:d[0]||(d[0]=p=>n.value=!n.value),class:M({open:n.value})},[H(w(l(_e)(l(t)))+" ",1),h(he,{class:"icon"})],2),n.value?(a(),i("div",ks,[h(pe,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}});const Ps=m(ys,[["__scopeId","data-v-95bb0785"]]),Vs=s=>(E("data-v-a3c25e27"),s=s(),D(),s),ws={class:"container"},Ls=Vs(()=>c("div",{class:"aside-curtain"},null,-1)),Ss={class:"aside-container"},Ms={class:"aside-content"},Cs={class:"content"},Is={class:"content-container"},Ns={class:"main"},Ts=g({__name:"VPDoc",setup(s){const{theme:e}=P(),t=te(),{hasSidebar:n,hasAside:o,leftAside:r}=F(),d=y(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,v)=>{const k=j("Content");return a(),i("div",{class:M(["VPDoc",{"has-sidebar":l(n),"has-aside":l(o)}])},[u(p.$slots,"doc-top",{},void 0,!0),c("div",ws,[l(o)?(a(),i("div",{key:0,class:M(["aside",{"left-aside":l(r)}])},[Ls,c("div",Ss,[c("div",Ms,[h(Ft,null,{"aside-top":_(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":_(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":_(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",Cs,[c("div",Is,[u(p.$slots,"doc-before",{},void 0,!0),h(Ps),c("main",Ns,[h(k,{class:M(["vp-doc",[d.value,l(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),h(ps,null,{"doc-footer-before":_(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}});const Bs=m(Ts,[["__scopeId","data-v-a3c25e27"]]),As=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=y(()=>e.href&&Se.test(e.href)),n=y(()=>e.tag||e.href?"a":"button");return(o,r)=>(a(),b(U(n.value),{class:M(["VPButton",[o.size,o.theme]]),href:o.href?l(Y)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:_(()=>[H(w(o.text),1)]),_:1},8,["class","href","target","rel"]))}});const xs=m(As,[["__scopeId","data-v-1e76fe75"]]),Hs=["src","alt"],zs=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=j("VPImage",!0);return e.image?(a(),i(S,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),i("img",Z({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:l(ce)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Hs)):(a(),i(S,{key:1},[h(n,Z({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),h(n,Z({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}});const fe=m(zs,[["__scopeId","data-v-ab19afbb"]]),Es=s=>(E("data-v-5a3e9999"),s=s(),D(),s),Ds={class:"container"},Fs={class:"main"},Os={key:0,class:"name"},Gs=["innerHTML"],Us=["innerHTML"],Rs=["innerHTML"],js={key:0,class:"actions"},Ks={key:0,class:"image"},qs={class:"image-container"},Ws=Es(()=>c("div",{class:"image-bg"},null,-1)),Ys=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=se("hero-image-slot-exists");return(t,n)=>(a(),i("div",{class:M(["VPHero",{"has-image":t.image||l(e)}])},[c("div",Ds,[c("div",Fs,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),i("h1",Os,[c("span",{innerHTML:t.name,class:"clip"},null,8,Gs)])):f("",!0),t.text?(a(),i("p",{key:1,innerHTML:t.text,class:"text"},null,8,Us)):f("",!0),t.tagline?(a(),i("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Rs)):f("",!0)],!0),t.actions?(a(),i("div",js,[(a(!0),i(S,null,x(t.actions,o=>(a(),i("div",{key:o.link,class:"action"},[h(xs,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||l(e)?(a(),i("div",Ks,[c("div",qs,[Ws,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),b(fe,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}});const Js=m(Ys,[["__scopeId","data-v-5a3e9999"]]),Xs=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).hero?(a(),b(Js,{key:0,class:"VPHomeHero",name:l(e).hero.name,text:l(e).hero.text,tagline:l(e).hero.tagline,image:l(e).hero.image,actions:l(e).hero.actions},{"home-hero-info":_(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":_(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Zs={},Qs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},en=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),tn=[en];function sn(s,e){return a(),i("svg",Qs,tn)}const nn=m(Zs,[["render",sn]]),on={class:"box"},an=["innerHTML"],ln=["innerHTML"],rn=["innerHTML"],cn={key:3,class:"link-text"},un={class:"link-text-value"},dn=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{}},setup(s){return(e,t)=>(a(),b(G,{class:"VPFeature",href:e.link,rel:e.rel,"no-icon":!0,tag:e.link?"a":"div"},{default:_(()=>[c("article",on,[typeof e.icon=="object"?(a(),b(fe,{key:0,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),i("div",{key:1,class:"icon",innerHTML:e.icon},null,8,an)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,ln),e.details?(a(),i("p",{key:2,class:"details",innerHTML:e.details},null,8,rn)):f("",!0),e.linkText?(a(),i("div",cn,[c("p",un,[H(w(e.linkText)+" ",1),h(nn,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","tag"]))}});const _n=m(dn,[["__scopeId","data-v-6c0c85a1"]]),vn={key:0,class:"VPFeatures"},pn={class:"container"},hn={class:"items"},fn=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=y(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),i("div",vn,[c("div",pn,[c("div",hn,[(a(!0),i(S,null,x(n.features,r=>(a(),i("div",{key:r.title,class:M(["item",[t.value]])},[h(_n,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel},null,8,["icon","title","details","link","link-text","rel"])],2))),128))])])])):f("",!0)}});const mn=m(fn,[["__scopeId","data-v-7e232fde"]]),gn=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,n)=>l(e).features?(a(),b(mn,{key:0,class:"VPHomeFeatures",features:l(e).features},null,8,["features"])):f("",!0)}}),bn={class:"VPHome"},$n=g({__name:"VPHome",setup(s){return(e,t)=>{const n=j("Content");return a(),i("div",bn,[u(e.$slots,"home-hero-before",{},void 0,!0),h(Xs,null,{"home-hero-info":_(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),h(gn),u(e.$slots,"home-features-after",{},void 0,!0),h(n)])}}});const kn=m($n,[["__scopeId","data-v-20eabd3a"]]),yn={},Pn={class:"VPPage"};function Vn(s,e){const t=j("Content");return a(),i("div",Pn,[u(s.$slots,"page-top"),h(t),u(s.$slots,"page-bottom")])}const wn=m(yn,[["render",Vn]]),Ln=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,r)=>(a(),i("div",{class:M(["VPContent",{"has-sidebar":l(n),"is-home":l(t).layout==="home"}]),id:"VPContent"},[l(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[h(pt)],!0):l(t).layout==="page"?(a(),b(wn,{key:1},{"page-top":_(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":_(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):l(t).layout==="home"?(a(),b(kn,{key:2},{"home-hero-before":_(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":_(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":_(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":_(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":_(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):l(t).layout&&l(t).layout!=="doc"?(a(),b(U(l(t).layout),{key:3})):(a(),b(Bs,{key:4},{"doc-top":_(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":_(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":_(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":_(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":_(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":_(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":_(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":_(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}});const Sn=m(Ln,[["__scopeId","data-v-3cf691b6"]]),Mn={class:"container"},Cn=["innerHTML"],In=["innerHTML"],Nn=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F();return(o,r)=>l(e).footer&&l(t).footer!==!1?(a(),i("footer",{key:0,class:M(["VPFooter",{"has-sidebar":l(n)}])},[c("div",Mn,[l(e).footer.message?(a(),i("p",{key:0,class:"message",innerHTML:l(e).footer.message},null,8,Cn)):f("",!0),l(e).footer.copyright?(a(),i("p",{key:1,class:"copyright",innerHTML:l(e).footer.copyright},null,8,In)):f("",!0)])],2)):f("",!0)}});const Tn=m(Nn,[["__scopeId","data-v-e4279f1c"]]),Bn={class:"header"},An={class:"outline"},xn=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),n=L(!1),o=L(0),r=L();W(()=>{n.value=!1});function d(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p(k){k.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),Ue(()=>{n.value=!1}))}function v(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(k,N)=>(a(),i("div",{class:"VPLocalNavOutlineDropdown",style:Me({"--vp-vh":o.value+"px"})},[k.headers.length>0?(a(),i("button",{key:0,onClick:d,class:M({open:n.value})},[H(w(l(_e)(l(t)))+" ",1),h(he,{class:"icon"})],2)):(a(),i("button",{key:1,onClick:v},w(l(t).returnToTopLabel||"Return to top"),1)),h(ie,{name:"flyout"},{default:_(()=>[n.value?(a(),i("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[c("div",Bn,[c("a",{class:"top-link",href:"#",onClick:v},w(l(t).returnToTopLabel||"Return to top"),1)]),c("div",An,[h(pe,{headers:k.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}});const Hn=m(xn,[["__scopeId","data-v-24251f6f"]]),zn={},En={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Dn=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Fn=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),On=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),Gn=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Un=[Dn,Fn,On,Gn];function Rn(s,e){return a(),i("svg",En,Un)}const jn=m(zn,[["render",Rn]]),Kn=["aria-expanded"],qn={class:"menu-text"},Wn=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:n}=F(),{y:o}=Ce(),r=de([]),d=L(0);O(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),W(()=>{r.value=ve(t.value.outline??e.value.outline)});const p=y(()=>r.value.length===0&&!n.value),v=y(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return(k,N)=>l(t).layout!=="home"&&(!p.value||l(o)>=d.value)?(a(),i("div",{key:0,class:M(v.value)},[l(n)?(a(),i("button",{key:0,class:"menu","aria-expanded":k.open,"aria-controls":"VPSidebarNav",onClick:N[0]||(N[0]=T=>k.$emit("open-menu"))},[h(jn,{class:"menu-icon"}),c("span",qn,w(l(e).sidebarMenuLabel||"Menu"),1)],8,Kn)):f("",!0),h(Hn,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}});const Yn=m(Wn,[["__scopeId","data-v-9e669cc1"]]);function Jn(){const s=L(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=te();return R(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Xn={},Zn={class:"VPSwitch",type:"button",role:"switch"},Qn={class:"check"},eo={key:0,class:"icon"};function to(s,e){return a(),i("button",Zn,[c("span",Qn,[s.$slots.default?(a(),i("span",eo,[u(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const so=m(Xn,[["render",to],["__scopeId","data-v-1c29e291"]]),no={},oo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ao=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),lo=[ao];function ro(s,e){return a(),i("svg",oo,lo)}const io=m(no,[["render",ro]]),co={},uo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_o=Re('',9),vo=[_o];function po(s,e){return a(),i("svg",uo,vo)}const ho=m(co,[["render",po]]),fo=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e}=P(),t=se("toggle-appearance",()=>{e.value=!e.value});return(n,o)=>(a(),b(so,{title:"toggle dark mode",class:"VPSwitchAppearance","aria-checked":l(e),onClick:l(t)},{default:_(()=>[h(ho,{class:"sun"}),h(io,{class:"moon"})]),_:1},8,["aria-checked","onClick"]))}});const me=m(fo,[["__scopeId","data-v-3329432d"]]),mo={key:0,class:"VPNavBarAppearance"},go=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,n)=>l(e).appearance?(a(),i("div",mo,[h(me)])):f("",!0)}});const bo=m(go,[["__scopeId","data-v-5e9f0637"]]),ge=L();let Ae=!1,oe=0;function $o(s){const e=L(!1);if(J){!Ae&&ko(),oe++;const t=R(ge,n=>{var o,r,d;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(d=s.onBlur)==null||d.call(s))});ee(()=>{t(),oe--,oe||yo()})}return je(e)}function ko(){document.addEventListener("focusin",xe),Ae=!0,ge.value=document.activeElement}function yo(){document.removeEventListener("focusin",xe)}function xe(){ge.value=document.activeElement}const Po={},Vo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},wo=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Lo=[wo];function So(s,e){return a(),i("svg",Vo,Lo)}const He=m(Po,[["render",So]]),Mo={},Co={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Io=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),No=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),To=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),Bo=[Io,No,To];function Ao(s,e){return a(),i("svg",Co,Bo)}const xo=m(Mo,[["render",Ao]]),Ho={class:"VPMenuLink"},zo=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),i("div",Ho,[h(G,{class:M({active:l(K)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:_(()=>[H(w(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}});const ne=m(zo,[["__scopeId","data-v-f51f088d"]]),Eo={class:"VPMenuGroup"},Do={key:0,class:"title"},Fo=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",Eo,[e.text?(a(),i("p",Do,w(e.text),1)):f("",!0),(a(!0),i(S,null,x(e.items,n=>(a(),i(S,null,["link"in n?(a(),b(ne,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}});const Oo=m(Fo,[["__scopeId","data-v-a6b0397c"]]),Go={class:"VPMenu"},Uo={key:0,class:"items"},Ro=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),i("div",Go,[e.items?(a(),i("div",Uo,[(a(!0),i(S,null,x(e.items,n=>(a(),i(S,{key:n.text},["link"in n?(a(),b(ne,{key:0,item:n},null,8,["item"])):(a(),b(Oo,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}});const jo=m(Ro,[["__scopeId","data-v-e42ed9b3"]]),Ko=["aria-expanded","aria-label"],qo={key:0,class:"text"},Wo=["innerHTML"],Yo={class:"menu"},Jo=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=L(!1),t=L();$o({el:t,onBlur:n});function n(){e.value=!1}return(o,r)=>(a(),i("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),i("span",qo,[o.icon?(a(),b(U(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),i("span",{key:1,innerHTML:o.button},null,8,Wo)):f("",!0),h(He,{class:"text-icon"})])):(a(),b(xo,{key:1,class:"icon"}))],8,Ko),c("div",Yo,[h(jo,{items:o.items},{default:_(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}});const be=m(Jo,[["__scopeId","data-v-aa8de344"]]),Xo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Zo=["href","aria-label","innerHTML"],Qo=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=y(()=>typeof e.icon=="object"?e.icon.svg:Xo[e.icon]);return(n,o)=>(a(),i("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Zo))}});const ea=m(Qo,[["__scopeId","data-v-16cf740a"]]),ta={class:"VPSocialLinks"},sa=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),i("div",ta,[(a(!0),i(S,null,x(e.links,({link:n,icon:o,ariaLabel:r})=>(a(),b(ea,{key:n,icon:o,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}});const $e=m(sa,[["__scopeId","data-v-e71e869c"]]),na={key:0,class:"group translations"},oa={class:"trans-title"},aa={key:1,class:"group"},la={class:"item appearance"},ra={class:"label"},ia={class:"appearance-action"},ca={key:2,class:"group"},ua={class:"item social-links"},da=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:n,currentLang:o}=X({correspondingLink:!0}),r=y(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),b(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:_(()=>[l(n).length&&l(o).label?(a(),i("div",na,[c("p",oa,w(l(o).label),1),(a(!0),i(S,null,x(l(n),v=>(a(),b(ne,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),l(e).appearance?(a(),i("div",aa,[c("div",la,[c("p",ra,w(l(t).darkModeSwitchLabel||"Appearance"),1),c("div",ia,[h(me)])])])):f("",!0),l(t).socialLinks?(a(),i("div",ca,[c("div",ua,[h($e,{class:"social-links-list",links:l(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}});const _a=m(da,[["__scopeId","data-v-c8c2ae4b"]]),va=s=>(E("data-v-6bee1efd"),s=s(),D(),s),pa=["aria-expanded"],ha=va(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),fa=[ha],ma=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),i("button",{type:"button",class:M(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},fa,10,pa))}});const ga=m(ma,[["__scopeId","data-v-6bee1efd"]]),ba=["innerHTML"],$a=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),b(G,{class:M({VPNavBarMenuLink:!0,active:l(K)(l(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:_(()=>[c("span",{innerHTML:t.item.text},null,8,ba)]),_:1},8,["class","href","target","rel"]))}});const ka=m($a,[["__scopeId","data-v-cb318fec"]]),ya=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const{page:e}=P();return(t,n)=>(a(),b(be,{class:M({VPNavBarMenuGroup:!0,active:l(K)(l(e).relativePath,t.item.activeMatch,!!t.item.activeMatch)}),button:t.item.text,items:t.item.items},null,8,["class","button","items"]))}}),Pa=s=>(E("data-v-f732b5d0"),s=s(),D(),s),Va={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},wa=Pa(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),La=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",Va,[wa,(a(!0),i(S,null,x(l(e).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),b(ka,{key:0,item:o},null,8,["item"])):(a(),b(ya,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}});const Sa=m(La,[["__scopeId","data-v-f732b5d0"]]);const Ma={type:"button",class:"DocSearch DocSearch-Button","aria-label":"Search"},Ca={class:"DocSearch-Button-Container"},Ia=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Na={class:"DocSearch-Button-Placeholder"},Ta=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),we=g({__name:"VPNavBarSearchButton",props:{placeholder:{}},setup(s){return(e,t)=>(a(),i("button",Ma,[c("span",Ca,[Ia,c("span",Na,w(e.placeholder),1)]),Ta]))}});const Ba={id:"local-search"},Aa={key:1,id:"docsearch"},xa=g({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=Ke(()=>qe(()=>import("./VPAlgoliaSearchBox.c3e2c39d.js"),["assets/chunks/VPAlgoliaSearchBox.c3e2c39d.js","assets/chunks/framework.b637c96f.js"])),{theme:n,localeIndex:o}=P(),r=L(!1),d=L(!1),p=y(()=>{var $,C,z,q,ke,ye,Pe;const V=(($=n.value.search)==null?void 0:$.options)??n.value.algolia;return((ke=(q=(z=(C=V==null?void 0:V.locales)==null?void 0:C[o.value])==null?void 0:z.translations)==null?void 0:q.button)==null?void 0:ke.buttonText)||((Pe=(ye=V==null?void 0:V.translations)==null?void 0:ye.button)==null?void 0:Pe.buttonText)||"Search"}),v=()=>{const V="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var z;const C=document.createElement("link");C.id=V,C.rel="preconnect",C.href=`https://${(((z=n.value.search)==null?void 0:z.options)??n.value.algolia).appId}-dsn.algolia.net`,C.crossOrigin="",document.head.appendChild(C)})};O(()=>{v();const V=C=>{(C.key.toLowerCase()==="k"&&(C.metaKey||C.ctrlKey)||!T(C)&&C.key==="/")&&(C.preventDefault(),k(),$())},$=()=>{window.removeEventListener("keydown",V)};window.addEventListener("keydown",V),ee($)});function k(){r.value||(r.value=!0,setTimeout(N,16))}function N(){const V=new Event("keydown");V.key="k",V.metaKey=!0,window.dispatchEvent(V),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||N()},16)}function T(V){const $=V.target,C=$.tagName;return $.isContentEditable||C==="INPUT"||C==="SELECT"||C==="TEXTAREA"}const A=L(!1),I=L("'Meta'");O(()=>{I.value=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"'⌘'":"'Ctrl'"});const B="algolia";return(V,$)=>{var C;return a(),i("div",{class:"VPNavBarSearch",style:Me({"--vp-meta-key":I.value})},[l(B)==="local"?(a(),i(S,{key:0},[A.value?(a(),b(l(e),{key:0,placeholder:p.value,onClose:$[0]||($[0]=z=>A.value=!1)},null,8,["placeholder"])):f("",!0),c("div",Ba,[h(we,{placeholder:p.value,onClick:$[1]||($[1]=z=>A.value=!0)},null,8,["placeholder"])])],64)):l(B)==="algolia"?(a(),i(S,{key:1},[r.value?(a(),b(l(t),{key:0,algolia:((C=l(n).search)==null?void 0:C.options)??l(n).algolia,onVnodeBeforeMount:$[2]||($[2]=z=>d.value=!0)},null,8,["algolia"])):f("",!0),d.value?f("",!0):(a(),i("div",Aa,[h(we,{placeholder:p.value,onClick:k},null,8,["placeholder"])]))],64)):f("",!0)],4)}}});const Ha=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),b($e,{key:0,class:"VPNavBarSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}});const za=m(Ha,[["__scopeId","data-v-ef6192dc"]]),Ea=["href"],Da=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:n}=F(),{currentLang:o}=X();return(r,d)=>(a(),i("div",{class:M(["VPNavBarTitle",{"has-sidebar":l(n)}])},[c("a",{class:"title",href:l(t).logoLink??l(Y)(l(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),l(t).logo?(a(),b(fe,{key:0,class:"logo",image:l(t).logo},null,8,["image"])):f("",!0),l(t).siteTitle?(a(),i(S,{key:1},[H(w(l(t).siteTitle),1)],64)):l(t).siteTitle===void 0?(a(),i(S,{key:2},[H(w(l(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,Ea)],2))}});const Fa=m(Da,[["__scopeId","data-v-2973dbb4"]]),Oa={},Ga={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Ua=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),Ra=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),ja=[Ua,Ra];function Ka(s,e){return a(),i("svg",Ga,ja)}const ze=m(Oa,[["render",Ka]]),qa={class:"items"},Wa={class:"title"},Ya=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:n}=X({correspondingLink:!0});return(o,r)=>l(t).length&&l(n).label?(a(),b(be,{key:0,class:"VPNavBarTranslations",icon:ze,label:l(e).langMenuLabel||"Change language"},{default:_(()=>[c("div",qa,[c("p",Wa,w(l(n).label),1),(a(!0),i(S,null,x(l(t),d=>(a(),b(ne,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}});const Ja=m(Ya,[["__scopeId","data-v-ff4524ae"]]),Xa=s=>(E("data-v-f1abbc6e"),s=s(),D(),s),Za={class:"container"},Qa={class:"title"},el={class:"content"},tl=Xa(()=>c("div",{class:"curtain"},null,-1)),sl={class:"content-body"},nl=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Ce(),{hasSidebar:t}=F(),{frontmatter:n}=P(),o=L({});return Le(()=>{o.value={"has-sidebar":t.value,top:n.value.layout==="home"&&e.value===0}}),(r,d)=>(a(),i("div",{class:M(["VPNavBar",o.value])},[c("div",Za,[c("div",Qa,[h(Fa,null,{"nav-bar-title-before":_(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",el,[tl,c("div",sl,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),h(xa,{class:"search"}),h(Sa,{class:"menu"}),h(Ja,{class:"translations"}),h(bo,{class:"appearance"}),h(za,{class:"social-links"}),h(_a,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),h(ga,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=p=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}});const ol=m(nl,[["__scopeId","data-v-f1abbc6e"]]),al={key:0,class:"VPNavScreenAppearance"},ll={class:"text"},rl=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(n,o)=>l(e).appearance?(a(),i("div",al,[c("p",ll,w(l(t).darkModeSwitchLabel||"Appearance"),1),h(me)])):f("",!0)}});const il=m(rl,[["__scopeId","data-v-0dc5cf49"]]),cl=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),b(G,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:_(()=>[H(w(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const ul=m(cl,[["__scopeId","data-v-fe523e3d"]]),dl={},_l={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},vl=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),pl=[vl];function hl(s,e){return a(),i("svg",_l,pl)}const fl=m(dl,[["render",hl]]),ml=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=se("close-screen");return(t,n)=>(a(),b(G,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:l(e)},{default:_(()=>[H(w(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}});const Ee=m(ml,[["__scopeId","data-v-aea78dd1"]]),gl={class:"VPNavScreenMenuGroupSection"},bl={key:0,class:"title"},$l=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),i("div",gl,[e.text?(a(),i("p",bl,w(e.text),1)):f("",!0),(a(!0),i(S,null,x(e.items,n=>(a(),b(Ee,{key:n.text,item:n},null,8,["item"]))),128))]))}});const kl=m($l,[["__scopeId","data-v-f60dbfa7"]]),yl=["aria-controls","aria-expanded"],Pl={class:"button-text"},Vl=["id"],wl={key:1,class:"group"},Ll=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=L(!1),n=y(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),i("div",{class:M(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",Pl,w(r.text),1),h(fl,{class:"button-icon"})],8,yl),c("div",{id:n.value,class:"items"},[(a(!0),i(S,null,x(r.items,p=>(a(),i(S,{key:p.text},["link"in p?(a(),i("div",{key:p.text,class:"item"},[h(Ee,{item:p},null,8,["item"])])):(a(),i("div",wl,[h(kl,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Vl)],2))}});const Sl=m(Ll,[["__scopeId","data-v-c2c554ed"]]),Ml={key:0,class:"VPNavScreenMenu"},Cl=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,n)=>l(e).nav?(a(),i("nav",Ml,[(a(!0),i(S,null,x(l(e).nav,o=>(a(),i(S,{key:o.text},["link"in o?(a(),b(ul,{key:0,item:o},null,8,["item"])):(a(),b(Sl,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Il=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,n)=>l(e).socialLinks?(a(),b($e,{key:0,class:"VPNavScreenSocialLinks",links:l(e).socialLinks},null,8,["links"])):f("",!0)}}),Nl={class:"list"},Tl=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=X({correspondingLink:!0}),n=L(!1);function o(){n.value=!n.value}return(r,d)=>l(e).length&&l(t).label?(a(),i("div",{key:0,class:M(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[h(ze,{class:"icon lang"}),H(" "+w(l(t).label)+" ",1),h(He,{class:"icon chevron"})]),c("ul",Nl,[(a(!0),i(S,null,x(l(e),p=>(a(),i("li",{key:p.link,class:"item"},[h(G,{class:"link",href:p.link},{default:_(()=>[H(w(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}});const Bl=m(Tl,[["__scopeId","data-v-41505286"]]),Al={class:"container"},xl=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=L(null),t=Ie(J?document.body:null);return(n,o)=>(a(),b(ie,{name:"fade",onEnter:o[0]||(o[0]=r=>t.value=!0),onAfterLeave:o[1]||(o[1]=r=>t.value=!1)},{default:_(()=>[n.open?(a(),i("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",Al,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),h(Cl,{class:"menu"}),h(Bl,{class:"translations"}),h(il,{class:"appearance"}),h(Il,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}});const Hl=m(xl,[["__scopeId","data-v-57cce842"]]),zl={class:"VPNav"},El=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Jn();return Ne("close-screen",t),(o,r)=>(a(),i("header",zl,[h(ol,{"is-screen-open":l(e),onToggleScreen:l(n)},{"nav-bar-title-before":_(()=>[u(o.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(o.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":_(()=>[u(o.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":_(()=>[u(o.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),h(Hl,{open:l(e)},{"nav-screen-content-before":_(()=>[u(o.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":_(()=>[u(o.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])]))}});const Dl=m(El,[["__scopeId","data-v-5bdc5df3"]]),Fl=s=>(E("data-v-bd01e0d5"),s=s(),D(),s),Ol=["role","tabindex"],Gl=Fl(()=>c("div",{class:"indicator"},null,-1)),Ul=["onKeydown"],Rl={key:1,class:"items"},jl=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:v}=gt(y(()=>e.item)),k=y(()=>p.value?"section":"div"),N=y(()=>o.value?"a":"div"),T=y(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),A=y(()=>o.value?void 0:"button"),I=y(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function B($){"key"in $&&$.key!=="Enter"||!e.item.link&&v()}function V(){e.item.link&&v()}return($,C)=>{const z=j("VPSidebarItem",!0);return a(),b(U(k.value),{class:M(["VPSidebarItem",I.value])},{default:_(()=>[$.item.text?(a(),i("div",Z({key:0,class:"item",role:A.value},Ye($.item.items?{click:B,keydown:B}:{},!0),{tabindex:$.item.items&&0}),[Gl,$.item.link?(a(),b(G,{key:0,tag:N.value,class:"link",href:$.item.link,rel:$.item.rel,target:$.item.target},{default:_(()=>[(a(),b(U(T.value),{class:"text",innerHTML:$.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),b(U(T.value),{key:1,class:"text",innerHTML:$.item.text},null,8,["innerHTML"])),$.item.collapsed!=null?(a(),i("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:V,onKeydown:We(V,["enter"]),tabindex:"0"},[h(he,{class:"caret-icon"})],40,Ul)):f("",!0)],16,Ol)):f("",!0),$.item.items&&$.item.items.length?(a(),i("div",Rl,[$.depth<5?(a(!0),i(S,{key:0},x($.item.items,q=>(a(),b(z,{key:q.text,item:q,depth:$.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}});const Kl=m(jl,[["__scopeId","data-v-bd01e0d5"]]),De=s=>(E("data-v-ee2efba5"),s=s(),D(),s),ql=De(()=>c("div",{class:"curtain"},null,-1)),Wl={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Yl=De(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Jl=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const e=s,{sidebarGroups:t,hasSidebar:n}=F(),o=L(null),r=Ie(J?document.body:null);return R([e,o],()=>{var d;e.open?(r.value=!0,(d=o.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"}),(d,p)=>l(n)?(a(),i("aside",{key:0,class:M(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=Je(()=>{},["stop"]))},[ql,c("nav",Wl,[Yl,u(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),i(S,null,x(l(t),v=>(a(),i("div",{key:v.text,class:"group"},[h(Kl,{item:v,depth:0},null,8,["item"])]))),128)),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}});const Xl=m(Jl,[["__scopeId","data-v-ee2efba5"]]),Zl=g({__name:"VPSkipLink",setup(s){const e=te(),t=L();R(()=>e.path,()=>t.value.focus());function n({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),i(S,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}});const Ql=m(Zl,[["__scopeId","data-v-c8291ffa"]]),er=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=F(),o=te();R(()=>o.path,n),mt(e,n);const{frontmatter:r}=P(),d=Xe(),p=y(()=>!!d["home-hero-image"]);return Ne("hero-image-slot-exists",p),(v,k)=>{const N=j("Content");return l(r).layout!==!1?(a(),i("div",{key:0,class:M(["Layout",l(r).pageClass])},[u(v.$slots,"layout-top",{},void 0,!0),h(Ql),h(st,{class:"backdrop",show:l(e),onClick:l(n)},null,8,["show","onClick"]),l(r).navbar!==!1?(a(),b(Dl,{key:0},{"nav-bar-title-before":_(()=>[u(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":_(()=>[u(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":_(()=>[u(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":_(()=>[u(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":_(()=>[u(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":_(()=>[u(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3})):f("",!0),h(Yn,{open:l(e),onOpenMenu:l(t)},null,8,["open","onOpenMenu"]),h(Xl,{open:l(e)},{"sidebar-nav-before":_(()=>[u(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":_(()=>[u(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),h(Sn,null,{"page-top":_(()=>[u(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":_(()=>[u(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":_(()=>[u(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":_(()=>[u(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":_(()=>[u(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":_(()=>[u(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":_(()=>[u(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":_(()=>[u(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":_(()=>[u(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":_(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":_(()=>[u(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":_(()=>[u(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":_(()=>[u(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":_(()=>[u(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":_(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":_(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":_(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":_(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":_(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":_(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),h(Tn),u(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),b(N,{key:1}))}}});const tr=m(er,[["__scopeId","data-v-4064354f"]]);const nr={Layout:tr,enhanceApp:({app:s})=>{s.component("Badge",Qe)}};export{nr as t,P as u}; diff --git a/docs/assets/core.md.f6d4ea4c.js b/docs/assets/core.md.b893fea5.js similarity index 93% rename from docs/assets/core.md.f6d4ea4c.js rename to docs/assets/core.md.b893fea5.js index 787d026b..e904856d 100644 --- a/docs/assets/core.md.f6d4ea4c.js +++ b/docs/assets/core.md.b893fea5.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1666705294000}'),o={name:"core.md"},s=r('

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Namespaces

The Core namespace contains other namespaces:

Classes

',10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1666705294000}'),o={name:"core.md"},s=r('

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Namespaces

The Core namespace contains other namespaces:

Classes

',10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/docs/assets/core.md.f6d4ea4c.lean.js b/docs/assets/core.md.b893fea5.lean.js similarity index 66% rename from docs/assets/core.md.f6d4ea4c.lean.js rename to docs/assets/core.md.b893fea5.lean.js index 40dc2fb2..21dbb102 100644 --- a/docs/assets/core.md.f6d4ea4c.lean.js +++ b/docs/assets/core.md.b893fea5.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1666705294000}'),o={name:"core.md"},s=r("",10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1666705294000}'),o={name:"core.md"},s=r("",10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/docs/assets/core_converters.md.6208e554.js b/docs/assets/core_converters.md.d4088611.js similarity index 94% rename from docs/assets/core_converters.md.6208e554.js rename to docs/assets/core_converters.md.d4088611.js index f2ee4c95..9880d865 100644 --- a/docs/assets/core_converters.md.6208e554.js +++ b/docs/assets/core_converters.md.d4088611.js @@ -1 +1 @@ -import{_ as e,o as t,c as r,U as a}from"./chunks/framework.1eef7d9b.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1666629081000}'),o={name:"core/converters.md"},s=a('

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; +import{_ as e,o as t,c as r,Q as a}from"./chunks/framework.b637c96f.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1666629081000}'),o={name:"core/converters.md"},s=a('

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/core_converters.md.6208e554.lean.js b/docs/assets/core_converters.md.d4088611.lean.js similarity index 69% rename from docs/assets/core_converters.md.6208e554.lean.js rename to docs/assets/core_converters.md.d4088611.lean.js index fc8cecc0..571ffd8e 100644 --- a/docs/assets/core_converters.md.6208e554.lean.js +++ b/docs/assets/core_converters.md.d4088611.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as r,U as a}from"./chunks/framework.1eef7d9b.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1666629081000}'),o={name:"core/converters.md"},s=a("",7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; +import{_ as e,o as t,c as r,Q as a}from"./chunks/framework.b637c96f.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1666629081000}'),o={name:"core/converters.md"},s=a("",7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/core_converters_angle.md.3818ea53.js b/docs/assets/core_converters_angle.md.3818ea53.js deleted file mode 100644 index 7806adfc..00000000 --- a/docs/assets/core_converters_angle.md.3818ea53.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1666626451000}'),o={name:"core/converters/angle.md"},n=s(`

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double radians = Angle.DegreesToRadians(90);
-// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double deg = Angle.RadiansToDegrees(1.2);
-// deg = 68.7549354
`,21),r=[n];function l(d,i,c,p,h,g){return a(),t("div",null,r)}const m=e(o,[["render",l]]);export{b as __pageData,m as default}; diff --git a/docs/assets/core_converters_angle.md.3818ea53.lean.js b/docs/assets/core_converters_angle.md.3818ea53.lean.js deleted file mode 100644 index c307013a..00000000 --- a/docs/assets/core_converters_angle.md.3818ea53.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1666626451000}'),o={name:"core/converters/angle.md"},n=s("",21),r=[n];function l(d,i,c,p,h,g){return a(),t("div",null,r)}const m=e(o,[["render",l]]);export{b as __pageData,m as default}; diff --git a/docs/assets/core_converters_angle.md.8a16953e.js b/docs/assets/core_converters_angle.md.8a16953e.js new file mode 100644 index 00000000..f96d2601 --- /dev/null +++ b/docs/assets/core_converters_angle.md.8a16953e.js @@ -0,0 +1,13 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1666626451000}'),o={name:"core/converters/angle.md"},t=n(`

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double radians = Angle.DegreesToRadians(90);
+// radians = 1.5707963271535559
using PeyrSharp.Core.Converters;
+
+double radians = Angle.DegreesToRadians(90);
+// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354
`,21),l=[t];function r(p,c,d,i,h,y){return s(),e("div",null,l)}const u=a(o,[["render",r]]);export{E as __pageData,u as default}; diff --git a/docs/assets/core_converters_angle.md.8a16953e.lean.js b/docs/assets/core_converters_angle.md.8a16953e.lean.js new file mode 100644 index 00000000..41a03118 --- /dev/null +++ b/docs/assets/core_converters_angle.md.8a16953e.lean.js @@ -0,0 +1 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1666626451000}'),o={name:"core/converters/angle.md"},t=n("",21),l=[t];function r(p,c,d,i,h,y){return s(),e("div",null,l)}const u=a(o,[["render",r]]);export{E as __pageData,u as default}; diff --git a/docs/assets/core_converters_colors_hex.md.33132cc5.js b/docs/assets/core_converters_colors_hex.md.33132cc5.js new file mode 100644 index 00000000..01809957 --- /dev/null +++ b/docs/assets/core_converters_colors_hex.md.33132cc5.js @@ -0,0 +1,13 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1666628903000}'),n={name:"core/converters/colors/hex.md"},t=o(`

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new("#FF0A17");
using PeyrSharp.Core.Converters;
+
+HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+RGB rgb = new HEX("#FFFFFF").ToRgb();
using PeyrSharp.Core.Converters;
+
+RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

`,33),l=[t];function r(p,c,i,h,d,y){return a(),e("div",null,l)}const g=s(n,[["render",r]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_hex.md.33132cc5.lean.js b/docs/assets/core_converters_colors_hex.md.33132cc5.lean.js new file mode 100644 index 00000000..16c51a06 --- /dev/null +++ b/docs/assets/core_converters_colors_hex.md.33132cc5.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1666628903000}'),n={name:"core/converters/colors/hex.md"},t=o("",33),l=[t];function r(p,c,i,h,d,y){return a(),e("div",null,l)}const g=s(n,[["render",r]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_hex.md.a4ef033c.js b/docs/assets/core_converters_colors_hex.md.a4ef033c.js deleted file mode 100644 index 3538bb51..00000000 --- a/docs/assets/core_converters_colors_hex.md.a4ef033c.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as a,o as e,c as s,U as o}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1666628903000}'),t={name:"core/converters/colors/hex.md"},n=o(`

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

`,33),l=[n];function r(c,p,i,h,d,u){return e(),s("div",null,l)}const F=a(t,[["render",r]]);export{C as __pageData,F as default}; diff --git a/docs/assets/core_converters_colors_hex.md.a4ef033c.lean.js b/docs/assets/core_converters_colors_hex.md.a4ef033c.lean.js deleted file mode 100644 index 6d94b07d..00000000 --- a/docs/assets/core_converters_colors_hex.md.a4ef033c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,U as o}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1666628903000}'),t={name:"core/converters/colors/hex.md"},n=o("",33),l=[n];function r(c,p,i,h,d,u){return e(),s("div",null,l)}const F=a(t,[["render",r]]);export{C as __pageData,F as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.34af8b4a.js b/docs/assets/core_converters_colors_hsv.md.34af8b4a.js deleted file mode 100644 index d81bea2f..00000000 --- a/docs/assets/core_converters_colors_hsv.md.34af8b4a.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as a,o as e,c as t,U as o}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1666628914000}'),s={name:"core/converters/colors/hsv.md"},n=o(`

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

`,26),r=[n];function l(i,c,p,d,h,u){return e(),t("div",null,r)}const D=a(s,[["render",l]]);export{C as __pageData,D as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.34af8b4a.lean.js b/docs/assets/core_converters_colors_hsv.md.34af8b4a.lean.js deleted file mode 100644 index 86bd184c..00000000 --- a/docs/assets/core_converters_colors_hsv.md.34af8b4a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as t,U as o}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1666628914000}'),s={name:"core/converters/colors/hsv.md"},n=o("",26),r=[n];function l(i,c,p,d,h,u){return e(),t("div",null,r)}const D=a(s,[["render",l]]);export{C as __pageData,D as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.dbe36e17.js b/docs/assets/core_converters_colors_hsv.md.dbe36e17.js new file mode 100644 index 00000000..54769d0d --- /dev/null +++ b/docs/assets/core_converters_colors_hsv.md.dbe36e17.js @@ -0,0 +1,5 @@ +import{_ as a,o as e,c as t,Q as s}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1666628914000}'),o={name:"core/converters/colors/hsv.md"},n=s(`

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new(50, 75, 100);
using PeyrSharp.Core.Converters;
+
+HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

`,26),r=[n];function l(i,c,p,d,h,u){return e(),t("div",null,r)}const g=a(o,[["render",l]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.dbe36e17.lean.js b/docs/assets/core_converters_colors_hsv.md.dbe36e17.lean.js new file mode 100644 index 00000000..c8dde2d0 --- /dev/null +++ b/docs/assets/core_converters_colors_hsv.md.dbe36e17.lean.js @@ -0,0 +1 @@ +import{_ as a,o as e,c as t,Q as s}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1666628914000}'),o={name:"core/converters/colors/hsv.md"},n=s("",26),r=[n];function l(i,c,p,d,h,u){return e(),t("div",null,r)}const g=a(o,[["render",l]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.35de48d5.js b/docs/assets/core_converters_colors_rgb.md.35de48d5.js deleted file mode 100644 index 09194cc0..00000000 --- a/docs/assets/core_converters_colors_rgb.md.35de48d5.js +++ /dev/null @@ -1,10 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1666628921000}'),t={name:"core/converters/colors/rgb.md"},n=o(`

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
-using System.Drawing;
-
-RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
-
-RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

`,41),r=[n];function l(c,p,i,d,h,C){return s(),e("div",null,r)}const F=a(t,[["render",l]]);export{u as __pageData,F as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.35de48d5.lean.js b/docs/assets/core_converters_colors_rgb.md.35de48d5.lean.js deleted file mode 100644 index a6024279..00000000 --- a/docs/assets/core_converters_colors_rgb.md.35de48d5.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1666628921000}'),t={name:"core/converters/colors/rgb.md"},n=o("",41),r=[n];function l(c,p,i,d,h,C){return s(),e("div",null,r)}const F=a(t,[["render",l]]);export{u as __pageData,F as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.d296121e.js b/docs/assets/core_converters_colors_rgb.md.d296121e.js new file mode 100644 index 00000000..53358dea --- /dev/null +++ b/docs/assets/core_converters_colors_rgb.md.d296121e.js @@ -0,0 +1,19 @@ +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1666628921000}'),e={name:"core/converters/colors/rgb.md"},l=n(`

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
+using System.Drawing;
+
+RGB rgb = new(Color.FromArgb(255, 150, 120));
using PeyrSharp.Core.Converters;
+using System.Drawing;
+
+RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+
+RGB rgb = new(255, 150, 120);
using PeyrSharp.Core.Converters;
+
+RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new RGB(255, 0, 0).ToHex();
using PeyrSharp.Core.Converters;
+
+HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new RGB(255, 0, 0).ToHsv();
using PeyrSharp.Core.Converters;
+
+HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

`,41),t=[l];function r(p,c,i,d,y,h){return a(),o("div",null,t)}const g=s(e,[["render",r]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.d296121e.lean.js b/docs/assets/core_converters_colors_rgb.md.d296121e.lean.js new file mode 100644 index 00000000..00170b1a --- /dev/null +++ b/docs/assets/core_converters_colors_rgb.md.d296121e.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as o,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1666628921000}'),e={name:"core/converters/colors/rgb.md"},l=n("",41),t=[l];function r(p,c,i,d,y,h){return a(),o("div",null,t)}const g=s(e,[["render",r]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_converters_distances.md.0f400c09.js b/docs/assets/core_converters_distances.md.0f400c09.js new file mode 100644 index 00000000..978e474a --- /dev/null +++ b/docs/assets/core_converters_distances.md.0f400c09.js @@ -0,0 +1,25 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1666511609000}'),o={name:"core/converters/distances.md"},t=n(`

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double km = Distances.MilesToKm(10);
+// km = 16.09344
using PeyrSharp.Core.Converters;
+
+double km = Distances.MilesToKm(10);
+// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double miles = Distances.KmToMiles(5);
+// miles = 3.1068559611866697
using PeyrSharp.Core.Converters;
+
+double miles = Distances.KmToMiles(5);
+// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12
`,35),l=[t];function p(r,c,i,d,h,y){return a(),e("div",null,l)}const u=s(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/docs/assets/core_converters_distances.md.0f400c09.lean.js b/docs/assets/core_converters_distances.md.0f400c09.lean.js new file mode 100644 index 00000000..c866c759 --- /dev/null +++ b/docs/assets/core_converters_distances.md.0f400c09.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1666511609000}'),o={name:"core/converters/distances.md"},t=n("",35),l=[t];function p(r,c,i,d,h,y){return a(),e("div",null,l)}const u=s(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/docs/assets/core_converters_distances.md.a2fa2889.js b/docs/assets/core_converters_distances.md.a2fa2889.js deleted file mode 100644 index d81eda0b..00000000 --- a/docs/assets/core_converters_distances.md.a2fa2889.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1666511609000}'),o={name:"core/converters/distances.md"},n=s(`

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double km = Distances.MilesToKm(10);
-// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double miles = Distances.KmToMiles(5);
-// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double meters = Distances.FeetToMeters(12);
-// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double feet = Distances.MetersToFeet(3.657599994440448);
-// feet = 12
`,35),l=[n];function r(i,c,d,p,h,m){return a(),t("div",null,l)}const b=e(o,[["render",r]]);export{y as __pageData,b as default}; diff --git a/docs/assets/core_converters_distances.md.a2fa2889.lean.js b/docs/assets/core_converters_distances.md.a2fa2889.lean.js deleted file mode 100644 index 043f9c9f..00000000 --- a/docs/assets/core_converters_distances.md.a2fa2889.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1666511609000}'),o={name:"core/converters/distances.md"},n=s("",35),l=[n];function r(i,c,d,p,h,m){return a(),t("div",null,l)}const b=e(o,[["render",r]]);export{y as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.917d6be6.js b/docs/assets/core_converters_energies.md.917d6be6.js deleted file mode 100644 index c5d71b12..00000000 --- a/docs/assets/core_converters_energies.md.917d6be6.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as e,o as a,c as s,U as o}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1678016186000}'),t={name:"core/converters/energies.md"},n=o(`

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double calories = 100.0;
-double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double joules = 1000.0;
-double calories = Energies.JoulesToCalories(joules);
`,25),l=[n];function r(i,c,p,d,h,u){return a(),s("div",null,l)}const b=e(t,[["render",r]]);export{y as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.917d6be6.lean.js b/docs/assets/core_converters_energies.md.917d6be6.lean.js deleted file mode 100644 index 0890b79b..00000000 --- a/docs/assets/core_converters_energies.md.917d6be6.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as s,U as o}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1678016186000}'),t={name:"core/converters/energies.md"},n=o("",25),l=[n];function r(i,c,p,d,h,u){return a(),s("div",null,l)}const b=e(t,[["render",r]]);export{y as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.d8e42ef0.js b/docs/assets/core_converters_energies.md.d8e42ef0.js new file mode 100644 index 00000000..3bdcb985 --- /dev/null +++ b/docs/assets/core_converters_energies.md.d8e42ef0.js @@ -0,0 +1,13 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1678016186000}'),n={name:"core/converters/energies.md"},l=o(`

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double calories = 100.0;
+double joules = Energies.CaloriesToJoules(calories);
using PeyrSharp.Core.Converters;
+
+double calories = 100.0;
+double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);
`,25),t=[l];function r(p,c,i,d,h,y){return a(),e("div",null,t)}const b=s(n,[["render",r]]);export{E as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.d8e42ef0.lean.js b/docs/assets/core_converters_energies.md.d8e42ef0.lean.js new file mode 100644 index 00000000..12d50867 --- /dev/null +++ b/docs/assets/core_converters_energies.md.d8e42ef0.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1678016186000}'),n={name:"core/converters/energies.md"},l=o("",25),t=[l];function r(p,c,i,d,h,y){return a(),e("div",null,t)}const b=s(n,[["render",r]]);export{E as __pageData,b as default}; diff --git a/docs/assets/core_converters_masses.md.39e62d78.js b/docs/assets/core_converters_masses.md.39e62d78.js deleted file mode 100644 index 0d691788..00000000 --- a/docs/assets/core_converters_masses.md.39e62d78.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const g=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1666511609000}'),o={name:"core/converters/masses.md"},n=t(`

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kg = Masses.PoundsToKilograms(10);
-// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double pounds = Masses.KilogramsToPounds(25);
-// pounds = 55.115565499999995
`,21),r=[n];function l(d,i,c,p,h,u){return s(),e("div",null,r)}const b=a(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_masses.md.39e62d78.lean.js b/docs/assets/core_converters_masses.md.39e62d78.lean.js deleted file mode 100644 index 04c4e062..00000000 --- a/docs/assets/core_converters_masses.md.39e62d78.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const g=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1666511609000}'),o={name:"core/converters/masses.md"},n=t("",21),r=[n];function l(d,i,c,p,h,u){return s(),e("div",null,r)}const b=a(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_masses.md.f6cfd9f7.js b/docs/assets/core_converters_masses.md.f6cfd9f7.js new file mode 100644 index 00000000..c9e2e5b3 --- /dev/null +++ b/docs/assets/core_converters_masses.md.f6cfd9f7.js @@ -0,0 +1,13 @@ +import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1666511609000}'),n={name:"core/converters/masses.md"},t=e(`

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kg = Masses.PoundsToKilograms(10);
+// kg = 4.535923703803784
using PeyrSharp.Core.Converters;
+
+double kg = Masses.PoundsToKilograms(10);
+// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995
`,21),l=[t];function r(p,c,d,i,h,y){return a(),o("div",null,l)}const E=s(n,[["render",r]]);export{m as __pageData,E as default}; diff --git a/docs/assets/core_converters_masses.md.f6cfd9f7.lean.js b/docs/assets/core_converters_masses.md.f6cfd9f7.lean.js new file mode 100644 index 00000000..4da53a4c --- /dev/null +++ b/docs/assets/core_converters_masses.md.f6cfd9f7.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as o,Q as e}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1666511609000}'),n={name:"core/converters/masses.md"},t=e("",21),l=[t];function r(p,c,d,i,h,y){return a(),o("div",null,l)}const E=s(n,[["render",r]]);export{m as __pageData,E as default}; diff --git a/docs/assets/core_converters_speeds.md.a110c0de.js b/docs/assets/core_converters_speeds.md.a110c0de.js deleted file mode 100644 index 8620de69..00000000 --- a/docs/assets/core_converters_speeds.md.a110c0de.js +++ /dev/null @@ -1,39 +0,0 @@ -import{_ as e,o as s,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1683446294000}'),n={name:"core/converters/speeds.md"},t=o(`

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInKnots = 20.0;
-double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInKilometersPerHour = 40.0;
-double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInKnots = 20.0;
-double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInMilesPerHour = 60.0;
-double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInKilometersPerHour = 100.0;
-double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInMetersPerSecond = 10.0;
-double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
-Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInMilesPerHour = 60.0;
-double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double speedInKilometersPerHour = 50.0;
-double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kmPerHour = Speeds.MachToKilometersPerHour(1);
-// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double mph = Speeds.MachToMilesPerHour(0.8);
-// mph = 613.8153184
`,95),r=[t];function l(p,i,c,d,h,u){return s(),a("div",null,r)}const y=e(n,[["render",l]]);export{F as __pageData,y as default}; diff --git a/docs/assets/core_converters_speeds.md.a110c0de.lean.js b/docs/assets/core_converters_speeds.md.a110c0de.lean.js deleted file mode 100644 index 3b924ca4..00000000 --- a/docs/assets/core_converters_speeds.md.a110c0de.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as s,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1683446294000}'),n={name:"core/converters/speeds.md"},t=o("",95),r=[t];function l(p,i,c,d,h,u){return s(),a("div",null,r)}const y=e(n,[["render",l]]);export{F as __pageData,y as default}; diff --git a/docs/assets/core_converters_speeds.md.c887147e.js b/docs/assets/core_converters_speeds.md.c887147e.js new file mode 100644 index 00000000..f1f6aaf5 --- /dev/null +++ b/docs/assets/core_converters_speeds.md.c887147e.js @@ -0,0 +1,77 @@ +import{_ as s,o as e,c as a,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1683446294000}'),n={name:"core/converters/speeds.md"},l=o(`

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 40.0;
+double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 40.0;
+double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 100.0;
+double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 100.0;
+double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMetersPerSecond = 10.0;
+double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
+
+double speedInMetersPerSecond = 10.0;
+double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 50.0;
+double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 50.0;
+double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kmPerHour = Speeds.MachToKilometersPerHour(1);
+// kmPerHour = 1234.8
using PeyrSharp.Core.Converters;
+
+double kmPerHour = Speeds.MachToKilometersPerHour(1);
+// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double mph = Speeds.MachToMilesPerHour(0.8);
+// mph = 613.8153184
using PeyrSharp.Core.Converters;
+
+double mph = Speeds.MachToMilesPerHour(0.8);
+// mph = 613.8153184
`,95),p=[l];function r(t,c,i,d,y,E){return e(),a("div",null,p)}const m=s(n,[["render",r]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_speeds.md.c887147e.lean.js b/docs/assets/core_converters_speeds.md.c887147e.lean.js new file mode 100644 index 00000000..802257ab --- /dev/null +++ b/docs/assets/core_converters_speeds.md.c887147e.lean.js @@ -0,0 +1 @@ +import{_ as s,o as e,c as a,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1683446294000}'),n={name:"core/converters/speeds.md"},l=o("",95),p=[l];function r(t,c,i,d,y,E){return e(),a("div",null,p)}const m=s(n,[["render",r]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_storage.md.10e30c28.js b/docs/assets/core_converters_storage.md.10e30c28.js new file mode 100644 index 00000000..6854dc3d --- /dev/null +++ b/docs/assets/core_converters_storage.md.10e30c28.js @@ -0,0 +1,49 @@ +import{_ as s,o as a,c as e,Q as t}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1683446294000}'),o={name:"core/converters/storage.md"},n=t(`

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000
using PeyrSharp.Core.Converters;
+
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2
using PeyrSharp.Core.Converters;
+
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5
using PeyrSharp.Core.Converters;
+
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
+// gigabyte = 1
using PeyrSharp.Core.Converters;
+
+double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192
`,69),l=[n];function p(r,c,i,d,y,h){return a(),e("div",null,l)}const E=s(o,[["render",p]]);export{b as __pageData,E as default}; diff --git a/docs/assets/core_converters_storage.md.10e30c28.lean.js b/docs/assets/core_converters_storage.md.10e30c28.lean.js new file mode 100644 index 00000000..8d5ef56e --- /dev/null +++ b/docs/assets/core_converters_storage.md.10e30c28.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as t}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1683446294000}'),o={name:"core/converters/storage.md"},n=t("",69),l=[n];function p(r,c,i,d,y,h){return a(),e("div",null,l)}const E=s(o,[["render",p]]);export{b as __pageData,E as default}; diff --git a/docs/assets/core_converters_storage.md.2b813e83.js b/docs/assets/core_converters_storage.md.2b813e83.js deleted file mode 100644 index eb4f44f5..00000000 --- a/docs/assets/core_converters_storage.md.2b813e83.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as a,o as e,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1683446294000}'),o={name:"core/converters/storage.md"},n=s(`

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
-// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double bytes = Storage.BitsToBytes(64);
-// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double bits = Storage.BytesToBits(1024);
-// bits = 8192
`,69),l=[n];function r(i,c,p,d,h,u){return e(),t("div",null,l)}const g=a(o,[["render",r]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_converters_storage.md.2b813e83.lean.js b/docs/assets/core_converters_storage.md.2b813e83.lean.js deleted file mode 100644 index 065b32e5..00000000 --- a/docs/assets/core_converters_storage.md.2b813e83.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1683446294000}'),o={name:"core/converters/storage.md"},n=s("",69),l=[n];function r(i,c,p,d,h,u){return e(),t("div",null,l)}const g=a(o,[["render",r]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_converters_temperatures.md.86f399dd.js b/docs/assets/core_converters_temperatures.md.86f399dd.js deleted file mode 100644 index cbd41d4e..00000000 --- a/docs/assets/core_converters_temperatures.md.86f399dd.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1666511987000}'),o={name:"core/converters/temperatures.md"},r=s(`

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double f = Temperatures.CelsiusToFahrenheit(22);
-// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double c = Temperatures.FahrenheitToCelsius(75);
-// c = 23.88888888888889
`,21),n=[r];function l(i,c,h,d,p,u){return a(),t("div",null,n)}const b=e(o,[["render",l]]);export{C as __pageData,b as default}; diff --git a/docs/assets/core_converters_temperatures.md.86f399dd.lean.js b/docs/assets/core_converters_temperatures.md.86f399dd.lean.js deleted file mode 100644 index 6fb2c2e9..00000000 --- a/docs/assets/core_converters_temperatures.md.86f399dd.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1666511987000}'),o={name:"core/converters/temperatures.md"},r=s("",21),n=[r];function l(i,c,h,d,p,u){return a(),t("div",null,n)}const b=e(o,[["render",l]]);export{C as __pageData,b as default}; diff --git a/docs/assets/core_converters_temperatures.md.8a78c1a2.js b/docs/assets/core_converters_temperatures.md.8a78c1a2.js new file mode 100644 index 00000000..16859b4f --- /dev/null +++ b/docs/assets/core_converters_temperatures.md.8a78c1a2.js @@ -0,0 +1,13 @@ +import{_ as s,o as e,c as a,Q as t}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1666511987000}'),o={name:"core/converters/temperatures.md"},n=t(`

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double f = Temperatures.CelsiusToFahrenheit(22);
+// f = 71.6
using PeyrSharp.Core.Converters;
+
+double f = Temperatures.CelsiusToFahrenheit(22);
+// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889
`,21),l=[n];function r(p,c,i,d,h,u){return e(),a("div",null,l)}const m=s(o,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/core_converters_temperatures.md.8a78c1a2.lean.js b/docs/assets/core_converters_temperatures.md.8a78c1a2.lean.js new file mode 100644 index 00000000..6939463d --- /dev/null +++ b/docs/assets/core_converters_temperatures.md.8a78c1a2.lean.js @@ -0,0 +1 @@ +import{_ as s,o as e,c as a,Q as t}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1666511987000}'),o={name:"core/converters/temperatures.md"},n=t("",21),l=[n];function r(p,c,i,d,h,u){return e(),a("div",null,l)}const m=s(o,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/core_converters_time.md.2241ec46.js b/docs/assets/core_converters_time.md.2241ec46.js deleted file mode 100644 index c6ec7489..00000000 --- a/docs/assets/core_converters_time.md.2241ec46.js +++ /dev/null @@ -1,22 +0,0 @@ -import{_ as e,o as s,c as a,U as t}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1670145438000}'),n={name:"core/converters/time.md"},o=t(`

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
-
-double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
-// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
-
-double min = Time.ToMinutes(120, TimeUnits.Seconds);
-// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
-
-double hours = Time.ToHours(1, TimeUnits.Days);
-// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
-
-double days = Time.ToDays(72, TimeUnits.Hours);
-// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
-
-int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
-// unix = 1670144268
`,55),l=[o];function i(r,c,p,d,h,u){return s(),a("div",null,l)}const D=e(n,[["render",i]]);export{y as __pageData,D as default}; diff --git a/docs/assets/core_converters_time.md.2241ec46.lean.js b/docs/assets/core_converters_time.md.2241ec46.lean.js deleted file mode 100644 index 108d1445..00000000 --- a/docs/assets/core_converters_time.md.2241ec46.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as s,c as a,U as t}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1670145438000}'),n={name:"core/converters/time.md"},o=t("",55),l=[o];function i(r,c,p,d,h,u){return s(),a("div",null,l)}const D=e(n,[["render",i]]);export{y as __pageData,D as default}; diff --git a/docs/assets/core_converters_time.md.7e0c9e9e.js b/docs/assets/core_converters_time.md.7e0c9e9e.js new file mode 100644 index 00000000..f9944c13 --- /dev/null +++ b/docs/assets/core_converters_time.md.7e0c9e9e.js @@ -0,0 +1,43 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1670145438000}'),o={name:"core/converters/time.md"},t=e(`

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
+// seconds = 300
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
+// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double min = Time.ToMinutes(120, TimeUnits.Seconds);
+// min = 2
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double min = Time.ToMinutes(120, TimeUnits.Seconds);
+// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double hours = Time.ToHours(1, TimeUnits.Days);
+// hours = 24
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double hours = Time.ToHours(1, TimeUnits.Days);
+// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double days = Time.ToDays(72, TimeUnits.Hours);
+// days = 3
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double days = Time.ToDays(72, TimeUnits.Hours);
+// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48
using PeyrSharp.Core.Converters;
+
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+
+int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
+// unix = 1670144268
using PeyrSharp.Core.Converters;
+
+int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
+// unix = 1670144268
`,55),l=[t];function p(r,c,i,d,y,h){return a(),n("div",null,l)}const m=s(o,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_time.md.7e0c9e9e.lean.js b/docs/assets/core_converters_time.md.7e0c9e9e.lean.js new file mode 100644 index 00000000..a1ceb819 --- /dev/null +++ b/docs/assets/core_converters_time.md.7e0c9e9e.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1670145438000}'),o={name:"core/converters/time.md"},t=e("",55),l=[t];function p(r,c,i,d,y,h){return a(),n("div",null,l)}const m=s(o,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_volumes.md.385daf16.js b/docs/assets/core_converters_volumes.md.385daf16.js new file mode 100644 index 00000000..5ef720c0 --- /dev/null +++ b/docs/assets/core_converters_volumes.md.385daf16.js @@ -0,0 +1,13 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1666513063000}'),t={name:"core/converters/volumes.md"},n=o(`

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double litre = Volumes.M3ToLitre(10);
+// litre = 10000
using PeyrSharp.Core.Converters;
+
+double litre = Volumes.M3ToLitre(10);
+// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5
`,21),l=[n];function r(p,c,i,d,h,y){return a(),e("div",null,l)}const E=s(t,[["render",r]]);export{m as __pageData,E as default}; diff --git a/docs/assets/core_converters_volumes.md.385daf16.lean.js b/docs/assets/core_converters_volumes.md.385daf16.lean.js new file mode 100644 index 00000000..8b53baa8 --- /dev/null +++ b/docs/assets/core_converters_volumes.md.385daf16.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1666513063000}'),t={name:"core/converters/volumes.md"},n=o("",21),l=[n];function r(p,c,i,d,h,y){return a(),e("div",null,l)}const E=s(t,[["render",r]]);export{m as __pageData,E as default}; diff --git a/docs/assets/core_converters_volumes.md.891b8531.js b/docs/assets/core_converters_volumes.md.891b8531.js deleted file mode 100644 index ef21e727..00000000 --- a/docs/assets/core_converters_volumes.md.891b8531.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as e,o as t,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1666513063000}'),o={name:"core/converters/volumes.md"},n=s(`

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double litre = Volumes.M3ToLitre(10);
-// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double m3 = Volumes.LitreToM3(500);
-// m3 = 0.5
`,21),r=[n];function l(i,c,d,p,h,m){return t(),a("div",null,r)}const y=e(o,[["render",l]]);export{b as __pageData,y as default}; diff --git a/docs/assets/core_converters_volumes.md.891b8531.lean.js b/docs/assets/core_converters_volumes.md.891b8531.lean.js deleted file mode 100644 index 01c4a2c4..00000000 --- a/docs/assets/core_converters_volumes.md.891b8531.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const b=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1666513063000}'),o={name:"core/converters/volumes.md"},n=s("",21),r=[n];function l(i,c,d,p,h,m){return t(),a("div",null,r)}const y=e(o,[["render",l]]);export{b as __pageData,y as default}; diff --git a/docs/assets/core_crypt.md.55e86926.js b/docs/assets/core_crypt.md.55e86926.js new file mode 100644 index 00000000..e0263a1b --- /dev/null +++ b/docs/assets/core_crypt.md.55e86926.js @@ -0,0 +1,65 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1666705294000}'),t={name:"core/crypt.md"},o=e(`

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.EncryptAes(text, "password");
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.EncryptAes(text, "password");
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+string text = "Hello, world!";
+
+// Create the RSA key
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+
+// Encrypt using RSA
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+string text = "Hello, world!";
+
+// Create the RSA key
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+
+// Encrypt using RSA
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.Encrypt3Des(text, "password");
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.Encrypt3Des(text, "password");
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
+string text = Crypt.DecryptAes(encrypted, "password");
+// text = Hello!
using PeyrSharp.Core;
+
+string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
+string text = Crypt.DecryptAes(encrypted, "password");
+// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+
+string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
+// decrypted = Hello
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+
+string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
+// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "AvuLd4LUxRU=";
+string text = Crypt.Decrypt3Des(encrypted, "123");
+// text = Hello
using PeyrSharp.Core;
+
+string encrypted = "AvuLd4LUxRU=";
+string text = Crypt.Decrypt3Des(encrypted, "123");
+// text = Hello
`,49),p=[o];function l(r,c,y,i,d,E){return a(),n("div",null,p)}const g=s(t,[["render",l]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_crypt.md.55e86926.lean.js b/docs/assets/core_crypt.md.55e86926.lean.js new file mode 100644 index 00000000..f2cd41e9 --- /dev/null +++ b/docs/assets/core_crypt.md.55e86926.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1666705294000}'),t={name:"core/crypt.md"},o=e("",49),p=[o];function l(r,c,y,i,d,E){return a(),n("div",null,p)}const g=s(t,[["render",l]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_crypt.md.89a6c77c.js b/docs/assets/core_crypt.md.89a6c77c.js deleted file mode 100644 index fa684309..00000000 --- a/docs/assets/core_crypt.md.89a6c77c.js +++ /dev/null @@ -1,33 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1666705294000}'),n={name:"core/crypt.md"},o=t(`

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
-
-string text = "Hello, world!";
-string encrypted = Crypt.EncryptAes(text, "password");
-// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
-using System.Security.Cryptography;
-
-string text = "Hello, world!";
-
-// Create the RSA key
-RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
-
-// Encrypt using RSA
-string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
-
-string text = "Hello, world!";
-string encrypted = Crypt.Encrypt3Des(text, "password");
-// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
-
-string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
-string text = Crypt.DecryptAes(encrypted, "password");
-// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
-using System.Security.Cryptography;
-
-RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
-byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
-
-string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
-// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
-
-string encrypted = "AvuLd4LUxRU=";
-string text = Crypt.Decrypt3Des(encrypted, "123");
-// text = Hello
`,49),r=[o];function l(p,c,d,y,i,D){return a(),e("div",null,r)}const C=s(n,[["render",l]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_crypt.md.89a6c77c.lean.js b/docs/assets/core_crypt.md.89a6c77c.lean.js deleted file mode 100644 index de924ee1..00000000 --- a/docs/assets/core_crypt.md.89a6c77c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1666705294000}'),n={name:"core/crypt.md"},o=t("",49),r=[o];function l(p,c,d,y,i,D){return a(),e("div",null,r)}const C=s(n,[["render",l]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_guid-options.md.5c1af4b5.js b/docs/assets/core_guid-options.md.5c1af4b5.js new file mode 100644 index 00000000..5f2e4333 --- /dev/null +++ b/docs/assets/core_guid-options.md.5c1af4b5.js @@ -0,0 +1,37 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1665313649000}'),o={name:"core/guid-options.md"},p=n(`

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions();
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = false
+        - UpperCaseOnly = false
+*/
using PeyrSharp.Core;
+
+var options = new GuidOptions();
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = false
+        - UpperCaseOnly = false
+*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/

Properties

Length

Definition

c#
public int Length { get; set; }
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

`,41),t=[p];function l(i,c,r,d,h,y){return a(),e("div",null,t)}const b=s(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_guid-options.md.5c1af4b5.lean.js b/docs/assets/core_guid-options.md.5c1af4b5.lean.js new file mode 100644 index 00000000..f4f99b36 --- /dev/null +++ b/docs/assets/core_guid-options.md.5c1af4b5.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1665313649000}'),o={name:"core/guid-options.md"},p=n("",41),t=[p];function l(i,c,r,d,h,y){return a(),e("div",null,t)}const b=s(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_guid-options.md.c396b689.js b/docs/assets/core_guid-options.md.c396b689.js deleted file mode 100644 index 21594a63..00000000 --- a/docs/assets/core_guid-options.md.c396b689.js +++ /dev/null @@ -1,19 +0,0 @@ -import{_ as s,o as e,c as a,U as n}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1665313649000}'),t={name:"core/guid-options.md"},o=n(`

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
-
-var options = new GuidOptions();
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = false
-        - UpperCaseOnly = false
-*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
-
-var options = new GuidOptions(32, true, true, true);
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = true
-        - UpperCaseOnly = true
-*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

`,41),l=[o];function i(p,c,r,d,h,y){return e(),a("div",null,l)}const g=s(t,[["render",i]]);export{C as __pageData,g as default}; diff --git a/docs/assets/core_guid-options.md.c396b689.lean.js b/docs/assets/core_guid-options.md.c396b689.lean.js deleted file mode 100644 index 10370fd5..00000000 --- a/docs/assets/core_guid-options.md.c396b689.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as e,c as a,U as n}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1665313649000}'),t={name:"core/guid-options.md"},o=n("",41),l=[o];function i(p,c,r,d,h,y){return e(),a("div",null,l)}const g=s(t,[["render",i]]);export{C as __pageData,g as default}; diff --git a/docs/assets/core_guid.md.d249cd02.js b/docs/assets/core_guid.md.d249cd02.js deleted file mode 100644 index ad5d2dde..00000000 --- a/docs/assets/core_guid.md.d249cd02.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as a,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1665311928000}'),n={name:"core/guid.md"},o=t(`

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate();
-// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate(15);
-// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate("Hello");
-// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
-
-string guid = Guid.Generate(new GuidOptions(32, true, true, false));
-// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
`,43),l=[o];function r(i,c,d,p,h,u){return a(),s("div",null,l)}const y=e(n,[["render",r]]);export{m as __pageData,y as default}; diff --git a/docs/assets/core_guid.md.d249cd02.lean.js b/docs/assets/core_guid.md.d249cd02.lean.js deleted file mode 100644 index 4911bb9e..00000000 --- a/docs/assets/core_guid.md.d249cd02.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1665311928000}'),n={name:"core/guid.md"},o=t("",43),l=[o];function r(i,c,d,p,h,u){return a(),s("div",null,l)}const y=e(n,[["render",r]]);export{m as __pageData,y as default}; diff --git a/docs/assets/core_guid.md.d28b3014.js b/docs/assets/core_guid.md.d28b3014.js new file mode 100644 index 00000000..c959a3ea --- /dev/null +++ b/docs/assets/core_guid.md.d28b3014.js @@ -0,0 +1,25 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1665311928000}'),o={name:"core/guid.md"},t=n(`

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate(15);
+// guid = 5693ad99881e4f9 (example)
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate(15);
+// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
`,43),l=[t];function p(r,c,i,d,h,u){return s(),e("div",null,l)}const E=a(o,[["render",p]]);export{g as __pageData,E as default}; diff --git a/docs/assets/core_guid.md.d28b3014.lean.js b/docs/assets/core_guid.md.d28b3014.lean.js new file mode 100644 index 00000000..ed178cc0 --- /dev/null +++ b/docs/assets/core_guid.md.d28b3014.lean.js @@ -0,0 +1 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1665311928000}'),o={name:"core/guid.md"},t=n("",43),l=[t];function p(r,c,i,d,h,u){return s(),e("div",null,l)}const E=a(o,[["render",p]]);export{g as __pageData,E as default}; diff --git a/docs/assets/core_internet.md.6a296b9a.js b/docs/assets/core_internet.md.6a296b9a.js deleted file mode 100644 index ce3137f4..00000000 --- a/docs/assets/core_internet.md.6a296b9a.js +++ /dev/null @@ -1,55 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1683446294000}'),t={name:"core/internet.md"},o=e(`

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    bool isConnected = await Internet.IsAvailableAsync();
-}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
-}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    int status = await Internet.GetStatusCodeAsync("https://google.com");
-    // status should be 200 if everything is working
-}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
-    // status should be OK if everything is working
-}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
-
-StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-public static async void Main()
-{
-    int status = await Internet.GetStatusCodeAsync("https://google.com");
-    switch (Internet.GetStatusCodeType(status))
-    {
-        case StatusCodes.Informational:
-            Console.WriteLine("An information status code has been returned.");
-            break;
-        case StatusCodes.Success:
-            Console.WriteLine("An successful status code has been returned.");
-            break;
-        case StatusCodes.Redirection:
-            Console.WriteLine("An redirection status code has been returned.");
-            break;
-        case StatusCodes.ClientError:
-            Console.WriteLine("An client error status code has been returned.");
-            break;
-        case StatusCodes.ServerError:
-            Console.WriteLine("An server error status code has been returned.");
-            break;
-    }
-}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
-
-string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
-// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
-
-bool valid = Internet.GetUrlProtocol("a/test");
-// valid = false
`,71),l=[o];function p(r,c,i,d,y,D){return a(),n("div",null,l)}const u=s(t,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/core_internet.md.6a296b9a.lean.js b/docs/assets/core_internet.md.6a296b9a.lean.js deleted file mode 100644 index 6107c29d..00000000 --- a/docs/assets/core_internet.md.6a296b9a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1683446294000}'),t={name:"core/internet.md"},o=e("",71),l=[o];function p(r,c,i,d,y,D){return a(),n("div",null,l)}const u=s(t,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/core_internet.md.b3af24f5.js b/docs/assets/core_internet.md.b3af24f5.js new file mode 100644 index 00000000..2363e95b --- /dev/null +++ b/docs/assets/core_internet.md.b3af24f5.js @@ -0,0 +1,109 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1683446294000}'),l={name:"core/internet.md"},e=o(`

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync();
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync();
+}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
+}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    // status should be 200 if everything is working
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    // status should be 200 if everything is working
+}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
+    // status should be OK if everything is working
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
+    // status should be OK if everything is working
+}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
+
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");
using PeyrSharp.Core;
+
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    switch (Internet.GetStatusCodeType(status))
+    {
+        case StatusCodes.Informational:
+            Console.WriteLine("An information status code has been returned.");
+            break;
+        case StatusCodes.Success:
+            Console.WriteLine("An successful status code has been returned.");
+            break;
+        case StatusCodes.Redirection:
+            Console.WriteLine("An redirection status code has been returned.");
+            break;
+        case StatusCodes.ClientError:
+            Console.WriteLine("An client error status code has been returned.");
+            break;
+        case StatusCodes.ServerError:
+            Console.WriteLine("An server error status code has been returned.");
+            break;
+    }
+}
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    switch (Internet.GetStatusCodeType(status))
+    {
+        case StatusCodes.Informational:
+            Console.WriteLine("An information status code has been returned.");
+            break;
+        case StatusCodes.Success:
+            Console.WriteLine("An successful status code has been returned.");
+            break;
+        case StatusCodes.Redirection:
+            Console.WriteLine("An redirection status code has been returned.");
+            break;
+        case StatusCodes.ClientError:
+            Console.WriteLine("An client error status code has been returned.");
+            break;
+        case StatusCodes.ServerError:
+            Console.WriteLine("An server error status code has been returned.");
+            break;
+    }
+}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
+
+string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
+// protocol = https
using PeyrSharp.Core;
+
+string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
+// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
+
+bool valid = Internet.GetUrlProtocol("a/test");
+// valid = false
using PeyrSharp.Core;
+
+bool valid = Internet.GetUrlProtocol("a/test");
+// valid = false
`,71),t=[e];function p(r,c,i,y,E,d){return a(),n("div",null,t)}const b=s(l,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_internet.md.b3af24f5.lean.js b/docs/assets/core_internet.md.b3af24f5.lean.js new file mode 100644 index 00000000..84e64874 --- /dev/null +++ b/docs/assets/core_internet.md.b3af24f5.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1683446294000}'),l={name:"core/internet.md"},e=o("",71),t=[e];function p(r,c,i,y,E,d){return a(),n("div",null,t)}const b=s(l,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_json-helper.md.cc60e6c2.js b/docs/assets/core_json-helper.md.cc60e6c2.js new file mode 100644 index 00000000..37bd7a3b --- /dev/null +++ b/docs/assets/core_json-helper.md.cc60e6c2.js @@ -0,0 +1,51 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1690620914000}'),l={name:"core/json-helper.md"},e=o(`

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+// Load the person from the JSON file
+Person person = JsonHelper.LoadFromJson<Person>("person.json");
+
+// Print the person's name and age
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+// Load the person from the JSON file
+Person person = JsonHelper.LoadFromJson<Person>("person.json");
+
+// Print the person's name and age
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+public static void Main()
+{
+    // Create an object to save
+    MyObject obj = new MyObject();
+
+    // Save the object as a JSON file
+    JsonHelper.SaveAsJson(obj, "output.json");
+}
+
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+}
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+public static void Main()
+{
+    // Create an object to save
+    MyObject obj = new MyObject();
+
+    // Save the object as a JSON file
+    JsonHelper.SaveAsJson(obj, "output.json");
+}
+
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+}
`,27),p=[e];function t(r,c,y,E,i,d){return a(),n("div",null,p)}const m=s(l,[["render",t]]);export{F as __pageData,m as default}; diff --git a/docs/assets/core_json-helper.md.cc60e6c2.lean.js b/docs/assets/core_json-helper.md.cc60e6c2.lean.js new file mode 100644 index 00000000..b50a7698 --- /dev/null +++ b/docs/assets/core_json-helper.md.cc60e6c2.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1690620914000}'),l={name:"core/json-helper.md"},e=o("",27),p=[e];function t(r,c,y,E,i,d){return a(),n("div",null,p)}const m=s(l,[["render",t]]);export{F as __pageData,m as default}; diff --git a/docs/assets/core_json-helper.md.e45838d6.js b/docs/assets/core_json-helper.md.e45838d6.js deleted file mode 100644 index e2c31937..00000000 --- a/docs/assets/core_json-helper.md.e45838d6.js +++ /dev/null @@ -1,26 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1690620914000}'),o={name:"core/json-helper.md"},t=n(`

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
-using System.IO;
-using System.Text.Json;
-
-// Load the person from the JSON file
-Person person = JsonHelper.LoadFromJson<Person>("person.json");
-
-// Print the person's name and age
-Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
-using System.IO;
-using System.Text.Json;
-
-public static void Main()
-{
-    // Create an object to save
-    MyObject obj = new MyObject();
-
-    // Save the object as a JSON file
-    JsonHelper.SaveAsJson(obj, "output.json");
-}
-
-public class MyObject
-{
-    public string Name { get; set; }
-    public int Age { get; set; }
-}
`,27),l=[t];function p(r,c,i,d,y,h){return a(),e("div",null,l)}const C=s(o,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_json-helper.md.e45838d6.lean.js b/docs/assets/core_json-helper.md.e45838d6.lean.js deleted file mode 100644 index 286f6361..00000000 --- a/docs/assets/core_json-helper.md.e45838d6.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1690620914000}'),o={name:"core/json-helper.md"},t=n("",27),l=[t];function p(r,c,i,d,y,h){return a(),e("div",null,l)}const C=s(o,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_maths.md.514d3cf2.js b/docs/assets/core_maths.md.3a4734f3.js similarity index 95% rename from docs/assets/core_maths.md.514d3cf2.js rename to docs/assets/core_maths.md.3a4734f3.js index 8b7adb78..459ca070 100644 --- a/docs/assets/core_maths.md.514d3cf2.js +++ b/docs/assets/core_maths.md.3a4734f3.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1675590267000}'),o={name:"core/maths.md"},h=r('

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1675590267000}'),o={name:"core/maths.md"},h=r('

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/docs/assets/core_maths.md.514d3cf2.lean.js b/docs/assets/core_maths.md.3a4734f3.lean.js similarity index 68% rename from docs/assets/core_maths.md.514d3cf2.lean.js rename to docs/assets/core_maths.md.3a4734f3.lean.js index 8988fb97..2fa4bc13 100644 --- a/docs/assets/core_maths.md.514d3cf2.lean.js +++ b/docs/assets/core_maths.md.3a4734f3.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1675590267000}'),o={name:"core/maths.md"},h=r("",7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1675590267000}'),o={name:"core/maths.md"},h=r("",7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/docs/assets/core_maths_algebra.md.25cd2650.js b/docs/assets/core_maths_algebra.md.25cd2650.js deleted file mode 100644 index b64214c6..00000000 --- a/docs/assets/core_maths_algebra.md.25cd2650.js +++ /dev/null @@ -1,39 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1666370076000}'),t={name:"core/maths/algebra.md"},o=n(`

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-// Usage 1
-double sum = Algebra.Sum(12, 1.5, 45, 2.2);
-// sum = 60.7
-
-// Usage 2
-double[] numbers = new double[] { 1, 2, 3 };
-
-double sum2 = Algebra.Sum(numbers);
-// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-// Usage 1
-int sum = Algebra.Sum(12, 15, 45, 2);
-// sum = 74
-
-// Usage 2
-int[] numbers = new int[] { 1, 2, 3 };
-
-int sum2 = Algebra.Sum(numbers);
-// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
-
-bool isInt = Algebra.IsInt(12.0);
-// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double opposite = Algebra.Opposite(7);
-// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-int factorial = Algebra.Factorial(5);
-// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double pos = Algebra.PositiveOf(-7);
-// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double negative = Algebra.NegativeOf(7);
-// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
-// res = double[] { 1, 4, 9, 16 }
`,63),l=[o];function r(p,c,i,d,h,u){return s(),e("div",null,l)}const C=a(t,[["render",r]]);export{D as __pageData,C as default}; diff --git a/docs/assets/core_maths_algebra.md.25cd2650.lean.js b/docs/assets/core_maths_algebra.md.25cd2650.lean.js deleted file mode 100644 index fee2e9ca..00000000 --- a/docs/assets/core_maths_algebra.md.25cd2650.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1666370076000}'),t={name:"core/maths/algebra.md"},o=n("",63),l=[o];function r(p,c,i,d,h,u){return s(),e("div",null,l)}const C=a(t,[["render",r]]);export{D as __pageData,C as default}; diff --git a/docs/assets/core_maths_algebra.md.8645a716.js b/docs/assets/core_maths_algebra.md.8645a716.js new file mode 100644 index 00000000..69ad4ffb --- /dev/null +++ b/docs/assets/core_maths_algebra.md.8645a716.js @@ -0,0 +1,77 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1666370076000}'),o={name:"core/maths/algebra.md"},l=e(`

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+// Usage 1
+double sum = Algebra.Sum(12, 1.5, 45, 2.2);
+// sum = 60.7
+
+// Usage 2
+double[] numbers = new double[] { 1, 2, 3 };
+
+double sum2 = Algebra.Sum(numbers);
+// sum = 6
using PeyrSharp.Core.Maths;
+
+// Usage 1
+double sum = Algebra.Sum(12, 1.5, 45, 2.2);
+// sum = 60.7
+
+// Usage 2
+double[] numbers = new double[] { 1, 2, 3 };
+
+double sum2 = Algebra.Sum(numbers);
+// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+// Usage 1
+int sum = Algebra.Sum(12, 15, 45, 2);
+// sum = 74
+
+// Usage 2
+int[] numbers = new int[] { 1, 2, 3 };
+
+int sum2 = Algebra.Sum(numbers);
+// sum = 6
using PeyrSharp.Core.Maths;
+
+// Usage 1
+int sum = Algebra.Sum(12, 15, 45, 2);
+// sum = 74
+
+// Usage 2
+int[] numbers = new int[] { 1, 2, 3 };
+
+int sum2 = Algebra.Sum(numbers);
+// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+
+bool isInt = Algebra.IsInt(12.0);
+// isInt = true
using PeyrSharp.Core.Maths;
+
+bool isInt = Algebra.IsInt(12.0);
+// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double opposite = Algebra.Opposite(7);
+// opposite = -7
using PeyrSharp.Core.Maths;
+
+double opposite = Algebra.Opposite(7);
+// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+int factorial = Algebra.Factorial(5);
+// factorial = 120
using PeyrSharp.Core.Maths;
+
+int factorial = Algebra.Factorial(5);
+// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double pos = Algebra.PositiveOf(-7);
+// pos = 7
using PeyrSharp.Core.Maths;
+
+double pos = Algebra.PositiveOf(-7);
+// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double negative = Algebra.NegativeOf(7);
+// negative = -7
using PeyrSharp.Core.Maths;
+
+double negative = Algebra.NegativeOf(7);
+// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
+// res = double[] { 1, 4, 9, 16 }
using PeyrSharp.Core.Maths;
+
+double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
+// res = double[] { 1, 4, 9, 16 }
`,63),p=[l];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const b=s(o,[["render",t]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_algebra.md.8645a716.lean.js b/docs/assets/core_maths_algebra.md.8645a716.lean.js new file mode 100644 index 00000000..9a1d8f73 --- /dev/null +++ b/docs/assets/core_maths_algebra.md.8645a716.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1666370076000}'),o={name:"core/maths/algebra.md"},l=e("",63),p=[l];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const b=s(o,[["render",t]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_geometry.md.f210912f.js b/docs/assets/core_maths_geometry.md.a190352c.js similarity index 94% rename from docs/assets/core_maths_geometry.md.f210912f.js rename to docs/assets/core_maths_geometry.md.a190352c.js index 4da94024..29a173d4 100644 --- a/docs/assets/core_maths_geometry.md.f210912f.js +++ b/docs/assets/core_maths_geometry.md.a190352c.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1665756355000}'),o={name:"core/maths/geometry.md"},l=r('

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.b637c96f.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1665756355000}'),o={name:"core/maths/geometry.md"},l=r('

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

',7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; diff --git a/docs/assets/core_maths_geometry.md.f210912f.lean.js b/docs/assets/core_maths_geometry.md.a190352c.lean.js similarity index 70% rename from docs/assets/core_maths_geometry.md.f210912f.lean.js rename to docs/assets/core_maths_geometry.md.a190352c.lean.js index 64fdc702..b02e757b 100644 --- a/docs/assets/core_maths_geometry.md.f210912f.lean.js +++ b/docs/assets/core_maths_geometry.md.a190352c.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1665756355000}'),o={name:"core/maths/geometry.md"},l=r("",7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.b637c96f.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1665756355000}'),o={name:"core/maths/geometry.md"},l=r("",7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.a8461aaf.js b/docs/assets/core_maths_geometry_circle.md.a8461aaf.js new file mode 100644 index 00000000..05cd4406 --- /dev/null +++ b/docs/assets/core_maths_geometry_circle.md.a8461aaf.js @@ -0,0 +1,25 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1665756380000}'),o={name:"core/maths/geometry/circle.md"},l=n(`

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10); // Creates a circle with a radius of 10
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var area = circle.Area;
+// area = 314.1592653589793
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var area = circle.Area;
+// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586
`,27),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.a8461aaf.lean.js b/docs/assets/core_maths_geometry_circle.md.a8461aaf.lean.js new file mode 100644 index 00000000..1b9e0deb --- /dev/null +++ b/docs/assets/core_maths_geometry_circle.md.a8461aaf.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1665756380000}'),o={name:"core/maths/geometry/circle.md"},l=n("",27),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.e12239d2.js b/docs/assets/core_maths_geometry_circle.md.e12239d2.js deleted file mode 100644 index 8eee6681..00000000 --- a/docs/assets/core_maths_geometry_circle.md.e12239d2.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as a,o as e,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1665756380000}'),o={name:"core/maths/geometry/circle.md"},n=t(`

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10);
-
-var area = circle.Area;
-// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10);
-
-var perimeter = circle.Perimeter;
-// perimeter = 62.83185307179586
`,27),l=[n];function r(c,p,i,d,h,y){return e(),s("div",null,l)}const D=a(o,[["render",r]]);export{u as __pageData,D as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.e12239d2.lean.js b/docs/assets/core_maths_geometry_circle.md.e12239d2.lean.js deleted file mode 100644 index 0db82020..00000000 --- a/docs/assets/core_maths_geometry_circle.md.e12239d2.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1665756380000}'),o={name:"core/maths/geometry/circle.md"},n=t("",27),l=[n];function r(c,p,i,d,h,y){return e(),s("div",null,l)}const D=a(o,[["render",r]]);export{u as __pageData,D as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.2492cc46.js b/docs/assets/core_maths_geometry_cone.md.2492cc46.js new file mode 100644 index 00000000..e995b78c --- /dev/null +++ b/docs/assets/core_maths_geometry_cone.md.2492cc46.js @@ -0,0 +1,35 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1665652653000}'),e={name:"core/maths/geometry/cone.md"},l=o(`

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20);
+
+var volume = cone.Volume;
+// volume = 2094.3951023931954
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20);
+
+var volume = cone.Volume;
+// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(15, 20);
+
+var radius = cone.Radius;
+// radius = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(15, 20);
+
+var radius = cone.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40
`,33),p=[l];function t(c,r,i,d,y,h){return a(),n("div",null,p)}const g=s(e,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.2492cc46.lean.js b/docs/assets/core_maths_geometry_cone.md.2492cc46.lean.js new file mode 100644 index 00000000..a4d8b6b9 --- /dev/null +++ b/docs/assets/core_maths_geometry_cone.md.2492cc46.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1665652653000}'),e={name:"core/maths/geometry/cone.md"},l=o("",33),p=[l];function t(c,r,i,d,y,h){return a(),n("div",null,p)}const g=s(e,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.ab75c386.js b/docs/assets/core_maths_geometry_cone.md.ab75c386.js deleted file mode 100644 index 6f3b4699..00000000 --- a/docs/assets/core_maths_geometry_cone.md.ab75c386.js +++ /dev/null @@ -1,18 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1665652653000}'),n={name:"core/maths/geometry/cone.md"},t=o(`

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(10, 20);
-
-var volume = cone.Volume;
-// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(15, 20);
-
-var radius = cone.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle cone = new(10, 40);
-
-var height = cone.Height;
-// height = 40
`,33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const u=a(n,[["render",p]]);export{D as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.ab75c386.lean.js b/docs/assets/core_maths_geometry_cone.md.ab75c386.lean.js deleted file mode 100644 index c1f04568..00000000 --- a/docs/assets/core_maths_geometry_cone.md.ab75c386.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1665652653000}'),n={name:"core/maths/geometry/cone.md"},t=o("",33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const u=a(n,[["render",p]]);export{D as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.0f432795.js b/docs/assets/core_maths_geometry_cube.md.0f432795.js new file mode 100644 index 00000000..e557eb75 --- /dev/null +++ b/docs/assets/core_maths_geometry_cube.md.0f432795.js @@ -0,0 +1,79 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cube.md"},l=e(`

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10); // Creates a 10x10x10 cube
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var area = cube.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var area = cube.Area;
+// area = 100

Edge

Definition

c#
public double Edge { get; }
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var edge = cube.Edge;
+// edge = 7.0710678118654755
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var edge = cube.Edge;
+// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var length = cube.Length;
+// length = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var length = cube.Length;
+// length = 10

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10

Side

Definition

c#
public double? Side { get; init; }
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10
`,66),p=[l];function t(c,r,i,y,d,h){return a(),n("div",null,p)}const b=s(o,[["render",t]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.0f432795.lean.js b/docs/assets/core_maths_geometry_cube.md.0f432795.lean.js new file mode 100644 index 00000000..f5a39c8d --- /dev/null +++ b/docs/assets/core_maths_geometry_cube.md.0f432795.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cube.md"},l=e("",66),p=[l];function t(c,r,i,y,d,h){return a(),n("div",null,p)}const b=s(o,[["render",t]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.1daf7518.js b/docs/assets/core_maths_geometry_cube.md.1daf7518.js deleted file mode 100644 index dcbd5aa8..00000000 --- a/docs/assets/core_maths_geometry_cube.md.1daf7518.js +++ /dev/null @@ -1,40 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cube.md"},l=n(`

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var area = cube.Area;
-// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var edge = cube.Edge;
-// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var length = cube.Length;
-// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var height = cube.Height;
-// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var side = cube.Side ?? 0;
-// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var volume = cube.Volume; // 10^3
-// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var width = cube.Width;
-// width = 10
`,66),t=[l];function p(c,r,i,d,h,y){return a(),e("div",null,t)}const u=s(o,[["render",p]]);export{D as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.1daf7518.lean.js b/docs/assets/core_maths_geometry_cube.md.1daf7518.lean.js deleted file mode 100644 index 5cb50e6a..00000000 --- a/docs/assets/core_maths_geometry_cube.md.1daf7518.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cube.md"},l=n("",66),t=[l];function p(c,r,i,d,h,y){return a(),e("div",null,t)}const u=s(o,[["render",p]]);export{D as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.js b/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.js deleted file mode 100644 index 467c3116..00000000 --- a/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.js +++ /dev/null @@ -1,23 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cylinder.md"},l=n(`

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 20);
-
-var volume = cylinder.Volume;
-// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 20);
-
-var baseArea = cylinder.BaseArea;
-// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(15, 20);
-
-var radius = cylinder.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 40);
-
-var height = cylinder.Height;
-// height = 40
`,39),t=[l];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.lean.js b/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.lean.js deleted file mode 100644 index 371b8229..00000000 --- a/docs/assets/core_maths_geometry_cylinder.md.1f35fb1b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1665652653000}'),o={name:"core/maths/geometry/cylinder.md"},l=n("",39),t=[l];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.js b/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.js new file mode 100644 index 00000000..fcb6ad3e --- /dev/null +++ b/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.js @@ -0,0 +1,45 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1665652653000}'),l={name:"core/maths/geometry/cylinder.md"},o=e(`

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var volume = cylinder.Volume;
+// volume = 6283.185307179587
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var volume = cylinder.Volume;
+// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var baseArea = cylinder.BaseArea;
+// baseArea = 314.1592653589793
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var baseArea = cylinder.BaseArea;
+// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40
`,39),p=[o];function t(r,c,i,y,d,h){return a(),n("div",null,p)}const g=s(l,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.lean.js b/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.lean.js new file mode 100644 index 00000000..f2515f7c --- /dev/null +++ b/docs/assets/core_maths_geometry_cylinder.md.6b48f4e1.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1665652653000}'),l={name:"core/maths/geometry/cylinder.md"},o=e("",39),p=[o];function t(r,c,i,y,d,h){return a(),n("div",null,p)}const g=s(l,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.5256c148.js b/docs/assets/core_maths_geometry_diamond.md.5256c148.js deleted file mode 100644 index 7aac4bd5..00000000 --- a/docs/assets/core_maths_geometry_diamond.md.5256c148.js +++ /dev/null @@ -1,26 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1666360764000}'),o={name:"core/maths/geometry/diamond.md"},l=n(`

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
-Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(5, 10);
-
-var area = diamond.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10);
-
-var perimeter = diamond.Perimeter;
-// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10);
-
-var side = diamond.Side;
-// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10, 14);
-
-var side = diamond.Diagonals;
-// side = { 10, 14 }
`,49),t=[l];function p(i,r,c,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.5256c148.lean.js b/docs/assets/core_maths_geometry_diamond.md.5256c148.lean.js deleted file mode 100644 index ee74b682..00000000 --- a/docs/assets/core_maths_geometry_diamond.md.5256c148.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1666360764000}'),o={name:"core/maths/geometry/diamond.md"},l=n("",49),t=[l];function p(i,r,c,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.aed6072d.js b/docs/assets/core_maths_geometry_diamond.md.aed6072d.js new file mode 100644 index 00000000..73307cee --- /dev/null +++ b/docs/assets/core_maths_geometry_diamond.md.aed6072d.js @@ -0,0 +1,51 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1666360764000}'),e={name:"core/maths/geometry/diamond.md"},l=o(`

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);
using PeyrSharp.Core.Maths.Geometry;
+
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5, 10);
+
+var area = diamond.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5, 10);
+
+var area = diamond.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var perimeter = diamond.Perimeter;
+// perimeter = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var perimeter = diamond.Perimeter;
+// perimeter = 40

Side

Definition

c#
public double Side { get; init; }
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }
`,49),p=[l];function t(r,c,i,d,y,h){return a(),n("div",null,p)}const g=s(e,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.aed6072d.lean.js b/docs/assets/core_maths_geometry_diamond.md.aed6072d.lean.js new file mode 100644 index 00000000..3e0eb0da --- /dev/null +++ b/docs/assets/core_maths_geometry_diamond.md.aed6072d.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1666360764000}'),e={name:"core/maths/geometry/diamond.md"},l=o("",49),p=[l];function t(r,c,i,d,y,h){return a(),n("div",null,p)}const g=s(e,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.3164db2b.js b/docs/assets/core_maths_geometry_hexagon.md.3164db2b.js deleted file mode 100644 index 74ce7608..00000000 --- a/docs/assets/core_maths_geometry_hexagon.md.3164db2b.js +++ /dev/null @@ -1,17 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1665753720000}'),n={name:"core/maths/geometry/hexagon.md"},t=o(`

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12);
-
-var area = hexagon.Area;
-// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12);
-
-var perimeter = hexagon.Perimeter;
-// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(10);
-
-var side = hexagon.Side; // side = 10
`,33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const F=a(n,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.3164db2b.lean.js b/docs/assets/core_maths_geometry_hexagon.md.3164db2b.lean.js deleted file mode 100644 index 0cda41e0..00000000 --- a/docs/assets/core_maths_geometry_hexagon.md.3164db2b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1665753720000}'),n={name:"core/maths/geometry/hexagon.md"},t=o("",33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const F=a(n,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.js b/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.js new file mode 100644 index 00000000..26d8ef84 --- /dev/null +++ b/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.js @@ -0,0 +1,33 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1665753720000}'),o={name:"core/maths/geometry/hexagon.md"},l=n(`

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var area = hexagon.Area;
+// area = 374.1229744348775
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var area = hexagon.Area;
+// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var perimeter = hexagon.Perimeter;
+// perimeter = 72
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var perimeter = hexagon.Perimeter;
+// perimeter = 72

Side

Definition

c#
public double Side { get; init; }
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10
`,33),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const u=s(o,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.lean.js b/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.lean.js new file mode 100644 index 00000000..e24595c7 --- /dev/null +++ b/docs/assets/core_maths_geometry_hexagon.md.b4c1eb61.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1665753720000}'),o={name:"core/maths/geometry/hexagon.md"},l=n("",33),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const u=s(o,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.88f2f589.js b/docs/assets/core_maths_geometry_pyramid.md.88f2f589.js new file mode 100644 index 00000000..e983eeed --- /dev/null +++ b/docs/assets/core_maths_geometry_pyramid.md.88f2f589.js @@ -0,0 +1,87 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1665753720000}'),e={name:"core/maths/geometry/pyramid.md"},l=o(`

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var area = pyramid.AreaBase;
+// area = 120
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var area = pyramid.AreaBase;
+// area = 120

Volume

Definition

c#
public double AreaBase { get; }
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var volume = pyramid.Volume;
+// volume = 600
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var volume = pyramid.Volume;
+// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var length = pyramid.LengthBase;
+// length = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var length = pyramid.LengthBase;
+// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var width = pyramid.WidthBase;
+// width = 12
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var width = pyramid.WidthBase;
+// width = 12

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var width = pyramid.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var width = pyramid.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var length = pyramid.Length;
+// length = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var length = pyramid.Length;
+// length = 20

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var height = pyramid.Height;
+// height = 30
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var height = pyramid.Height;
+// height = 30
`,78),p=[l];function t(r,c,i,y,d,h){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.88f2f589.lean.js b/docs/assets/core_maths_geometry_pyramid.md.88f2f589.lean.js new file mode 100644 index 00000000..77056ddb --- /dev/null +++ b/docs/assets/core_maths_geometry_pyramid.md.88f2f589.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1665753720000}'),e={name:"core/maths/geometry/pyramid.md"},l=o("",78),p=[l];function t(r,c,i,y,d,h){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.js b/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.js deleted file mode 100644 index b2096ba7..00000000 --- a/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.js +++ /dev/null @@ -1,44 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1665753720000}'),o={name:"core/maths/geometry/pyramid.md"},l=n(`

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(12, 10, 15);
-
-var area = pyramid.AreaBase;
-// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(12, 10, 15);
-
-var volume = pyramid.Volume;
-// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(12, 10, 15);
-
-var length = pyramid.LengthBase;
-// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(12, 10, 15);
-
-var width = pyramid.WidthBase;
-// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(10, 20, 30);
-
-var width = pyramid.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(10, 20, 30);
-
-var length = pyramid.Length;
-// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Pyramid pyramid = new(10, 20, 30);
-
-var height = pyramid.Height;
-// height = 30
`,78),t=[l];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.lean.js b/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.lean.js deleted file mode 100644 index 9642779d..00000000 --- a/docs/assets/core_maths_geometry_pyramid.md.8ad145a7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1665753720000}'),o={name:"core/maths/geometry/pyramid.md"},l=n("",78),t=[l];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(o,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.113c3105.js b/docs/assets/core_maths_geometry_rectangle.md.113c3105.js new file mode 100644 index 00000000..f4e038d1 --- /dev/null +++ b/docs/assets/core_maths_geometry_rectangle.md.113c3105.js @@ -0,0 +1,55 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1665754402000}'),l={name:"core/maths/geometry/rectangle.md"},o=e(`

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var area = rectangle.Area;
+// area = 150
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var area = rectangle.Area;
+// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var perimeter = rectangle.Perimeter;
+// perimeter = 50
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var perimeter = rectangle.Perimeter;
+// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var diagonal = rectangle.Diagonal;
+// diagonal = 18.027756377319946
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var diagonal = rectangle.Diagonal;
+// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20
`,45),p=[o];function t(c,r,i,y,d,E){return a(),n("div",null,p)}const u=s(l,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.113c3105.lean.js b/docs/assets/core_maths_geometry_rectangle.md.113c3105.lean.js new file mode 100644 index 00000000..2423b750 --- /dev/null +++ b/docs/assets/core_maths_geometry_rectangle.md.113c3105.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1665754402000}'),l={name:"core/maths/geometry/rectangle.md"},o=e("",45),p=[o];function t(c,r,i,y,d,E){return a(),n("div",null,p)}const u=s(l,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.de2778c8.js b/docs/assets/core_maths_geometry_rectangle.md.de2778c8.js deleted file mode 100644 index 9a0a462d..00000000 --- a/docs/assets/core_maths_geometry_rectangle.md.de2778c8.js +++ /dev/null @@ -1,28 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1665754402000}'),l={name:"core/maths/geometry/rectangle.md"},o=n(`

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var area = rectangle.Area;
-// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var perimeter = rectangle.Perimeter;
-// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var diagonal = rectangle.Diagonal;
-// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20);
-
-var width = rectangle.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20);
-
-var length = rectangle.Length;
-// length = 20
`,45),t=[o];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(l,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.de2778c8.lean.js b/docs/assets/core_maths_geometry_rectangle.md.de2778c8.lean.js deleted file mode 100644 index 6a75b9b4..00000000 --- a/docs/assets/core_maths_geometry_rectangle.md.de2778c8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1665754402000}'),l={name:"core/maths/geometry/rectangle.md"},o=n("",45),t=[o];function p(r,c,i,d,h,y){return s(),e("div",null,t)}const F=a(l,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.1827ca30.js b/docs/assets/core_maths_geometry_sphere.md.1827ca30.js deleted file mode 100644 index 665c6304..00000000 --- a/docs/assets/core_maths_geometry_sphere.md.1827ca30.js +++ /dev/null @@ -1,18 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1665754815000}'),n={name:"core/maths/geometry/sphere.md"},t=o(`

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var area = sphere.Area;
-// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var volume = sphere.Volume;
-// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var radius = sphere.Radius;
-// radius = 10
`,33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const D=a(n,[["render",p]]);export{u as __pageData,D as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.1827ca30.lean.js b/docs/assets/core_maths_geometry_sphere.md.1827ca30.lean.js deleted file mode 100644 index 344fdf3a..00000000 --- a/docs/assets/core_maths_geometry_sphere.md.1827ca30.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as o}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1665754815000}'),n={name:"core/maths/geometry/sphere.md"},t=o("",33),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const D=a(n,[["render",p]]);export{u as __pageData,D as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.5f6f998f.js b/docs/assets/core_maths_geometry_sphere.md.5f6f998f.js new file mode 100644 index 00000000..ed38be8d --- /dev/null +++ b/docs/assets/core_maths_geometry_sphere.md.5f6f998f.js @@ -0,0 +1,35 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1665754815000}'),o={name:"core/maths/geometry/sphere.md"},l=n(`

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10); // Creates a sphere with a radius of 10
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var area = sphere.Area;
+// area = 1256.6370614359173
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var area = sphere.Area;
+// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var volume = sphere.Volume;
+// volume = 2356.194490192345
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var volume = sphere.Volume;
+// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10
`,33),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.5f6f998f.lean.js b/docs/assets/core_maths_geometry_sphere.md.5f6f998f.lean.js new file mode 100644 index 00000000..b294bfdf --- /dev/null +++ b/docs/assets/core_maths_geometry_sphere.md.5f6f998f.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1665754815000}'),o={name:"core/maths/geometry/sphere.md"},l=n("",33),p=[l];function t(r,c,i,d,y,h){return a(),e("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.3062f476.js b/docs/assets/core_maths_geometry_triangle.md.3062f476.js deleted file mode 100644 index ca0ec004..00000000 --- a/docs/assets/core_maths_geometry_triangle.md.3062f476.js +++ /dev/null @@ -1,56 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1665755989000}'),l={name:"core/maths/geometry/triangle.md"},o=n(`

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20);
-
-var area = triangle.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 10, 20);
-
-var perimeter = triangle.Perimeter;
-// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-// Assuming the triangle is right
-Triangle triangle = new(3, 4, 5);
-
-var hypotenuse = triangle.Hypotenuse;
-// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(3, 4, 5);
-
-var right = triangle.IsRight;
-// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(3, 4, 10);
-
-var canBeBuilt = triangle.CanBeBuilt;
-// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20);
-
-var width = triangle.Width;
-// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20);
-
-var height = triangle.Height;
-// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20, 15);
-
-var side1 = triangle.Side1;
-// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20, 15);
-
-var side2 = triangle.Side2;
-// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Triangle triangle = new(10, 20, 15);
-
-var side3 = triangle.Side3;
-// side3 = 15
`,87),t=[o];function p(r,c,i,d,h,y){return a(),e("div",null,t)}const F=s(l,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.3062f476.lean.js b/docs/assets/core_maths_geometry_triangle.md.3062f476.lean.js deleted file mode 100644 index 61871281..00000000 --- a/docs/assets/core_maths_geometry_triangle.md.3062f476.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1665755989000}'),l={name:"core/maths/geometry/triangle.md"},o=n("",87),t=[o];function p(r,c,i,d,h,y){return a(),e("div",null,t)}const F=s(l,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.70ac16cf.js b/docs/assets/core_maths_geometry_triangle.md.70ac16cf.js new file mode 100644 index 00000000..0b6af033 --- /dev/null +++ b/docs/assets/core_maths_geometry_triangle.md.70ac16cf.js @@ -0,0 +1,111 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1665755989000}'),l={name:"core/maths/geometry/triangle.md"},o=e(`

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 10); // Creates a triangle
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var area = triangle.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var area = triangle.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 10, 20);
+
+var perimeter = triangle.Perimeter;
+// perimeter = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 10, 20);
+
+var perimeter = triangle.Perimeter;
+// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+// Assuming the triangle is right
+Triangle triangle = new(3, 4, 5);
+
+var hypotenuse = triangle.Hypotenuse;
+// hypotenuse = 5
using PeyrSharp.Core.Maths.Geometry;
+
+// Assuming the triangle is right
+Triangle triangle = new(3, 4, 5);
+
+var hypotenuse = triangle.Hypotenuse;
+// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 5);
+
+var right = triangle.IsRight;
+// right = true
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 5);
+
+var right = triangle.IsRight;
+// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 10);
+
+var canBeBuilt = triangle.CanBeBuilt;
+// canBeBuilt = false
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 10);
+
+var canBeBuilt = triangle.CanBeBuilt;
+// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var width = triangle.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var width = triangle.Width;
+// width = 10

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var height = triangle.Height;
+// height = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var height = triangle.Height;
+// height = 20

Side1

Definition

c#
public double Side1 { get; init; }
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side1 = triangle.Side1;
+// side1 = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side1 = triangle.Side1;
+// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side2 = triangle.Side2;
+// side2 = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side2 = triangle.Side2;
+// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side3 = triangle.Side3;
+// side3 = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side3 = triangle.Side3;
+// side3 = 15
`,87),p=[o];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const u=s(l,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.70ac16cf.lean.js b/docs/assets/core_maths_geometry_triangle.md.70ac16cf.lean.js new file mode 100644 index 00000000..cc637c42 --- /dev/null +++ b/docs/assets/core_maths_geometry_triangle.md.70ac16cf.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1665755989000}'),l={name:"core/maths/geometry/triangle.md"},o=e("",87),p=[o];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const u=s(l,[["render",t]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_percentages.md.6e243752.js b/docs/assets/core_maths_percentages.md.6e243752.js deleted file mode 100644 index 31febf80..00000000 --- a/docs/assets/core_maths_percentages.md.6e243752.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const g=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1666371130000}'),o={name:"core/maths/percentages.md"},n=s(`

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
-
-double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
-// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
-
-double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
-// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double ev = Percentages.GetInvertedEvolutionRate(1.1);
-// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double proportion = Percentages.ProportionToPercentageString(0.5);
-// proportion = 50%
`,35),r=[n];function l(c,p,i,d,h,u){return a(),t("div",null,r)}const b=e(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_maths_percentages.md.6e243752.lean.js b/docs/assets/core_maths_percentages.md.6e243752.lean.js deleted file mode 100644 index 08b1c160..00000000 --- a/docs/assets/core_maths_percentages.md.6e243752.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const g=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1666371130000}'),o={name:"core/maths/percentages.md"},n=s("",35),r=[n];function l(c,p,i,d,h,u){return a(),t("div",null,r)}const b=e(o,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_maths_percentages.md.a68b9e85.js b/docs/assets/core_maths_percentages.md.a68b9e85.js new file mode 100644 index 00000000..11943533 --- /dev/null +++ b/docs/assets/core_maths_percentages.md.a68b9e85.js @@ -0,0 +1,25 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1666371130000}'),o={name:"core/maths/percentages.md"},t=n(`

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110
using PeyrSharp.Core.Maths;
+
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
+// price = 90
using PeyrSharp.Core.Maths;
+
+double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
+// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%
`,35),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const g=a(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_percentages.md.a68b9e85.lean.js b/docs/assets/core_maths_percentages.md.a68b9e85.lean.js new file mode 100644 index 00000000..33f3ea4c --- /dev/null +++ b/docs/assets/core_maths_percentages.md.a68b9e85.lean.js @@ -0,0 +1 @@ +import{_ as a,o as s,c as e,Q as n}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1666371130000}'),o={name:"core/maths/percentages.md"},t=n("",35),l=[t];function p(r,c,i,d,h,y){return s(),e("div",null,l)}const g=a(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_maths_proba.md.0aecd6a4.js b/docs/assets/core_maths_proba.md.0aecd6a4.js new file mode 100644 index 00000000..038c8692 --- /dev/null +++ b/docs/assets/core_maths_proba.md.0aecd6a4.js @@ -0,0 +1,17 @@ +import{_ as a,o as s,c as o,Q as t}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1675590267000}'),e={name:"core/maths/proba.md"},n=t(`

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
+
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
+
+string result = Proba.GetRandomValue(probabilities);
using PeyrSharp.Core.Maths;
+
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
+
+string result = Proba.GetRandomValue(probabilities);
`,18),l=[n];function p(r,c,i,d,y,h){return s(),o("div",null,l)}const u=a(e,[["render",p]]);export{b as __pageData,u as default}; diff --git a/docs/assets/core_maths_proba.md.0aecd6a4.lean.js b/docs/assets/core_maths_proba.md.0aecd6a4.lean.js new file mode 100644 index 00000000..0b21a681 --- /dev/null +++ b/docs/assets/core_maths_proba.md.0aecd6a4.lean.js @@ -0,0 +1 @@ +import{_ as a,o as s,c as o,Q as t}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1675590267000}'),e={name:"core/maths/proba.md"},n=t("",18),l=[n];function p(r,c,i,d,y,h){return s(),o("div",null,l)}const u=a(e,[["render",p]]);export{b as __pageData,u as default}; diff --git a/docs/assets/core_maths_proba.md.c9293802.js b/docs/assets/core_maths_proba.md.c9293802.js deleted file mode 100644 index dd2c3b58..00000000 --- a/docs/assets/core_maths_proba.md.c9293802.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as a,o as t,c as s,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1675590267000}'),o={name:"core/maths/proba.md"},n=e(`

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
-
-Dictionary<string, double> probabilities = new Dictionary<string, double>
-{
-    { "Heads", 0.5 },
-    { "Tails", 0.5 }
-};
-
-string result = Proba.GetRandomValue(probabilities);
`,18),l=[n];function r(p,i,c,d,h,y){return t(),s("div",null,l)}const C=a(o,[["render",r]]);export{D as __pageData,C as default}; diff --git a/docs/assets/core_maths_proba.md.c9293802.lean.js b/docs/assets/core_maths_proba.md.c9293802.lean.js deleted file mode 100644 index 212a891d..00000000 --- a/docs/assets/core_maths_proba.md.c9293802.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as t,c as s,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1675590267000}'),o={name:"core/maths/proba.md"},n=e("",18),l=[n];function r(p,i,c,d,h,y){return t(),s("div",null,l)}const C=a(o,[["render",r]]);export{D as __pageData,C as default}; diff --git a/docs/assets/core_maths_stats.md.9297b391.js b/docs/assets/core_maths_stats.md.9297b391.js deleted file mode 100644 index 7fef49d8..00000000 --- a/docs/assets/core_maths_stats.md.9297b391.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as a,o as s,c as t,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1688123549000}'),n={name:"core/maths/stats.md"},o=e(`

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
-// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double median = Stats.Median(dataset); // Calculate the median of the dataset
-// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
-double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
-// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
-double range = Stats.Range(numbers); // Calculate the range of the list of numbers
-// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
-// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
-
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
-// sd = 1.5811388300841898
`,63),l=[o];function p(r,c,d,i,h,y){return s(),t("div",null,l)}const F=a(n,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_stats.md.9297b391.lean.js b/docs/assets/core_maths_stats.md.9297b391.lean.js deleted file mode 100644 index 57f5f8db..00000000 --- a/docs/assets/core_maths_stats.md.9297b391.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as t,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1688123549000}'),n={name:"core/maths/stats.md"},o=e("",63),l=[o];function p(r,c,d,i,h,y){return s(),t("div",null,l)}const F=a(n,[["render",p]]);export{D as __pageData,F as default}; diff --git a/docs/assets/core_maths_stats.md.edb41b6a.js b/docs/assets/core_maths_stats.md.edb41b6a.js new file mode 100644 index 00000000..2cfcd124 --- /dev/null +++ b/docs/assets/core_maths_stats.md.edb41b6a.js @@ -0,0 +1,49 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1688123549000}'),l={name:"core/maths/stats.md"},e=o(`

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
+// mean = 3
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
+// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double median = Stats.Median(dataset); // Calculate the median of the dataset
+// median = 3
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double median = Stats.Median(dataset); // Calculate the median of the dataset
+// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
+double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
+// mode = 3
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
+double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
+// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
+double range = Stats.Range(numbers); // Calculate the range of the list of numbers
+// range = 4.4
using PeyrSharp.Core.Maths;
+
+List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
+double range = Stats.Range(numbers); // Calculate the range of the list of numbers
+// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
+// variance = 2.5
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
+// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
+// sd = 1.5811388300841898
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
+// sd = 1.5811388300841898
`,63),t=[e];function p(r,c,y,d,i,E){return a(),n("div",null,t)}const b=s(l,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_stats.md.edb41b6a.lean.js b/docs/assets/core_maths_stats.md.edb41b6a.lean.js new file mode 100644 index 00000000..043be6a9 --- /dev/null +++ b/docs/assets/core_maths_stats.md.edb41b6a.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1688123549000}'),l={name:"core/maths/stats.md"},e=o("",63),t=[e];function p(r,c,y,d,i,E){return a(),n("div",null,t)}const b=s(l,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_maths_trigonometry.md.78849101.js b/docs/assets/core_maths_trigonometry.md.78849101.js deleted file mode 100644 index 3f37388b..00000000 --- a/docs/assets/core_maths_trigonometry.md.78849101.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1666370076000}'),o={name:"core/maths/trigonometry.md"},n=s(`

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
-// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
-// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
-// hypotenuse = 10.041234478169912
`,31),l=[n];function r(d,i,p,c,h,g){return a(),t("div",null,l)}const m=e(o,[["render",r]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_maths_trigonometry.md.78849101.lean.js b/docs/assets/core_maths_trigonometry.md.78849101.lean.js deleted file mode 100644 index 066ecdcb..00000000 --- a/docs/assets/core_maths_trigonometry.md.78849101.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as t,U as s}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1666370076000}'),o={name:"core/maths/trigonometry.md"},n=s("",31),l=[n];function r(d,i,p,c,h,g){return a(),t("div",null,l)}const m=e(o,[["render",r]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_maths_trigonometry.md.db5e4666.js b/docs/assets/core_maths_trigonometry.md.db5e4666.js new file mode 100644 index 00000000..b0034b06 --- /dev/null +++ b/docs/assets/core_maths_trigonometry.md.db5e4666.js @@ -0,0 +1,25 @@ +import{_ as s,o as e,c as a,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1666370076000}'),o={name:"core/maths/trigonometry.md"},t=n(`

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
+// adjacent = 4.996227561429541
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
+// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912
`,31),l=[t];function p(r,c,d,i,h,y){return e(),a("div",null,l)}const u=s(o,[["render",p]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_maths_trigonometry.md.db5e4666.lean.js b/docs/assets/core_maths_trigonometry.md.db5e4666.lean.js new file mode 100644 index 00000000..053f674c --- /dev/null +++ b/docs/assets/core_maths_trigonometry.md.db5e4666.lean.js @@ -0,0 +1 @@ +import{_ as s,o as e,c as a,Q as n}from"./chunks/framework.b637c96f.js";const g=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1666370076000}'),o={name:"core/maths/trigonometry.md"},t=n("",31),l=[t];function p(r,c,d,i,h,y){return e(),a("div",null,l)}const u=s(o,[["render",p]]);export{g as __pageData,u as default}; diff --git a/docs/assets/core_password.md.5b330426.js b/docs/assets/core_password.md.5b330426.js new file mode 100644 index 00000000..49edcd6a --- /dev/null +++ b/docs/assets/core_password.md.5b330426.js @@ -0,0 +1,57 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1665311928000}'),o={name:"core/password.md"},t=e(`

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate a password with 10 characters
+    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}
using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate a password with 10 characters
+    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate a password with 10 characters, using the Complex preset
+    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
+}
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate a password with 10 characters, using the Complex preset
+    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
+}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters
+    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}
using System.Collections.Generic;
+using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters
+    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters with the simple preset
+    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
+}
using System.Collections.Generic;
+using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters with the simple preset
+    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
+}
`,35),l=[t];function p(r,c,d,y,i,E){return a(),n("div",null,l)}const g=s(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_password.md.5b330426.lean.js b/docs/assets/core_password.md.5b330426.lean.js new file mode 100644 index 00000000..24a0e67d --- /dev/null +++ b/docs/assets/core_password.md.5b330426.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1665311928000}'),o={name:"core/password.md"},t=e("",35),l=[t];function p(r,c,d,y,i,E){return a(),n("div",null,l)}const g=s(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/core_password.md.a9888b08.js b/docs/assets/core_password.md.a9888b08.js deleted file mode 100644 index 71acc876..00000000 --- a/docs/assets/core_password.md.a9888b08.js +++ /dev/null @@ -1,29 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1665311928000}'),n={name:"core/password.md"},o=t(`

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
-
-private async void Main()
-{
-    // Generate a password with 10 characters
-    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-private async void Main()
-{
-    // Generate a password with 10 characters, using the Complex preset
-    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
-}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
-using PeyrSharp.Core;
-
-private async void Main()
-{
-    // Generate 10 passwords with 10 characters
-    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
-using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-private async void Main()
-{
-    // Generate 10 passwords with 10 characters with the simple preset
-    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
-}
`,35),l=[o];function r(p,c,d,i,h,y){return a(),e("div",null,l)}const C=s(n,[["render",r]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_password.md.a9888b08.lean.js b/docs/assets/core_password.md.a9888b08.lean.js deleted file mode 100644 index c3bfecb5..00000000 --- a/docs/assets/core_password.md.a9888b08.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1665311928000}'),n={name:"core/password.md"},o=t("",35),l=[o];function r(p,c,d,i,h,y){return a(),e("div",null,l)}const C=s(n,[["render",r]]);export{F as __pageData,C as default}; diff --git a/docs/assets/core_statusinfo.md.a51639ad.js b/docs/assets/core_statusinfo.md.a51639ad.js deleted file mode 100644 index 36d127b1..00000000 --- a/docs/assets/core_statusinfo.md.a51639ad.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as a,c as e,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1683446294000}'),o={name:"core/statusinfo.md"},n=s('

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

',18),r=[n];function i(l,c,p,d,h,u){return a(),e("div",null,r)}const D=t(o,[["render",i]]);export{y as __pageData,D as default}; diff --git a/docs/assets/core_statusinfo.md.a51639ad.lean.js b/docs/assets/core_statusinfo.md.a51639ad.lean.js deleted file mode 100644 index 3caef440..00000000 --- a/docs/assets/core_statusinfo.md.a51639ad.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as a,c as e,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1683446294000}'),o={name:"core/statusinfo.md"},n=s("",18),r=[n];function i(l,c,p,d,h,u){return a(),e("div",null,r)}const D=t(o,[["render",i]]);export{y as __pageData,D as default}; diff --git a/docs/assets/core_statusinfo.md.a97192f6.js b/docs/assets/core_statusinfo.md.a97192f6.js new file mode 100644 index 00000000..26a72931 --- /dev/null +++ b/docs/assets/core_statusinfo.md.a97192f6.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1683446294000}'),o={name:"core/statusinfo.md"},i=s('

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

',18),n=[i];function r(d,c,l,p,h,u){return e(),a("div",null,n)}const g=t(o,[["render",r]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_statusinfo.md.a97192f6.lean.js b/docs/assets/core_statusinfo.md.a97192f6.lean.js new file mode 100644 index 00000000..5458581e --- /dev/null +++ b/docs/assets/core_statusinfo.md.a97192f6.lean.js @@ -0,0 +1 @@ +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.b637c96f.js";const b=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1683446294000}'),o={name:"core/statusinfo.md"},i=s("",18),n=[i];function r(d,c,l,p,h,u){return e(),a("div",null,n)}const g=t(o,[["render",r]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_xml-helper.md.bb579261.js b/docs/assets/core_xml-helper.md.bb579261.js new file mode 100644 index 00000000..646e8d28 --- /dev/null +++ b/docs/assets/core_xml-helper.md.bb579261.js @@ -0,0 +1,105 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1690620899000}'),o={name:"core/xml-helper.md"},p=l(`

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
+using System;
+using System.IO;
+using System.Xml.Serialization;
+
+private static void Main()
+{
+    string path = "path/to/xml/file.xml";
+
+    // Load an object from the XML file
+    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
+
+    if (obj != null)
+    {
+        // Object loaded successfully
+        Console.WriteLine("Object loaded: " + obj.ToString());
+    }
+    else
+    {
+        // Error occurred during loading or saving
+        Console.WriteLine("Failed to load object.");
+    }
+}
+
+// Example class for serialization
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+
+    public override string ToString()
+    {
+        return $"Name: {Name}, Age: {Age}";
+    }
+}
using PeyrSharp.Core;
+using System;
+using System.IO;
+using System.Xml.Serialization;
+
+private static void Main()
+{
+    string path = "path/to/xml/file.xml";
+
+    // Load an object from the XML file
+    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
+
+    if (obj != null)
+    {
+        // Object loaded successfully
+        Console.WriteLine("Object loaded: " + obj.ToString());
+    }
+    else
+    {
+        // Error occurred during loading or saving
+        Console.WriteLine("Failed to load object.");
+    }
+}
+
+// Example class for serialization
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+
+    public override string ToString()
+    {
+        return $"Name: {Name}, Age: {Age}";
+    }
+}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
+using System.Xml.Serialization;
+using System.IO;
+
+public class MyClass
+{
+    public int MyProperty { get; set; }
+}
+
+public class Program
+{
+    private static void Main()
+    {
+        MyClass myObject = new MyClass { MyProperty = 123 };
+
+        // Save the object to an XML file
+        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
+    }
+}
using PeyrSharp.Core;
+using System.Xml.Serialization;
+using System.IO;
+
+public class MyClass
+{
+    public int MyProperty { get; set; }
+}
+
+public class Program
+{
+    private static void Main()
+    {
+        MyClass myObject = new MyClass { MyProperty = 123 };
+
+        // Save the object to an XML file
+        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
+    }
+}
`,31),e=[p];function t(c,r,y,E,i,d){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/assets/core_xml-helper.md.bb579261.lean.js b/docs/assets/core_xml-helper.md.bb579261.lean.js new file mode 100644 index 00000000..0be58c71 --- /dev/null +++ b/docs/assets/core_xml-helper.md.bb579261.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1690620899000}'),o={name:"core/xml-helper.md"},p=l("",31),e=[p];function t(c,r,y,E,i,d){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/assets/core_xml-helper.md.db6a1186.js b/docs/assets/core_xml-helper.md.db6a1186.js deleted file mode 100644 index d1ed3315..00000000 --- a/docs/assets/core_xml-helper.md.db6a1186.js +++ /dev/null @@ -1,53 +0,0 @@ -import{_ as s,o as a,c as n,U as l}from"./chunks/framework.1eef7d9b.js";const d=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1690620899000}'),o={name:"core/xml-helper.md"},e=l(`

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
-using System;
-using System.IO;
-using System.Xml.Serialization;
-
-private static void Main()
-{
-    string path = "path/to/xml/file.xml";
-
-    // Load an object from the XML file
-    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
-
-    if (obj != null)
-    {
-        // Object loaded successfully
-        Console.WriteLine("Object loaded: " + obj.ToString());
-    }
-    else
-    {
-        // Error occurred during loading or saving
-        Console.WriteLine("Failed to load object.");
-    }
-}
-
-// Example class for serialization
-public class MyObject
-{
-    public string Name { get; set; }
-    public int Age { get; set; }
-
-    public override string ToString()
-    {
-        return $"Name: {Name}, Age: {Age}";
-    }
-}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
-using System.Xml.Serialization;
-using System.IO;
-
-public class MyClass
-{
-    public int MyProperty { get; set; }
-}
-
-public class Program
-{
-    private static void Main()
-    {
-        MyClass myObject = new MyClass { MyProperty = 123 };
-
-        // Save the object to an XML file
-        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
-    }
-}
`,31),t=[e];function p(r,c,i,y,D,C){return a(),n("div",null,t)}const A=s(o,[["render",p]]);export{d as __pageData,A as default}; diff --git a/docs/assets/core_xml-helper.md.db6a1186.lean.js b/docs/assets/core_xml-helper.md.db6a1186.lean.js deleted file mode 100644 index 28189f65..00000000 --- a/docs/assets/core_xml-helper.md.db6a1186.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,U as l}from"./chunks/framework.1eef7d9b.js";const d=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1690620899000}'),o={name:"core/xml-helper.md"},e=l("",31),t=[e];function p(r,c,i,y,D,C){return a(),n("div",null,t)}const A=s(o,[["render",p]]);export{d as __pageData,A as default}; diff --git a/docs/assets/enumerations.md.95d6b4f5.js b/docs/assets/enumerations.md.95d6b4f5.js new file mode 100644 index 00000000..b60535f9 --- /dev/null +++ b/docs/assets/enumerations.md.95d6b4f5.js @@ -0,0 +1,135 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1680429306000}'),o={name:"enumerations.md"},t=e(`

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 5.NET 6.NET 7
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
+{
+    if (unit == StorageUnits.Terabyte)
+    {
+        return value / 1000d;
+    }
+}
public static double ToPetabyte(double value, StorageUnits unit)
+{
+    if (unit == StorageUnits.Terabyte)
+    {
+        return value / 1000d;
+    }
+}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
+{
+    if (unit == TimeUnits.Minutes)
+    {
+        return value * 60;
+    }
+}
public static double ToSeconds(double value, TimeUnits unit)
+{
+    if (unit == TimeUnits.Minutes)
+    {
+        return value * 60;
+    }
+}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
+{
+    //Do something if the OS is Windows
+}
if (Env.CurrentOs == OperatingSystems.Windows)
+{
+    //Do something if the OS is Windows
+}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
+{
+    Console.WriteLine("You have dark theme enabled!");
+}
if (GetCurrentTheme() == SystemThemes.Dark)
+{
+    Console.WriteLine("You have dark theme enabled!");
+}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+
+switch (status)
+{
+    case StatusCodes.Informational:
+        Console.WriteLine("An information status code has been returned.");
+        break;
+    case StatusCodes.Success:
+        Console.WriteLine("An successful status code has been returned.");
+        break;
+    case StatusCodes.Redirection:
+        Console.WriteLine("An redirection status code has been returned.");
+        break;
+    case StatusCodes.ClientError:
+        Console.WriteLine("An client error status code has been returned.");
+        break;
+    case StatusCodes.ServerError:
+        Console.WriteLine("An server error status code has been returned.");
+        break;
+}
status = GetRequestStatus();
+
+switch (status)
+{
+    case StatusCodes.Informational:
+        Console.WriteLine("An information status code has been returned.");
+        break;
+    case StatusCodes.Success:
+        Console.WriteLine("An successful status code has been returned.");
+        break;
+    case StatusCodes.Redirection:
+        Console.WriteLine("An redirection status code has been returned.");
+        break;
+    case StatusCodes.ClientError:
+        Console.WriteLine("An client error status code has been returned.");
+        break;
+    case StatusCodes.ServerError:
+        Console.WriteLine("An server error status code has been returned.");
+        break;
+}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
+{
+    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
+}
private async void Main()
+{
+    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
+}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
+{
+    // Check if the generated password is complex
+    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
+    {
+        Console.WriteLine("The password isn't complex enough.");
+    }
+}
internal async void Main()
+{
+    // Check if the generated password is complex
+    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
+    {
+        Console.WriteLine("The password isn't complex enough.");
+    }
+}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+
+namespace App
+{
+    public partial class MyForm : Form
+    {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
+        }
+    }
+}
using PeyrSharp.UiHelpers;
+
+namespace App
+{
+    public partial class MyForm : Form
+    {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
+        }
+    }
+}
`,78),l=[t];function p(r,c,i,d,E,y){return a(),n("div",null,l)}const m=s(o,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/enumerations.md.95d6b4f5.lean.js b/docs/assets/enumerations.md.95d6b4f5.lean.js new file mode 100644 index 00000000..5c8df7b0 --- /dev/null +++ b/docs/assets/enumerations.md.95d6b4f5.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1680429306000}'),o={name:"enumerations.md"},t=e("",78),l=[t];function p(r,c,i,d,E,y){return a(),n("div",null,l)}const m=s(o,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/enumerations.md.ae8efbeb.js b/docs/assets/enumerations.md.ae8efbeb.js deleted file mode 100644 index 938964ad..00000000 --- a/docs/assets/enumerations.md.ae8efbeb.js +++ /dev/null @@ -1,68 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const h=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1680429306000}'),t={name:"enumerations.md"},o=n(`

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 5.NET 6.NET 7
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
-{
-    if (unit == StorageUnits.Terabyte)
-    {
-        return value / 1000d;
-    }
-}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
-{
-    if (unit == TimeUnits.Minutes)
-    {
-        return value * 60;
-    }
-}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-string message = "This is a log message.";
-string filePath = @"C:\\Logs\\log.txt";
-DateTime date = DateTime.Now;
-LogLevel logLevel = LogLevel.Warning;
-
-Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
-{
-    //Do something if the OS is Windows
-}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
-{
-    Console.WriteLine("You have dark theme enabled!");
-}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
-Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
-
-switch (status)
-{
-    case StatusCodes.Informational:
-        Console.WriteLine("An information status code has been returned.");
-        break;
-    case StatusCodes.Success:
-        Console.WriteLine("An successful status code has been returned.");
-        break;
-    case StatusCodes.Redirection:
-        Console.WriteLine("An redirection status code has been returned.");
-        break;
-    case StatusCodes.ClientError:
-        Console.WriteLine("An client error status code has been returned.");
-        break;
-    case StatusCodes.ServerError:
-        Console.WriteLine("An server error status code has been returned.");
-        break;
-}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
-{
-    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
-}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
-{
-    // Check if the generated password is complex
-    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
-    {
-        Console.WriteLine("The password isn't complex enough.");
-    }
-}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
-
-namespace App
-{
-    public partial class MyForm : Form
-    {
-        private void button1_Click(object sender, EventArgs e)
-        {
-            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
-        }
-    }
-}
`,78),l=[o];function p(r,c,i,d,D,y){return a(),e("div",null,l)}const C=s(t,[["render",p]]);export{h as __pageData,C as default}; diff --git a/docs/assets/enumerations.md.ae8efbeb.lean.js b/docs/assets/enumerations.md.ae8efbeb.lean.js deleted file mode 100644 index 1d91ac6e..00000000 --- a/docs/assets/enumerations.md.ae8efbeb.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const h=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1680429306000}'),t={name:"enumerations.md"},o=n("",78),l=[o];function p(r,c,i,d,D,y){return a(),e("div",null,l)}const C=s(t,[["render",p]]);export{h as __pageData,C as default}; diff --git a/docs/assets/env.md.7a083ce5.js b/docs/assets/env.md.f2ba38d6.js similarity index 92% rename from docs/assets/env.md.7a083ce5.js rename to docs/assets/env.md.f2ba38d6.js index 10dd4a06..9a56c6e5 100644 --- a/docs/assets/env.md.7a083ce5.js +++ b/docs/assets/env.md.f2ba38d6.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1673089188000}'),s={name:"env.md"},r=o('

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

',8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.b637c96f.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1673089188000}'),s={name:"env.md"},r=o('

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

',8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; diff --git a/docs/assets/env.md.7a083ce5.lean.js b/docs/assets/env.md.f2ba38d6.lean.js similarity index 66% rename from docs/assets/env.md.7a083ce5.lean.js rename to docs/assets/env.md.f2ba38d6.lean.js index 82c121bd..3b7816b2 100644 --- a/docs/assets/env.md.7a083ce5.lean.js +++ b/docs/assets/env.md.f2ba38d6.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1673089188000}'),s={name:"env.md"},r=o("",8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; +import{_ as t,o as e,c as a,Q as o}from"./chunks/framework.b637c96f.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1673089188000}'),s={name:"env.md"},r=o("",8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; diff --git a/docs/assets/env_filesys.md.8589c991.js b/docs/assets/env_filesys.md.8589c991.js deleted file mode 100644 index b38f2b67..00000000 --- a/docs/assets/env_filesys.md.8589c991.js +++ /dev/null @@ -1,74 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1675590267000}'),t={name:"env/filesys.md"},o=n(`

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
-
-public static async Task ExampleAsync()
-{
-    // Write some text in a file
-    string text = "Hello, World!";
-    await File.WriteAllTextAsync("Hello.txt", text);
-
-    // Count the number of characters
-    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
-
-    // chars = 13
-}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
-
-if (FileSys.CanWriteFile(@"C:\\Windows"))
-{
-    Console.WriteLine("You have permission to edit in this folder.");
-}
-else
-{
-    Console.WriteLine("You do not have permission to edit in this folder.");
-}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
-
-if (FileSys.IsOpticalDrive(new(@"E:\\")))
-{
-    Console.WriteLine("Drive E:/ is an optical drive")
-}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
-
-var unit = FileSys.GetDriveStorageUnit(@"C:\\");
-
-string message = unit switch
-{
-    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
-    StorageUnits.Terabyte => "The drive unit is in terabytes",
-    StorageUnits.Petabyte => "The drive unit is in petabytes",
-    _ => "Unknown size unit"
-}
-
-Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
-using PeyrSharp.Env;
-
-DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
-using PeyrSharp.Env;
-
-DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
-public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
-
-DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
-
-string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
-
-string computerName = FileSys.ComputerName;
`,126),l=[o];function p(r,i,c,d,D,y){return s(),e("div",null,l)}const u=a(t,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/env_filesys.md.8589c991.lean.js b/docs/assets/env_filesys.md.8589c991.lean.js deleted file mode 100644 index 068294c1..00000000 --- a/docs/assets/env_filesys.md.8589c991.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1675590267000}'),t={name:"env/filesys.md"},o=n("",126),l=[o];function p(r,i,c,d,D,y){return s(),e("div",null,l)}const u=a(t,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/env_filesys.md.c01b3b78.js b/docs/assets/env_filesys.md.c01b3b78.js new file mode 100644 index 00000000..243e58b5 --- /dev/null +++ b/docs/assets/env_filesys.md.c01b3b78.js @@ -0,0 +1,147 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1675590267000}'),o={name:"env/filesys.md"},l=e(`

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
+
+public static async Task ExampleAsync()
+{
+    // Write some text in a file
+    string text = "Hello, World!";
+    await File.WriteAllTextAsync("Hello.txt", text);
+
+    // Count the number of characters
+    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
+
+    // chars = 13
+}
using PeyrSharp.Env;
+
+public static async Task ExampleAsync()
+{
+    // Write some text in a file
+    string text = "Hello, World!";
+    await File.WriteAllTextAsync("Hello.txt", text);
+
+    // Count the number of characters
+    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
+
+    // chars = 13
+}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
+
+if (FileSys.CanWriteFile(@"C:\\Windows"))
+{
+    Console.WriteLine("You have permission to edit in this folder.");
+}
+else
+{
+    Console.WriteLine("You do not have permission to edit in this folder.");
+}
using PeyrSharp.Env;
+
+if (FileSys.CanWriteFile(@"C:\\Windows"))
+{
+    Console.WriteLine("You have permission to edit in this folder.");
+}
+else
+{
+    Console.WriteLine("You do not have permission to edit in this folder.");
+}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
+
+if (FileSys.IsOpticalDrive(new(@"E:\\")))
+{
+    Console.WriteLine("Drive E:/ is an optical drive")
+}
using PeyrSharp.Env;
+
+if (FileSys.IsOpticalDrive(new(@"E:\\")))
+{
+    Console.WriteLine("Drive E:/ is an optical drive")
+}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+
+var unit = FileSys.GetDriveStorageUnit(@"C:\\");
+
+string message = unit switch
+{
+    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
+    StorageUnits.Terabyte => "The drive unit is in terabytes",
+    StorageUnits.Petabyte => "The drive unit is in petabytes",
+    _ => "Unknown size unit"
+}
+
+Console.WriteLine(message);
using PeyrSharp.Env;
+
+var unit = FileSys.GetDriveStorageUnit(@"C:\\");
+
+string message = unit switch
+{
+    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
+    StorageUnits.Terabyte => "The drive unit is in terabytes",
+    StorageUnits.Petabyte => "The drive unit is in petabytes",
+    _ => "Unknown size unit"
+}
+
+Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string appdata = FileSys.AppDataPath;
using PeyrSharp.Env;
+
+string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string dir = FileSys.CurrentAppDirectory;
using PeyrSharp.Env;
+
+string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+
+DriveInfo sys = FileSys.SystemDrive;
using PeyrSharp.Env;
+
+DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+
+string currentDirectory = FileSys.CurrentDirectory;
using PeyrSharp.Env;
+
+string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+
+string computerName = FileSys.ComputerName;
using PeyrSharp.Env;
+
+string computerName = FileSys.ComputerName;
`,126),p=[l];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/env_filesys.md.c01b3b78.lean.js b/docs/assets/env_filesys.md.c01b3b78.lean.js new file mode 100644 index 00000000..70d874ac --- /dev/null +++ b/docs/assets/env_filesys.md.c01b3b78.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1675590267000}'),o={name:"env/filesys.md"},l=e("",126),p=[l];function t(r,c,i,y,d,E){return a(),n("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/env_logger.md.9b14c21f.js b/docs/assets/env_logger.md.9b14c21f.js new file mode 100644 index 00000000..0e6e3d83 --- /dev/null +++ b/docs/assets/env_logger.md.9b14c21f.js @@ -0,0 +1,37 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1680429326000}'),t={name:"env/logger.md"},n=o(`

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
+
+Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello
using PeyrSharp.Env;
+
+Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
+
+string message = "This is a log message. Date: {0}.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+
+Logger.Log(message, filePath, date);
using PeyrSharp.Env;
+
+string message = "This is a log message. Date: {0}.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+
+Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
`,30),l=[n];function p(r,c,i,d,h,g){return a(),e("div",null,l)}const m=s(t,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/env_logger.md.9b14c21f.lean.js b/docs/assets/env_logger.md.9b14c21f.lean.js new file mode 100644 index 00000000..4bbb6c02 --- /dev/null +++ b/docs/assets/env_logger.md.9b14c21f.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as o}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1680429326000}'),t={name:"env/logger.md"},n=o("",30),l=[n];function p(r,c,i,d,h,g){return a(),e("div",null,l)}const m=s(t,[["render",p]]);export{E as __pageData,m as default}; diff --git a/docs/assets/env_logger.md.cbed7f54.js b/docs/assets/env_logger.md.cbed7f54.js deleted file mode 100644 index cf676905..00000000 --- a/docs/assets/env_logger.md.cbed7f54.js +++ /dev/null @@ -1,19 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1680429326000}'),o={name:"env/logger.md"},n=t(`

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
-
-Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
-// The line above will generate a file with the following content:
-// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
-
-string message = "This is a log message. Date: {0}.";
-string filePath = @"C:\\Logs\\log.txt";
-DateTime date = DateTime.Now;
-
-Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-string message = "This is a log message.";
-string filePath = @"C:\\Logs\\log.txt";
-DateTime date = DateTime.Now;
-LogLevel logLevel = LogLevel.Warning;
-
-Logger.Log(message, filePath, date, logLevel);
`,30),l=[n];function p(r,c,i,d,h,g){return s(),e("div",null,l)}const m=a(o,[["render",p]]);export{y as __pageData,m as default}; diff --git a/docs/assets/env_logger.md.cbed7f54.lean.js b/docs/assets/env_logger.md.cbed7f54.lean.js deleted file mode 100644 index c4a9082e..00000000 --- a/docs/assets/env_logger.md.cbed7f54.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1680429326000}'),o={name:"env/logger.md"},n=t("",30),l=[n];function p(r,c,i,d,h,g){return s(),e("div",null,l)}const m=a(o,[["render",p]]);export{y as __pageData,m as default}; diff --git a/docs/assets/env_system.md.45d34ea7.js b/docs/assets/env_system.md.45d34ea7.js deleted file mode 100644 index 7ba7d898..00000000 --- a/docs/assets/env_system.md.45d34ea7.js +++ /dev/null @@ -1,70 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1688123577000}'),o={name:"env/system.md"},l=e(`

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
-
-// Define a process
-Process p = new();
-p.StartInfo.FileName = "notepad.exe";
-
-Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
-
-Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
-
-Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
-
-bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
-
-int processId = 12345;
-
-bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
-
-internal static async void Main()
-{
-    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
-}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
-{
-    Console.WriteLine("You are on Windows");
-}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-    <application>
-      <!-- Windows Vista -->
-      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
-
-      <!-- Windows 7 -->
-      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
-
-      <!-- Windows 8 -->
-      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
-
-      <!-- Windows 8.1 -->
-      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
-
-      <!-- Windows 10 -->
-      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
-    </application>
-</compatibility>

Usage

c#
using PeyrSharp.Env;
-
-if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
-{
-    Console.WriteLine("You are on Windows 11");
-}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
-
-if (Sys.IsDarkThemeSupported)
-{
-    Console.WriteLine("You are running Windows 10 or higher.");
-}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-Process[] procs = Sys.RunningProcesses;
-
-for (int i = 0; i < procs.Length; i++)
-{
-    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
-}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-string[] procs = Sys.RunningProcessesNames;
-
-for (int i = 0; i < procs.Length; i++)
-{
-    Console.WriteLine(procs[i]); // Print the name of all running processes
-}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-int unixTime = Sys.UnixTime;
`,99),t=[l];function p(r,c,i,y,d,D){return a(),n("div",null,t)}const C=s(o,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/env_system.md.45d34ea7.lean.js b/docs/assets/env_system.md.45d34ea7.lean.js deleted file mode 100644 index 9cc3efeb..00000000 --- a/docs/assets/env_system.md.45d34ea7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1688123577000}'),o={name:"env/system.md"},l=e("",99),t=[l];function p(r,c,i,y,d,D){return a(),n("div",null,t)}const C=s(o,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/env_system.md.8962a7fa.js b/docs/assets/env_system.md.8962a7fa.js new file mode 100644 index 00000000..21d36df7 --- /dev/null +++ b/docs/assets/env_system.md.8962a7fa.js @@ -0,0 +1,171 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1688123577000}'),o={name:"env/system.md"},p=e(`

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
+
+// Define a process
+Process p = new();
+p.StartInfo.FileName = "notepad.exe";
+
+Sys.ExecuteAsAdmin(p);
using PeyrSharp.Env;
+
+// Define a process
+Process p = new();
+p.StartInfo.FileName = "notepad.exe";
+
+Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
+
+Sys.ExecuteAsAdmin("notepad.exe");
using PeyrSharp.Env;
+
+Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\\AppxManifest.xml
InstallLocation\\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
+
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP
using PeyrSharp.Env;
+
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
+
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");
using PeyrSharp.Env;
+
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
+
+int processId = 12345;
+
+bool result = Sys.TerminateProcess(processId);
using PeyrSharp.Env;
+
+int processId = 12345;
+
+bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+
+internal static async void Main()
+{
+    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
+}
using PeyrSharp.Env;
+
+internal static async void Main()
+{
+    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
+}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
+{
+    Console.WriteLine("You are on Windows");
+}
using PeyrSharp.Env;
+
+if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
+{
+    Console.WriteLine("You are on Windows");
+}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
+
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
+    </application>
+</compatibility>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
+
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
+    </application>
+</compatibility>

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
+{
+    Console.WriteLine("You are on Windows 11");
+}
using PeyrSharp.Env;
+
+if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
+{
+    Console.WriteLine("You are on Windows 11");
+}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.IsDarkThemeSupported)
+{
+    Console.WriteLine("You are running Windows 10 or higher.");
+}
using PeyrSharp.Env;
+
+if (Sys.IsDarkThemeSupported)
+{
+    Console.WriteLine("You are running Windows 10 or higher.");
+}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
+using PeyrSharp.Env;
+
+if (Sys.CurrentTheme == SystemThemes.Light)
+{
+    Console.WriteLine("The current theme is light.");
+}
+else if (Sys.CurrentTheme == SystemThemes.Dark)
+{
+    Console.WriteLine("The current theme is dark.");
+}
+else
+{
+    Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
+}
using Microsoft.Win32;
+using PeyrSharp.Env;
+
+if (Sys.CurrentTheme == SystemThemes.Light)
+{
+    Console.WriteLine("The current theme is light.");
+}
+else if (Sys.CurrentTheme == SystemThemes.Dark)
+{
+    Console.WriteLine("The current theme is dark.");
+}
+else
+{
+    Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
+}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+Process[] procs = Sys.RunningProcesses;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
+}
using PeyrSharp.Env;
+
+Process[] procs = Sys.RunningProcesses;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
+}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string[] procs = Sys.RunningProcessesNames;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i]); // Print the name of all running processes
+}
using PeyrSharp.Env;
+
+string[] procs = Sys.RunningProcessesNames;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i]); // Print the name of all running processes
+}

UnixTime

Definition

c#
public static int Unix { get; }
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+int unixTime = Sys.UnixTime;
using PeyrSharp.Env;
+
+int unixTime = Sys.UnixTime;
`,114),l=[p];function t(c,r,i,y,E,d){return a(),n("div",null,l)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/env_system.md.8962a7fa.lean.js b/docs/assets/env_system.md.8962a7fa.lean.js new file mode 100644 index 00000000..4df31a2c --- /dev/null +++ b/docs/assets/env_system.md.8962a7fa.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1688123577000}'),o={name:"env/system.md"},p=e("",114),l=[p];function t(c,r,i,y,E,d){return a(),n("div",null,l)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/env_update.md.329bcc46.js b/docs/assets/env_update.md.329bcc46.js new file mode 100644 index 00000000..1fab94e6 --- /dev/null +++ b/docs/assets/env_update.md.329bcc46.js @@ -0,0 +1,33 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1683354307000}'),e={name:"env/update.md"},t=o(`

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+    // lastVersion would be equal to the content of this text files
+}
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+    // lastVersion would be equal to the content of this text files
+}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string current = "1.0";
+    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+
+    Console.WriteLine(Update.IsAvailable(current, last)
+        ? "Updates are available."
+        : "You are up-to-date.");
+}
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string current = "1.0";
+    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+
+    Console.WriteLine(Update.IsAvailable(current, last)
+        ? "Updates are available."
+        : "You are up-to-date.");
+}
`,24),l=[t];function p(r,c,i,d,y,E){return a(),n("div",null,l)}const m=s(e,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/env_update.md.329bcc46.lean.js b/docs/assets/env_update.md.329bcc46.lean.js new file mode 100644 index 00000000..645e1fd3 --- /dev/null +++ b/docs/assets/env_update.md.329bcc46.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1683354307000}'),e={name:"env/update.md"},t=o("",24),l=[t];function p(r,c,i,d,y,E){return a(),n("div",null,l)}const m=s(e,[["render",p]]);export{u as __pageData,m as default}; diff --git a/docs/assets/env_update.md.a1273893.js b/docs/assets/env_update.md.a1273893.js deleted file mode 100644 index ffafd774..00000000 --- a/docs/assets/env_update.md.a1273893.js +++ /dev/null @@ -1,17 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1683354307000}'),n={name:"env/update.md"},o=t(`

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
-
-private async void Main()
-{
-    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
-    // lastVersion would be equal to the content of this text files
-}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
-
-private async void Main()
-{
-    string current = "1.0";
-    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
-
-    Console.WriteLine(Update.IsAvailable(current, last)
-        ? "Updates are available."
-        : "You are up-to-date.");
-}
`,24),l=[o];function p(r,c,i,d,h,y){return a(),e("div",null,l)}const u=s(n,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/env_update.md.a1273893.lean.js b/docs/assets/env_update.md.a1273893.lean.js deleted file mode 100644 index 05d01eef..00000000 --- a/docs/assets/env_update.md.a1273893.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1683354307000}'),n={name:"env/update.md"},o=t("",24),l=[o];function p(r,c,i,d,h,y){return a(),e("div",null,l)}const u=s(n,[["render",p]]);export{F as __pageData,u as default}; diff --git a/docs/assets/env_uwpapp.md.64413305.js b/docs/assets/env_uwpapp.md.64413305.js new file mode 100644 index 00000000..74b652b5 --- /dev/null +++ b/docs/assets/env_uwpapp.md.64413305.js @@ -0,0 +1,17 @@ +import{_ as s,o as a,c as p,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1688123577000}'),n={name:"env/uwpapp.md"},o=e(`

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
`,19),t=[o];function l(c,r,i,d,y,h){return a(),p("div",null,t)}const m=s(n,[["render",l]]);export{u as __pageData,m as default}; diff --git a/docs/assets/env_uwpapp.md.64413305.lean.js b/docs/assets/env_uwpapp.md.64413305.lean.js new file mode 100644 index 00000000..a3d4c53a --- /dev/null +++ b/docs/assets/env_uwpapp.md.64413305.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as p,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1688123577000}'),n={name:"env/uwpapp.md"},o=e("",19),t=[o];function l(c,r,i,d,y,h){return a(),p("div",null,t)}const m=s(n,[["render",l]]);export{u as __pageData,m as default}; diff --git a/docs/assets/env_uwpapp.md.dcba768f.js b/docs/assets/env_uwpapp.md.dcba768f.js deleted file mode 100644 index 9c2f55b3..00000000 --- a/docs/assets/env_uwpapp.md.dcba768f.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as a,o as s,c as p,U as e}from"./chunks/framework.1eef7d9b.js";const A=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1688123577000}'),n={name:"env/uwpapp.md"},o=e(`

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
-
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
-
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
`,19),t=[o];function l(r,c,i,y,d,D){return s(),p("div",null,t)}const C=a(n,[["render",l]]);export{A as __pageData,C as default}; diff --git a/docs/assets/env_uwpapp.md.dcba768f.lean.js b/docs/assets/env_uwpapp.md.dcba768f.lean.js deleted file mode 100644 index 760697f4..00000000 --- a/docs/assets/env_uwpapp.md.dcba768f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as p,U as e}from"./chunks/framework.1eef7d9b.js";const A=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1688123577000}'),n={name:"env/uwpapp.md"},o=e("",19),t=[o];function l(r,c,i,y,d,D){return s(),p("div",null,t)}const C=a(n,[["render",l]]);export{A as __pageData,C as default}; diff --git a/docs/assets/exceptions.md.77841f50.js b/docs/assets/exceptions.md.77841f50.js new file mode 100644 index 00000000..3398a598 --- /dev/null +++ b/docs/assets/exceptions.md.77841f50.js @@ -0,0 +1,25 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1665311928000}'),o={name:"exceptions.md"},l=e(`

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 5.NET 6.NET 7
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
+
+throw new RGBInvalidValueException("Please provide correct RGB values.");
using PeyrSharp.Exceptions;
+
+throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
+
+throw new HEXInvalidValueException("Please provide a correct HEX value.");
using PeyrSharp.Exceptions;
+
+throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+
+// Guid length
+int length = 45; // Will throw an error
+
+if (length <= 0 || length > 32)
+{
+    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
+}
using PeyrSharp.Exceptions;
+
+// Guid length
+int length = 45; // Will throw an error
+
+if (length <= 0 || length > 32)
+{
+    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
+}
`,22),p=[l];function t(c,r,i,d,E,h){return a(),n("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/exceptions.md.77841f50.lean.js b/docs/assets/exceptions.md.77841f50.lean.js new file mode 100644 index 00000000..622db8d3 --- /dev/null +++ b/docs/assets/exceptions.md.77841f50.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1665311928000}'),o={name:"exceptions.md"},l=e("",22),p=[l];function t(c,r,i,d,E,h){return a(),n("div",null,p)}const g=s(o,[["render",t]]);export{u as __pageData,g as default}; diff --git a/docs/assets/exceptions.md.aae9c983.js b/docs/assets/exceptions.md.aae9c983.js deleted file mode 100644 index 4ca42e1f..00000000 --- a/docs/assets/exceptions.md.aae9c983.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as a,o as e,c as s,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1665311928000}'),o={name:"exceptions.md"},t=n(`

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 5.NET 6.NET 7
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
-
-throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
-
-throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
-
-// Guid length
-int length = 45; // Will throw an error
-
-if (length <= 0 || length > 32)
-{
-    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
-}
`,22),l=[t];function i(p,r,c,d,h,u){return e(),s("div",null,l)}const C=a(o,[["render",i]]);export{D as __pageData,C as default}; diff --git a/docs/assets/exceptions.md.aae9c983.lean.js b/docs/assets/exceptions.md.aae9c983.lean.js deleted file mode 100644 index a064c48d..00000000 --- a/docs/assets/exceptions.md.aae9c983.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1665311928000}'),o={name:"exceptions.md"},t=n("",22),l=[t];function i(p,r,c,d,h,u){return e(),s("div",null,l)}const C=a(o,[["render",i]]);export{D as __pageData,C as default}; diff --git a/docs/assets/extensions.md.b080d23b.js b/docs/assets/extensions.md.32bd4caa.js similarity index 92% rename from docs/assets/extensions.md.b080d23b.js rename to docs/assets/extensions.md.32bd4caa.js index 48d13292..a3e54ab3 100644 --- a/docs/assets/extensions.md.b080d23b.js +++ b/docs/assets/extensions.md.32bd4caa.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1667468707000}'),o={name:"extensions.md"},n=s('

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Classes

',7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.b637c96f.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1667468707000}'),o={name:"extensions.md"},n=s('

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Classes

',7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; diff --git a/docs/assets/extensions.md.b080d23b.lean.js b/docs/assets/extensions.md.32bd4caa.lean.js similarity index 68% rename from docs/assets/extensions.md.b080d23b.lean.js rename to docs/assets/extensions.md.32bd4caa.lean.js index 291318f8..0c928b61 100644 --- a/docs/assets/extensions.md.b080d23b.lean.js +++ b/docs/assets/extensions.md.32bd4caa.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1667468707000}'),o={name:"extensions.md"},n=s("",7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; +import{_ as t,o as e,c as a,Q as s}from"./chunks/framework.b637c96f.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1667468707000}'),o={name:"extensions.md"},n=s("",7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; diff --git a/docs/assets/extensions_array.md.ed7cfa02.js b/docs/assets/extensions_array.md.ed7cfa02.js new file mode 100644 index 00000000..00bc88fb --- /dev/null +++ b/docs/assets/extensions_array.md.ed7cfa02.js @@ -0,0 +1,41 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1673177468000}'),o={name:"extensions/array.md"},l=e(`

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5);
+// appendNumbers: { 1, 2, 3, 4, 5 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5);
+// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5, 6);
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5, 6);
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] array = { "a", "b", "c", "d" };
+string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
+// final = "a, b, c, d"
using PeyrSharp.Extensions;
+
+string[] array = { "a", "b", "c", "d" };
+string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
+// final = "a, b, c, d"
`,42),t=[l];function p(r,c,i,y,d,E){return a(),n("div",null,t)}const u=s(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/docs/assets/extensions_array.md.ed7cfa02.lean.js b/docs/assets/extensions_array.md.ed7cfa02.lean.js new file mode 100644 index 00000000..723020c5 --- /dev/null +++ b/docs/assets/extensions_array.md.ed7cfa02.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const m=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1673177468000}'),o={name:"extensions/array.md"},l=e("",42),t=[l];function p(r,c,i,y,d,E){return a(),n("div",null,t)}const u=s(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/docs/assets/extensions_array.md.fc0364fa.js b/docs/assets/extensions_array.md.fc0364fa.js deleted file mode 100644 index dff98805..00000000 --- a/docs/assets/extensions_array.md.fc0364fa.js +++ /dev/null @@ -1,21 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1673177468000}'),t={name:"extensions/array.md"},o=n(`

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] numbers = { 1, 2, 3, 4 };
-int[] appendNumbers = numbers.Append(5);
-// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] numbers = { 1, 2, 3, 4 };
-int[] appendNumbers = numbers.Append(5, 6);
-// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] numbers = { 1, 2, 3, 4, 5 };
-int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] numbers = { 1, 2, 3, 4, 5 };
-int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
-
-string[] array = { "a", "b", "c", "d" };
-string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
-// final = "a, b, c, d"
`,42),l=[o];function p(r,c,i,d,y,h){return s(),e("div",null,l)}const C=a(t,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/extensions_array.md.fc0364fa.lean.js b/docs/assets/extensions_array.md.fc0364fa.lean.js deleted file mode 100644 index 2488bf18..00000000 --- a/docs/assets/extensions_array.md.fc0364fa.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const F=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1673177468000}'),t={name:"extensions/array.md"},o=n("",42),l=[o];function p(r,c,i,d,y,h){return s(),e("div",null,l)}const C=a(t,[["render",p]]);export{F as __pageData,C as default}; diff --git a/docs/assets/extensions_double.md.4449dcb3.js b/docs/assets/extensions_double.md.4449dcb3.js new file mode 100644 index 00000000..d0e6e040 --- /dev/null +++ b/docs/assets/extensions_double.md.4449dcb3.js @@ -0,0 +1,101 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1680429319000}'),o={name:"extensions/double.md"},t=e(`

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
+double mean = data.Mean(); // 5
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int n = 45.6.ToInt();
+// n = 46
using PeyrSharp.Extensions;
+
+int n = 45.6.ToInt();
+// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double seconds = 5.ToSeconds(TimeUnits.Minutes);
+// seconds = 300
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double seconds = 5.ToSeconds(TimeUnits.Minutes);
+// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double min = 120.ToMinutes(TimeUnits.Seconds);
+// min = 2
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double min = 120.ToMinutes(TimeUnits.Seconds);
+// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double hours = 1.ToHours(TimeUnits.Days);
+// hours = 24
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double hours = 1.ToHours(TimeUnits.Days);
+// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double days = 72.ToDays(TimeUnits.Hours);
+// days = 3
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double days = 72.ToDays(TimeUnits.Hours);
+// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.1(StorageUnits.Kilobyte);
+// byte = 1000
using PeyrSharp.Core.Converters;
+
+double byte = Storage.1(StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
+// kilobyte = 2
using PeyrSharp.Core.Converters;
+
+double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
+// megabyte = 1.5
using PeyrSharp.Core.Converters;
+
+double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
+// gigabyte = 1
using PeyrSharp.Core.Converters;
+
+double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
+// terabyte = 1000
using PeyrSharp.Core.Converters;
+
+double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
+// petabyte = 1
using PeyrSharp.Core.Converters;
+
+double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
+// petabyte = 1
`,115),l=[t];function p(r,c,i,y,d,E){return a(),n("div",null,l)}const b=s(o,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/extensions_double.md.4449dcb3.lean.js b/docs/assets/extensions_double.md.4449dcb3.lean.js new file mode 100644 index 00000000..dfeb5111 --- /dev/null +++ b/docs/assets/extensions_double.md.4449dcb3.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1680429319000}'),o={name:"extensions/double.md"},t=e("",115),l=[t];function p(r,c,i,y,d,E){return a(),n("div",null,l)}const b=s(o,[["render",p]]);export{u as __pageData,b as default}; diff --git a/docs/assets/extensions_double.md.de01a066.js b/docs/assets/extensions_double.md.de01a066.js deleted file mode 100644 index 8601ee1f..00000000 --- a/docs/assets/extensions_double.md.de01a066.js +++ /dev/null @@ -1,51 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1680429319000}'),n={name:"extensions/double.md"},o=t(`

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
-double median = data.Median();
-
-Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
-double mode = data.Mode();
-
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-int n = 45.6.ToInt();
-// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
-
-double seconds = 5.ToSeconds(TimeUnits.Minutes);
-// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
-
-double min = 120.ToMinutes(TimeUnits.Seconds);
-// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
-
-double hours = 1.ToHours(TimeUnits.Days);
-// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
-
-double days = 72.ToDays(TimeUnits.Hours);
-// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double byte = Storage.1(StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
-// petabyte = 1
`,115),l=[o];function r(p,i,c,d,h,y){return s(),e("div",null,l)}const D=a(n,[["render",r]]);export{C as __pageData,D as default}; diff --git a/docs/assets/extensions_double.md.de01a066.lean.js b/docs/assets/extensions_double.md.de01a066.lean.js deleted file mode 100644 index 79fd92c7..00000000 --- a/docs/assets/extensions_double.md.de01a066.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,U as t}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1680429319000}'),n={name:"extensions/double.md"},o=t("",115),l=[o];function r(p,i,c,d,h,y){return s(),e("div",null,l)}const D=a(n,[["render",r]]);export{C as __pageData,D as default}; diff --git a/docs/assets/extensions_int.md.8d3dd603.js b/docs/assets/extensions_int.md.8d3dd603.js deleted file mode 100644 index a746c31c..00000000 --- a/docs/assets/extensions_int.md.8d3dd603.js +++ /dev/null @@ -1,20 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1680429319000}'),o={name:"extensions/int.md"},t=e(`

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] data = new int[] { 1, 2, 3, 4, 5 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] data = new int[] { 1, 2, 3, 5 };
-double median = data.Median();
-
-Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
-
-int[] data = new int[] { 1, 2, 3, 5 };
-double mode = data.Mode();
-
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-double d = 16.ToDouble(); // 16.0d
`,49),l=[t];function p(r,i,c,d,h,y){return a(),n("div",null,l)}const F=s(o,[["render",p]]);export{C as __pageData,F as default}; diff --git a/docs/assets/extensions_int.md.8d3dd603.lean.js b/docs/assets/extensions_int.md.8d3dd603.lean.js deleted file mode 100644 index 08fe30a0..00000000 --- a/docs/assets/extensions_int.md.8d3dd603.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const C=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1680429319000}'),o={name:"extensions/int.md"},t=e("",49),l=[t];function p(r,i,c,d,h,y){return a(),n("div",null,l)}const F=s(o,[["render",p]]);export{C as __pageData,F as default}; diff --git a/docs/assets/extensions_int.md.adc0cb07.js b/docs/assets/extensions_int.md.adc0cb07.js new file mode 100644 index 00000000..23f32840 --- /dev/null +++ b/docs/assets/extensions_int.md.adc0cb07.js @@ -0,0 +1,39 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1680429319000}'),e={name:"extensions/int.md"},l=o(`

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }
using PeyrSharp.Extensions;
+
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] divs = 16.IsEven(); // true
using PeyrSharp.Extensions;
+
+int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 4, 5 };
+double mean = data.Mean(); // 5
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 4, 5 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 2
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+double d = 16.ToDouble(); // 16.0d
using PeyrSharp.Extensions;
+
+double d = 16.ToDouble(); // 16.0d
`,49),p=[l];function t(r,c,i,y,E,d){return a(),n("div",null,p)}const F=s(e,[["render",t]]);export{u as __pageData,F as default}; diff --git a/docs/assets/extensions_int.md.adc0cb07.lean.js b/docs/assets/extensions_int.md.adc0cb07.lean.js new file mode 100644 index 00000000..406c4dce --- /dev/null +++ b/docs/assets/extensions_int.md.adc0cb07.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1680429319000}'),e={name:"extensions/int.md"},l=o("",49),p=[l];function t(r,c,i,y,E,d){return a(),n("div",null,p)}const F=s(e,[["render",t]]);export{u as __pageData,F as default}; diff --git a/docs/assets/extensions_string.md.57d0b3ae.js b/docs/assets/extensions_string.md.57d0b3ae.js deleted file mode 100644 index ba876324..00000000 --- a/docs/assets/extensions_string.md.57d0b3ae.js +++ /dev/null @@ -1,40 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1678016235000}'),t={name:"extensions/string.md"},o=n(`

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-int numberOfWords = "Hello, this is a test sentence!".CountWords();
-// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
-
-string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
-int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
-// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
-
-string a = "This is a test sentence.";
-string b = "This is an another test sentence.";
-
-a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
-
-string a = "This is a test sentence.";
-string b = "This is an another test sentence.";
-
-a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
-
-string encrypted = "Hello!".EncryptAes("password");
-// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
-
-string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
-// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \\n, \\r, \\r\\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
-
-string[] lines = "Hello\\nWorld".SplitLines();
-// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
-
-string str = "aBcDeFgHiJ";
-string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
-// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
-
-string str = "test";
-string upper = str.ToUpperAt(); // Uppercase the first letter of the string
-// upper = "Test"

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
-
-string reversed = "Hello, world!".Reverse();
-// Output: "!dlrow ,olleH"
`,88),l=[o];function r(p,c,i,d,h,y){return a(),e("div",null,l)}const F=s(t,[["render",r]]);export{D as __pageData,F as default}; diff --git a/docs/assets/extensions_string.md.57d0b3ae.lean.js b/docs/assets/extensions_string.md.57d0b3ae.lean.js deleted file mode 100644 index 437c4754..00000000 --- a/docs/assets/extensions_string.md.57d0b3ae.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,U as n}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1678016235000}'),t={name:"extensions/string.md"},o=n("",88),l=[o];function r(p,c,i,d,h,y){return a(),e("div",null,l)}const F=s(t,[["render",r]]);export{D as __pageData,F as default}; diff --git a/docs/assets/extensions_string.md.5d08846d.js b/docs/assets/extensions_string.md.5d08846d.js new file mode 100644 index 00000000..36200309 --- /dev/null +++ b/docs/assets/extensions_string.md.5d08846d.js @@ -0,0 +1,83 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1678016235000}'),o={name:"extensions/string.md"},t=e(`

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int numberOfWords = "Hello, this is a test sentence!".CountWords();
+// numberOfWords = 6
using PeyrSharp.Extensions;
+
+int numberOfWords = "Hello, this is a test sentence!".CountWords();
+// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
+int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
+// numberOfWords = 6
using PeyrSharp.Extensions;
+
+string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
+int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
+// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b); // true
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b, "."); // true
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "Hello!".EncryptAes("password");
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==
using PeyrSharp.Core;
+
+string encrypted = "Hello!".EncryptAes("password");
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
+// text = Hello!
using PeyrSharp.Core;
+
+string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
+// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+"111".HasRepeatedCharacters(); // true
using PeyrSharp.Extensions;
+
+"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \\n, \\r, \\r\\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] lines = "Hello\\nWorld".SplitLines();
+// lines = { "Hello", "World" }
using PeyrSharp.Extensions;
+
+string[] lines = "Hello\\nWorld".SplitLines();
+// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "aBcDeFgHiJ";
+string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
+// upper = "aBCDEFGhij"
using PeyrSharp.Extensions;
+
+string str = "aBcDeFgHiJ";
+string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
+// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "test";
+string upper = str.ToUpperAt(); // Uppercase the first letter of the string
+// upper = "Test"
using PeyrSharp.Extensions;
+
+string str = "test";
+string upper = str.ToUpperAt(); // Uppercase the first letter of the string
+// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+
+string reversed = "Hello, world!".Reverse();
+// Output: "!dlrow ,olleH"
using PeyrSharp.Extensions;
+
+string reversed = "Hello, world!".Reverse();
+// Output: "!dlrow ,olleH"
`,104),l=[t];function p(r,c,i,d,h,y){return a(),n("div",null,l)}const g=s(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/extensions_string.md.5d08846d.lean.js b/docs/assets/extensions_string.md.5d08846d.lean.js new file mode 100644 index 00000000..3c98e1bc --- /dev/null +++ b/docs/assets/extensions_string.md.5d08846d.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as e}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1678016235000}'),o={name:"extensions/string.md"},t=e("",104),l=[t];function p(r,c,i,d,h,y){return a(),n("div",null,l)}const g=s(o,[["render",p]]);export{u as __pageData,g as default}; diff --git a/docs/assets/get-started.md.a01a8ac8.js b/docs/assets/get-started.md.a01a8ac8.js deleted file mode 100644 index 1b1ff09b..00000000 --- a/docs/assets/get-started.md.a01a8ac8.js +++ /dev/null @@ -1,6 +0,0 @@ -import{_ as a,o as e,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1683355029000}'),l={name:"get-started.md"},o=t(`

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 1.0.0.2211

Package Manager

sh
NuGet\\Install-Package PeyrSharp -Version 1.0.0.2211

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
-using PeyrSharp.Env;
-using PeyrSharp.Enums;
-using PeyrSharp.Exceptions;
-using PeyrSharp.Extensions;
-using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

`,35),n=[o];function r(i,p,c,d,h,u){return e(),s("div",null,n)}const g=a(l,[["render",r]]);export{m as __pageData,g as default}; diff --git a/docs/assets/get-started.md.a01a8ac8.lean.js b/docs/assets/get-started.md.a01a8ac8.lean.js deleted file mode 100644 index 9a55bb31..00000000 --- a/docs/assets/get-started.md.a01a8ac8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,U as t}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1683355029000}'),l={name:"get-started.md"},o=t("",35),n=[o];function r(i,p,c,d,h,u){return e(),s("div",null,n)}const g=a(l,[["render",r]]);export{m as __pageData,g as default}; diff --git a/docs/assets/get-started.md.b142ffa1.js b/docs/assets/get-started.md.b142ffa1.js new file mode 100644 index 00000000..e4b210f3 --- /dev/null +++ b/docs/assets/get-started.md.b142ffa1.js @@ -0,0 +1,11 @@ +import{_ as s,o as a,c as e,Q as l}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1683355029000}'),n={name:"get-started.md"},t=l(`

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 1.0.0.2211
dotnet add package PeyrSharp --version 1.0.0.2211

Package Manager

sh
NuGet\\Install-Package PeyrSharp -Version 1.0.0.2211
NuGet\\Install-Package PeyrSharp -Version 1.0.0.2211

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

`,35),o=[t];function r(p,i,c,d,y,h){return a(),e("div",null,o)}const m=s(n,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/get-started.md.b142ffa1.lean.js b/docs/assets/get-started.md.b142ffa1.lean.js new file mode 100644 index 00000000..e5df19f5 --- /dev/null +++ b/docs/assets/get-started.md.b142ffa1.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as e,Q as l}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1683355029000}'),n={name:"get-started.md"},t=l("",35),o=[t];function r(p,i,c,d,y,h){return a(),e("div",null,o)}const m=s(n,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/index.md.6827c3c3.js b/docs/assets/index.md.541d4bbc.js similarity index 94% rename from docs/assets/index.md.6827c3c3.js rename to docs/assets/index.md.541d4bbc.js index a469d2b0..cc8ff60d 100644 --- a/docs/assets/index.md.6827c3c3.js +++ b/docs/assets/index.md.541d4bbc.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 5 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1665305917000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; +import{_ as e,o as t,c as a}from"./chunks/framework.b637c96f.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 5 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1665305917000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; diff --git a/docs/assets/index.md.6827c3c3.lean.js b/docs/assets/index.md.541d4bbc.lean.js similarity index 94% rename from docs/assets/index.md.6827c3c3.lean.js rename to docs/assets/index.md.541d4bbc.lean.js index a469d2b0..cc8ff60d 100644 --- a/docs/assets/index.md.6827c3c3.lean.js +++ b/docs/assets/index.md.541d4bbc.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.1eef7d9b.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 5 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1665305917000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; +import{_ as e,o as t,c as a}from"./chunks/framework.b637c96f.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 5 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1665305917000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; diff --git a/docs/assets/intro.md.8e286665.js b/docs/assets/intro.md.ea3bafe7.js similarity index 97% rename from docs/assets/intro.md.8e286665.js rename to docs/assets/intro.md.ea3bafe7.js index acf4e1f6..149b6fcf 100644 --- a/docs/assets/intro.md.8e286665.js +++ b/docs/assets/intro.md.ea3bafe7.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r('

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

',24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r('

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

',24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; diff --git a/docs/assets/intro.md.8e286665.lean.js b/docs/assets/intro.md.ea3bafe7.lean.js similarity index 67% rename from docs/assets/intro.md.8e286665.lean.js rename to docs/assets/intro.md.ea3bafe7.lean.js index 7b412942..959f9c23 100644 --- a/docs/assets/intro.md.8e286665.lean.js +++ b/docs/assets/intro.md.ea3bafe7.lean.js @@ -1 +1 @@ -import{_ as t,o as e,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r("",24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; +import{_ as t,o as e,c as a,Q as r}from"./chunks/framework.b637c96f.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r("",24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; diff --git a/docs/assets/reference.md.a31a0df4.lean.js b/docs/assets/reference.md.a31a0df4.lean.js deleted file mode 100644 index ab594c90..00000000 --- a/docs/assets/reference.md.a31a0df4.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c as a,U as l}from"./chunks/framework.1eef7d9b.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1690620922000}'),t={name:"reference.md"},i=l("",14),h=[i];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(t,[["render",o]]);export{d as __pageData,y as default}; diff --git a/docs/assets/reference.md.a31a0df4.js b/docs/assets/reference.md.cbdb1199.js similarity index 88% rename from docs/assets/reference.md.a31a0df4.js rename to docs/assets/reference.md.cbdb1199.js index c434bef0..82f58532 100644 --- a/docs/assets/reference.md.a31a0df4.js +++ b/docs/assets/reference.md.cbdb1199.js @@ -1 +1 @@ -import{_ as e,o as r,c as a,U as l}from"./chunks/framework.1eef7d9b.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1690620922000}'),t={name:"reference.md"},i=l('

Reference

The reference of PeyrSharp.

PeyrSharp.Core

PeyrSharp.Env

PeyrSharp.Enums

PeyrSharp.Exceptions

PeyrSharp.Extensions

PeyrSharp.UiHelpers

',14),h=[i];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(t,[["render",o]]);export{d as __pageData,y as default}; +import{_ as e,o as r,c as a,Q as l}from"./chunks/framework.b637c96f.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1690620922000}'),i={name:"reference.md"},t=l('

Reference

The reference of PeyrSharp.

PeyrSharp.Core

PeyrSharp.Env

PeyrSharp.Enums

PeyrSharp.Exceptions

PeyrSharp.Extensions

PeyrSharp.UiHelpers

',14),h=[t];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(i,[["render",o]]);export{d as __pageData,y as default}; diff --git a/docs/assets/reference.md.cbdb1199.lean.js b/docs/assets/reference.md.cbdb1199.lean.js new file mode 100644 index 00000000..7ba05919 --- /dev/null +++ b/docs/assets/reference.md.cbdb1199.lean.js @@ -0,0 +1 @@ +import{_ as e,o as r,c as a,Q as l}from"./chunks/framework.b637c96f.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1690620922000}'),i={name:"reference.md"},t=l("",14),h=[t];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(i,[["render",o]]);export{d as __pageData,y as default}; diff --git a/docs/assets/style.296d3996.css b/docs/assets/style.296d3996.css deleted file mode 100644 index 01a26a96..00000000 --- a/docs/assets/style.296d3996.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-gray: #8e8e93;--vp-c-text-light-1: rgba(60, 60, 67);--vp-c-text-light-2: rgba(60, 60, 67, .75);--vp-c-text-light-3: rgba(60, 60, 67, .33);--vp-c-text-dark-1: rgba(255, 255, 245, .86);--vp-c-text-dark-2: rgba(235, 235, 245, .6);--vp-c-text-dark-3: rgba(235, 235, 245, .38);--vp-c-green: #10b981;--vp-c-green-light: #34d399;--vp-c-green-lighter: #6ee7b7;--vp-c-green-dark: #059669;--vp-c-green-darker: #047857;--vp-c-green-dimm-1: rgba(16, 185, 129, .05);--vp-c-green-dimm-2: rgba(16, 185, 129, .2);--vp-c-green-dimm-3: rgba(16, 185, 129, .5);--vp-c-yellow: #d97706;--vp-c-yellow-light: #f59e0b;--vp-c-yellow-lighter: #fbbf24;--vp-c-yellow-dark: #b45309;--vp-c-yellow-darker: #92400e;--vp-c-yellow-dimm-1: rgba(234, 179, 8, .05);--vp-c-yellow-dimm-2: rgba(234, 179, 8, .2);--vp-c-yellow-dimm-3: rgba(234, 179, 8, .5);--vp-c-red: #f43f5e;--vp-c-red-light: #fb7185;--vp-c-red-lighter: #fda4af;--vp-c-red-dark: #e11d48;--vp-c-red-darker: #be123c;--vp-c-red-dimm-1: rgba(244, 63, 94, .05);--vp-c-red-dimm-2: rgba(244, 63, 94, .2);--vp-c-red-dimm-3: rgba(244, 63, 94, .5);--vp-c-sponsor: #db2777}:root{--vp-c-bg: #ffffff;--vp-c-bg-elv: #ffffff;--vp-c-bg-elv-up: #ffffff;--vp-c-bg-elv-down: #f6f6f7;--vp-c-bg-elv-mute: #f6f6f7;--vp-c-bg-soft: #f6f6f7;--vp-c-bg-soft-up: #f9f9fa;--vp-c-bg-soft-down: #e3e3e5;--vp-c-bg-soft-mute: #e3e3e5;--vp-c-bg-alt: #f6f6f7;--vp-c-border: rgba(60, 60, 67, .29);--vp-c-divider: rgba(60, 60, 67, .12);--vp-c-gutter: rgba(60, 60, 67, .12);--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white);--vp-c-text-1: var(--vp-c-text-light-1);--vp-c-text-2: var(--vp-c-text-light-2);--vp-c-text-3: var(--vp-c-text-light-3);--vp-c-text-inverse-1: var(--vp-c-text-dark-1);--vp-c-text-inverse-2: var(--vp-c-text-dark-2);--vp-c-text-inverse-3: var(--vp-c-text-dark-3);--vp-c-text-code: #476582;--vp-c-brand: var(--vp-c-green);--vp-c-brand-light: var(--vp-c-green-light);--vp-c-brand-lighter: var(--vp-c-green-lighter);--vp-c-brand-dark: var(--vp-c-green-dark);--vp-c-brand-darker: var(--vp-c-green-darker);--vp-c-mute: #f6f6f7;--vp-c-mute-light: #f9f9fc;--vp-c-mute-lighter: #ffffff;--vp-c-mute-dark: #e3e3e5;--vp-c-mute-darker: #d7d7d9}.dark{--vp-c-bg: #1e1e20;--vp-c-bg-elv: #252529;--vp-c-bg-elv-up: #313136;--vp-c-bg-elv-down: #1e1e20;--vp-c-bg-elv-mute: #313136;--vp-c-bg-soft: #252529;--vp-c-bg-soft-up: #313136;--vp-c-bg-soft-down: #1e1e20;--vp-c-bg-soft-mute: #313136;--vp-c-bg-alt: #161618;--vp-c-border: rgba(82, 82, 89, .68);--vp-c-divider: rgba(82, 82, 89, .32);--vp-c-gutter: #000000;--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black);--vp-c-text-1: var(--vp-c-text-dark-1);--vp-c-text-2: var(--vp-c-text-dark-2);--vp-c-text-3: var(--vp-c-text-dark-3);--vp-c-text-inverse-1: var(--vp-c-text-light-1);--vp-c-text-inverse-2: var(--vp-c-text-light-2);--vp-c-text-inverse-3: var(--vp-c-text-light-3);--vp-c-text-code: #c9def1;--vp-c-mute: #313136;--vp-c-mute-light: #3a3a3c;--vp-c-mute-lighter: #505053;--vp-c-mute-dark: #2c2c30;--vp-c-mute-darker: #252529}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-c-code-dimm: var(--vp-c-text-dark-3);--vp-code-block-color: var(--vp-c-text-dark-1);--vp-code-block-bg: #292b30;--vp-code-block-bg-light: #1e1e20;--vp-code-block-divider-color: #000000;--vp-code-line-highlight-color: rgba(0, 0, 0, .5);--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-line-diff-add-color: var(--vp-c-green-dimm-2);--vp-code-line-diff-add-symbol-color: var(--vp-c-green);--vp-code-line-diff-remove-color: var(--vp-c-red-dimm-2);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red);--vp-code-line-warning-color: var(--vp-c-yellow-dimm-2);--vp-code-line-error-color: var(--vp-c-red-dimm-2);--vp-code-copy-code-border-color: transparent;--vp-code-copy-code-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-code-block-bg-light);--vp-code-copy-code-active-text: var(--vp-c-text-dark-2);--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-dark-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-text-color: var(--vp-c-text-dark-1);--vp-code-tab-active-bar-color: var(--vp-c-brand)}.dark{--vp-code-block-bg: #161618}:root:not(.dark) .vp-adaptive-theme{--vp-c-code-dimm: var(--vp-c-text-2);--vp-code-block-color: var(--vp-c-text-1);--vp-code-block-bg: #f8f8f8;--vp-code-block-divider-color: var(--vp-c-divider);--vp-code-line-highlight-color: #ececec;--vp-code-line-number-color: var(--vp-c-code-dimm);--vp-code-copy-code-bg: #e2e2e2;--vp-code-copy-code-hover-bg: #dcdcdc;--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-tab-divider: var(--vp-c-divider);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1)}:root{--vp-button-brand-border: var(--vp-c-brand-lighter);--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand);--vp-button-brand-hover-border: var(--vp-c-brand-lighter);--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-dark);--vp-button-brand-active-border: var(--vp-c-brand-lighter);--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-darker);--vp-button-alt-border: var(--vp-c-border);--vp-button-alt-text: var(--vp-c-neutral);--vp-button-alt-bg: var(--vp-c-mute);--vp-button-alt-hover-border: var(--vp-c-border);--vp-button-alt-hover-text: var(--vp-c-neutral);--vp-button-alt-hover-bg: var(--vp-c-mute-dark);--vp-button-alt-active-border: var(--vp-c-border);--vp-button-alt-active-text: var(--vp-c-neutral);--vp-button-alt-active-bg: var(--vp-c-mute-darker);--vp-button-sponsor-border: var(--vp-c-gray-light-3);--vp-button-sponsor-text: var(--vp-c-text-light-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}.dark{--vp-button-sponsor-border: var(--vp-c-gray-dark-1);--vp-button-sponsor-text: var(--vp-c-text-dark-2)}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: var(--vp-c-border);--vp-custom-block-info-text: var(--vp-c-text-2);--vp-custom-block-info-bg: var(--vp-c-bg-soft-up);--vp-custom-block-info-code-bg: var(--vp-c-bg-soft);--vp-custom-block-tip-border: var(--vp-c-green);--vp-custom-block-tip-text: var(--vp-c-green-dark);--vp-custom-block-tip-bg: var(--vp-c-bg-soft-up);--vp-custom-block-tip-code-bg: var(--vp-c-bg-soft);--vp-custom-block-warning-border: var(--vp-c-yellow);--vp-custom-block-warning-text: var(--vp-c-yellow);--vp-custom-block-warning-bg: var(--vp-c-bg-soft-up);--vp-custom-block-warning-code-bg: var(--vp-c-bg-soft);--vp-custom-block-danger-border: var(--vp-c-red);--vp-custom-block-danger-text: var(--vp-c-red);--vp-custom-block-danger-bg: var(--vp-c-bg-soft-up);--vp-custom-block-danger-code-bg: var(--vp-c-bg-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-details-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-hover-border-color: var(--vp-c-gray);--vp-input-switch-bg-color: var(--vp-c-mute)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: var(--vp-c-border);--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-bg-soft-up);--vp-badge-tip-border: var(--vp-c-green-dark);--vp-badge-tip-text: var(--vp-c-green);--vp-badge-tip-bg: var(--vp-c-green-dimm-1);--vp-badge-warning-border: var(--vp-c-yellow-dark);--vp-badge-warning-text: var(--vp-c-yellow);--vp-badge-warning-bg: var(--vp-c-yellow-dimm-1);--vp-badge-danger-border: var(--vp-c-red-dark);--vp-badge-danger-text: var(--vp-c-red);--vp-badge-danger-bg: var(--vp-c-red-dimm-1)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand);--vp-local-search-highlight-bg: var(--vp-c-green-lighter);--vp-local-search-highlight-text: var(--vp-c-black)}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600}.custom-block a:hover{text-decoration:underline}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden}.vp-code-group .tabs:after{position:absolute;right:0;bottom:0;left:0;height:1px;background-color:var(--vp-code-tab-divider);content:""}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:absolute;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:1px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-]{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active{display:block}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{float:left;margin-left:-.87em;padding-right:.23em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.vp-doc a:hover{text-decoration:underline}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block a{color:inherit;font-weight:600}.vp-doc .custom-block a:hover{text-decoration:underline}.vp-doc .custom-block code{font-size:var(--vp-custom-block-code-font-size);font-weight:700;color:inherit}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;color:var(--vp-c-text-code);background-color:var(--vp-c-mute);transition:color .5s,background-color .5s}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc a>code{color:var(--vp-c-brand);transition:color .25s}.vp-doc a:hover>code{color:var(--vp-c-brand-dark)}.vp-doc div[class*=language-]{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-]{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;left:-65px;display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;width:64px;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:"Copied"}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-c-code-dimm);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-bg-soft-down)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-ce917cfb]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:10px;padding:0 8px;line-height:18px;font-size:12px;font-weight:600;transform:translateY(-2px)}h1 .VPBadge[data-v-ce917cfb],h2 .VPBadge[data-v-ce917cfb],h3 .VPBadge[data-v-ce917cfb],h4 .VPBadge[data-v-ce917cfb],h5 .VPBadge[data-v-ce917cfb],h6 .VPBadge[data-v-ce917cfb]{vertical-align:top}h2 .VPBadge[data-v-ce917cfb]{border-radius:11px;line-height:20px}.VPBadge.info[data-v-ce917cfb]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-ce917cfb]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-ce917cfb]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-ce917cfb]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-54a304ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-54a304ca],.VPBackdrop.fade-leave-to[data-v-54a304ca]{opacity:0}.VPBackdrop.fade-leave-active[data-v-54a304ca]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-54a304ca]{display:none}}.NotFound[data-v-e5bd6573]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-e5bd6573]{padding:96px 32px 168px}}.code[data-v-e5bd6573]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-e5bd6573]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-e5bd6573]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-e5bd6573]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-e5bd6573]{padding-top:20px}.link[data-v-e5bd6573]{display:inline-block;border:1px solid var(--vp-c-brand);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:border-color .25s,color .25s}.link[data-v-e5bd6573]:hover{border-color:var(--vp-c-brand-dark);color:var(--vp-c-brand-dark)}.root[data-v-89c8d7c6]{position:relative;z-index:1}.nested[data-v-89c8d7c6]{padding-left:13px}.outline-link[data-v-89c8d7c6]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:500}.outline-link[data-v-89c8d7c6]:hover,.outline-link.active[data-v-89c8d7c6]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-89c8d7c6]{padding-left:13px}.VPDocAsideOutline[data-v-c834746b]{display:none}.VPDocAsideOutline.has-outline[data-v-c834746b]{display:block}.content[data-v-c834746b]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-c834746b]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:1px;height:18px;background-color:var(--vp-c-brand);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-c834746b]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-cb998dce]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cb998dce]{flex-grow:1}.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cb998dce] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-b89b6307]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-b89b6307]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-5774f702]{margin-top:64px}.edit-info[data-v-5774f702]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-5774f702]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-5774f702]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.edit-link-button[data-v-5774f702]:hover{color:var(--vp-c-brand-dark)}.edit-link-icon[data-v-5774f702]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-5774f702]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-5774f702]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-5774f702]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-5774f702]:hover{border-color:var(--vp-c-brand)}.pager-link.next[data-v-5774f702]{margin-left:auto;text-align:right}.desc[data-v-5774f702]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-5774f702]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand);transition:color .25s}.VPDocOutlineDropdown[data-v-2d98506c]{margin-bottom:42px}.VPDocOutlineDropdown button[data-v-2d98506c]{display:block;font-size:14px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;border:1px solid var(--vp-c-border);padding:4px 12px;border-radius:8px}.VPDocOutlineDropdown button[data-v-2d98506c]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-2d98506c]{color:var(--vp-c-text-1)}.icon[data-v-2d98506c]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-2d98506c] .outline-link{font-size:13px}.open>.icon[data-v-2d98506c]{transform:rotate(90deg)}.items[data-v-2d98506c]{margin-top:10px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-a3c25e27]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:block}}@media (min-width: 768px){.VPDoc[data-v-a3c25e27]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-a3c25e27]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-a3c25e27]{display:flex;justify-content:center}.VPDoc .aside[data-v-a3c25e27]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{max-width:1104px}}.container[data-v-a3c25e27]{margin:0 auto;width:100%}.aside[data-v-a3c25e27]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-a3c25e27]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-a3c25e27]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-a3c25e27]::-webkit-scrollbar{display:none}.aside-curtain[data-v-a3c25e27]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-a3c25e27]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-a3c25e27]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-a3c25e27]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-a3c25e27]{order:1;margin:0;min-width:640px}}.content-container[data-v-a3c25e27]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-a3c25e27]{max-width:688px}.external-link-icon-enabled[data-v-a3c25e27] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-fa1633a1]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-fa1633a1]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-fa1633a1]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-fa1633a1]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-fa1633a1]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-fa1633a1]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-fa1633a1]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-fa1633a1]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-fa1633a1]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-fa1633a1]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-fa1633a1]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-fa1633a1]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-fa1633a1]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-dc109a54]{display:none}.dark .VPImage.light[data-v-dc109a54]{display:none}.VPHero[data-v-5a3e9999]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-5a3e9999]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-5a3e9999]{flex-direction:row}}.main[data-v-5a3e9999]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-5a3e9999]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-5a3e9999]{text-align:left}}@media (min-width: 960px){.main[data-v-5a3e9999]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-5a3e9999]{max-width:592px}}.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0 auto}.name[data-v-5a3e9999]{color:var(--vp-home-hero-name-color)}.clip[data-v-5a3e9999]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0}}.tagline[data-v-5a3e9999]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-5a3e9999]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-5a3e9999]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0}}.actions[data-v-5a3e9999]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:center}@media (min-width: 640px){.actions[data-v-5a3e9999]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:flex-start}}.action[data-v-5a3e9999]{flex-shrink:0;padding:6px}.image[data-v-5a3e9999]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-5a3e9999]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-5a3e9999]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-5a3e9999]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-5a3e9999]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-5a3e9999]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-5a3e9999]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-5a3e9999]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-5a3e9999]{width:320px;height:320px}}[data-v-5a3e9999] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-5a3e9999] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-5a3e9999] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-37d05ba9]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-37d05ba9]:hover{border-color:var(--vp-c-brand);background-color:var(--vp-c-bg-soft-up)}.box[data-v-37d05ba9]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-37d05ba9] .VPImage{width:48px;height:48px;margin-bottom:20px}.icon[data-v-37d05ba9]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-bg-soft-down);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-37d05ba9]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-37d05ba9]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-37d05ba9]{padding-top:8px}.link-text-value[data-v-37d05ba9]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand)}.link-text-icon[data-v-37d05ba9]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-fcd3089b]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-fcd3089b]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-fcd3089b]{padding:0 64px}}.container[data-v-fcd3089b]{margin:0 auto;max-width:1152px}.items[data-v-fcd3089b]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-fcd3089b]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-fcd3089b],.item.grid-4[data-v-fcd3089b],.item.grid-6[data-v-fcd3089b]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-fcd3089b],.item.grid-4[data-v-fcd3089b]{width:50%}.item.grid-3[data-v-fcd3089b],.item.grid-6[data-v-fcd3089b]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-fcd3089b]{width:25%}}.VPHome[data-v-20eabd3a]{padding-bottom:96px}.VPHome[data-v-20eabd3a] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-20eabd3a]{padding-bottom:128px}}.VPContent[data-v-f0629f57]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-f0629f57]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-f0629f57]{margin:0}@media (min-width: 960px){.VPContent[data-v-f0629f57]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-f0629f57]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-f0629f57]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e4279f1c]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e4279f1c]{display:none}@media (min-width: 768px){.VPFooter[data-v-e4279f1c]{padding:32px}}.container[data-v-e4279f1c]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e4279f1c],.copyright[data-v-e4279f1c]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-bd10e8af]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-bd10e8af]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-bd10e8af]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-bd10e8af]{color:var(--vp-c-text-1)}.icon[data-v-bd10e8af]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-bd10e8af] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-bd10e8af]{transform:rotate(90deg)}.items[data-v-bd10e8af]{position:absolute;left:20px;right:20px;top:64px;background-color:var(--vp-local-nav-bg-color);padding:4px 10px 16px;border:1px solid var(--vp-c-divider);border-radius:8px;max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.top-link[data-v-bd10e8af]{display:block;color:var(--vp-c-brand);font-size:13px;font-weight:500;padding:6px 0;margin:0 13px 10px;border-bottom:1px solid var(--vp-c-divider)}.flyout-enter-active[data-v-bd10e8af]{transition:all .2s ease-out}.flyout-leave-active[data-v-bd10e8af]{transition:all .15s ease-in}.flyout-enter-from[data-v-bd10e8af],.flyout-leave-to[data-v-bd10e8af]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-693d654a]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-693d654a]{position:fixed}.VPLocalNav.reached-top[data-v-693d654a]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-693d654a]{display:none}}.menu[data-v-693d654a]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-693d654a]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-693d654a]{padding:0 32px}}.menu-icon[data-v-693d654a]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-693d654a]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-693d654a]{padding:12px 32px 11px}}.VPSwitch[data-v-92d8f6fb]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s}.VPSwitch[data-v-92d8f6fb]:hover{border-color:var(--vp-input-hover-border-color)}.check[data-v-92d8f6fb]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s}.icon[data-v-92d8f6fb]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-92d8f6fb] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-92d8f6fb] svg{fill:var(--vp-c-text-1);transition:opacity .25s}.sun[data-v-a99ed743]{opacity:1}.moon[data-v-a99ed743],.dark .sun[data-v-a99ed743]{opacity:0}.dark .moon[data-v-a99ed743]{opacity:1}.dark .VPSwitchAppearance[data-v-a99ed743] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-5e9f0637]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-5e9f0637]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-2a4d50e5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-2a4d50e5]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-2a4d50e5]:hover{color:var(--vp-c-brand);background-color:var(--vp-c-bg-elv-mute)}.link.active[data-v-2a4d50e5]{color:var(--vp-c-brand)}.VPMenuGroup[data-v-a6b0397c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a6b0397c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a6b0397c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a6b0397c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e42ed9b3]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e42ed9b3] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e42ed9b3] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e42ed9b3] .group:last-child{padding-bottom:0}.VPMenu[data-v-e42ed9b3] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e42ed9b3] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e42ed9b3] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e42ed9b3] .action{padding-left:24px}.VPFlyout[data-v-6afe904b]{position:relative}.VPFlyout[data-v-6afe904b]:hover{color:var(--vp-c-brand);transition:color .25s}.VPFlyout:hover .text[data-v-6afe904b]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-6afe904b]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-6afe904b]{color:var(--vp-c-brand)}.VPFlyout.active:hover .text[data-v-6afe904b]{color:var(--vp-c-brand-dark)}.VPFlyout:hover .menu[data-v-6afe904b],.button[aria-expanded=true]+.menu[data-v-6afe904b]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-6afe904b]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-6afe904b]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-6afe904b]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-6afe904b]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-6afe904b]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-6afe904b]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-16cf740a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-16cf740a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-16cf740a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e71e869c]{display:flex;justify-content:center}.VPNavBarExtra[data-v-c8c2ae4b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-c8c2ae4b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-c8c2ae4b]{display:none}}.trans-title[data-v-c8c2ae4b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-c8c2ae4b],.item.social-links[data-v-c8c2ae4b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-c8c2ae4b]{min-width:176px}.appearance-action[data-v-c8c2ae4b]{margin-right:-2px}.social-links-list[data-v-c8c2ae4b]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee1efd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee1efd]{display:none}}.container[data-v-6bee1efd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee1efd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee1efd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee1efd],.VPNavBarHamburger.active:hover .middle[data-v-6bee1efd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee1efd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee1efd],.middle[data-v-6bee1efd],.bottom[data-v-6bee1efd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee1efd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-7f10a92a]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-7f10a92a],.VPNavBarMenuLink[data-v-7f10a92a]:hover{color:var(--vp-c-brand)}.VPNavBarMenu[data-v-f732b5d0]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-f732b5d0]{display:flex}}/*! @docsearch/css 3.5.1 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.DocSearch{--docsearch-primary-color: var(--vp-c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark .DocSearch{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-bg-soft-mute);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-bg-soft-mute)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-ef6192dc]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ef6192dc]{display:flex;align-items:center}}.title[data-v-6d57964e]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-6d57964e]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-6d57964e]{border-bottom-color:var(--vp-c-divider)}}[data-v-6d57964e] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-ff4524ae]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-ff4524ae]{display:flex;align-items:center}}.title[data-v-ff4524ae]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-4077a65e]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-4077a65e]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-4077a65e]{padding:0}.VPNavBar.fill[data-v-4077a65e]:not(.has-sidebar){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-4077a65e]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-4077a65e],.container>.content[data-v-4077a65e]{pointer-events:none}.container[data-v-4077a65e] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-4077a65e]{max-width:100%}}.title[data-v-4077a65e]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-4077a65e]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-4077a65e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-4077a65e]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-4077a65e]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-4077a65e]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-4077a65e]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .content-body[data-v-4077a65e],.VPNavBar.fill .content-body[data-v-4077a65e]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 768px){.content-body[data-v-4077a65e]{column-gap:.5rem}}.menu+.translations[data-v-4077a65e]:before,.menu+.appearance[data-v-4077a65e]:before,.menu+.social-links[data-v-4077a65e]:before,.translations+.appearance[data-v-4077a65e]:before,.appearance+.social-links[data-v-4077a65e]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-4077a65e]:before,.translations+.appearance[data-v-4077a65e]:before{margin-right:16px}.appearance+.social-links[data-v-4077a65e]:before{margin-left:16px}.social-links[data-v-4077a65e]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-4077a65e]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-4077a65e]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-4077a65e]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenMenuLink[data-v-08b49756]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-08b49756]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupLink[data-v-97083fb3]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-97083fb3]:hover{color:var(--vp-c-brand)}.VPNavScreenMenuGroupSection[data-v-f60dbfa7]{display:block}.title[data-v-f60dbfa7]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-10e00a88]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-10e00a88]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-10e00a88]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-10e00a88]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-10e00a88]{padding-bottom:6px;color:var(--vp-c-brand)}.VPNavScreenMenuGroup.open .button-icon[data-v-10e00a88]{transform:rotate(45deg)}.button[data-v-10e00a88]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-10e00a88]:hover{color:var(--vp-c-brand)}.button-icon[data-v-10e00a88]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-10e00a88]:first-child{padding-top:0}.group+.group[data-v-10e00a88],.group+.item[data-v-10e00a88]{padding-top:4px}.VPNavScreenAppearance[data-v-0dc5cf49]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-0dc5cf49]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenTranslations[data-v-41505286]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-41505286]{height:auto}.title[data-v-41505286]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-41505286]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-41505286]{margin-right:8px}.icon.chevron[data-v-41505286]{margin-left:4px}.list[data-v-41505286]{padding:4px 0 0 24px}.link[data-v-41505286]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-dc785598]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-dc785598],.VPNavScreen.fade-leave-active[data-v-dc785598]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-dc785598],.VPNavScreen.fade-leave-active .container[data-v-dc785598]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-dc785598],.VPNavScreen.fade-leave-to[data-v-dc785598]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-dc785598],.VPNavScreen.fade-leave-to .container[data-v-dc785598]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-dc785598]{display:none}}.container[data-v-dc785598]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-dc785598],.menu+.appearance[data-v-dc785598],.translations+.appearance[data-v-dc785598]{margin-top:24px}.menu+.social-links[data-v-dc785598]{margin-top:16px}.appearance+.social-links[data-v-dc785598]{margin-top:16px}.VPNav[data-v-5bdc5df3]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-5bdc5df3]{position:fixed}}.VPSidebarItem.level-0[data-v-66c2f55a]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-66c2f55a]{padding-bottom:10px}.item[data-v-66c2f55a]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-66c2f55a]{cursor:pointer}.indicator[data-v-66c2f55a]{position:absolute;top:6px;bottom:6px;left:-17px;width:1px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-66c2f55a],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-66c2f55a],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-66c2f55a],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-66c2f55a]{background-color:var(--vp-c-brand)}.link[data-v-66c2f55a]{display:flex;align-items:center;flex-grow:1}.text[data-v-66c2f55a]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-66c2f55a]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-66c2f55a],.VPSidebarItem.level-2 .text[data-v-66c2f55a],.VPSidebarItem.level-3 .text[data-v-66c2f55a],.VPSidebarItem.level-4 .text[data-v-66c2f55a],.VPSidebarItem.level-5 .text[data-v-66c2f55a]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-66c2f55a],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-66c2f55a],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-66c2f55a],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-66c2f55a],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-66c2f55a],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-66c2f55a]{color:var(--vp-c-brand)}.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-66c2f55a],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-66c2f55a],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-66c2f55a],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-66c2f55a],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-66c2f55a],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-66c2f55a]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-66c2f55a],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-66c2f55a],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-66c2f55a],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-66c2f55a],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-66c2f55a],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-66c2f55a]{color:var(--vp-c-brand)}.caret[data-v-66c2f55a]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-66c2f55a]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-66c2f55a]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-66c2f55a]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-66c2f55a]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-66c2f55a],.VPSidebarItem.level-2 .items[data-v-66c2f55a],.VPSidebarItem.level-3 .items[data-v-66c2f55a],.VPSidebarItem.level-4 .items[data-v-66c2f55a],.VPSidebarItem.level-5 .items[data-v-66c2f55a]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-66c2f55a]{display:none}.VPSidebar[data-v-b04a928c]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-b04a928c]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-b04a928c]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-b04a928c]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-b04a928c]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-b04a928c]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-b04a928c]{outline:0}.group+.group[data-v-b04a928c]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-b04a928c]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-9c8615dd]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-9c8615dd]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-9c8615dd]{top:14px;left:16px}}.Layout[data-v-ffdc1df7]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-978bd032]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-978bd032]{margin:0 auto;max-width:1152px}.love[data-v-978bd032]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-978bd032]{width:28px;height:28px;fill:currentColor}.message[data-v-978bd032]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-978bd032]{padding-top:32px}.action[data-v-978bd032]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1cfd8dc-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:96px}}.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 64px}}.VPTeamPageTitle[data-v-46c5e327]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-46c5e327]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-46c5e327]{padding:80px 64px 48px}}.title[data-v-46c5e327]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-46c5e327]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-46c5e327]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-46c5e327]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-3bf2e850]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 64px}}.title[data-v-3bf2e850]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-3bf2e850]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-3bf2e850]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-3bf2e850]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-3bf2e850]{padding-top:40px}.VPTeamMembersItem[data-v-b0e83e62]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-b0e83e62]{padding:32px}.VPTeamMembersItem.small .data[data-v-b0e83e62]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-b0e83e62]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-b0e83e62]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-b0e83e62]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-b0e83e62]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-b0e83e62]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-b0e83e62]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-b0e83e62]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-b0e83e62]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-b0e83e62]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-b0e83e62]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-b0e83e62]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-b0e83e62]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-b0e83e62]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-b0e83e62]{text-align:center}.avatar[data-v-b0e83e62]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-b0e83e62]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-b0e83e62]{margin:0;font-weight:600}.affiliation[data-v-b0e83e62]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-b0e83e62]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-b0e83e62]:hover{color:var(--vp-c-brand)}.desc[data-v-b0e83e62]{margin:0 auto}.desc[data-v-b0e83e62] a{font-weight:500;color:var(--vp-c-brand);text-decoration-style:dotted;transition:color .25s}.links[data-v-b0e83e62]{display:flex;justify-content:center;height:56px}.sp-link[data-v-b0e83e62]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-b0e83e62]:hover,.sp .sp-link.link[data-v-b0e83e62]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-b0e83e62]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-6927e48e]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-6927e48e]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-6927e48e]{max-width:876px}.VPTeamMembers.medium .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-6927e48e]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-6927e48e]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-6927e48e]{max-width:760px}.container[data-v-6927e48e]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #00E0FF;--vp-c-brand-light: #00E0FF;--vp-c-brand-lighter: #00FF57;--vp-c-brand-dark: #00E0FF;--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient(135deg, #00E0FF 0%, #00FF57 100%)}html.dark{--vp-c-bg: #0a0a1e;--vp-c-bg-light: #141428;--vp-c-bg-lighter: #1e1e32;--vp-code-bg-color: #1e1e32;--vp-c-black-mute: #1e1e32;--vp-c-black: #1e1e32;--vp-c-bg-soft: #1e1e32} diff --git a/docs/assets/style.ddb68ab6.css b/docs/assets/style.ddb68ab6.css new file mode 100644 index 00000000..b20a0a15 --- /dev/null +++ b/docs/assets/style.ddb68ab6.css @@ -0,0 +1 @@ +@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.5f2c6c8c.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.e75737ce.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.d5a6d92a.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.ab0619bc.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.2ed14f66.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.0030eebd.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.14ce25a6.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.ea42a392.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.8f4463c4.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.4fbe9427.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.bd3b6f56.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.bd8920cc.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.6ce511fb.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-local-nav: 10;--vp-z-index-nav: 20;--vp-z-index-layout-top: 30;--vp-z-index-backdrop: 40;--vp-z-index-sidebar: 50;--vp-z-index-footer: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-green-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-green-1);--vp-code-line-diff-remove-color: var(--vp-c-red-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red-1);--vp-code-line-warning-color: var(--vp-c-yellow-soft);--vp-code-line-error-color: var(--vp-c-red-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-gray-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-brand-1);--vp-badge-tip-bg: var(--vp-c-brand-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-green-1);--vp-local-search-highlight-text: var(--vp-c-black)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-brand-1)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code-light{display:none}html:not(.dark) .vp-code-dark{display:none}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-ea5b2908]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.vp-doc h1>.VPBadge[data-v-ea5b2908]{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge[data-v-ea5b2908]{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge[data-v-ea5b2908]{vertical-align:middle}.vp-doc h4>.VPBadge[data-v-ea5b2908],.vp-doc h5>.VPBadge[data-v-ea5b2908],.vp-doc h6>.VPBadge[data-v-ea5b2908]{vertical-align:middle;line-height:18px}.VPBadge.info[data-v-ea5b2908]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-ea5b2908]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-ea5b2908]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-ea5b2908]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-54a304ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-54a304ca],.VPBackdrop.fade-leave-to[data-v-54a304ca]{opacity:0}.VPBackdrop.fade-leave-active[data-v-54a304ca]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-54a304ca]{display:none}}.NotFound[data-v-b9c0c15a]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-b9c0c15a]{padding:96px 32px 168px}}.code[data-v-b9c0c15a]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-b9c0c15a]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-b9c0c15a]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-b9c0c15a]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-b9c0c15a]{padding-top:20px}.link[data-v-b9c0c15a]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-b9c0c15a]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-463da30f]{position:relative;z-index:1}.nested[data-v-463da30f]{padding-left:16px}.outline-link[data-v-463da30f]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-463da30f]:hover,.outline-link.active[data-v-463da30f]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-463da30f]{padding-left:13px}.VPDocAsideOutline[data-v-626d8d18]{display:none}.VPDocAsideOutline.has-outline[data-v-626d8d18]{display:block}.content[data-v-626d8d18]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-626d8d18]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-626d8d18]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-cb998dce]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cb998dce]{flex-grow:1}.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cb998dce] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-6a7fda06]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-6a7fda06]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-a2d931e4]{margin-top:64px}.edit-info[data-v-a2d931e4]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-a2d931e4]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-a2d931e4]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-a2d931e4]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-a2d931e4]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-a2d931e4]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-a2d931e4]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-a2d931e4]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-a2d931e4]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-a2d931e4]{margin-left:auto;text-align:right}.desc[data-v-a2d931e4]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-a2d931e4]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDocOutlineDropdown[data-v-95bb0785]{margin-bottom:48px}.VPDocOutlineDropdown button[data-v-95bb0785]{display:block;font-size:14px;font-weight:500;line-height:24px;border:1px solid var(--vp-c-border);padding:4px 12px;color:var(--vp-c-text-2);background-color:var(--vp-c-default-soft);border-radius:8px;transition:color .5s}.VPDocOutlineDropdown button[data-v-95bb0785]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-95bb0785]{color:var(--vp-c-text-1)}.icon[data-v-95bb0785]{display:inline-block;vertical-align:middle;width:16px;height:16px;fill:currentColor}[data-v-95bb0785] .outline-link{font-size:14px;font-weight:400}.open>.icon[data-v-95bb0785]{transform:rotate(90deg)}.items[data-v-95bb0785]{margin-top:12px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-a3c25e27]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:block}}@media (min-width: 768px){.VPDoc[data-v-a3c25e27]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-a3c25e27]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-a3c25e27]{display:flex;justify-content:center}.VPDoc .aside[data-v-a3c25e27]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{max-width:1104px}}.container[data-v-a3c25e27]{margin:0 auto;width:100%}.aside[data-v-a3c25e27]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-a3c25e27]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-a3c25e27]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-a3c25e27]::-webkit-scrollbar{display:none}.aside-curtain[data-v-a3c25e27]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-a3c25e27]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-a3c25e27]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-a3c25e27]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-a3c25e27]{order:1;margin:0;min-width:640px}}.content-container[data-v-a3c25e27]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-a3c25e27]{max-width:688px}.external-link-icon-enabled[data-v-a3c25e27] :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-1e76fe75]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-1e76fe75]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-1e76fe75]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-1e76fe75]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-1e76fe75]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-1e76fe75]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-1e76fe75]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-1e76fe75]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-1e76fe75]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-1e76fe75]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-1e76fe75]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-1e76fe75]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-1e76fe75]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-ab19afbb]{display:none}.dark .VPImage.light[data-v-ab19afbb]{display:none}.VPHero[data-v-5a3e9999]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-5a3e9999]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-5a3e9999]{flex-direction:row}}.main[data-v-5a3e9999]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-5a3e9999]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-5a3e9999]{text-align:left}}@media (min-width: 960px){.main[data-v-5a3e9999]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-5a3e9999]{max-width:592px}}.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0 auto}.name[data-v-5a3e9999]{color:var(--vp-home-hero-name-color)}.clip[data-v-5a3e9999]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0}}.tagline[data-v-5a3e9999]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-5a3e9999]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-5a3e9999]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0}}.actions[data-v-5a3e9999]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:center}@media (min-width: 640px){.actions[data-v-5a3e9999]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:flex-start}}.action[data-v-5a3e9999]{flex-shrink:0;padding:6px}.image[data-v-5a3e9999]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-5a3e9999]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-5a3e9999]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-5a3e9999]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-5a3e9999]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-5a3e9999]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-5a3e9999]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-5a3e9999]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-5a3e9999]{width:320px;height:320px}}[data-v-5a3e9999] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-5a3e9999] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-5a3e9999] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-6c0c85a1]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-6c0c85a1]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-6c0c85a1]{display:flex;flex-direction:column;padding:24px;height:100%}.VPFeature[data-v-6c0c85a1] .VPImage{margin-bottom:20px}.icon[data-v-6c0c85a1]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-6c0c85a1]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-6c0c85a1]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-6c0c85a1]{padding-top:8px}.link-text-value[data-v-6c0c85a1]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-6c0c85a1]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-7e232fde]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-7e232fde]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-7e232fde]{padding:0 64px}}.container[data-v-7e232fde]{margin:0 auto;max-width:1152px}.items[data-v-7e232fde]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-7e232fde]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-7e232fde],.item.grid-4[data-v-7e232fde],.item.grid-6[data-v-7e232fde]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-7e232fde],.item.grid-4[data-v-7e232fde]{width:50%}.item.grid-3[data-v-7e232fde],.item.grid-6[data-v-7e232fde]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-7e232fde]{width:25%}}.VPHome[data-v-20eabd3a]{padding-bottom:96px}.VPHome[data-v-20eabd3a] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-20eabd3a]{padding-bottom:128px}}.VPContent[data-v-3cf691b6]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-3cf691b6]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-3cf691b6]{margin:0}@media (min-width: 960px){.VPContent[data-v-3cf691b6]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-3cf691b6]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-3cf691b6]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-e4279f1c]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-e4279f1c]{display:none}@media (min-width: 768px){.VPFooter[data-v-e4279f1c]{padding:32px}}.container[data-v-e4279f1c]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-e4279f1c],.copyright[data-v-e4279f1c]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-24251f6f]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-24251f6f]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-24251f6f]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-24251f6f]{color:var(--vp-c-text-1)}.icon[data-v-24251f6f]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-24251f6f] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-24251f6f]{transform:rotate(90deg)}.items[data-v-24251f6f]{position:absolute;top:64px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-24251f6f]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-24251f6f]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-24251f6f]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-24251f6f]{transition:all .2s ease-out}.flyout-leave-active[data-v-24251f6f]{transition:all .15s ease-in}.flyout-enter-from[data-v-24251f6f],.flyout-leave-to[data-v-24251f6f]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-9e669cc1]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-9e669cc1]{position:fixed}.VPLocalNav.reached-top[data-v-9e669cc1]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-9e669cc1]{display:none}}.menu[data-v-9e669cc1]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-9e669cc1]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-9e669cc1]{padding:0 32px}}.menu-icon[data-v-9e669cc1]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-9e669cc1]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-9e669cc1]{padding:12px 32px 11px}}.VPSwitch[data-v-1c29e291]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-1c29e291]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1c29e291]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-1c29e291]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1c29e291] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-1c29e291] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-3329432d]{opacity:1}.moon[data-v-3329432d],.dark .sun[data-v-3329432d]{opacity:0}.dark .moon[data-v-3329432d]{opacity:1}.dark .VPSwitchAppearance[data-v-3329432d] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-5e9f0637]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-5e9f0637]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-f51f088d]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-f51f088d]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-f51f088d]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-f51f088d]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-a6b0397c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a6b0397c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a6b0397c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a6b0397c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e42ed9b3]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e42ed9b3] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e42ed9b3] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e42ed9b3] .group:last-child{padding-bottom:0}.VPMenu[data-v-e42ed9b3] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e42ed9b3] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e42ed9b3] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e42ed9b3] .action{padding-left:24px}.VPFlyout[data-v-aa8de344]{position:relative}.VPFlyout[data-v-aa8de344]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-aa8de344]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-aa8de344]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-aa8de344]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-aa8de344]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-aa8de344],.button[aria-expanded=true]+.menu[data-v-aa8de344]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-aa8de344]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-aa8de344]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-aa8de344]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-aa8de344]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-aa8de344]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-aa8de344]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-aa8de344]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-16cf740a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-16cf740a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-16cf740a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e71e869c]{display:flex;justify-content:center}.VPNavBarExtra[data-v-c8c2ae4b]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-c8c2ae4b]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-c8c2ae4b]{display:none}}.trans-title[data-v-c8c2ae4b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-c8c2ae4b],.item.social-links[data-v-c8c2ae4b]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-c8c2ae4b]{min-width:176px}.appearance-action[data-v-c8c2ae4b]{margin-right:-2px}.social-links-list[data-v-c8c2ae4b]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee1efd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee1efd]{display:none}}.container[data-v-6bee1efd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee1efd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee1efd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee1efd],.VPNavBarHamburger.active:hover .middle[data-v-6bee1efd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee1efd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee1efd],.middle[data-v-6bee1efd],.bottom[data-v-6bee1efd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee1efd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-cb318fec]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-cb318fec],.VPNavBarMenuLink[data-v-cb318fec]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-f732b5d0]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-f732b5d0]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:1px;letter-spacing:-12px;color:transparent}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:var(--vp-meta-key);font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-ef6192dc]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ef6192dc]{display:flex;align-items:center}}.title[data-v-2973dbb4]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-2973dbb4]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-2973dbb4]{border-bottom-color:var(--vp-c-divider)}}[data-v-2973dbb4] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-ff4524ae]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-ff4524ae]{display:flex;align-items:center}}.title[data-v-ff4524ae]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-f1abbc6e]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-f1abbc6e]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-f1abbc6e]{padding:0}.VPNavBar[data-v-f1abbc6e]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-f1abbc6e]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-f1abbc6e],.container>.content[data-v-f1abbc6e]{pointer-events:none}.container[data-v-f1abbc6e] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-f1abbc6e]{max-width:100%}}.title[data-v-f1abbc6e]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-f1abbc6e]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-f1abbc6e]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-f1abbc6e]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-f1abbc6e]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-f1abbc6e]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-f1abbc6e]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-f1abbc6e]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-f1abbc6e]{column-gap:.5rem}}.menu+.translations[data-v-f1abbc6e]:before,.menu+.appearance[data-v-f1abbc6e]:before,.menu+.social-links[data-v-f1abbc6e]:before,.translations+.appearance[data-v-f1abbc6e]:before,.appearance+.social-links[data-v-f1abbc6e]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-f1abbc6e]:before,.translations+.appearance[data-v-f1abbc6e]:before{margin-right:16px}.appearance+.social-links[data-v-f1abbc6e]:before{margin-left:16px}.social-links[data-v-f1abbc6e]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-f1abbc6e]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-f1abbc6e]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-f1abbc6e]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenAppearance[data-v-0dc5cf49]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-0dc5cf49]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-fe523e3d]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-fe523e3d]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-aea78dd1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-aea78dd1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-f60dbfa7]{display:block}.title[data-v-f60dbfa7]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-c2c554ed]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-c2c554ed]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-c2c554ed]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-c2c554ed]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-c2c554ed]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-c2c554ed]{transform:rotate(45deg)}.button[data-v-c2c554ed]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-c2c554ed]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-c2c554ed]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-c2c554ed]:first-child{padding-top:0}.group+.group[data-v-c2c554ed],.group+.item[data-v-c2c554ed]{padding-top:4px}.VPNavScreenTranslations[data-v-41505286]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-41505286]{height:auto}.title[data-v-41505286]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-41505286]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-41505286]{margin-right:8px}.icon.chevron[data-v-41505286]{margin-left:4px}.list[data-v-41505286]{padding:4px 0 0 24px}.link[data-v-41505286]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-57cce842]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-57cce842],.VPNavScreen.fade-leave-active[data-v-57cce842]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-57cce842],.VPNavScreen.fade-leave-active .container[data-v-57cce842]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-57cce842],.VPNavScreen.fade-leave-to[data-v-57cce842]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-57cce842],.VPNavScreen.fade-leave-to .container[data-v-57cce842]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-57cce842]{display:none}}.container[data-v-57cce842]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-57cce842],.menu+.appearance[data-v-57cce842],.translations+.appearance[data-v-57cce842]{margin-top:24px}.menu+.social-links[data-v-57cce842]{margin-top:16px}.appearance+.social-links[data-v-57cce842]{margin-top:16px}.VPNav[data-v-5bdc5df3]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-5bdc5df3]{position:fixed}}.VPSidebarItem.level-0[data-v-bd01e0d5]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-bd01e0d5]{padding-bottom:10px}.item[data-v-bd01e0d5]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-bd01e0d5]{cursor:pointer}.indicator[data-v-bd01e0d5]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-bd01e0d5]{background-color:var(--vp-c-brand-1)}.link[data-v-bd01e0d5]{display:flex;align-items:center;flex-grow:1}.text[data-v-bd01e0d5]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-bd01e0d5]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-bd01e0d5],.VPSidebarItem.level-2 .text[data-v-bd01e0d5],.VPSidebarItem.level-3 .text[data-v-bd01e0d5],.VPSidebarItem.level-4 .text[data-v-bd01e0d5],.VPSidebarItem.level-5 .text[data-v-bd01e0d5]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-bd01e0d5]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-bd01e0d5]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-bd01e0d5]{color:var(--vp-c-brand-1)}.caret[data-v-bd01e0d5]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-bd01e0d5]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-bd01e0d5]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-bd01e0d5]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-bd01e0d5]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-bd01e0d5],.VPSidebarItem.level-2 .items[data-v-bd01e0d5],.VPSidebarItem.level-3 .items[data-v-bd01e0d5],.VPSidebarItem.level-4 .items[data-v-bd01e0d5],.VPSidebarItem.level-5 .items[data-v-bd01e0d5]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-bd01e0d5]{display:none}.VPSidebar[data-v-ee2efba5]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-ee2efba5]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-ee2efba5]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-ee2efba5]{z-index:1;padding-top:var(--vp-nav-height);padding-bottom:128px;width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-ee2efba5]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-ee2efba5]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-ee2efba5]{outline:0}.group+.group[data-v-ee2efba5]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-ee2efba5]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-c8291ffa]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c8291ffa]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c8291ffa]{top:14px;left:16px}}.Layout[data-v-4064354f]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-843cc1b2]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-843cc1b2]{margin:0 auto;max-width:1152px}.love[data-v-843cc1b2]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-843cc1b2]{width:28px;height:28px;fill:currentColor}.message[data-v-843cc1b2]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-843cc1b2]{padding-top:32px}.action[data-v-843cc1b2]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1cfd8dc-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:96px}}.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 64px}}.VPTeamPageTitle[data-v-46c5e327]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-46c5e327]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-46c5e327]{padding:80px 64px 48px}}.title[data-v-46c5e327]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-46c5e327]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-46c5e327]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-46c5e327]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-3bf2e850]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 64px}}.title[data-v-3bf2e850]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-3bf2e850]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-3bf2e850]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-3bf2e850]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-3bf2e850]{padding-top:40px}.VPTeamMembersItem[data-v-3a0078bd]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-3a0078bd]{padding:32px}.VPTeamMembersItem.small .data[data-v-3a0078bd]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-3a0078bd]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-3a0078bd]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-3a0078bd]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-3a0078bd]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-3a0078bd]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-3a0078bd]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-3a0078bd]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-3a0078bd]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-3a0078bd]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-3a0078bd]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-3a0078bd]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-3a0078bd]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-3a0078bd]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-3a0078bd]{text-align:center}.avatar[data-v-3a0078bd]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-3a0078bd]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-3a0078bd]{margin:0;font-weight:600}.affiliation[data-v-3a0078bd]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-3a0078bd]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-3a0078bd]:hover{color:var(--vp-c-brand-1)}.desc[data-v-3a0078bd]{margin:0 auto}.desc[data-v-3a0078bd] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-3a0078bd]{display:flex;justify-content:center;height:56px}.sp-link[data-v-3a0078bd]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-3a0078bd]:hover,.sp .sp-link.link[data-v-3a0078bd]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-3a0078bd]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-bf782009]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-bf782009]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-bf782009]{max-width:876px}.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-bf782009]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-bf782009]{max-width:760px}.container[data-v-bf782009]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #00e0ff;--vp-c-brand-1: #6aebfc;--vp-c-brand-2: #00e0ff;--vp-c-brand-3: #00b9d1;--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 135deg, #00e0ff 0%, #00ff57 100% )}html.dark{--vp-c-bg: #0a0a1e;--vp-c-bg-light: #141428;--vp-c-bg-lighter: #1e1e32;--vp-code-bg-color: #1e1e32;--vp-c-black-mute: #1e1e32;--vp-c-black: #1e1e32;--vp-c-bg-soft: #1e1e32} diff --git a/docs/assets/ui-helpers.md.63c75787.js b/docs/assets/ui-helpers.md.f63f6257.js similarity index 92% rename from docs/assets/ui-helpers.md.63c75787.js rename to docs/assets/ui-helpers.md.f63f6257.js index 0067c729..2b19c169 100644 --- a/docs/assets/ui-helpers.md.63c75787.js +++ b/docs/assets/ui-helpers.md.f63f6257.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1673177457000}'),s={name:"ui-helpers.md"},i=r('

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Classes

',7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1673177457000}'),s={name:"ui-helpers.md"},i=r('

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Classes

',7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; diff --git a/docs/assets/ui-helpers.md.63c75787.lean.js b/docs/assets/ui-helpers.md.f63f6257.lean.js similarity index 68% rename from docs/assets/ui-helpers.md.63c75787.lean.js rename to docs/assets/ui-helpers.md.f63f6257.lean.js index 60130d37..836c2025 100644 --- a/docs/assets/ui-helpers.md.63c75787.lean.js +++ b/docs/assets/ui-helpers.md.f63f6257.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a,U as r}from"./chunks/framework.1eef7d9b.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1673177457000}'),s={name:"ui-helpers.md"},i=r("",7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; +import{_ as e,o as t,c as a,Q as r}from"./chunks/framework.b637c96f.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1673177457000}'),s={name:"ui-helpers.md"},i=r("",7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; diff --git a/docs/assets/ui-helpers_screen.md.abf9d1aa.js b/docs/assets/ui-helpers_screen.md.abf9d1aa.js deleted file mode 100644 index f28f847e..00000000 --- a/docs/assets/ui-helpers_screen.md.abf9d1aa.js +++ /dev/null @@ -1,41 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1673177478000}'),l={name:"ui-helpers/screen.md"},o=e(`

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetDpi(this));
-    }
-}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows;
-
-public partial class MyWindow : Window
-{
-    private void HandleButton(object sender, RoutedEventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetDpi(this));
-    }
-}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
-    }
-}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows;
-
-public partial class MyWindow : Window
-{
-    private void HandleButton(object sender, RoutedEventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
-    }
-}
`,38),t=[o];function p(r,c,i,d,y,F){return a(),n("div",null,t)}const h=s(l,[["render",p]]);export{D as __pageData,h as default}; diff --git a/docs/assets/ui-helpers_screen.md.abf9d1aa.lean.js b/docs/assets/ui-helpers_screen.md.abf9d1aa.lean.js deleted file mode 100644 index 53118166..00000000 --- a/docs/assets/ui-helpers_screen.md.abf9d1aa.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as n,U as e}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1673177478000}'),l={name:"ui-helpers/screen.md"},o=e("",38),t=[o];function p(r,c,i,d,y,F){return a(),n("div",null,t)}const h=s(l,[["render",p]]);export{D as __pageData,h as default}; diff --git a/docs/assets/ui-helpers_screen.md.c277ff31.js b/docs/assets/ui-helpers_screen.md.c277ff31.js new file mode 100644 index 00000000..0c54b6e9 --- /dev/null +++ b/docs/assets/ui-helpers_screen.md.c277ff31.js @@ -0,0 +1,81 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1673177478000}'),o={name:"ui-helpers/screen.md"},p=l(`

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
`,38),e=[p];function t(r,c,y,E,i,d){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_screen.md.c277ff31.lean.js b/docs/assets/ui-helpers_screen.md.c277ff31.lean.js new file mode 100644 index 00000000..53044e1e --- /dev/null +++ b/docs/assets/ui-helpers_screen.md.c277ff31.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as l}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1673177478000}'),o={name:"ui-helpers/screen.md"},p=l("",38),e=[p];function t(r,c,y,E,i,d){return a(),n("div",null,e)}const u=s(o,[["render",t]]);export{F as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_windowhelpers.md.a1134c53.js b/docs/assets/ui-helpers_windowhelpers.md.a1134c53.js new file mode 100644 index 00000000..48dc1b0c --- /dev/null +++ b/docs/assets/ui-helpers_windowhelpers.md.a1134c53.js @@ -0,0 +1,25 @@ +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.b637c96f.js";const w=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":null}'),l={name:"ui-helpers/windowhelpers.md"},e=o(`

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Collections.Generic;
+
+public class MyWindowManager
+{
+    public void PrintOpenedWindows() {
+        List<WindowInfo> windows = WinFormsHelpers.GetWindows();
+        foreach (WindowInfo window in windows)
+        {
+            Console.WriteLine(window.Name);
+        }
+    }
+}
using PeyrSharp.UiHelpers;
+using System.Collections.Generic;
+
+public class MyWindowManager
+{
+    public void PrintOpenedWindows() {
+        List<WindowInfo> windows = WinFormsHelpers.GetWindows();
+        foreach (WindowInfo window in windows)
+        {
+            Console.WriteLine(window.Name);
+        }
+    }
+}
`,13),p=[e];function t(r,c,i,d,E,y){return n(),a("div",null,p)}const u=s(l,[["render",t]]);export{w as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_windowhelpers.md.a1134c53.lean.js b/docs/assets/ui-helpers_windowhelpers.md.a1134c53.lean.js new file mode 100644 index 00000000..e12e19fc --- /dev/null +++ b/docs/assets/ui-helpers_windowhelpers.md.a1134c53.lean.js @@ -0,0 +1 @@ +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.b637c96f.js";const w=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":null}'),l={name:"ui-helpers/windowhelpers.md"},e=o("",13),p=[e];function t(r,c,i,d,E,y){return n(),a("div",null,p)}const u=s(l,[["render",t]]);export{w as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_windowinfo.md.7554d1cd.js b/docs/assets/ui-helpers_windowinfo.md.7554d1cd.js new file mode 100644 index 00000000..acddc110 --- /dev/null +++ b/docs/assets/ui-helpers_windowinfo.md.7554d1cd.js @@ -0,0 +1,37 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const w=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":null}'),e={name:"ui-helpers/windowinfo.md"},l=o(`

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
+
+// Get the handle of the window
+Console.WriteLine(windowInfo.Handle); // Output: 123456
// Create a new WindowInfo object
+WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
+
+// Get the handle of the window
+Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the name of the window
+windowInfo.Name = "MyWindow";
+
+// Get the name of the window
+Console.WriteLine(windowInfo.Name); // Output: MyWindow
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the name of the window
+windowInfo.Name = "MyWindow";
+
+// Get the name of the window
+Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the class name of the window
+windowInfo.ClassName = "MyWindowClass";
+
+// Get the class name of the window
+Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the class name of the window
+windowInfo.ClassName = "MyWindowClass";
+
+// Get the class name of the window
+Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
`,25),p=[l];function t(i,c,r,d,h,y){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{w as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_windowinfo.md.7554d1cd.lean.js b/docs/assets/ui-helpers_windowinfo.md.7554d1cd.lean.js new file mode 100644 index 00000000..e97b4703 --- /dev/null +++ b/docs/assets/ui-helpers_windowinfo.md.7554d1cd.lean.js @@ -0,0 +1 @@ +import{_ as s,o as a,c as n,Q as o}from"./chunks/framework.b637c96f.js";const w=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":null}'),e={name:"ui-helpers/windowinfo.md"},l=o("",25),p=[l];function t(i,c,r,d,h,y){return a(),n("div",null,p)}const u=s(e,[["render",t]]);export{w as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_winforms.md.3d7797a8.js b/docs/assets/ui-helpers_winforms.md.3d7797a8.js deleted file mode 100644 index a6e0bf2d..00000000 --- a/docs/assets/ui-helpers_winforms.md.3d7797a8.js +++ /dev/null @@ -1,37 +0,0 @@ -import{_ as s,o as n,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1673177478000}'),e={name:"ui-helpers/winforms.md"},l=o(`

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        Button button = (Button)sender;
-        WinFormsHelpers.CenterControl(button, this);
-    }
-}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        Button button = (Button)sender;
-
-        // Center the button vertically
-        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
-    }
-}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        // Put the current form in the middle of the screen
-        WinFormsHelpers.CenterForm(this); 
-    }
-}
`,27),t=[l];function p(r,c,i,C,d,y){return n(),a("div",null,t)}const A=s(e,[["render",p]]);export{D as __pageData,A as default}; diff --git a/docs/assets/ui-helpers_winforms.md.3d7797a8.lean.js b/docs/assets/ui-helpers_winforms.md.3d7797a8.lean.js deleted file mode 100644 index bc394d4b..00000000 --- a/docs/assets/ui-helpers_winforms.md.3d7797a8.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as n,c as a,U as o}from"./chunks/framework.1eef7d9b.js";const D=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1673177478000}'),e={name:"ui-helpers/winforms.md"},l=o("",27),t=[l];function p(r,c,i,C,d,y){return n(),a("div",null,t)}const A=s(e,[["render",p]]);export{D as __pageData,A as default}; diff --git a/docs/assets/ui-helpers_winforms.md.fe389c98.js b/docs/assets/ui-helpers_winforms.md.fe389c98.js new file mode 100644 index 00000000..17979001 --- /dev/null +++ b/docs/assets/ui-helpers_winforms.md.fe389c98.js @@ -0,0 +1,73 @@ +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1673177478000}'),l={name:"ui-helpers/winforms.md"},p=o(`

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+        WinFormsHelpers.CenterControl(button, this);
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+        WinFormsHelpers.CenterControl(button, this);
+    }
+}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+
+        // Center the button vertically
+        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
+    }
+}
using PeyrSharp.Enums;
+using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+
+        // Center the button vertically
+        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
+    }
+}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        // Put the current form in the middle of the screen
+        WinFormsHelpers.CenterForm(this); 
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        // Put the current form in the middle of the screen
+        WinFormsHelpers.CenterForm(this); 
+    }
+}
`,27),e=[p];function t(r,c,y,E,i,d){return n(),a("div",null,e)}const m=s(l,[["render",t]]);export{F as __pageData,m as default}; diff --git a/docs/assets/ui-helpers_winforms.md.fe389c98.lean.js b/docs/assets/ui-helpers_winforms.md.fe389c98.lean.js new file mode 100644 index 00000000..c17d34b7 --- /dev/null +++ b/docs/assets/ui-helpers_winforms.md.fe389c98.lean.js @@ -0,0 +1 @@ +import{_ as s,o as n,c as a,Q as o}from"./chunks/framework.b637c96f.js";const F=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1673177478000}'),l={name:"ui-helpers/winforms.md"},p=o("",27),e=[p];function t(r,c,y,E,i,d){return n(),a("div",null,e)}const m=s(l,[["render",t]]);export{F as __pageData,m as default}; diff --git a/docs/assets/ui-helpers_wpf.md.91ffecbf.js b/docs/assets/ui-helpers_wpf.md.91ffecbf.js new file mode 100644 index 00000000..7e79ab7c --- /dev/null +++ b/docs/assets/ui-helpers_wpf.md.91ffecbf.js @@ -0,0 +1,7 @@ +import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1673177430000}'),n={name:"ui-helpers/wpf.md"},o=t(`

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
+
+Window window = new Window();
+WpfHelpers.CenterWindow(window); // Center the window on the primary screen
using PeyrSharp.UiHelpers;
+
+Window window = new Window();
+WpfHelpers.CenterWindow(window); // Center the window on the primary screen
`,13),l=[o];function r(p,i,d,c,h,y){return e(),s("div",null,l)}const m=a(n,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/ui-helpers_wpf.md.91ffecbf.lean.js b/docs/assets/ui-helpers_wpf.md.91ffecbf.lean.js new file mode 100644 index 00000000..467b4005 --- /dev/null +++ b/docs/assets/ui-helpers_wpf.md.91ffecbf.lean.js @@ -0,0 +1 @@ +import{_ as a,o as e,c as s,Q as t}from"./chunks/framework.b637c96f.js";const E=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1673177430000}'),n={name:"ui-helpers/wpf.md"},o=t("",13),l=[o];function r(p,i,d,c,h,y){return e(),s("div",null,l)}const m=a(n,[["render",r]]);export{E as __pageData,m as default}; diff --git a/docs/assets/ui-helpers_wpf.md.9c708ade.js b/docs/assets/ui-helpers_wpf.md.9c708ade.js deleted file mode 100644 index 81091198..00000000 --- a/docs/assets/ui-helpers_wpf.md.9c708ade.js +++ /dev/null @@ -1,4 +0,0 @@ -import{_ as e,o as t,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1673177430000}'),o={name:"ui-helpers/wpf.md"},n=s(`

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
-
-Window window = new Window();
-WpfHelpers.CenterWindow(window); // Center the window on the primary screen
`,13),r=[n];function l(i,d,p,c,h,m){return t(),a("div",null,r)}const u=e(o,[["render",l]]);export{y as __pageData,u as default}; diff --git a/docs/assets/ui-helpers_wpf.md.9c708ade.lean.js b/docs/assets/ui-helpers_wpf.md.9c708ade.lean.js deleted file mode 100644 index d1db1c67..00000000 --- a/docs/assets/ui-helpers_wpf.md.9c708ade.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,U as s}from"./chunks/framework.1eef7d9b.js";const y=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1673177430000}'),o={name:"ui-helpers/wpf.md"},n=s("",13),r=[n];function l(i,d,p,c,h,m){return t(),a("div",null,r)}const u=e(o,[["render",l]]);export{y as __pageData,u as default}; diff --git a/docs/core.html b/docs/core.html index ad1f664c..7503892c 100644 --- a/docs/core.html +++ b/docs/core.html @@ -5,19 +5,19 @@ Core | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Namespaces

The Core namespace contains other namespaces:

Classes

Released under the MIT License.

- +
Skip to content

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Namespaces

The Core namespace contains other namespaces:

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters.html b/docs/core/converters.html index 79bc6bb3..72ce5d2d 100644 --- a/docs/core/converters.html +++ b/docs/core/converters.html @@ -5,19 +5,19 @@ Converters | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

- +
Skip to content

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/angle.html b/docs/core/converters/angle.html index 12bc796b..38a2e65e 100644 --- a/docs/core/converters/angle.html +++ b/docs/core/converters/angle.html @@ -5,25 +5,31 @@ Angle | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double radians = Angle.DegreesToRadians(90);
-// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double radians = Angle.DegreesToRadians(90);
+// radians = 1.5707963271535559
using PeyrSharp.Core.Converters;
 
-double deg = Angle.RadiansToDegrees(1.2);
-// deg = 68.7549354

Released under the MIT License.

- +double radians = Angle.DegreesToRadians(90); +// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/hex.html b/docs/core/converters/colors/hex.html index eb69a60d..4047f146 100644 --- a/docs/core/converters/colors/hex.html +++ b/docs/core/converters/colors/hex.html @@ -5,25 +5,31 @@ HEX | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+HEX hex = new("#FF0A17");
using PeyrSharp.Core.Converters;
 
-RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

Released under the MIT License.

- +RGB rgb = new HEX("#FFFFFF").ToRgb();
using PeyrSharp.Core.Converters;
+
+RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/hsv.html b/docs/core/converters/colors/hsv.html index 7488e610..12292896 100644 --- a/docs/core/converters/colors/hsv.html +++ b/docs/core/converters/colors/hsv.html @@ -5,21 +5,23 @@ HSV | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

Released under the MIT License.

- +HSV hsv = new(50, 75, 100);
using PeyrSharp.Core.Converters;
+
+HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/rgb.html b/docs/core/converters/colors/rgb.html index 3887e03c..5961b484 100644 --- a/docs/core/converters/colors/rgb.html +++ b/docs/core/converters/colors/rgb.html @@ -5,28 +5,37 @@ RGB | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
-using System.Drawing;
+    
Skip to content

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
+using System.Drawing;
 
-RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(Color.FromArgb(255, 150, 120));
using PeyrSharp.Core.Converters;
+using System.Drawing;
 
-RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(255, 150, 120);
using PeyrSharp.Core.Converters;
 
-HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

Released under the MIT License.

- +RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new RGB(255, 0, 0).ToHex();
using PeyrSharp.Core.Converters;
+
+HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new RGB(255, 0, 0).ToHsv();
using PeyrSharp.Core.Converters;
+
+HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/distances.html b/docs/core/converters/distances.html index cf0ecafa..7ad87d37 100644 --- a/docs/core/converters/distances.html +++ b/docs/core/converters/distances.html @@ -5,31 +5,43 @@ Distances | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double km = Distances.MilesToKm(10);
-// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double km = Distances.MilesToKm(10);
+// km = 16.09344
using PeyrSharp.Core.Converters;
 
-double miles = Distances.KmToMiles(5);
-// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double km = Distances.MilesToKm(10);
+// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double meters = Distances.FeetToMeters(12);
-// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double miles = Distances.KmToMiles(5);
+// miles = 3.1068559611866697
using PeyrSharp.Core.Converters;
 
-double feet = Distances.MetersToFeet(3.657599994440448);
-// feet = 12

Released under the MIT License.

- +double miles = Distances.KmToMiles(5); +// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/energies.html b/docs/core/converters/energies.html index 94e54267..0d660c28 100644 --- a/docs/core/converters/energies.html +++ b/docs/core/converters/energies.html @@ -5,25 +5,31 @@ Energies | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double calories = 100.0;
-double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+double calories = 100.0;
+double joules = Energies.CaloriesToJoules(calories);
using PeyrSharp.Core.Converters;
 
-double joules = 1000.0;
-double calories = Energies.JoulesToCalories(joules);

Released under the MIT License.

- +double calories = 100.0; +double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/masses.html b/docs/core/converters/masses.html index 3f1dbd70..dcdebd72 100644 --- a/docs/core/converters/masses.html +++ b/docs/core/converters/masses.html @@ -5,25 +5,31 @@ Masses | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double kg = Masses.PoundsToKilograms(10);
-// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double kg = Masses.PoundsToKilograms(10);
+// kg = 4.535923703803784
using PeyrSharp.Core.Converters;
 
-double pounds = Masses.KilogramsToPounds(25);
-// pounds = 55.115565499999995

Released under the MIT License.

- +double kg = Masses.PoundsToKilograms(10); +// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/speeds.html b/docs/core/converters/speeds.html index 1659368f..9cc18424 100644 --- a/docs/core/converters/speeds.html +++ b/docs/core/converters/speeds.html @@ -5,57 +5,95 @@ Speeds | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double speedInKnots = 20.0;
-double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKnots = 20.0;
+double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
 
-double speedInKilometersPerHour = 40.0;
-double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKnots = 20.0;
+double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double speedInKnots = 20.0;
-double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKilometersPerHour = 40.0;
+double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");
using PeyrSharp.Core.Converters;
 
-double speedInMilesPerHour = 60.0;
-double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKilometersPerHour = 40.0;
+double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double speedInKilometersPerHour = 100.0;
-double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKnots = 20.0;
+double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");
using PeyrSharp.Core.Converters;
 
-double speedInMetersPerSecond = 10.0;
-double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
-Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKnots = 20.0;
+double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double speedInMilesPerHour = 60.0;
-double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInMilesPerHour = 60.0;
+double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");
using PeyrSharp.Core.Converters;
 
-double speedInKilometersPerHour = 50.0;
-double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInMilesPerHour = 60.0;
+double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double kmPerHour = Speeds.MachToKilometersPerHour(1);
-// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+double speedInKilometersPerHour = 100.0;
+double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");
using PeyrSharp.Core.Converters;
 
-double mph = Speeds.MachToMilesPerHour(0.8);
-// mph = 613.8153184

Released under the MIT License.

- +double speedInKilometersPerHour = 100.0; +double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour); +Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMetersPerSecond = 10.0;
+double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
+
+double speedInMetersPerSecond = 10.0;
+double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 50.0;
+double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 50.0;
+double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kmPerHour = Speeds.MachToKilometersPerHour(1);
+// kmPerHour = 1234.8
using PeyrSharp.Core.Converters;
+
+double kmPerHour = Speeds.MachToKilometersPerHour(1);
+// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double mph = Speeds.MachToMilesPerHour(0.8);
+// mph = 613.8153184
using PeyrSharp.Core.Converters;
+
+double mph = Speeds.MachToMilesPerHour(0.8);
+// mph = 613.8153184

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/storage.html b/docs/core/converters/storage.html index ae786694..9a07637d 100644 --- a/docs/core/converters/storage.html +++ b/docs/core/converters/storage.html @@ -5,43 +5,67 @@ Storage | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
-double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000
using PeyrSharp.Core.Converters;
 
-double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
-double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2
using PeyrSharp.Core.Converters;
 
-double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
-double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5
using PeyrSharp.Core.Converters;
 
-double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
-// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
-double bytes = Storage.BitsToBytes(64);
-// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
+// gigabyte = 1
using PeyrSharp.Core.Converters;
 
-double bits = Storage.BytesToBits(1024);
-// bits = 8192

Released under the MIT License.

- +double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte); +// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/temperatures.html b/docs/core/converters/temperatures.html index 6257579a..abb45713 100644 --- a/docs/core/converters/temperatures.html +++ b/docs/core/converters/temperatures.html @@ -5,25 +5,31 @@ Temperatures | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double f = Temperatures.CelsiusToFahrenheit(22);
-// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double f = Temperatures.CelsiusToFahrenheit(22);
+// f = 71.6
using PeyrSharp.Core.Converters;
 
-double c = Temperatures.FahrenheitToCelsius(75);
-// c = 23.88888888888889

Released under the MIT License.

- +double f = Temperatures.CelsiusToFahrenheit(22); +// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/time.html b/docs/core/converters/time.html index 0f5cf744..234a9af9 100644 --- a/docs/core/converters/time.html +++ b/docs/core/converters/time.html @@ -5,40 +5,61 @@ Time | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
+    
Skip to content

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
-// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
+double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
+// seconds = 300
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-double min = Time.ToMinutes(120, TimeUnits.Seconds);
-// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
+double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
+// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-double hours = Time.ToHours(1, TimeUnits.Days);
-// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
-using PeyrSharp.Enums;
+double min = Time.ToMinutes(120, TimeUnits.Seconds);
+// min = 2
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-double days = Time.ToDays(72, TimeUnits.Hours);
-// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double min = Time.ToMinutes(120, TimeUnits.Seconds);
+// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+double hours = Time.ToHours(1, TimeUnits.Days);
+// hours = 24
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
 
-int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
-// unix = 1670144268

Released under the MIT License.

- +double hours = Time.ToHours(1, TimeUnits.Days); +// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double days = Time.ToDays(72, TimeUnits.Hours);
+// days = 3
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double days = Time.ToDays(72, TimeUnits.Hours);
+// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48
using PeyrSharp.Core.Converters;
+
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+
+int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
+// unix = 1670144268
using PeyrSharp.Core.Converters;
+
+int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc)); 
+// unix = 1670144268

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/volumes.html b/docs/core/converters/volumes.html index 09704893..b923fdb4 100644 --- a/docs/core/converters/volumes.html +++ b/docs/core/converters/volumes.html @@ -5,25 +5,31 @@ Volumes | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-double litre = Volumes.M3ToLitre(10);
-// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+double litre = Volumes.M3ToLitre(10);
+// litre = 10000
using PeyrSharp.Core.Converters;
 
-double m3 = Volumes.LitreToM3(500);
-// m3 = 0.5

Released under the MIT License.

- +double litre = Volumes.M3ToLitre(10); +// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/crypt.html b/docs/core/crypt.html index 563d2885..5e5914fb 100644 --- a/docs/core/crypt.html +++ b/docs/core/crypt.html @@ -5,51 +5,83 @@ Crypt | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
-string text = "Hello, world!";
-string encrypted = Crypt.EncryptAes(text, "password");
-// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
-using System.Security.Cryptography;
+string text = "Hello, world!";
+string encrypted = Crypt.EncryptAes(text, "password");
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=
using PeyrSharp.Core;
 
-string text = "Hello, world!";
+string text = "Hello, world!";
+string encrypted = Crypt.EncryptAes(text, "password");
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
 
-// Create the RSA key
-RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+string text = "Hello, world!";
 
-// Encrypt using RSA
-string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+// Create the RSA key
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 
-string text = "Hello, world!";
-string encrypted = Crypt.Encrypt3Des(text, "password");
-// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// Encrypt using RSA
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));
using PeyrSharp.Core;
+using System.Security.Cryptography;
 
-string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
-string text = Crypt.DecryptAes(encrypted, "password");
-// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
-using System.Security.Cryptography;
+string text = "Hello, world!";
 
-RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
-byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+// Create the RSA key
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 
-string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
-// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// Encrypt using RSA
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
-string encrypted = "AvuLd4LUxRU=";
-string text = Crypt.Decrypt3Des(encrypted, "123");
-// text = Hello

Released under the MIT License.

- +string text = "Hello, world!"; +string encrypted = Crypt.Encrypt3Des(text, "password"); +// encrypted = bxceEpCfRlbyYdPggAu+Cw==
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.Encrypt3Des(text, "password");
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
+string text = Crypt.DecryptAes(encrypted, "password");
+// text = Hello!
using PeyrSharp.Core;
+
+string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
+string text = Crypt.DecryptAes(encrypted, "password");
+// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+
+string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
+// decrypted = Hello
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+
+string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
+// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "AvuLd4LUxRU=";
+string text = Crypt.Decrypt3Des(encrypted, "123");
+// text = Hello
using PeyrSharp.Core;
+
+string encrypted = "AvuLd4LUxRU=";
+string text = Crypt.Decrypt3Des(encrypted, "123");
+// text = Hello

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/guid-options.html b/docs/core/guid-options.html index dc9dbae7..edfa14f1 100644 --- a/docs/core/guid-options.html +++ b/docs/core/guid-options.html @@ -5,37 +5,55 @@ GuidOptions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
 
-var options = new GuidOptions();
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = false
-        - UpperCaseOnly = false
-*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+var options = new GuidOptions();
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = false
+        - UpperCaseOnly = false
+*/
using PeyrSharp.Core;
 
-var options = new GuidOptions(32, true, true, true);
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = true
-        - UpperCaseOnly = true
-*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Released under the MIT License.

- +var options = new GuidOptions(); +/* + options: + - Length = 32 + - Hyphens = true + - Braces = false + - UpperCaseOnly = false +*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/

Properties

Length

Definition

c#
public int Length { get; set; }
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/guid.html b/docs/core/guid.html index ea2c7a72..7d40800e 100644 --- a/docs/core/guid.html +++ b/docs/core/guid.html @@ -5,31 +5,43 @@ GuidGen | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
 
-string guid = GuidGen.Generate();
-// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)
using PeyrSharp.Core;
 
-string guid = GuidGen.Generate(15);
-// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
 
-string guid = GuidGen.Generate("Hello");
-// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+string guid = GuidGen.Generate(15);
+// guid = 5693ad99881e4f9 (example)
using PeyrSharp.Core;
 
-string guid = Guid.Generate(new GuidOptions(32, true, true, false));
-// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)

Released under the MIT License.

- +string guid = GuidGen.Generate(15); +// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/internet.html b/docs/core/internet.html index 7095a185..bf8ed984 100644 --- a/docs/core/internet.html +++ b/docs/core/internet.html @@ -5,73 +5,127 @@ Internet | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    bool isConnected = await Internet.IsAvailableAsync();
-}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
-}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    int status = await Internet.GetStatusCodeAsync("https://google.com");
-    // status should be 200 if everything is working
-}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
-
-public static async void Main()
-{
-    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
-    // status should be OK if everything is working
-}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
-
-StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-public static async void Main()
-{
-    int status = await Internet.GetStatusCodeAsync("https://google.com");
-    switch (Internet.GetStatusCodeType(status))
-    {
-        case StatusCodes.Informational:
-            Console.WriteLine("An information status code has been returned.");
-            break;
-        case StatusCodes.Success:
-            Console.WriteLine("An successful status code has been returned.");
-            break;
-        case StatusCodes.Redirection:
-            Console.WriteLine("An redirection status code has been returned.");
-            break;
-        case StatusCodes.ClientError:
-            Console.WriteLine("An client error status code has been returned.");
-            break;
-        case StatusCodes.ServerError:
-            Console.WriteLine("An server error status code has been returned.");
-            break;
-    }
-}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
-
-string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
-// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
-
-bool valid = Internet.GetUrlProtocol("a/test");
-// valid = false

Released under the MIT License.

- +
Skip to content

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync();
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync();
+}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
+}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    // status should be 200 if everything is working
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    // status should be 200 if everything is working
+}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
+    // status should be OK if everything is working
+}
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
+    // status should be OK if everything is working
+}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
+
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");
using PeyrSharp.Core;
+
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    switch (Internet.GetStatusCodeType(status))
+    {
+        case StatusCodes.Informational:
+            Console.WriteLine("An information status code has been returned.");
+            break;
+        case StatusCodes.Success:
+            Console.WriteLine("An successful status code has been returned.");
+            break;
+        case StatusCodes.Redirection:
+            Console.WriteLine("An redirection status code has been returned.");
+            break;
+        case StatusCodes.ClientError:
+            Console.WriteLine("An client error status code has been returned.");
+            break;
+        case StatusCodes.ServerError:
+            Console.WriteLine("An server error status code has been returned.");
+            break;
+    }
+}
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    switch (Internet.GetStatusCodeType(status))
+    {
+        case StatusCodes.Informational:
+            Console.WriteLine("An information status code has been returned.");
+            break;
+        case StatusCodes.Success:
+            Console.WriteLine("An successful status code has been returned.");
+            break;
+        case StatusCodes.Redirection:
+            Console.WriteLine("An redirection status code has been returned.");
+            break;
+        case StatusCodes.ClientError:
+            Console.WriteLine("An client error status code has been returned.");
+            break;
+        case StatusCodes.ServerError:
+            Console.WriteLine("An server error status code has been returned.");
+            break;
+    }
+}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
+
+string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
+// protocol = https
using PeyrSharp.Core;
+
+string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
+// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
+
+bool valid = Internet.GetUrlProtocol("a/test");
+// valid = false
using PeyrSharp.Core;
+
+bool valid = Internet.GetUrlProtocol("a/test");
+// valid = false

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/json-helper.html b/docs/core/json-helper.html index c420ad5e..78ecca76 100644 --- a/docs/core/json-helper.html +++ b/docs/core/json-helper.html @@ -5,44 +5,69 @@ JsonHelper | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
-using System.IO;
-using System.Text.Json;
-
-// Load the person from the JSON file
-Person person = JsonHelper.LoadFromJson<Person>("person.json");
-
-// Print the person's name and age
-Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
-using System.IO;
-using System.Text.Json;
-
-public static void Main()
-{
-    // Create an object to save
-    MyObject obj = new MyObject();
-
-    // Save the object as a JSON file
-    JsonHelper.SaveAsJson(obj, "output.json");
-}
-
-public class MyObject
-{
-    public string Name { get; set; }
-    public int Age { get; set; }
-}

Released under the MIT License.

- +
Skip to content

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+// Load the person from the JSON file
+Person person = JsonHelper.LoadFromJson<Person>("person.json");
+
+// Print the person's name and age
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+// Load the person from the JSON file
+Person person = JsonHelper.LoadFromJson<Person>("person.json");
+
+// Print the person's name and age
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+public static void Main()
+{
+    // Create an object to save
+    MyObject obj = new MyObject();
+
+    // Save the object as a JSON file
+    JsonHelper.SaveAsJson(obj, "output.json");
+}
+
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+}
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+public static void Main()
+{
+    // Create an object to save
+    MyObject obj = new MyObject();
+
+    // Save the object as a JSON file
+    JsonHelper.SaveAsJson(obj, "output.json");
+}
+
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths.html b/docs/core/maths.html index 97b6071f..4f6e33e1 100644 --- a/docs/core/maths.html +++ b/docs/core/maths.html @@ -5,19 +5,19 @@ Maths | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

- +
Skip to content

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/algebra.html b/docs/core/maths/algebra.html index 7ea8b5be..a31951cf 100644 --- a/docs/core/maths/algebra.html +++ b/docs/core/maths/algebra.html @@ -5,57 +5,95 @@ Algebra | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
-// Usage 1
-double sum = Algebra.Sum(12, 1.5, 45, 2.2);
-// sum = 60.7
+// Usage 1
+double sum = Algebra.Sum(12, 1.5, 45, 2.2);
+// sum = 60.7
 
-// Usage 2
-double[] numbers = new double[] { 1, 2, 3 };
+// Usage 2
+double[] numbers = new double[] { 1, 2, 3 };
 
-double sum2 = Algebra.Sum(numbers);
-// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+double sum2 = Algebra.Sum(numbers);
+// sum = 6
using PeyrSharp.Core.Maths;
 
-// Usage 1
-int sum = Algebra.Sum(12, 15, 45, 2);
-// sum = 74
+// Usage 1
+double sum = Algebra.Sum(12, 1.5, 45, 2.2);
+// sum = 60.7
 
-// Usage 2
-int[] numbers = new int[] { 1, 2, 3 };
+// Usage 2
+double[] numbers = new double[] { 1, 2, 3 };
 
-int sum2 = Algebra.Sum(numbers);
-// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+double sum2 = Algebra.Sum(numbers);
+// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
-bool isInt = Algebra.IsInt(12.0);
-// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+// Usage 1
+int sum = Algebra.Sum(12, 15, 45, 2);
+// sum = 74
 
-double opposite = Algebra.Opposite(7);
-// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+// Usage 2
+int[] numbers = new int[] { 1, 2, 3 };
 
-int factorial = Algebra.Factorial(5);
-// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+int sum2 = Algebra.Sum(numbers);
+// sum = 6
using PeyrSharp.Core.Maths;
 
-double pos = Algebra.PositiveOf(-7);
-// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+// Usage 1
+int sum = Algebra.Sum(12, 15, 45, 2);
+// sum = 74
 
-double negative = Algebra.NegativeOf(7);
-// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+// Usage 2
+int[] numbers = new int[] { 1, 2, 3 };
 
-double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
-// res = double[] { 1, 4, 9, 16 }

Released under the MIT License.

- +int sum2 = Algebra.Sum(numbers); +// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+
+bool isInt = Algebra.IsInt(12.0);
+// isInt = true
using PeyrSharp.Core.Maths;
+
+bool isInt = Algebra.IsInt(12.0);
+// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double opposite = Algebra.Opposite(7);
+// opposite = -7
using PeyrSharp.Core.Maths;
+
+double opposite = Algebra.Opposite(7);
+// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+int factorial = Algebra.Factorial(5);
+// factorial = 120
using PeyrSharp.Core.Maths;
+
+int factorial = Algebra.Factorial(5);
+// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double pos = Algebra.PositiveOf(-7);
+// pos = 7
using PeyrSharp.Core.Maths;
+
+double pos = Algebra.PositiveOf(-7);
+// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double negative = Algebra.NegativeOf(7);
+// negative = -7
using PeyrSharp.Core.Maths;
+
+double negative = Algebra.NegativeOf(7);
+// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
+// res = double[] { 1, 4, 9, 16 }
using PeyrSharp.Core.Maths;
+
+double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
+// res = double[] { 1, 4, 9, 16 }

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry.html b/docs/core/maths/geometry.html index a62707b1..45ed025a 100644 --- a/docs/core/maths/geometry.html +++ b/docs/core/maths/geometry.html @@ -5,19 +5,19 @@ Geometry | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

- +
Skip to content

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/circle.html b/docs/core/maths/geometry/circle.html index b87eb870..bbbbee13 100644 --- a/docs/core/maths/geometry/circle.html +++ b/docs/core/maths/geometry/circle.html @@ -5,31 +5,43 @@ Circle | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Circle circle = new(10); // Creates a circle with a radius of 10
using PeyrSharp.Core.Maths.Geometry;
 
-Circle circle = new(10);
+Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var area = circle.Area;
-// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Circle circle = new(10);
 
-Circle circle = new(10);
+var area = circle.Area;
+// area = 314.1592653589793
using PeyrSharp.Core.Maths.Geometry;
 
-var perimeter = circle.Perimeter;
-// perimeter = 62.83185307179586

Released under the MIT License.

- +Circle circle = new(10); + +var area = circle.Area; +// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cone.html b/docs/core/maths/geometry/cone.html index cdaf3d43..8e3aa732 100644 --- a/docs/core/maths/geometry/cone.html +++ b/docs/core/maths/geometry/cone.html @@ -5,36 +5,53 @@ Cone | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20
using PeyrSharp.Core.Maths.Geometry;
 
-Cone cone = new(10, 20);
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var volume = cone.Volume;
-// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cone cone = new(10, 20);
 
-Cone cone = new(15, 20);
+var volume = cone.Volume;
+// volume = 2094.3951023931954
using PeyrSharp.Core.Maths.Geometry;
 
-var radius = cone.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cone cone = new(10, 20);
 
-Circle cone = new(10, 40);
+var volume = cone.Volume;
+// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var height = cone.Height;
-// height = 40

Released under the MIT License.

- +Cone cone = new(15, 20); + +var radius = cone.Radius; +// radius = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(15, 20);
+
+var radius = cone.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cube.html b/docs/core/maths/geometry/cube.html index ee0feeb8..18917fbf 100644 --- a/docs/core/maths/geometry/cube.html +++ b/docs/core/maths/geometry/cube.html @@ -5,58 +5,97 @@ Cube | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cube cube = new(10); // Creates a 10x10x10 cube
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal
using PeyrSharp.Core.Maths.Geometry;
 
-var area = cube.Area;
-// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var edge = cube.Edge;
-// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = cube.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var length = cube.Length;
-// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = cube.Area;
+// area = 100

Edge

Definition

c#
public double Edge { get; }
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var height = cube.Height;
-// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var edge = cube.Edge;
+// edge = 7.0710678118654755
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var side = cube.Side ?? 0;
-// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var edge = cube.Edge;
+// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var volume = cube.Volume; // 10^3
-// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var length = cube.Length;
+// length = 10
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10);
+Cube cube = new(10);
 
-var width = cube.Width;
-// width = 10

Released under the MIT License.

- +var length = cube.Length; +// length = 10

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10

Side

Definition

c#
public double? Side { get; init; }
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cylinder.html b/docs/core/maths/geometry/cylinder.html index 608d70e2..fc7ece04 100644 --- a/docs/core/maths/geometry/cylinder.html +++ b/docs/core/maths/geometry/cylinder.html @@ -5,41 +5,63 @@ Cylinder | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10
using PeyrSharp.Core.Maths.Geometry;
 
-Cylinder cylinder = new(10, 20);
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var volume = cylinder.Volume;
-// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cylinder cylinder = new(10, 20);
 
-Cylinder cylinder = new(10, 20);
+var volume = cylinder.Volume;
+// volume = 6283.185307179587
using PeyrSharp.Core.Maths.Geometry;
 
-var baseArea = cylinder.BaseArea;
-// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cylinder cylinder = new(10, 20);
 
-Cylinder cylinder = new(15, 20);
+var volume = cylinder.Volume;
+// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var radius = cylinder.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cylinder cylinder = new(10, 20);
 
-Cylinder cylinder = new(10, 40);
+var baseArea = cylinder.BaseArea;
+// baseArea = 314.1592653589793
using PeyrSharp.Core.Maths.Geometry;
 
-var height = cylinder.Height;
-// height = 40

Released under the MIT License.

- +Cylinder cylinder = new(10, 20); + +var baseArea = cylinder.BaseArea; +// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/diamond.html b/docs/core/maths/geometry/diamond.html index 29e0cda0..b9f55e0e 100644 --- a/docs/core/maths/geometry/diamond.html +++ b/docs/core/maths/geometry/diamond.html @@ -5,44 +5,69 @@ Diamond | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.
using PeyrSharp.Core.Maths.Geometry;
 
-// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
-Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(5, 10);
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);
using PeyrSharp.Core.Maths.Geometry;
 
-var area = diamond.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(10);
+Diamond diamond = new(5, 10);
 
-var perimeter = diamond.Perimeter;
-// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = diamond.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(10);
+Diamond diamond = new(5, 10);
 
-var side = diamond.Side;
-// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = diamond.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(10, 14);
+Diamond diamond = new(10);
 
-var side = diamond.Diagonals;
-// side = { 10, 14 }

Released under the MIT License.

- +var perimeter = diamond.Perimeter; +// perimeter = 40
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var perimeter = diamond.Perimeter;
+// perimeter = 40

Side

Definition

c#
public double Side { get; init; }
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/hexagon.html b/docs/core/maths/geometry/hexagon.html index 0dc6bc7c..f2173e4c 100644 --- a/docs/core/maths/geometry/hexagon.html +++ b/docs/core/maths/geometry/hexagon.html @@ -5,35 +5,51 @@ Hexagon | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12
using PeyrSharp.Core.Maths.Geometry;
 
-Hexagon hexagon = new(12);
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var area = hexagon.Area;
-// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Hexagon hexagon = new(12);
 
-Hexagon hexagon = new(12);
+var area = hexagon.Area;
+// area = 374.1229744348775
using PeyrSharp.Core.Maths.Geometry;
 
-var perimeter = hexagon.Perimeter;
-// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Hexagon hexagon = new(12);
 
-Hexagon hexagon = new(10);
+var area = hexagon.Area;
+// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var side = hexagon.Side; // side = 10

Released under the MIT License.

- +Hexagon hexagon = new(12); + +var perimeter = hexagon.Perimeter; +// perimeter = 72
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var perimeter = hexagon.Perimeter;
+// perimeter = 72

Side

Definition

c#
public double Side { get; init; }
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/pyramid.html b/docs/core/maths/geometry/pyramid.html index a2bc58af..fd7cef73 100644 --- a/docs/core/maths/geometry/pyramid.html +++ b/docs/core/maths/geometry/pyramid.html @@ -5,62 +5,105 @@ Pyramid | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15);
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);
using PeyrSharp.Core.Maths.Geometry;
 
-var area = pyramid.AreaBase;
-// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15);
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);
using PeyrSharp.Core.Maths.Geometry;
 
-var volume = pyramid.Volume;
-// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15);
+Pyramid pyramid = new(12, 10, 15);
 
-var length = pyramid.LengthBase;
-// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = pyramid.AreaBase;
+// area = 120
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15);
+Pyramid pyramid = new(12, 10, 15);
 
-var width = pyramid.WidthBase;
-// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = pyramid.AreaBase;
+// area = 120

Volume

Definition

c#
public double AreaBase { get; }
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(10, 20, 30);
+Pyramid pyramid = new(12, 10, 15);
 
-var width = pyramid.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var volume = pyramid.Volume;
+// volume = 600
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(10, 20, 30);
+Pyramid pyramid = new(12, 10, 15);
 
-var length = pyramid.Length;
-// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var volume = pyramid.Volume;
+// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(10, 20, 30);
+Pyramid pyramid = new(12, 10, 15);
 
-var height = pyramid.Height;
-// height = 30

Released under the MIT License.

- +var length = pyramid.LengthBase; +// length = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var length = pyramid.LengthBase;
+// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var width = pyramid.WidthBase;
+// width = 12
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var width = pyramid.WidthBase;
+// width = 12

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var width = pyramid.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var width = pyramid.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var length = pyramid.Length;
+// length = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var length = pyramid.Length;
+// length = 20

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var height = pyramid.Height;
+// height = 30
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var height = pyramid.Height;
+// height = 30

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/rectangle.html b/docs/core/maths/geometry/rectangle.html index 9a3d4bb2..21dd610b 100644 --- a/docs/core/maths/geometry/rectangle.html +++ b/docs/core/maths/geometry/rectangle.html @@ -5,46 +5,73 @@ Rectangle | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle
using PeyrSharp.Core.Maths.Geometry;
 
-Rectangle rectangle = new(10, 15);
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var area = rectangle.Area;
-// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 15);
 
-Rectangle rectangle = new(10, 15);
+var area = rectangle.Area;
+// area = 150
using PeyrSharp.Core.Maths.Geometry;
 
-var perimeter = rectangle.Perimeter;
-// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 15);
 
-Rectangle rectangle = new(10, 15);
+var area = rectangle.Area;
+// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var diagonal = rectangle.Diagonal;
-// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 15);
 
-Rectangle rectangle = new(10, 20);
+var perimeter = rectangle.Perimeter;
+// perimeter = 50
using PeyrSharp.Core.Maths.Geometry;
 
-var width = rectangle.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 15);
 
-Rectangle rectangle = new(10, 20);
+var perimeter = rectangle.Perimeter;
+// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var length = rectangle.Length;
-// length = 20

Released under the MIT License.

- +Rectangle rectangle = new(10, 15); + +var diagonal = rectangle.Diagonal; +// diagonal = 18.027756377319946
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var diagonal = rectangle.Diagonal;
+// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/sphere.html b/docs/core/maths/geometry/sphere.html index e87745f3..e065e8bd 100644 --- a/docs/core/maths/geometry/sphere.html +++ b/docs/core/maths/geometry/sphere.html @@ -5,36 +5,53 @@ Sphere | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Sphere sphere = new(10); // Creates a sphere with a radius of 10
using PeyrSharp.Core.Maths.Geometry;
 
-Sphere sphere = new(10);
+Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var area = sphere.Area;
-// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Sphere sphere = new(10);
 
-Sphere sphere = new(10);
+var area = sphere.Area;
+// area = 1256.6370614359173
using PeyrSharp.Core.Maths.Geometry;
 
-var volume = sphere.Volume;
-// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Sphere sphere = new(10);
 
-Sphere sphere = new(10);
+var area = sphere.Area;
+// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-var radius = sphere.Radius;
-// radius = 10

Released under the MIT License.

- +Sphere sphere = new(10); + +var volume = sphere.Volume; +// volume = 2356.194490192345
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var volume = sphere.Volume;
+// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/triangle.html b/docs/core/maths/geometry/triangle.html index 0779b387..53bab97a 100644 --- a/docs/core/maths/geometry/triangle.html +++ b/docs/core/maths/geometry/triangle.html @@ -5,74 +5,129 @@ Triangle | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20, 10); // Creates a triangle
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20);
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20
using PeyrSharp.Core.Maths.Geometry;
 
-var area = triangle.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 10, 20);
+Triangle triangle = new(10, 20);
 
-var perimeter = triangle.Perimeter;
-// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = triangle.Area;
+// area = 100
using PeyrSharp.Core.Maths.Geometry;
 
-// Assuming the triangle is right
-Triangle triangle = new(3, 4, 5);
+Triangle triangle = new(10, 20);
 
-var hypotenuse = triangle.Hypotenuse;
-// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var area = triangle.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(3, 4, 5);
+Triangle triangle = new(10, 10, 20);
 
-var right = triangle.IsRight;
-// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var perimeter = triangle.Perimeter;
+// perimeter = 40
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(3, 4, 10);
+Triangle triangle = new(10, 10, 20);
 
-var canBeBuilt = triangle.CanBeBuilt;
-// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var perimeter = triangle.Perimeter;
+// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20);
+// Assuming the triangle is right
+Triangle triangle = new(3, 4, 5);
 
-var width = triangle.Width;
-// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var hypotenuse = triangle.Hypotenuse;
+// hypotenuse = 5
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20);
+// Assuming the triangle is right
+Triangle triangle = new(3, 4, 5);
 
-var height = triangle.Height;
-// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var hypotenuse = triangle.Hypotenuse;
+// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 15);
+Triangle triangle = new(3, 4, 5);
 
-var side1 = triangle.Side1;
-// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var right = triangle.IsRight;
+// right = true
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 15);
+Triangle triangle = new(3, 4, 5);
 
-var side2 = triangle.Side2;
-// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+var right = triangle.IsRight;
+// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 15);
+Triangle triangle = new(3, 4, 10);
 
-var side3 = triangle.Side3;
-// side3 = 15

Released under the MIT License.

- +var canBeBuilt = triangle.CanBeBuilt; +// canBeBuilt = false
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 10);
+
+var canBeBuilt = triangle.CanBeBuilt;
+// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var width = triangle.Width;
+// width = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var width = triangle.Width;
+// width = 10

Height

Definition

c#
public double Height { get; init; }
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var height = triangle.Height;
+// height = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var height = triangle.Height;
+// height = 20

Side1

Definition

c#
public double Side1 { get; init; }
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side1 = triangle.Side1;
+// side1 = 10
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side1 = triangle.Side1;
+// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side2 = triangle.Side2;
+// side2 = 20
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side2 = triangle.Side2;
+// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side3 = triangle.Side3;
+// side3 = 15
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side3 = triangle.Side3;
+// side3 = 15

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/percentages.html b/docs/core/maths/percentages.html index 54df5d6d..a5356c86 100644 --- a/docs/core/maths/percentages.html +++ b/docs/core/maths/percentages.html @@ -5,31 +5,43 @@ Percentages | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
 
-double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
-// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110
using PeyrSharp.Core.Maths;
 
-double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
-// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
 
-double ev = Percentages.GetInvertedEvolutionRate(1.1);
-// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
+// price = 90
using PeyrSharp.Core.Maths;
 
-double proportion = Percentages.ProportionToPercentageString(0.5);
-// proportion = 50%

Released under the MIT License.

- +double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10% +// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/proba.html b/docs/core/maths/proba.html index 107da3a8..b21499d1 100644 --- a/docs/core/maths/proba.html +++ b/docs/core/maths/proba.html @@ -5,27 +5,35 @@ Proba | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
 
-Dictionary<string, double> probabilities = new Dictionary<string, double>
-{
-    { "Heads", 0.5 },
-    { "Tails", 0.5 }
-};
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
 
-string result = Proba.GetRandomValue(probabilities);

Released under the MIT License.

- +string result = Proba.GetRandomValue(probabilities);
using PeyrSharp.Core.Maths;
+
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
+
+string result = Proba.GetRandomValue(probabilities);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/stats.html b/docs/core/maths/stats.html index 83da97d7..15f132c3 100644 --- a/docs/core/maths/stats.html +++ b/docs/core/maths/stats.html @@ -5,43 +5,67 @@ Stats | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
-// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
+// mean = 3
using PeyrSharp.Core.Maths;
 
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double median = Stats.Median(dataset); // Calculate the median of the dataset
-// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
+// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
-List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
-double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
-// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double median = Stats.Median(dataset); // Calculate the median of the dataset
+// median = 3
using PeyrSharp.Core.Maths;
 
-List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
-double range = Stats.Range(numbers); // Calculate the range of the list of numbers
-// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double median = Stats.Median(dataset); // Calculate the median of the dataset
+// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
-// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
+double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
+// mode = 3
using PeyrSharp.Core.Maths;
 
-List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
-double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
-// sd = 1.5811388300841898

Released under the MIT License.

- +List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 }; +double mode = Stats.Mode(dataset); // Calculate the mode of the dataset +// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
+double range = Stats.Range(numbers); // Calculate the range of the list of numbers
+// range = 4.4
using PeyrSharp.Core.Maths;
+
+List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
+double range = Stats.Range(numbers); // Calculate the range of the list of numbers
+// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
+// variance = 2.5
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
+// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
+// sd = 1.5811388300841898
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
+// sd = 1.5811388300841898

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/trigonometry.html b/docs/core/maths/trigonometry.html index b4c1f4f3..aefcf62d 100644 --- a/docs/core/maths/trigonometry.html +++ b/docs/core/maths/trigonometry.html @@ -5,31 +5,43 @@ Trigonometry | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
+    
Skip to content

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
 
-double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
-// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
 
-double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
-// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
 
-double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
-// hypotenuse = 10.041234478169912

Released under the MIT License.

- +double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71); +// adjacent = 4.996227561429541
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
+// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/password.html b/docs/core/password.html index 91ea202d..110d6e2b 100644 --- a/docs/core/password.html +++ b/docs/core/password.html @@ -5,47 +5,75 @@ Password | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
-
-private async void Main()
-{
-    // Generate a password with 10 characters
-    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-private async void Main()
-{
-    // Generate a password with 10 characters, using the Complex preset
-    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
-}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
-using PeyrSharp.Core;
-
-private async void Main()
-{
-    // Generate 10 passwords with 10 characters
-    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
-using PeyrSharp.Core;
-using PeyrSharp.Enums;
-
-private async void Main()
-{
-    // Generate 10 passwords with 10 characters with the simple preset
-    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
-}

Released under the MIT License.

- +
Skip to content

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate a password with 10 characters
+    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}
using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate a password with 10 characters
+    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate a password with 10 characters, using the Complex preset
+    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
+}
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate a password with 10 characters, using the Complex preset
+    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
+}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters
+    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}
using System.Collections.Generic;
+using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters
+    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters with the simple preset
+    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
+}
using System.Collections.Generic;
+using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters with the simple preset
+    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/statusinfo.html b/docs/core/statusinfo.html index e78987b8..97b81587 100644 --- a/docs/core/statusinfo.html +++ b/docs/core/statusinfo.html @@ -5,19 +5,19 @@ StatusInfo | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

Released under the MIT License.

- +
Skip to content

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/xml-helper.html b/docs/core/xml-helper.html index d71dd519..781678aa 100644 --- a/docs/core/xml-helper.html +++ b/docs/core/xml-helper.html @@ -5,71 +5,123 @@ XmlHelper | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
-using System;
-using System.IO;
-using System.Xml.Serialization;
-
-private static void Main()
-{
-    string path = "path/to/xml/file.xml";
-
-    // Load an object from the XML file
-    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
-
-    if (obj != null)
-    {
-        // Object loaded successfully
-        Console.WriteLine("Object loaded: " + obj.ToString());
-    }
-    else
-    {
-        // Error occurred during loading or saving
-        Console.WriteLine("Failed to load object.");
-    }
-}
-
-// Example class for serialization
-public class MyObject
-{
-    public string Name { get; set; }
-    public int Age { get; set; }
-
-    public override string ToString()
-    {
-        return $"Name: {Name}, Age: {Age}";
-    }
-}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
-using System.Xml.Serialization;
-using System.IO;
-
-public class MyClass
-{
-    public int MyProperty { get; set; }
-}
-
-public class Program
-{
-    private static void Main()
-    {
-        MyClass myObject = new MyClass { MyProperty = 123 };
-
-        // Save the object to an XML file
-        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
-    }
-}

Released under the MIT License.

- +
Skip to content

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 5.NET 6.NET 7
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
+using System;
+using System.IO;
+using System.Xml.Serialization;
+
+private static void Main()
+{
+    string path = "path/to/xml/file.xml";
+
+    // Load an object from the XML file
+    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
+
+    if (obj != null)
+    {
+        // Object loaded successfully
+        Console.WriteLine("Object loaded: " + obj.ToString());
+    }
+    else
+    {
+        // Error occurred during loading or saving
+        Console.WriteLine("Failed to load object.");
+    }
+}
+
+// Example class for serialization
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+
+    public override string ToString()
+    {
+        return $"Name: {Name}, Age: {Age}";
+    }
+}
using PeyrSharp.Core;
+using System;
+using System.IO;
+using System.Xml.Serialization;
+
+private static void Main()
+{
+    string path = "path/to/xml/file.xml";
+
+    // Load an object from the XML file
+    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
+
+    if (obj != null)
+    {
+        // Object loaded successfully
+        Console.WriteLine("Object loaded: " + obj.ToString());
+    }
+    else
+    {
+        // Error occurred during loading or saving
+        Console.WriteLine("Failed to load object.");
+    }
+}
+
+// Example class for serialization
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+
+    public override string ToString()
+    {
+        return $"Name: {Name}, Age: {Age}";
+    }
+}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
+using System.Xml.Serialization;
+using System.IO;
+
+public class MyClass
+{
+    public int MyProperty { get; set; }
+}
+
+public class Program
+{
+    private static void Main()
+    {
+        MyClass myObject = new MyClass { MyProperty = 123 };
+
+        // Save the object to an XML file
+        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
+    }
+}
using PeyrSharp.Core;
+using System.Xml.Serialization;
+using System.IO;
+
+public class MyClass
+{
+    public int MyProperty { get; set; }
+}
+
+public class Program
+{
+    private static void Main()
+    {
+        MyClass myObject = new MyClass { MyProperty = 123 };
+
+        // Save the object to an XML file
+        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
+    }
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/enumerations.html b/docs/enumerations.html index 5fbe5486..ca63650e 100644 --- a/docs/enumerations.html +++ b/docs/enumerations.html @@ -5,86 +5,153 @@ Enumerations | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 5.NET 6.NET 7
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
-{
-    if (unit == StorageUnits.Terabyte)
-    {
-        return value / 1000d;
-    }
-}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
-{
-    if (unit == TimeUnits.Minutes)
-    {
-        return value * 60;
-    }
-}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+    
Skip to content

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 5.NET 6.NET 7
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
+{
+    if (unit == StorageUnits.Terabyte)
+    {
+        return value / 1000d;
+    }
+}
public static double ToPetabyte(double value, StorageUnits unit)
+{
+    if (unit == StorageUnits.Terabyte)
+    {
+        return value / 1000d;
+    }
+}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
+{
+    if (unit == TimeUnits.Minutes)
+    {
+        return value * 60;
+    }
+}
public static double ToSeconds(double value, TimeUnits unit)
+{
+    if (unit == TimeUnits.Minutes)
+    {
+        return value * 60;
+    }
+}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-string message = "This is a log message.";
-string filePath = @"C:\Logs\log.txt";
-DateTime date = DateTime.Now;
-LogLevel logLevel = LogLevel.Warning;
+string message = "This is a log message.";
+string filePath = @"C:\Logs\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
 
-Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
-{
-    //Do something if the OS is Windows
-}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
-{
-    Console.WriteLine("You have dark theme enabled!");
-}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
-Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+Logger.Log(message, filePath, date, logLevel);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-switch (status)
-{
-    case StatusCodes.Informational:
-        Console.WriteLine("An information status code has been returned.");
-        break;
-    case StatusCodes.Success:
-        Console.WriteLine("An successful status code has been returned.");
-        break;
-    case StatusCodes.Redirection:
-        Console.WriteLine("An redirection status code has been returned.");
-        break;
-    case StatusCodes.ClientError:
-        Console.WriteLine("An client error status code has been returned.");
-        break;
-    case StatusCodes.ServerError:
-        Console.WriteLine("An server error status code has been returned.");
-        break;
-}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
-{
-    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
-}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
-{
-    // Check if the generated password is complex
-    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
-    {
-        Console.WriteLine("The password isn't complex enough.");
-    }
-}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+string message = "This is a log message.";
+string filePath = @"C:\Logs\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
 
-namespace App
-{
-    public partial class MyForm : Form
-    {
-        private void button1_Click(object sender, EventArgs e)
-        {
-            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
-        }
-    }
-}

Released under the MIT License.

- +Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
+{
+    //Do something if the OS is Windows
+}
if (Env.CurrentOs == OperatingSystems.Windows)
+{
+    //Do something if the OS is Windows
+}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
+{
+    Console.WriteLine("You have dark theme enabled!");
+}
if (GetCurrentTheme() == SystemThemes.Dark)
+{
+    Console.WriteLine("You have dark theme enabled!");
+}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+
+switch (status)
+{
+    case StatusCodes.Informational:
+        Console.WriteLine("An information status code has been returned.");
+        break;
+    case StatusCodes.Success:
+        Console.WriteLine("An successful status code has been returned.");
+        break;
+    case StatusCodes.Redirection:
+        Console.WriteLine("An redirection status code has been returned.");
+        break;
+    case StatusCodes.ClientError:
+        Console.WriteLine("An client error status code has been returned.");
+        break;
+    case StatusCodes.ServerError:
+        Console.WriteLine("An server error status code has been returned.");
+        break;
+}
status = GetRequestStatus();
+
+switch (status)
+{
+    case StatusCodes.Informational:
+        Console.WriteLine("An information status code has been returned.");
+        break;
+    case StatusCodes.Success:
+        Console.WriteLine("An successful status code has been returned.");
+        break;
+    case StatusCodes.Redirection:
+        Console.WriteLine("An redirection status code has been returned.");
+        break;
+    case StatusCodes.ClientError:
+        Console.WriteLine("An client error status code has been returned.");
+        break;
+    case StatusCodes.ServerError:
+        Console.WriteLine("An server error status code has been returned.");
+        break;
+}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
+{
+    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
+}
private async void Main()
+{
+    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
+}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
+{
+    // Check if the generated password is complex
+    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
+    {
+        Console.WriteLine("The password isn't complex enough.");
+    }
+}
internal async void Main()
+{
+    // Check if the generated password is complex
+    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
+    {
+        Console.WriteLine("The password isn't complex enough.");
+    }
+}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+
+namespace App
+{
+    public partial class MyForm : Form
+    {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
+        }
+    }
+}
using PeyrSharp.UiHelpers;
+
+namespace App
+{
+    public partial class MyForm : Form
+    {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
+        }
+    }
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env.html b/docs/env.html index 318b9412..64ebd82e 100644 --- a/docs/env.html +++ b/docs/env.html @@ -5,19 +5,19 @@ Env | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

Released under the MIT License.

- +
Skip to content

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/filesys.html b/docs/env/filesys.html index 55ee75e9..fa65b1e3 100644 --- a/docs/env/filesys.html +++ b/docs/env/filesys.html @@ -5,92 +5,165 @@ FileSys | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+    
Skip to content

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-public static async Task ExampleAsync()
-{
-    // Write some text in a file
-    string text = "Hello, World!";
-    await File.WriteAllTextAsync("Hello.txt", text);
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-    // Count the number of characters
-    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-    // chars = 13
-}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-if (FileSys.CanWriteFile(@"C:\Windows"))
-{
-    Console.WriteLine("You have permission to edit in this folder.");
-}
-else
-{
-    Console.WriteLine("You do not have permission to edit in this folder.");
-}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-if (FileSys.IsOpticalDrive(new(@"E:\")))
-{
-    Console.WriteLine("Drive E:/ is an optical drive")
-}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
 
-var unit = FileSys.GetDriveStorageUnit(@"C:\");
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
 
-string message = unit switch
-{
-    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
-    StorageUnits.Terabyte => "The drive unit is in terabytes",
-    StorageUnits.Petabyte => "The drive unit is in petabytes",
-    _ => "Unknown size unit"
-}
+public static async Task ExampleAsync()
+{
+    // Write some text in a file
+    string text = "Hello, World!";
+    await File.WriteAllTextAsync("Hello.txt", text);
 
-Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+    // Count the number of characters
+    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
 
-string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+    // chars = 13
+}
using PeyrSharp.Env;
 
-string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
-using PeyrSharp.Env;
+public static async Task ExampleAsync()
+{
+    // Write some text in a file
+    string text = "Hello, World!";
+    await File.WriteAllTextAsync("Hello.txt", text);
 
-DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
-using PeyrSharp.Env;
+    // Count the number of characters
+    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
 
-DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
-public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+    // chars = 13
+}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
 
-DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+if (FileSys.CanWriteFile(@"C:\Windows"))
+{
+    Console.WriteLine("You have permission to edit in this folder.");
+}
+else
+{
+    Console.WriteLine("You do not have permission to edit in this folder.");
+}
using PeyrSharp.Env;
 
-string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+if (FileSys.CanWriteFile(@"C:\Windows"))
+{
+    Console.WriteLine("You have permission to edit in this folder.");
+}
+else
+{
+    Console.WriteLine("You do not have permission to edit in this folder.");
+}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
 
-string computerName = FileSys.ComputerName;

Released under the MIT License.

- +if (FileSys.IsOpticalDrive(new(@"E:\"))) +{ + Console.WriteLine("Drive E:/ is an optical drive") +}
using PeyrSharp.Env;
+
+if (FileSys.IsOpticalDrive(new(@"E:\")))
+{
+    Console.WriteLine("Drive E:/ is an optical drive")
+}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+
+var unit = FileSys.GetDriveStorageUnit(@"C:\");
+
+string message = unit switch
+{
+    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
+    StorageUnits.Terabyte => "The drive unit is in terabytes",
+    StorageUnits.Petabyte => "The drive unit is in petabytes",
+    _ => "Unknown size unit"
+}
+
+Console.WriteLine(message);
using PeyrSharp.Env;
+
+var unit = FileSys.GetDriveStorageUnit(@"C:\");
+
+string message = unit switch
+{
+    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
+    StorageUnits.Terabyte => "The drive unit is in terabytes",
+    StorageUnits.Petabyte => "The drive unit is in petabytes",
+    _ => "Unknown size unit"
+}
+
+Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string appdata = FileSys.AppDataPath;
using PeyrSharp.Env;
+
+string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string dir = FileSys.CurrentAppDirectory;
using PeyrSharp.Env;
+
+string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+
+DriveInfo sys = FileSys.SystemDrive;
using PeyrSharp.Env;
+
+DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+
+string currentDirectory = FileSys.CurrentDirectory;
using PeyrSharp.Env;
+
+string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+
+string computerName = FileSys.ComputerName;
using PeyrSharp.Env;
+
+string computerName = FileSys.ComputerName;

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/logger.html b/docs/env/logger.html index edad1be5..21a3b71b 100644 --- a/docs/env/logger.html +++ b/docs/env/logger.html @@ -5,37 +5,55 @@ Logger | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
 
-Logger.Log("Hello", @"C:\Logs\log1.txt", DateTime.Now)
-// The line above will generate a file with the following content:
-// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
+Logger.Log("Hello", @"C:\Logs\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello
using PeyrSharp.Env;
 
-string message = "This is a log message. Date: {0}.";
-string filePath = @"C:\Logs\log.txt";
-DateTime date = DateTime.Now;
+Logger.Log("Hello", @"C:\Logs\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
 
-Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
+string message = "This is a log message. Date: {0}.";
+string filePath = @"C:\Logs\log.txt";
+DateTime date = DateTime.Now;
 
-string message = "This is a log message.";
-string filePath = @"C:\Logs\log.txt";
-DateTime date = DateTime.Now;
-LogLevel logLevel = LogLevel.Warning;
+Logger.Log(message, filePath, date);
using PeyrSharp.Env;
 
-Logger.Log(message, filePath, date, logLevel);

Released under the MIT License.

- +string message = "This is a log message. Date: {0}."; +string filePath = @"C:\Logs\log.txt"; +DateTime date = DateTime.Now; + +Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\Logs\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\Logs\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/system.html b/docs/env/system.html index 7aa9c910..81d98788 100644 --- a/docs/env/system.html +++ b/docs/env/system.html @@ -5,88 +5,189 @@ Sys | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
 
-// Define a process
-Process p = new();
-p.StartInfo.FileName = "notepad.exe";
+// Define a process
+Process p = new();
+p.StartInfo.FileName = "notepad.exe";
 
-Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin(p);
using PeyrSharp.Env;
 
-Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
+// Define a process
+Process p = new();
+p.StartInfo.FileName = "notepad.exe";
 
-Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
 
-bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin("notepad.exe");
using PeyrSharp.Env;
 
-int processId = 12345;
+Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\AppxManifest.xml
InstallLocation\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
 
-bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP
using PeyrSharp.Env;
 
-internal static async void Main()
-{
-    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
-}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
 
-if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
-{
-    Console.WriteLine("You are on Windows");
-}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
-    <application>
-      <!-- Windows Vista -->
-      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");
using PeyrSharp.Env;
 
-      <!-- Windows 7 -->
-      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
 
-      <!-- Windows 8 -->
-      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+int processId = 12345;
 
-      <!-- Windows 8.1 -->
-      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
-
-      <!-- Windows 10 -->
-      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
-    </application>
-</compatibility>

Usage

c#
using PeyrSharp.Env;
-
-if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
-{
-    Console.WriteLine("You are on Windows 11");
-}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
-
-if (Sys.IsDarkThemeSupported)
-{
-    Console.WriteLine("You are running Windows 10 or higher.");
-}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-Process[] procs = Sys.RunningProcesses;
-
-for (int i = 0; i < procs.Length; i++)
-{
-    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
-}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-string[] procs = Sys.RunningProcessesNames;
-
-for (int i = 0; i < procs.Length; i++)
-{
-    Console.WriteLine(procs[i]); // Print the name of all running processes
-}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
-
-int unixTime = Sys.UnixTime;

Released under the MIT License.

- +bool result = Sys.TerminateProcess(processId);
using PeyrSharp.Env;
+
+int processId = 12345;
+
+bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\UwpApps.json
Get-StartApps | ConvertTo-Json > $env:appdata\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+
+internal static async void Main()
+{
+    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
+}
using PeyrSharp.Env;
+
+internal static async void Main()
+{
+    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
+}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
+{
+    Console.WriteLine("You are on Windows");
+}
using PeyrSharp.Env;
+
+if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
+{
+    Console.WriteLine("You are on Windows");
+}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
+
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
+    </application>
+</compatibility>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
+
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
+    </application>
+</compatibility>

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
+{
+    Console.WriteLine("You are on Windows 11");
+}
using PeyrSharp.Env;
+
+if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
+{
+    Console.WriteLine("You are on Windows 11");
+}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.IsDarkThemeSupported)
+{
+    Console.WriteLine("You are running Windows 10 or higher.");
+}
using PeyrSharp.Env;
+
+if (Sys.IsDarkThemeSupported)
+{
+    Console.WriteLine("You are running Windows 10 or higher.");
+}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
+using PeyrSharp.Env;
+
+if (Sys.CurrentTheme == SystemThemes.Light)
+{
+    Console.WriteLine("The current theme is light.");
+}
+else if (Sys.CurrentTheme == SystemThemes.Dark)
+{
+    Console.WriteLine("The current theme is dark.");
+}
+else
+{
+    Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
+}
using Microsoft.Win32;
+using PeyrSharp.Env;
+
+if (Sys.CurrentTheme == SystemThemes.Light)
+{
+    Console.WriteLine("The current theme is light.");
+}
+else if (Sys.CurrentTheme == SystemThemes.Dark)
+{
+    Console.WriteLine("The current theme is dark.");
+}
+else
+{
+    Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
+}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+Process[] procs = Sys.RunningProcesses;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
+}
using PeyrSharp.Env;
+
+Process[] procs = Sys.RunningProcesses;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
+}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string[] procs = Sys.RunningProcessesNames;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i]); // Print the name of all running processes
+}
using PeyrSharp.Env;
+
+string[] procs = Sys.RunningProcessesNames;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i]); // Print the name of all running processes
+}

UnixTime

Definition

c#
public static int Unix { get; }
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+int unixTime = Sys.UnixTime;
using PeyrSharp.Env;
+
+int unixTime = Sys.UnixTime;

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/update.html b/docs/env/update.html index a26cde9e..bb300db3 100644 --- a/docs/env/update.html +++ b/docs/env/update.html @@ -5,35 +5,51 @@ Update | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
 
-private async void Main()
-{
-    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
-    // lastVersion would be equal to the content of this text files
-}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
+private async void Main()
+{
+    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+    // lastVersion would be equal to the content of this text files
+}
using PeyrSharp.Env;
 
-private async void Main()
-{
-    string current = "1.0";
-    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+private async void Main()
+{
+    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+    // lastVersion would be equal to the content of this text files
+}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
 
-    Console.WriteLine(Update.IsAvailable(current, last)
-        ? "Updates are available."
-        : "You are up-to-date.");
-}

Released under the MIT License.

- +private async void Main() +{ + string current = "1.0"; + string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt"); + + Console.WriteLine(Update.IsAvailable(current, last) + ? "Updates are available." + : "You are up-to-date."); +}
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string current = "1.0";
+    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+
+    Console.WriteLine(Update.IsAvailable(current, last)
+        ? "Updates are available."
+        : "You are up-to-date.");
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/uwpapp.html b/docs/env/uwpapp.html index 2dcfa75d..7c2f2603 100644 --- a/docs/env/uwpapp.html +++ b/docs/env/uwpapp.html @@ -5,27 +5,35 @@ UwpApp | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+    
Skip to content

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
 
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
 
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp

Released under the MIT License.

- +// Access the properties of the UwpApp object +Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/exceptions.html b/docs/exceptions.html index 3a21c1d0..d2156d91 100644 --- a/docs/exceptions.html +++ b/docs/exceptions.html @@ -5,31 +5,43 @@ Exceptions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 5.NET 6.NET 7
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
+    
Skip to content

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 5.NET 6.NET 7
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
 
-throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
+throw new RGBInvalidValueException("Please provide correct RGB values.");
using PeyrSharp.Exceptions;
 
-throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
 
-// Guid length
-int length = 45; // Will throw an error
+throw new HEXInvalidValueException("Please provide a correct HEX value.");
using PeyrSharp.Exceptions;
 
-if (length <= 0 || length > 32)
-{
-    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
-}

Released under the MIT License.

- +throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+
+// Guid length
+int length = 45; // Will throw an error
+
+if (length <= 0 || length > 32)
+{
+    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
+}
using PeyrSharp.Exceptions;
+
+// Guid length
+int length = 45; // Will throw an error
+
+if (length <= 0 || length > 32)
+{
+    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions.html b/docs/extensions.html index 3cc4bbb3..14ff0dd9 100644 --- a/docs/extensions.html +++ b/docs/extensions.html @@ -5,19 +5,19 @@ Extensions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Classes

Released under the MIT License.

- +
Skip to content

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/array.html b/docs/extensions/array.html index 8a48dd3b..33ab570a 100644 --- a/docs/extensions/array.html +++ b/docs/extensions/array.html @@ -5,39 +5,59 @@ ArrayExtensions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] numbers = { 1, 2, 3, 4 };
-int[] appendNumbers = numbers.Append(5);
-// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5);
+// appendNumbers: { 1, 2, 3, 4, 5 }
using PeyrSharp.Extensions;
 
-int[] numbers = { 1, 2, 3, 4 };
-int[] appendNumbers = numbers.Append(5, 6);
-// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5);
+// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] numbers = { 1, 2, 3, 4, 5 };
-int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5, 6);
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }
using PeyrSharp.Extensions;
 
-int[] numbers = { 1, 2, 3, 4, 5 };
-int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5, 6);
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
 
-string[] array = { "a", "b", "c", "d" };
-string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
-// final = "a, b, c, d"

Released under the MIT License.

- +int[] numbers = { 1, 2, 3, 4, 5 }; +int[] remove = numbers.RemoveItem(5); +// remove: { 1, 2, 3, 4 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] array = { "a", "b", "c", "d" };
+string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
+// final = "a, b, c, d"
using PeyrSharp.Extensions;
+
+string[] array = { "a", "b", "c", "d" };
+string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
+// final = "a, b, c, d"

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/double.html b/docs/extensions/double.html index 916892c4..8be0f4ed 100644 --- a/docs/extensions/double.html +++ b/docs/extensions/double.html @@ -5,69 +5,119 @@ DoubleExtensions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
-double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
+double mean = data.Mean(); // 5
using PeyrSharp.Extensions;
 
-double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
-double median = data.Median();
+double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
-Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double median = data.Median();
 
-double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
-double mode = data.Mode();
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4
using PeyrSharp.Extensions;
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double median = data.Median();
 
-int n = 45.6.ToInt();
-// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
-double seconds = 5.ToSeconds(TimeUnits.Minutes);
-// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double mode = data.Mode();
 
-double min = 120.ToMinutes(TimeUnits.Seconds);
-// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2
using PeyrSharp.Extensions;
 
-double hours = 1.ToHours(TimeUnits.Days);
-// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Extensions;
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double mode = data.Mode();
 
-double days = 72.ToDays(TimeUnits.Hours);
-// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-double byte = Storage.1(StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+int n = 45.6.ToInt();
+// n = 46
using PeyrSharp.Extensions;
 
-double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+int n = 45.6.ToInt();
+// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
 
-double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double seconds = 5.ToSeconds(TimeUnits.Minutes);
+// seconds = 300
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
 
-double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double seconds = 5.ToSeconds(TimeUnits.Minutes);
+// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
 
-double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+double min = 120.ToMinutes(TimeUnits.Seconds);
+// min = 2
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
 
-double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
-// petabyte = 1

Released under the MIT License.

- +double min = 120.ToMinutes(TimeUnits.Seconds); +// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double hours = 1.ToHours(TimeUnits.Days);
+// hours = 24
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double hours = 1.ToHours(TimeUnits.Days);
+// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double days = 72.ToDays(TimeUnits.Hours);
+// days = 3
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double days = 72.ToDays(TimeUnits.Hours);
+// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.1(StorageUnits.Kilobyte);
+// byte = 1000
using PeyrSharp.Core.Converters;
+
+double byte = Storage.1(StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
+// kilobyte = 2
using PeyrSharp.Core.Converters;
+
+double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
+// megabyte = 1.5
using PeyrSharp.Core.Converters;
+
+double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
+// gigabyte = 1
using PeyrSharp.Core.Converters;
+
+double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
+// terabyte = 1000
using PeyrSharp.Core.Converters;
+
+double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
+// petabyte = 1
using PeyrSharp.Core.Converters;
+
+double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
+// petabyte = 1

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/int.html b/docs/extensions/int.html index cc3667d7..d949069f 100644 --- a/docs/extensions/int.html +++ b/docs/extensions/int.html @@ -5,38 +5,57 @@ IntExtensions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }
using PeyrSharp.Extensions;
 
-int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] data = new int[] { 1, 2, 3, 4, 5 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.IsEven(); // true
using PeyrSharp.Extensions;
 
-int[] data = new int[] { 1, 2, 3, 5 };
-double median = data.Median();
+int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
-Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+int[] data = new int[] { 1, 2, 3, 4, 5 };
+double mean = data.Mean(); // 5
using PeyrSharp.Extensions;
 
-int[] data = new int[] { 1, 2, 3, 5 };
-double mode = data.Mode();
+int[] data = new int[] { 1, 2, 3, 4, 5 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+int[] data = new int[] { 1, 2, 3, 5 };
+double median = data.Median();
 
-double d = 16.ToDouble(); // 16.0d

Released under the MIT License.

- +Console.WriteLine($"The median of the dataset is {median}"); // 2
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+double d = 16.ToDouble(); // 16.0d
using PeyrSharp.Extensions;
+
+double d = 16.ToDouble(); // 16.0d

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/string.html b/docs/extensions/string.html index db364a67..5096a581 100644 --- a/docs/extensions/string.html +++ b/docs/extensions/string.html @@ -5,58 +5,101 @@ StringExtensions | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 5.NET 6.NET 7
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int numberOfWords = "Hello, this is a test sentence!".CountWords();
-// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
+int numberOfWords = "Hello, this is a test sentence!".CountWords();
+// numberOfWords = 6
using PeyrSharp.Extensions;
 
-string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
-int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
-// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
+int numberOfWords = "Hello, this is a test sentence!".CountWords();
+// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
 
-string a = "This is a test sentence.";
-string b = "This is an another test sentence.";
+string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
+int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
+// numberOfWords = 6
using PeyrSharp.Extensions;
 
-a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
+string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
+int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
+// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
 
-string a = "This is a test sentence.";
-string b = "This is an another test sentence.";
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
 
-a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+a.EndsWithSamePunctuation(b); // true
using PeyrSharp.Extensions;
 
-string encrypted = "Hello!".EncryptAes("password");
-// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
 
-string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
-// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
 
-"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \n, \r, \r\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
 
-string[] lines = "Hello\nWorld".SplitLines();
-// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+a.EndsWithSamePunctuation(b, "."); // true
using PeyrSharp.Extensions;
 
-string str = "aBcDeFgHiJ";
-string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
-// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
 
-string str = "test";
-string upper = str.ToUpperAt(); // Uppercase the first letter of the string
-// upper = "Test"

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
-string reversed = "Hello, world!".Reverse();
-// Output: "!dlrow ,olleH"

Released under the MIT License.

- +string encrypted = "Hello!".EncryptAes("password"); +// encrypted = 6NvvTBntd2PdFxXzVbccLw==
using PeyrSharp.Core;
+
+string encrypted = "Hello!".EncryptAes("password");
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
+// text = Hello!
using PeyrSharp.Core;
+
+string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
+// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+"111".HasRepeatedCharacters(); // true
using PeyrSharp.Extensions;
+
+"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \n, \r, \r\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] lines = "Hello\nWorld".SplitLines();
+// lines = { "Hello", "World" }
using PeyrSharp.Extensions;
+
+string[] lines = "Hello\nWorld".SplitLines();
+// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "aBcDeFgHiJ";
+string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
+// upper = "aBCDEFGhij"
using PeyrSharp.Extensions;
+
+string str = "aBcDeFgHiJ";
+string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
+// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "test";
+string upper = str.ToUpperAt(); // Uppercase the first letter of the string
+// upper = "Test"
using PeyrSharp.Extensions;
+
+string str = "test";
+string upper = str.ToUpperAt(); // Uppercase the first letter of the string
+// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+
+string reversed = "Hello, world!".Reverse();
+// Output: "!dlrow ,olleH"
using PeyrSharp.Extensions;
+
+string reversed = "Hello, world!".Reverse();
+// Output: "!dlrow ,olleH"

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/get-started.html b/docs/get-started.html index 58af42d3..f17db308 100644 --- a/docs/get-started.html +++ b/docs/get-started.html @@ -5,24 +5,29 @@ Get Started | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 1.0.0.2211

Package Manager

sh
NuGet\Install-Package PeyrSharp -Version 1.0.0.2211

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
-using PeyrSharp.Env;
-using PeyrSharp.Enums;
-using PeyrSharp.Exceptions;
-using PeyrSharp.Extensions;
-using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

Released under the MIT License.

- +
Skip to content

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 1.0.0.2211
dotnet add package PeyrSharp --version 1.0.0.2211

Package Manager

sh
NuGet\Install-Package PeyrSharp -Version 1.0.0.2211
NuGet\Install-Package PeyrSharp -Version 1.0.0.2211

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />
<PackageReference Include="PeyrSharp" Version="1.0.0.2211" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/hashmap.json b/docs/hashmap.json index 5a216895..75defe91 100644 --- a/docs/hashmap.json +++ b/docs/hashmap.json @@ -1 +1 @@ -{"core_converters_colors_hsv.md":"34af8b4a","core_converters_angle.md":"3818ea53","core_maths_geometry.md":"f210912f","env_uwpapp.md":"dcba768f","core_maths_geometry_triangle.md":"3062f476","core_converters_temperatures.md":"86f399dd","core_maths_geometry_rectangle.md":"de2778c8","core_converters_distances.md":"a2fa2889","core_json-helper.md":"e45838d6","core_internet.md":"6a296b9a","reference.md":"a31a0df4","ui-helpers.md":"63c75787","core_maths.md":"514d3cf2","core_maths_proba.md":"c9293802","core_maths_geometry_diamond.md":"5256c148","core_maths_percentages.md":"6e243752","env_update.md":"a1273893","core_converters_volumes.md":"891b8531","extensions.md":"b080d23b","core_maths_geometry_circle.md":"e12239d2","core_converters_speeds.md":"a110c0de","core_converters_masses.md":"39e62d78","exceptions.md":"aae9c983","core_converters_storage.md":"2b813e83","extensions_string.md":"57d0b3ae","core_converters_colors_rgb.md":"35de48d5","env_filesys.md":"8589c991","core_converters_time.md":"2241ec46","core_maths_stats.md":"9297b391","core.md":"f6d4ea4c","core_maths_geometry_cube.md":"1daf7518","extensions_int.md":"8d3dd603","core_converters_colors_hex.md":"a4ef033c","intro.md":"8e286665","core_maths_geometry_sphere.md":"1827ca30","enumerations.md":"ae8efbeb","core_xml-helper.md":"db6a1186","env_logger.md":"cbed7f54","core_converters.md":"6208e554","get-started.md":"a01a8ac8","index.md":"6827c3c3","core_guid-options.md":"c396b689","core_maths_geometry_cylinder.md":"1f35fb1b","ui-helpers_wpf.md":"9c708ade","core_maths_algebra.md":"25cd2650","core_maths_geometry_cone.md":"ab75c386","extensions_array.md":"fc0364fa","env.md":"7a083ce5","core_crypt.md":"89a6c77c","ui-helpers_screen.md":"abf9d1aa","core_converters_energies.md":"917d6be6","core_statusinfo.md":"a51639ad","core_guid.md":"d249cd02","core_maths_geometry_hexagon.md":"3164db2b","core_maths_trigonometry.md":"78849101","core_password.md":"a9888b08","core_maths_geometry_pyramid.md":"8ad145a7","extensions_double.md":"de01a066","ui-helpers_winforms.md":"3d7797a8","env_system.md":"45d34ea7"} +{"core_converters_masses.md":"f6cfd9f7","core_converters_temperatures.md":"8a78c1a2","core_maths.md":"3a4734f3","core_converters_colors_hsv.md":"dbe36e17","core_maths_geometry_sphere.md":"5f6f998f","core_json-helper.md":"cc60e6c2","core_converters_colors_hex.md":"33132cc5","core_converters_energies.md":"d8e42ef0","core_maths_geometry.md":"a190352c","core.md":"b893fea5","core_maths_geometry_hexagon.md":"b4c1eb61","core_converters_volumes.md":"385daf16","core_guid.md":"d28b3014","core_guid-options.md":"5c1af4b5","core_converters_distances.md":"0f400c09","core_maths_stats.md":"edb41b6a","core_converters_time.md":"7e0c9e9e","core_internet.md":"b3af24f5","intro.md":"ea3bafe7","core_converters_angle.md":"8a16953e","env_update.md":"329bcc46","core_maths_geometry_cone.md":"2492cc46","core_converters_speeds.md":"c887147e","extensions.md":"32bd4caa","core_maths_proba.md":"0aecd6a4","core_maths_geometry_circle.md":"a8461aaf","core_converters.md":"d4088611","reference.md":"cbdb1199","extensions_array.md":"ed7cfa02","ui-helpers_screen.md":"c277ff31","core_converters_colors_rgb.md":"d296121e","index.md":"541d4bbc","core_maths_geometry_cylinder.md":"6b48f4e1","env_uwpapp.md":"64413305","core_maths_geometry_triangle.md":"70ac16cf","exceptions.md":"77841f50","core_maths_trigonometry.md":"db5e4666","get-started.md":"b142ffa1","env_logger.md":"9b14c21f","core_maths_algebra.md":"8645a716","env.md":"f2ba38d6","core_maths_geometry_rectangle.md":"113c3105","core_xml-helper.md":"bb579261","ui-helpers_winforms.md":"fe389c98","ui-helpers_wpf.md":"91ffecbf","core_statusinfo.md":"a97192f6","env_filesys.md":"c01b3b78","extensions_int.md":"adc0cb07","ui-helpers_windowinfo.md":"7554d1cd","core_maths_geometry_cube.md":"0f432795","core_crypt.md":"55e86926","core_maths_percentages.md":"a68b9e85","extensions_string.md":"5d08846d","core_maths_geometry_diamond.md":"aed6072d","ui-helpers_windowhelpers.md":"a1134c53","core_converters_storage.md":"10e30c28","enumerations.md":"95d6b4f5","core_password.md":"5b330426","extensions_double.md":"4449dcb3","ui-helpers.md":"f63f6257","core_maths_geometry_pyramid.md":"88f2f589","env_system.md":"8962a7fa"} diff --git a/docs/index.html b/docs/index.html index 3b05b1c2..31f6455f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,19 +5,19 @@ PeyrSharp | A C# library designed to make developers' job easier. - + - + - - - + + + - + - - +
Skip to content

PeyrSharp

Made for you.

A C# library designed to make developers' job easier.

PeyrSharp

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html index 79fc74c3..6ea0bb5d 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -5,19 +5,19 @@ Introduction | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Released under the MIT License.

- +
Skip to content

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/reference.html b/docs/reference.html index 867d163f..0331a50e 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -5,19 +5,19 @@ Reference | PeyrSharp - + - + - - - + + + - + - - + + \ No newline at end of file diff --git a/docs/ui-helpers.html b/docs/ui-helpers.html index 0fd65397..a98031fe 100644 --- a/docs/ui-helpers.html +++ b/docs/ui-helpers.html @@ -5,19 +5,19 @@ UiHelpers | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Classes

Released under the MIT License.

- +
Skip to content

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/screen.html b/docs/ui-helpers/screen.html index 79d046a5..16e58ba2 100644 --- a/docs/ui-helpers/screen.html +++ b/docs/ui-helpers/screen.html @@ -5,59 +5,99 @@ Screen | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetDpi(this));
-    }
-}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows;
-
-public partial class MyWindow : Window
-{
-    private void HandleButton(object sender, RoutedEventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetDpi(this));
-    }
-}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
-    }
-}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows;
-
-public partial class MyWindow : Window
-{
-    private void HandleButton(object sender, RoutedEventArgs e)
-    {
-        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
-    }
-}

Released under the MIT License.

- +
Skip to content

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/windowhelpers.html b/docs/ui-helpers/windowhelpers.html new file mode 100644 index 00000000..eafb9c94 --- /dev/null +++ b/docs/ui-helpers/windowhelpers.html @@ -0,0 +1,47 @@ + + + + + + WindowHelpers | PeyrSharp + + + + + + + + + + + + +
Skip to content

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Collections.Generic;
+
+public class MyWindowManager
+{
+    public void PrintOpenedWindows() {
+        List<WindowInfo> windows = WinFormsHelpers.GetWindows();
+        foreach (WindowInfo window in windows)
+        {
+            Console.WriteLine(window.Name);
+        }
+    }
+}
using PeyrSharp.UiHelpers;
+using System.Collections.Generic;
+
+public class MyWindowManager
+{
+    public void PrintOpenedWindows() {
+        List<WindowInfo> windows = WinFormsHelpers.GetWindows();
+        foreach (WindowInfo window in windows)
+        {
+            Console.WriteLine(window.Name);
+        }
+    }
+}

Released under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/ui-helpers/windowinfo.html b/docs/ui-helpers/windowinfo.html new file mode 100644 index 00000000..e495ea19 --- /dev/null +++ b/docs/ui-helpers/windowinfo.html @@ -0,0 +1,59 @@ + + + + + + WindowInfo | PeyrSharp + + + + + + + + + + + + +
Skip to content

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 5.NET 6.NET 7
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
+
+// Get the handle of the window
+Console.WriteLine(windowInfo.Handle); // Output: 123456
// Create a new WindowInfo object
+WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
+
+// Get the handle of the window
+Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the name of the window
+windowInfo.Name = "MyWindow";
+
+// Get the name of the window
+Console.WriteLine(windowInfo.Name); // Output: MyWindow
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the name of the window
+windowInfo.Name = "MyWindow";
+
+// Get the name of the window
+Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the class name of the window
+windowInfo.ClassName = "MyWindowClass";
+
+// Get the class name of the window
+Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the class name of the window
+windowInfo.ClassName = "MyWindowClass";
+
+// Get the class name of the window
+Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass

Released under the MIT License.

+ + + + \ No newline at end of file diff --git a/docs/ui-helpers/winforms.html b/docs/ui-helpers/winforms.html index 7a8f44b9..d7864ccc 100644 --- a/docs/ui-helpers/winforms.html +++ b/docs/ui-helpers/winforms.html @@ -5,55 +5,91 @@ WinForms | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        Button button = (Button)sender;
-        WinFormsHelpers.CenterControl(button, this);
-    }
-}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        Button button = (Button)sender;
-
-        // Center the button vertically
-        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
-    }
-}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
-using System;
-using System.Windows.Forms;
-
-public partial class MyForm : Form
-{
-    private void HandleButton(object sender, EventArgs e)
-    {
-        // Put the current form in the middle of the screen
-        WinFormsHelpers.CenterForm(this); 
-    }
-}

Released under the MIT License.

- +
Skip to content

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+        WinFormsHelpers.CenterControl(button, this);
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+        WinFormsHelpers.CenterControl(button, this);
+    }
+}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+
+        // Center the button vertically
+        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
+    }
+}
using PeyrSharp.Enums;
+using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+
+        // Center the button vertically
+        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
+    }
+}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        // Put the current form in the middle of the screen
+        WinFormsHelpers.CenterForm(this); 
+    }
+}
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        // Put the current form in the middle of the screen
+        WinFormsHelpers.CenterForm(this); 
+    }
+}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/wpf.html b/docs/ui-helpers/wpf.html index fcfce6a6..2daf851d 100644 --- a/docs/ui-helpers/wpf.html +++ b/docs/ui-helpers/wpf.html @@ -5,22 +5,25 @@ WPF | PeyrSharp - + - + - - - + + + - + -
Skip to content
On this page

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
+    
Skip to content

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 5.NET 6.NET 7
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
 
-Window window = new Window();
-WpfHelpers.CenterWindow(window); // Center the window on the primary screen

Released under the MIT License.

- +Window window = new Window(); +WpfHelpers.CenterWindow(window); // Center the window on the primary screen
using PeyrSharp.UiHelpers;
+
+Window window = new Window();
+WpfHelpers.CenterWindow(window); // Center the window on the primary screen

Released under the MIT License.

+ \ No newline at end of file