From 778f6e927188a5aa6d3db465feaba80216ed3920 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Mon, 2 Jun 2025 00:29:00 +0400 Subject: [PATCH 01/46] [update] RichText 2.0 --- docs/api/editor_api_methods.md | 130 +- docs/api/events_bus.md | 2 +- docs/api/overview.md | 14 +- docs/api/properties.md | 24 +- docs/api/toolbar_controls.md | 18 +- docs/api/toolbar_methods.md | 2 +- docs/guides/angular_integration.md | 78 +- docs/guides/configuration.md | 64 +- docs/guides/customization.md | 65 +- docs/guides/event_handling.md | 17 +- docs/guides/initialization.md | 59 +- docs/guides/loading_data.md | 20 +- docs/guides/localization.md | 143 +- docs/guides/react_integration.md | 73 +- docs/guides/vuejs_integration.md | 90 +- docs/guides/working_with_richtext.md | 16 +- docs/how_to_start.md | 89 +- docs/overview.md | 44 +- docs/whats_new.md | 18 +- sidebars.js | 6 +- yarn.lock | 6659 ++++++++++---------------- 21 files changed, 3049 insertions(+), 4582 deletions(-) diff --git a/docs/api/editor_api_methods.md b/docs/api/editor_api_methods.md index b47c286..4294ad0 100644 --- a/docs/api/editor_api_methods.md +++ b/docs/api/editor_api_methods.md @@ -73,25 +73,25 @@ richtext.getEditorAPI().add({type:"full",data:[ Check the detailed description of parameters: - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
ParameterTypeDescription
configstring|objecta string with a text or a text block as an object.If set as an object, the parameter includes:
  • type - (string) the type of a text block: "text" (a string) | "textnode" (a text node) | "full" (a data model);
  • data - (string|object|array) the content of a text block. It can be:
    • a simple string with text;
    • a text node as an object that includes:
      • a text as a string;
      • an object with style properties.
    • a data model as an array. It contains objects with styles and text nodes. Each text node includes:
      • an array with text nodes objects (each of them contains two key:value values for a text string and an object with style settings, as described above)
      • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
ParameterTypeDescription
configstring|objecta string with a text or a text block as an object.If set as an object, the parameter includes:
  • type - (string) the type of a text block: "text" (a string) | "textnode" (a text node) | "full" (a data model);
  • data - (string|object|array) the content of a text block. It can be:
    • a simple string with text;
    • a text node as an object that includes:
      • a text as a string;
      • an object with style properties.
    • a data model as an array. It contains objects with styles and text nodes. Each text node includes:
      • an array with text nodes objects (each of them contains two key:value values for a text string and an object with style settings, as described above)
      • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
___ @@ -232,9 +232,9 @@ The returned value is an object of the following type: where: - - - + + +
___ @@ -263,13 +263,13 @@ richtext.getEditorAPI().remove(api.getSelection()); Check the detailed description of the parameter: - - - - - - - + + + + + + +
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
___ @@ -319,18 +319,18 @@ richtext.getEditorAPI().setModel([ Check the detailed description of parameters: - - - - - - - - - - - - + + + + + + + + + + + +
structurearrayan array of objects with styles and text nodes. Each text node includes:
  • an array with text nodes objects (each of them contains two key:value pairs for a text string and an object with style settings)
  • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
structurearrayan array of objects with styles and text nodes. Each text node includes:
  • an array with text nodes objects (each of them contains two key:value pairs for a text string and an object with style settings)
  • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
___ @@ -369,13 +369,13 @@ richtext.getEditorAPI().setSelection({ Check the detailed description of the parameter: - - - - - - - + + + + + + +
selectionobjectthe position of text selection relative to all other text. Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
selectionobjectthe position of text selection relative to all other text. Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
___ @@ -396,11 +396,11 @@ Modifies the entered text var api = richtext.getEditorAPI(); richtext.getEditorAPI().update( - { - modifier: "color", - value: "#BB2B1A" - }, - api.getSelection() + { + modifier: "color", + value: "#BB2B1A" + }, + api.getSelection() ); ``` @@ -411,16 +411,16 @@ richtext.getEditorAPI().update( Check the detailed description of parameters: - - - - - - - - - - - - + + + + + + + + + + + +
configobjectan object with details of updating. It contains two parameters:
  • modifier - (object) an object with a set of styling options that will be updated;
  • value - (any) the value of the modifier.
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
configobjectan object with details of updating. It contains two parameters:
  • modifier - (object) an object with a set of styling options that will be updated;
  • value - (any) the value of the modifier.
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
diff --git a/docs/api/events_bus.md b/docs/api/events_bus.md index eb3994b..c493e40 100644 --- a/docs/api/events_bus.md +++ b/docs/api/events_bus.md @@ -87,6 +87,6 @@ richtext.events.on("Change", function(action, canUndo, canRedo){ #### Details -[See the list of Richtext events](api/events.md). +[See the list of RichText events](api/events.md). You can attach several handlers to the same event and all of them will be executed. If some of handlers return *false*, the related operations will be blocked. Event handlers are processed in the same order that they are attached. \ No newline at end of file diff --git a/docs/api/overview.md b/docs/api/overview.md index 0e51fb0..6f011ca 100644 --- a/docs/api/overview.md +++ b/docs/api/overview.md @@ -8,7 +8,7 @@ description: Become familiar with a range of objects, methods, and events availa ~~~js var richtext = new dhx.Richtext("richtext_container", { - mode:"document" + mode:"document" }); ~~~ @@ -53,7 +53,7 @@ var richtext = new dhx.Richtext("richtext_container", { | ------------------------------------------------ | ---------------- | | [customStats](api/properties.md#customstats) | defines the logic of displaying custom statistics | | [mode](api/properties.md#mode) | the working mode of the RichText editor | -| [toolbarBlocks](api/properties.md#toolbarblocks) | specifies blocks of buttons that will be shown in the Richtext toolbar | +| [toolbarBlocks](api/properties.md#toolbarblocks) | specifies blocks of buttons that will be shown in the RichText Toolbar | ### Editor API methods @@ -76,13 +76,13 @@ var EditorAPI = richtext.getEditorAPI(); | Name | Description | |-----------------------------------------|----------------------------------------------| -| [add](api/toolbar_methods.md#add) | adds a new control to the toolbar | -| [remove](api/toolbar_methods.md#remove) | removes a control from the toolbar | +| [add](api/toolbar_methods.md#add) | adds a new control to the Toolbar | +| [remove](api/toolbar_methods.md#remove) | removes a control from the Toolbar | | [update](api/toolbar_methods.md#update) | updates configuration options of the control | ### Toolbar controls -Besides using the [default](guides/customization.md#default-controls) controls of the toolbar, you can customize the toolbar by adding the following controls: +Besides using the [default](guides/customization.md#default-controls) controls of the toolbar, you can customize the Toolbar by adding the following controls: | Name | Description | |------------------------------------------------------|--------------------------------------------------------------| @@ -90,5 +90,5 @@ Besides using the [default](guides/customization.md#default-controls) controls o | [Custom HTML](api/toolbar_controls.md#custom-html) | an item that contains any custom HTML content (for example, an image, icon or other element) | | [ImageButton](api/toolbar_controls.md#imagebutton) | a button with an image | | [SelectButton](api/toolbar_controls.md#selectbutton) | a button that contains a drop-down list of options | -| [Separator](api/toolbar_controls.md#separator) | a horizontal (between menu options) or vertical (between toolbar controls) line separating items/groups of items from each other | -| [Spacer](api/toolbar_controls.md#spacer) | the item takes space on the toolbar and is used for aligning controls | \ No newline at end of file +| [Separator](api/toolbar_controls.md#separator) | a horizontal (between menu options) or vertical (between Toolbar controls) line separating items/groups of items from each other | +| [Spacer](api/toolbar_controls.md#spacer) | the item takes space on the Toolbar and is used for aligning controls | \ No newline at end of file diff --git a/docs/api/properties.md b/docs/api/properties.md index 53ee1c9..7b3d3f5 100644 --- a/docs/api/properties.md +++ b/docs/api/properties.md @@ -1,7 +1,7 @@ --- sidebar_label: Properties title: Properties -description: Get insight into configuration properties utilized for working with text statistics, setting editor mode, and customizing the toolbar in DHTMLX Rich Text Editor. +description: Get insight into configuration properties utilized for working with text statistics, setting editor mode, and customizing the Toolbar in DHTMLX Rich Text Editor. --- ## `customStats` @@ -50,7 +50,7 @@ ____ ## `defaultStyles` -Defines default values of the toolbar selection controls +Defines default values of the Toolbar selection controls `defaultStyles?: object;` @@ -91,7 +91,7 @@ The working mode of the RichText editor **Values**: "default", "document" ~~~jsx -var richtext = new dhx.RichText("richtext_container", { +var richtext = new dhx.Richtext("richtext_container", { mode: "document" }); ~~~ @@ -104,13 +104,13 @@ ____ ## `toolbarBlocks` -Specifies blocks of buttons that will be shown in the Richtext toolbar +Specifies blocks of buttons that will be shown in the RichText toolbar `toolbarBlocks?: array;` ~~~jsx -// default toolbar blocks -var richtext = new dhx.RichText("richtext_container", { +// default Toolbar blocks +var richtext = new dhx.Richtext("richtext_container", { toolbarBlocks: ["undo", "style", "decoration", "colors", "align", "link"] }); ~~~ @@ -123,10 +123,10 @@ var richtext = new dhx.RichText("richtext_container", { ### Full toolbar -The full toolbar contains several more blocks: `"clear"`, `"fullscreen"`, and `"stats"`: +The full Toolbar contains several more blocks: `"clear"`, `"fullscreen"`, and `"stats"`: ~~~jsx -var richtext = new dhx.RichText(document.body, { +var richtext = new dhx.Richtext(document.body, { // full toolbar toolbarBlocks: [ "undo", "style", "decoration", "colors", "align", @@ -137,12 +137,12 @@ var richtext = new dhx.RichText(document.body, { **Related sample:** [RichText. Full Toolbar](https://snippet.dhtmlx.com/5yga5ce1) -### Short toolbar definition +### Short Toolbar definition The default set of buttons can be specified via the `"default"` definition in the `toolbarBlocks` array, like this: ~~~jsx -var richtext = new dhx.RichText(document.body, { +var richtext = new dhx.Richtext(document.body, { // full toolbar toolbarBlocks: ["default", "clear", "stats", "fullscreen"] }); @@ -150,10 +150,10 @@ var richtext = new dhx.RichText(document.body, { ### Custom toolbar -It is also possible to create a custom toolbar by setting desired blocks in the random order: +It is also possible to create a custom Toolbar by setting desired blocks in the random order: ~~~jsx -var richtext = new dhx.RichText(document.body, { +var richtext = new dhx.Richtext(document.body, { toolbarBlocks: ["clear", "colors", "align", "decoration", "undo", "fullscreen", "link" ] diff --git a/docs/api/toolbar_controls.md b/docs/api/toolbar_controls.md index fe965ec..c0d8cdf 100644 --- a/docs/api/toolbar_controls.md +++ b/docs/api/toolbar_controls.md @@ -1,10 +1,10 @@ --- sidebar_label: Toolbar controls title: Toolbar controls -description: Learn how to add custom toolbar controls and configure them to your requirements using the available API properties of DHTMLX Rich Text Editor. +description: Learn how to add custom Toolbar controls and configure them to your requirements using the available API properties of DHTMLX Rich Text Editor. --- -Besides using the [default](guides/customization.md#default-controls) controls of the toolbar, you can customize the toolbar by adding the following controls: +Besides using the [default](guides/customization.md#default-controls) controls of the toolbar, you can customize the Toolbar by adding the following controls: ## `Button` @@ -56,7 +56,7 @@ An item that contains any custom HTML content (for example, an image, icon or ot ```js richtext.toolbar.data.add({ - type: "customHTML", + type: "customHTML", id: "htmlbutton-id", value: "Some value", icon: "icon-name" @@ -84,7 +84,7 @@ A button with an image ```js richtext.toolbar.data.add({ - type: "imageButton", + type: "imageButton", count: 10, src: "../img/avatar.png" }, 3); @@ -113,7 +113,7 @@ A button that contains a drop-down list of options ```js richtext.toolbar.data.add({ - id: "select_button", + id: "select_button", type: "selectButton", value: "1", items: [ @@ -135,7 +135,7 @@ richtext.toolbar.data.add({ ## `Separator` -A horizontal (between menu options) or vertical (between toolbar controls) line separating items/groups of items from each other +A horizontal (between menu options) or vertical (between Toolbar controls) line separating items/groups of items from each other | Properties | Type | Description | @@ -145,13 +145,13 @@ A horizontal (between menu options) or vertical (between toolbar controls) line ```js richtext.toolbar.data.add({ - type:"separator" + type:"separator" }, 4); ``` ## `Spacer` -The item takes space on the toolbar and is used for aligning controls +The item takes space on the Toolbar and is used for aligning controls | Properties | Type | Description | @@ -161,6 +161,6 @@ The item takes space on the toolbar and is used for aligning controls ```js richtext.toolbar.data.add({ - type:"spacer" + type:"spacer" }, 4); ``` \ No newline at end of file diff --git a/docs/api/toolbar_methods.md b/docs/api/toolbar_methods.md index f39f5a5..9caf95a 100644 --- a/docs/api/toolbar_methods.md +++ b/docs/api/toolbar_methods.md @@ -1,7 +1,7 @@ --- sidebar_label: Toolbar methods title: Toolbar methods -description: Check the list of API methods of DHTMLX Rich Text Editor enabling you to add and remove toolbar controls as well as update their configuration. +description: Check the list of API methods of DHTMLX Rich Text Editor enabling you to add and remove Toolbar controls as well as update their configuration. --- diff --git a/docs/guides/angular_integration.md b/docs/guides/angular_integration.md index 780dddc..af3e375 100644 --- a/docs/guides/angular_integration.md +++ b/docs/guides/angular_integration.md @@ -1,13 +1,15 @@ --- sidebar_label: Integration with Angular title: Integration with Angular -description: This guide provides explanations on possible ways of adding and initializing DHTMLX Rich Text Editor in Angular-based web apps. +description: This guide provides explanations on possible ways of adding and initializing DHTMLX RichText Editor in Angular-based web apps. --- -You can use DHTMLX Richtext in an application created with the [Angular](https://angular.io/) framework. [Check the demo on Github](https://github.com/DHTMLX/angular-widgets). +# Integration with Angular -:::note -Note, that the implementation provided below is not the only way to use DHTMLX Richtext in a Angular-based application. It gives you initial schema of the integration and implies further +You can use DHTMLX RichText in an application created with the [Angular](https://angular.io/) framework. [Check the demo on Github](https://github.com/DHTMLX/angular-widgets). + +:::note +Note, that the implementation provided below is not the only way to use DHTMLX RichText in a Angular-based application. It gives you initial schema of the integration and implies further extension of the app functionality depending on your goals. ::: @@ -15,7 +17,7 @@ extension of the app functionality depending on your goals. To add RichText package into your Angular-based app you need to [download the component package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. -Then include `richtext.js` and `richtext.css` files into a page. +Then include ***richtext.js*** and ***richtext.css*** files into a page. Make sure that you set correct relative paths to these files: ~~~html title="index.html" @@ -23,7 +25,6 @@ Make sure that you set correct relative paths to these files: ~~~ - ## Initialization There are two possible scenarios of initializing RichText inside an Angular application. One consists in isolating RichText structure and data inside of the Angular component and another one suggests @@ -31,13 +32,13 @@ separating view and data parts with the possibility of interaction between them. ### Scenario 1. Isolating RichText in an Angular component -In this variant RichText configuration and data are held inside of the Angular component with no bonds with the external part of the application. +In this variant RichText configuration and data are held inside of the Angular component with no bonds with the external part of the application. #### RichText initialization - Create a `RichText.ts` file, where you will define a Component. Each component must have a template assigned, for RichText it will be a plain DIV tag with a named reference. -~~~js title="RichText.ts" +~~~jsx title="RichText.ts" @Component({ template: `
` }) @@ -45,10 +46,10 @@ In this variant RichText configuration and data are held inside of the Angular c - Use the `new Richtext` constructor to initialize RichText inside of the container that you've set above: -~~~js title="RichText.ts" -export class RichtextComponent implements OnInit, OnDestroy { +~~~jsx title="RichText.ts" +export class RichTextComponent implements OnInit, OnDestroy { @ViewChild('widget') container: ElementRef; - richtext: Richtext; + richtext: RichText; ngOnInit() { this.richtext = new Richtext(this.container.nativeElement, { @@ -62,10 +63,10 @@ export class RichtextComponent implements OnInit, OnDestroy { - Next you can do some actions, e.g. add a new control into the toolbar: -~~~js title="RichText.ts" -export class RichtextComponent implements OnInit, OnDestroy { +~~~jsx title="RichText.ts" +export class RichTextComponent implements OnInit, OnDestroy { @ViewChild('widget') container: ElementRef; - richtext: Richtext; + richtext: RichText; ngOnInit() { this.richtext = new Richtext(this.container.nativeElement, { @@ -79,7 +80,6 @@ export class RichtextComponent implements OnInit, OnDestroy { } ~~~ - ### Scenario 2. Exposing RichText data and config This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. @@ -88,22 +88,22 @@ This variant adds flexibility in the control over RichText data and configuratio - The first step is the same. Create a file, let it be `RichText2.ts` this time, and add a container for the RichText: -~~~js title="RichText2.ts" +~~~jsx title="RichText2.ts" @Component({ - template: `
` + template: `
` }) ~~~ -- Then initialize RichText with the `new RichText` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: +- Then initialize RichText with the `new Richtext` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: -~~~js title="RichText2.ts" -export class RichtextComponent implements OnInit, OnDestroy { +~~~jsx title="RichText2.ts" +export class RichTextComponent implements OnInit, OnDestroy { @ViewChild('widget') container: ElementRef; - richtext: Richtext; + richtext: RichText; - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - mode: this.mode + ngOnInit() { + this.richtext = new Richtext(this.container.nativeElement, { + mode: this.mode }); } } @@ -113,16 +113,15 @@ export class RichtextComponent implements OnInit, OnDestroy { - Set the list of used RichText configuration properties and their types before the initialization function: -~~~js title="RichText2.ts" -export class RichtextComponent implements OnInit, OnDestroy { +~~~jsx title="RichText2.ts" +export class RichTextComponent implements OnInit, OnDestroy { @ViewChild('widget') container: ElementRef; - richtext: Richtext; + richtext: RichText; @Input() mode: 'document' | 'classic' = 'classic'; @Input() value: string; @Input() dataType: 'html' | 'markdown'; - ngOnInit() { this.richtext = new Richtext(this.container.nativeElement, { mode: this.mode @@ -131,9 +130,9 @@ export class RichtextComponent implements OnInit, OnDestroy { } ~~~ -The properties of RichText are exposed and available to work with outside the component. In the example below the `"document"` mode is specified for richtext: +The properties of RichText are exposed and available to work with outside the component. In the example below the `"document"` mode is specified for RichText: -~~~js title="BasicSample.ts" +~~~jsx title="BasicSample.ts" @Component({ template: `
@@ -144,14 +143,14 @@ The properties of RichText are exposed and available to work with outside the co #### Working with RichText API -This variant of using RichText in a Angular application allows working with its API moving all calls of methods and event handlers into a separate file. +This variant of using RichText in a Angular application allows working with its API moving all calls of methods and event handlers into a separate file. First, you can add a couple of wrappers for convenient work with RichText API. The example below shows how you can wrap actions for setting RichText value and handling the `change` event taking into account the type of data: -~~~js title="RichText2.ts" -export class RichtextComponent implements OnInit, OnDestroy { +~~~jsx title="RichText2.ts" +export class RichTextComponent implements OnInit, OnDestroy { @ViewChild('widget') container: ElementRef; - richtext: Richtext; + richtext: RichText; ngOnInit() { this.richtext = new Richtext(this.container.nativeElement, { @@ -169,12 +168,12 @@ export class RichtextComponent implements OnInit, OnDestroy { } ~~~ -After that you can use the ready wrappers in other parts of application. +After that you can use the ready wrappers in other parts of application. - Create a `DataSample.ts` file and describe the methods you want to use while working with the richtext. In the example below the `updateMarkdown` and `updateHTML` methods are added for updating the content of the RichText editor: -~~~js title="DataSample.ts" -export class RichtextDataSampleComponent { +~~~jsx title="DataSample.ts" +export class RichTextDataSampleComponent { @Input() html = ''; @Input() markdown = ``; updateMarkdown(value) { @@ -186,9 +185,9 @@ export class RichtextDataSampleComponent { } ~~~ -- Use the above methods to update the Richtext content depending on the type of entered data when some changes are made: +- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: -~~~js title="DataSample.ts" +~~~jsx title="DataSample.ts" @Component({ template: `
@@ -199,4 +198,3 @@ export class RichtextDataSampleComponent {
` }) ~~~ - diff --git a/docs/guides/configuration.md b/docs/guides/configuration.md index dca11a0..9a89921 100644 --- a/docs/guides/configuration.md +++ b/docs/guides/configuration.md @@ -1,13 +1,14 @@ --- sidebar_label: Configuration title: Configuration -description: This guide helps to configure the DHTMLX Rich Text Editor according to your requirements, enable the required working mode in the editor, and define its toolbar structure. +description: This guide helps to configure the DHTMLX Rich Text Editor according to your requirements, enable the required working mode in the editor, and define its Toolbar structure. --- -With RichText configuration options, you can make your work with text even more comfortable. It is possible to define the desired working mode and set the blocks of toolbar buttons you need in the order you want. +# Configuration -Working modes ---------------- +With RichText configuration properties , you can make your work with text even more comfortable. It is possible to define the desired working mode and set the blocks of Toolbar buttons you need in the order you want. + +## Working modes There are two modes of RichText editor between which you can select to get the best working place for creating your perfect texts. The modes are: @@ -19,22 +20,21 @@ There are two modes of RichText editor between which you can select to get the b ![Doc Mode](./../assets/doc_mode.png) -To specify the desired mode, you need to define it in the [mode](api/properties.md#mode) option of the Richtext configuration object during initialization of the component: +To specify the desired mode, you need to define it in the [mode](api/properties.md#mode) option of the RichText configuration object during initialization of the component: -~~~js +~~~jsx var richtext = new dhx.Richtext("richtext_container", { - mode: "document" + mode: "document" }); ~~~ **Related sample:** [Modes](https://snippet.dhtmlx.com/pdh5buvg) -Toolbar ------------- +## Toolbar ### Default toolbar -The RichText toolbar consists of several blocks of controls that can be changed according to your needs. By default, there are the following blocks of controls in the toolbar: +The RichText Toolbar consists of several blocks of controls that can be changed according to your needs. By default, there are the following blocks of controls in the toolbar: - `"undo"` - to undo/redo recent actions - `"style"` - to change the font, font size, turn plain text into a heading and vice versa, and make a quote out of the text @@ -43,13 +43,13 @@ The RichText toolbar consists of several blocks of controls that can be changed - `"align"` - to adjust the alignment of the text on a page - `"link"` - to add a link into the text -The structure of toolbar is defined via the [toolbarBlocks](api/properties.md#toolbarblocks) configuration option of the component, which is an array with strings presenting the names of controls. +The structure of Toolbar is defined via the [toolbarBlocks](api/properties.md#toolbarblocks) configuration option of the component, which is an array with strings presenting the names of controls. -~~~js +~~~jsx var richtext = new dhx.Richtext(document.body, { - // default toolbar + // default toolbar toolbarBlocks: [ - "undo", "style", "decoration", "colors", + "undo", "style", "decoration", "colors", "align", "link" ] }); @@ -64,12 +64,12 @@ You can add several more blocks to make the full toolbar: - `"clear"` - to clear formatting applied to the text - `"fullscreen"` - to enter/exit the full screen mode - `"stats"` - to display statistics about the text: the count of words, characters and characters excluding spaces or some custom statistical data - -~~~js + +~~~jsx var richtext = new dhx.Richtext(document.body, { - // full toolbar + // full toolbar toolbarBlocks: [ - "undo", "style", "decoration", "colors", "align", + "undo", "style", "decoration", "colors", "align", "link", "clear", "stats", "fullscreen" ] }); @@ -77,31 +77,29 @@ var richtext = new dhx.Richtext(document.body, { ![Full Toolbar](./../assets/full_toolbar.png) - **Related sample:** [Full Toolbar](https://snippet.dhtmlx.com/5yga5ce1) -### Short toolbar definition +### Short Toolbar definition There is also a possibility to specify the default set of buttons via the `"default"` definition in the `toolbarBlocks` array, like this: -~~~js +~~~jsx var richtext = new dhx.Richtext(document.body, { - // full toolbar + // full toolbar toolbarBlocks: ["default", "clear", "stats", "fullscreen"] }); ~~~ where the "default" string includes the default set of controls: `"undo"`, `"style"`, `"decoration"`, `"colors"`, `"align"` and `"link"`. - ### Custom toolbar -You can specify your own structure of the toolbar by enumerating the necessary elements of the `toolbarBlocks` array in the desired order, for example: +You can specify your own structure of the Toolbar by enumerating the necessary elements of the `toolbarBlocks` array in the desired order, for example: ~~~js var richtext = new dhx.Richtext(document.body, { - toolbarBlocks: ["clear", "colors", "align","decoration", - "undo", "fullscreen","link" + toolbarBlocks: ["clear", "colors", "align","decoration", + "undo", "fullscreen","link" ] }); ~~~ @@ -110,9 +108,9 @@ var richtext = new dhx.Richtext(document.body, { **Related sample:** [Toolbar Blocks](https://snippet.dhtmlx.com/yp7en22d) -### Custom statistics in the toolbar +### Custom statistics in the Toolbar -The default statistics shown in the toolbar includes the following data about the text: the count of words, characters and characters excluding spaces. +The default statistics shown in the Toolbar includes the following data about the text: the count of words, characters and characters excluding spaces. ![Default stats](./../assets/default_stats.png) @@ -124,10 +122,10 @@ Each parameter represents an object with two properties: In the example below the editor shows the number of sentences together with the count of characters and words: -~~~js +~~~jsx var richtext = new dhx.Richtext("richtext_container", { - customStats: [ - { + customStats: [ + { name: "chars" }, { @@ -155,6 +153,4 @@ var richtext = new dhx.Richtext("richtext_container", { **Related sample:** [Custom Stats](https://snippet.dhtmlx.com/u1734epz) - -Toolbar is [highly customizable](guides/customization.md). You can add new controls, change the icons of controls and apply the desired icon pack. - +Toolbar is [highly customizable](guides/customization.md). You can add new controls, change the icons of controls and apply the desired icon pack. diff --git a/docs/guides/customization.md b/docs/guides/customization.md index 86a2576..a5776d6 100644 --- a/docs/guides/customization.md +++ b/docs/guides/customization.md @@ -4,21 +4,22 @@ title: Customization description: This guide explains how to customize the DHTMLX Rich Text Editor's toolbar, reconfigure controls, and replace default icons used in the editor with custom ones. --- +# Customization + You can customize the appearance and structure of toolbar, change the settings of controls and use any icon pack instead of the default one. -Icons ----------- +## Icons -DHTMLX Richtext uses the [Material Design](https://pictogrammers.com/library/mdi/?welcome)-based icons by default. However, you can use any other icon font pack, if necessary. For this, you need to include the desired icon font on a page and apply icons for Toolbar controls. +DHTMLX RichText uses the [Material Design](https://pictogrammers.com/library/mdi/?welcome)-based icons by default. However, you can use any other icon font pack, if necessary. For this, you need to include the desired icon font on a page and apply icons for Toolbar controls. -For example, you can use the [Font Awesome](https://fontawesome.com/) icon pack by including [link to its CDN](https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css) after the source files of DHTMLX Richtext as follows: +For example, you can use the [Font Awesome](https://fontawesome.com/) icon pack by including [link to its CDN](https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css) after the source files of DHTMLX RichText as follows: ~~~html ~~~ @@ -26,8 +27,7 @@ For example, you can use the [Font Awesome](https://fontawesome.com/) icon pack Then you can use the name of the icon as the value of the `icon` property in the object with the control parameters for toolbar. See details below. -Controls -------------- +## Controls ### Types @@ -65,7 +65,7 @@ The `customHTML` object has the following properties: - `type` - (*string*) the item type, set it to "customHTML" - `id` - (*string*) the id of a an item, auto-generated if not set - `html` - (*string*) a string with HTML that should be inserted into the item -- `css` - (*string|string[]*) adds style classes +- `css` - (*string|string[]*) adds style classes - `hidden` - (*boolean*) defines whether an item is hidden #### ImageButton @@ -127,9 +127,9 @@ To add a new control, apply the `richtext.{name}.data.add()` method. It takes th For a button: -~~~js +~~~jsx richtext.toolbar.data.add({ - type: "button", + type: "button", id: "button-id", value: "Some value", icon: "icon-name" @@ -138,9 +138,9 @@ richtext.toolbar.data.add({ For a custom button: -~~~js +~~~jsx richtext.toolbar.data.add({ - type: "customHTML", + type: "customHTML", id: "htmlbutton-id", value: "Some value", icon: "icon-name" @@ -149,13 +149,12 @@ richtext.toolbar.data.add({ #### Updating controls -You can change the icon of the control and its other config options via the -`richtext.{name}.data.update()` method. It takes two parameters: +You can change the icon of the control and its other config options via the `richtext.{name}.data.update()` method. It takes two parameters: - the id of the control - an object with new configuration of the control -~~~js +~~~jsx richtext.toolbar.data.update("add", { icon: "icon_name" }); @@ -165,22 +164,21 @@ richtext.toolbar.data.update("add", { To remove a control, make use of the `richtext.{name}.data.remove()` method. Pass the id of the control that should be removed to the method: -~~~js +~~~jsx richtext.toolbar.data.remove("control-id"); ~~~ Below you will find detailed examples. -Toolbar ---------- +## Toolbar ### Default controls The [default toolbar](../../#toolbar-structure) contains the following blocks of controls: -- the **Undo** block +- the **Undo** block - the *Undo* button (id:"undo") - - the *Redo* button (id:"redo") + - the *Redo* button (id:"redo") - the **Style** block - the *Font family* button (id:"font-family") - the *Font size* button (id:"font-size") @@ -191,15 +189,15 @@ The [default toolbar](../../#toolbar-structure) contains the following blocks of - the *Heading 3* option (id:"style-h3") - the *Heading 4* option (id:"style-h4") - the *Heading 5* option (id:"style-h5") - - the *Heading 6* option (id:"style-h6") + - the *Heading 6* option (id:"style-h6") - the *Block quote* button (id:"blockquote") -- the **Decoration** block +- the **Decoration** block - the *Bold* button (id:"bold") - the *Italic* button (id:"italic") - the *Strike* button (id:"strike") - the *Underline* button (id:"underline") - the **Colors** block - - the *Text color* button (id:"color") + - the *Text color* button (id:"color") - the *Background color* button (id:"background") - the **Align** block - the *Align left* button (id: "align-left") @@ -208,26 +206,24 @@ The [default toolbar](../../#toolbar-structure) contains the following blocks of - the **Link** block - the *Link* button (id:"link") - It is also possible to add the blocks enumerated below to get the full toolbar: - the **Clear format** block - - the *Clear format* button (id:"clear-style") + - the *Clear format* button (id:"clear-style") - the **Full screen** block - - the *Fullscreen* button (id:"fullscreen") + - the *Fullscreen* button (id:"fullscreen") - the **Statistics** block - - the **Statistics** button (id:"stats") - - + - the **Statistics** button (id:"stats") + ### Adding controls In the example below a new button named **Count Characters** is added into the toolbar: ![Custom Toolbar Button](./../assets/custom_toolbar_button.png) -~~~js +~~~jsx richtext.toolbar.data.add({ - type: "button", + type: "button", value: "Count Characters", id: "calc" }, 24); @@ -235,17 +231,15 @@ richtext.toolbar.data.add({ **Related sample:** [Custom Button](https://snippet.dhtmlx.com/xlpa1tj7) - ### Updating controls - In the example below the default icons of the buttons of the **Decoration** block are changed to Font Awesome ones: ![Custom Toolbar Icons](./../assets/custom_toolbar_icons.png) ~~~js var icons = [ - ["bold", "fas fa-bold"], + ["bold", "fas fa-bold"], ["underline", "fas fa-underline"], ["italic", "fas fa-italic"], ["strike", "fas fa-strikethrough"] @@ -264,7 +258,6 @@ for (var i=0; i - - How to Start with DHTMLX Richtext - - - - -
- - + + How to Start with DHTMLX RichText + + + + +
+ + ~~~ -Including source files ------------------------ +## Including source files [Download the package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. To create dhtmlxRichText, you need to include 2 source files on your page: -- **richtext.js** -- **richtext.css** +- ***richtext.js*** +- ***richtext.css*** Make sure that you set correct relative paths to these files: @@ -51,9 +52,7 @@ The structure of the RichText package is the following: - **codebase** - the obfuscated code files of the library; they are much smaller and intended for use in production. **Include these files in your apps when they are ready**; - **samples** - the code samples. - -Creating container ------------------ +## Creating container Add a container for RichText and give it an id, for example "richtext_container": @@ -61,38 +60,34 @@ Add a container for RichText and give it an id, for example "richtext_container"
~~~ -Initializing RichText ----------------------- +## Initializing RichText Initialize RichText with the `dhx.Richtext` object constructor. The constructor has two parameters: - the HTML container for RichText. The one we have created at the previous step. - an object with configuration properties. [See the full list below](#configuration-properties). - -~~~js title="index.html" +~~~jsx title="index.html" // creating RichText var richtext = new dhx.Richtext("richtext_container", { - // config options + // configuration properties }); ~~~ ### Configuration properties -This is a list of properties that you can specify in the Richtext configuration object: +This is a list of properties that you can specify in the RichText configuration object: -- [**mode**](guides/configuration.md#working-modes) - (string) the working mode of RichText. Can be either `default` or `document`. -- [**toolbarBlocks**](guides/configuration.md#toolbar) - (array) specifies blocks of buttons that will be shown in the Richtext toolbar +- [**mode**](guides/configuration.md#working-modes) - (string) the working mode of RichText. Can be either `default` or `document` +- [**toolbarBlocks**](guides/configuration.md#toolbar) - (array) specifies blocks of buttons that will be shown in the RichText toolbar - [**customStats**](guides/configuration.md#custom-statistics-in-the-toolbar) - (array) defines the logic of displaying custom statistics -You can set configuration options during initialization as the second parameter of the constructor: +You can set configuration properties during initialization as the second parameter of the constructor: -~~~js +~~~jsx var richtext = new dhx.Richtext("richtext_container", { mode:"document" }); ~~~ **Related sample:** [Modes](https://snippet.dhtmlx.com/pdh5buvg) - - diff --git a/docs/guides/loading_data.md b/docs/guides/loading_data.md index 57584a7..6b61bbf 100644 --- a/docs/guides/loading_data.md +++ b/docs/guides/loading_data.md @@ -4,11 +4,12 @@ title: Setting content description: This guide sheds light on how to add content in the DHTMLX Rich Text Editor and display it in HTML and Markdown. --- -DHTMLX Richtext editor allows loading content in the HTML and Markdown formats. Thus, besides entering text right into the editor, you can load ready content in the supported format and edit it with the help of the RichText +# Setting content + +DHTMLX RichText editor allows loading content in the HTML and Markdown formats. Thus, besides entering text right into the editor, you can load ready content in the supported format and edit it with the help of the RichText set of controls. -Format of content ------------------- +## Formatting ### HTML format @@ -18,7 +19,7 @@ Rich Text supports standard HTML format, so you can use all habitual formatting ### Markdown format -For parsing of a Markdown-formatted text, DHTMLX Richtext uses the [Marked.js](https://github.com/markedjs/marked) markdown parser. +For parsing of a Markdown-formatted text, DHTMLX RichText uses the [Marked.js](https://github.com/markedjs/marked) markdown parser. For now the component supports basic formatting elements of the Markdown syntax. Check the cheat sheet below: ![Markdown cheat sheet](./../assets/markdown_cheatsheet.png) @@ -27,10 +28,9 @@ The following image demonstrates the result of parsing a text in the Markdown fo ![Markdown format](./../assets/markdown_format.png) -Adding content into editor ------------------- +## Adding content into editor -In order to add some text content into the RichText, make use of the [setValue()](api/methods.md#setvalue) method. The method takes two parameters: +In order to add some text content into the RichText, make use of the [`setValue()`](api/methods.md#setvalue) method. The method takes two parameters: - `value` - (*string*) a string with the content you want to add into the editor in either HTML or Markdown format - `mode` - (*string*) optional, the format of text parsing: `"html"` (default) or `"markdown"` @@ -39,7 +39,7 @@ Below you can find examples of loading text in both available formats: - adding HTML content -~~~js +~~~jsx var htmlText = `

Meet DHTMLX Rich Text Editor!

` + `

This demo will show you a customizable JavaScript rich text editor.

` + `

Read more indocumentation

.` @@ -55,7 +55,7 @@ richtext.setValue(htmlText); Note, that for a text in the Markdown format you need to define paragraphs by empty lines. ::: -~~~js +~~~jsx var mdText = `# Meet DHTMLX Rich Text Editor! This demo will show you a customizable **JavaScript rich text editor**. @@ -66,5 +66,3 @@ richtext.setValue(mdText,"markdown"); ~~~ **Related sample:** [Setting Markdown Value](https://snippet.dhtmlx.com/9jf91qn9) - - diff --git a/docs/guides/localization.md b/docs/guides/localization.md index 0548e52..a79af1a 100644 --- a/docs/guides/localization.md +++ b/docs/guides/localization.md @@ -4,106 +4,105 @@ title: Localization description: This guide provides instructions on how to apply any custom locales for the DHTMLX Rich Text Editor's interface. --- +# Localization + You have a possibility to present the interface of the RichText editor in any language you wish. You just need to translate the corresponding strings for labels and tooltips and apply a ready locale to the component. ![Localized RichText](./../assets/richtext_locale.png) -Default locale ------------------ +## Default locale The default English locale looks like this: -~~~js +~~~jsx var en = { - apply: "Apply", - undo: "Undo", - redo: "Redo", - selectFontFamily: "Font", - selectFontSize: "Font size", - selectFormat: "Style", - selectTextColor: "Text color", - selectTextBackground: "Background color", - markBold: "Bold", - markItalic: "Italic", - markStrike: "Strike", - markUnderline: "Underline", - alignLeft: "Align left", - alignCenter: "Align center", - alignRight: "Align right", - addLink: "Add link", - clearFormat: "Clear formatting", - fullscreen: "Fullscreen", - removeLink: "Remove link", - edit: "Edit", - h1: "Heading 1", - h2: "Heading 2", - h3: "Heading 3", - h4: "Heading 4", - h5: "Heading 5", - h6: "Heading 6", - p: "Normal text", - blockquote: "Block quote", + apply: "Apply", + undo: "Undo", + redo: "Redo", + selectFontFamily: "Font", + selectFontSize: "Font size", + selectFormat: "Style", + selectTextColor: "Text color", + selectTextBackground: "Background color", + markBold: "Bold", + markItalic: "Italic", + markStrike: "Strike", + markUnderline: "Underline", + alignLeft: "Align left", + alignCenter: "Align center", + alignRight: "Align right", + addLink: "Add link", + clearFormat: "Clear formatting", + fullscreen: "Fullscreen", + removeLink: "Remove link", + edit: "Edit", + h1: "Heading 1", + h2: "Heading 2", + h3: "Heading 3", + h4: "Heading 4", + h5: "Heading 5", + h6: "Heading 6", + p: "Normal text", + blockquote: "Block quote", stats: "Statistics", - chars: "chars", - charsExlSpace: "charsExlSpace", - words: "words", - text: "Text", - link: "Link" + chars: "chars", + charsExlSpace: "charsExlSpace", + words: "words", + text: "Text", + link: "Link" }; ~~~ -Custom locale ------------------- +## Custom locale To use a different locale, your steps should be: - provide translation for all text labels in RichText, e.g. take a look at the German locale: -~~~js +~~~jsx var de = { - apply: "Anwenden", - undo: "Rückgängig machen", - redo: "Wiederholen", - selectFontFamily: "Schriftfamilie", - selectFontSize: "Schriftgröße", - selectFormat: "Textstil", - selectTextColor: "Textfarbe", - selectTextBackground: "Texthintergrund", - markBold: "Fett", - markItalic: "Kursiv", - markStrike: "Durchgestrichen", - markUnderline: "Unterstrichen", - alignLeft: "Links ausrichten", - alignCenter: "Mittens ausrichten", - alignRight: "Rechts ausrichten", - addLink: "Einen Link hinzufügen", - clearFormat: "Format entfernen", - fullscreen: "Vollbildschirm", - unlink: "Einen Link löschen", - edit: "Redigieren", - h1: "Überschrift 1", - h2: "Überschrift 2", - h3: "Überschrift 3", - h4: "Überschrift 4", - h5: "Überschrift 5", - h6: "Überschrift 6", - p: "Normaler Text", + apply: "Anwenden", + undo: "Rückgängig machen", + redo: "Wiederholen", + selectFontFamily: "Schriftfamilie", + selectFontSize: "Schriftgröße", + selectFormat: "Textstil", + selectTextColor: "Textfarbe", + selectTextBackground: "Texthintergrund", + markBold: "Fett", + markItalic: "Kursiv", + markStrike: "Durchgestrichen", + markUnderline: "Unterstrichen", + alignLeft: "Links ausrichten", + alignCenter: "Mittens ausrichten", + alignRight: "Rechts ausrichten", + addLink: "Einen Link hinzufügen", + clearFormat: "Format entfernen", + fullscreen: "Vollbildschirm", + unlink: "Einen Link löschen", + edit: "Redigieren", + h1: "Überschrift 1", + h2: "Überschrift 2", + h3: "Überschrift 3", + h4: "Überschrift 4", + h5: "Überschrift 5", + h6: "Überschrift 6", + p: "Normaler Text", blockquote: "Blockzitat", stats: "Statistiken", chars: "Zeichen", - charsExlSpace: "Zeichen ohne Leerzeichen", - words: "Wörter", - text: "Text", - link: "Verknüpfung" + charsExlSpace: "Zeichen ohne Leerzeichen", + words: "Wörter", + text: "Text", + link: "Verknüpfung" }; ~~~ - apply the new locale by calling the `dhx.i18n.setLocale()` method before initializing RichText: -~~~js +~~~jsx dhx.i18n.setLocale("richtext", de); var richtext = new dhx.Richtext("richtext_container"); ~~~ **Related sample:** [Localization](https://snippet.dhtmlx.com/vhvl57zj) - diff --git a/docs/guides/react_integration.md b/docs/guides/react_integration.md index 4b66531..57ef14f 100644 --- a/docs/guides/react_integration.md +++ b/docs/guides/react_integration.md @@ -4,10 +4,12 @@ title: Integration with React description: This guide provides explanations on possible ways of adding and initializing DHTMLX Rich Text Editor in React-based web apps. --- -You can use DHTMLX Richtext in an application created with the [React](https://reactjs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/react-suite-demo). +# Integration with React + +You can use DHTMLX RichText in an application created with the [React](https://reactjs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/react-suite-demo). :::note -Note, that the implementation provided below is not the only way to use DHTMLX Richtext in a React-based application. It gives you initial schema of the integration and implies further extension of the app functionality depending on your goals. +Note, that the implementation provided below is not the only way to use DHTMLX RichText in a React-based application. It gives you initial schema of the integration and implies further extension of the app functionality depending on your goals. ::: ## Including source files @@ -35,8 +37,8 @@ In this variant RichText configuration and data are held inside of the React com - Create a `RichText.js` file, then create the `RichText` class and add a container for RichText using the `render()` function. Store the reference to the container in the `el` property: -~~~js title="RichText.js" -class Richtext extends Component { +~~~jsx title="RichText.js" +class RichText extends Component { render() { return (
this.el = el} className="widget-box" style="width:800,height:400;">
@@ -47,7 +49,7 @@ class Richtext extends Component { - After that use the `new Richtext` constructor to initialize RichText in the container created above: -~~~js title="RichText.js" +~~~jsx title="RichText.js" class RichText extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { @@ -57,12 +59,11 @@ class RichText extends Component { } ~~~ - #### Changing config -- Next you can do some actions, e.g. add a new control into the toolbar: +- Next you can do some actions, e.g. add a new control into the Toolbar: -~~~js title="RichText.js" +~~~jsx title="RichText.js" class RichText extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { @@ -75,16 +76,15 @@ class RichText extends Component { } ~~~ - -### Scenario 2. Exposing RichText data and config +### Scenario 2. Exposing RichText data and config This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. #### RichText initialization -- The first step is the same. Create a file, let it be `RichText2.js` this time, and add the `RichText` class and use the `new RichText` constructor to initialize RichText. +- The first step is the same. Create a file, let it be `RichText2.js` this time, and add the `RichText` class and use the `new Richtext` constructor to initialize RichText. -~~~js title="RichText2.js" +~~~jsx title="RichText2.js" class RichTextComponent extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { @@ -96,7 +96,7 @@ class RichTextComponent extends Component { - Define the configuration properties of RichText in the object passed as a second parameter of the constructor: -~~~js +~~~jsx class RichTextComponent extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { @@ -110,33 +110,35 @@ Thus the `props` configuration option will be applied to the RichText widget con - Then create a container for RichText using the `render()` function: -~~~js title="RichText2.js" +~~~jsx title="RichText2.js" render() { - return ( + return (
this.el = el} className="widget-box" style="width:800,height:400;">
); } ~~~ -#### Working with configuration options +#### Working with configuration properties - Set the list of used RichText configuration properties and their types in the `props` configuration option: -~~~js title="RichText2.js" -class RichtextComponent extends Component { +~~~jsx title="RichText2.js" +class RichTextComponent extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { mode: this.props.mode }); } } -RichtextComponent.propTypes = { + +RichTextComponent.propTypes = { mode: PropTypes.string, value: PropTypes.string, dataType: PropTypes.string, onChange: PropTypes.func }; -RichtextComponent.defaultProps = { + +RichTextComponent.defaultProps = { mode: "classic", dataType: "html" } @@ -144,21 +146,20 @@ RichtextComponent.defaultProps = { Since the properties of RichText are exposed they are available to work with outside the component. In the example below the `"document"` mode is set for the richtext: -~~~js title="BasicSample.js" +~~~jsx title="BasicSample.js"
- +
~~~ - #### Working with RichText API -This variant of using RichText in a React application allows working with its API moving all calls of methods and event handlers into a separate file. +This variant of using RichText in a React application allows working with its API moving all calls of methods and event handlers into a separate file. First, you can add a couple of wrappers for convenient work with RichText API. The example below shows how you can wrap actions for setting RichText value and handling the `change` event taking into account the type of data: -~~~js title="RichText2.js" -class RichtextComponent extends Component { +~~~jsx title="RichText2.js" +class RichTextComponent extends Component { componentDidMount() { this.richtext = new Richtext(this.el, { mode: this.props.mode @@ -176,11 +177,11 @@ class RichtextComponent extends Component { } ~~~ -After that you can use the ready wrappers in other parts of application. +After that you can use the ready wrappers in other parts of application. -- Create a `DataSample.js` file and describe the methods you want to use while working with the richtext. In the example below the `updateMarkdown` and `updateHTML` methods are added for updating the the content of the RichText editor: +- Create a ***DataSample.js*** file and describe the methods you want to use while working with the RichText. In the example below `updateMarkdown()` and `updateHTML()` methods are added for updating the the content of the RichText editor: -~~~js title="DataSample.js" +~~~jsx title="DataSample.js" class DataSample extends Component { constructor(props) { super(props); @@ -198,27 +199,25 @@ class DataSample extends Component { } ~~~ -- Use the above methods to update the Richtext content depending on the type of entered data when some changes are made: +- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: -~~~js title="DataSample.js" +~~~jsx title="DataSample.js" class DataSample extends Component { ... render() { return (

HTML serialize

- this.updateHTML(val)}> + this.updateHTML(val)}>

Markdown serialize

- this.updateMarkdown(val)}> + this.updateMarkdown(val)}>
); ... } } ~~~ - - diff --git a/docs/guides/vuejs_integration.md b/docs/guides/vuejs_integration.md index d6eda27..0310a83 100644 --- a/docs/guides/vuejs_integration.md +++ b/docs/guides/vuejs_integration.md @@ -1,21 +1,22 @@ --- -sidebar_label: Integration with Vue.js +sidebar_label: Integration with Vue title: Integration with Vue.js description: This guide provides explanations on possible ways of adding and initializing DHTMLX Rich Text Editor in Vue-based web apps. --- -You can use DHTMLX Richtext in an application created with the [Vue.js](https://vuejs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/vuejs-widgets). +# Integration with Vue -:::note -Note, that the implementation provided below is not the only way to use DHTMLX Richtext in a Vue.js-based application. It gives you initial schema of integration and implies further -extension of the app functionality depending on your goals. +You can use DHTMLX RichText in an application created with the [Vue.js](https://vuejs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/vuejs-widgets). + +:::note +Note, that the implementation provided below is not the only way to use DHTMLX RichText in a Vue.js-based application. It gives you initial schema of integration and implies further extension of the app functionality depending on your goals. ::: ## Including source files To add RichText package into your Vue.js-based app you need to [download the component package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. -Then include `richtext.js` and `richtext.css` files into a page. +Then include ***richtext.js*** and ***richtext.css*** files into a page. Make sure that you set correct relative paths to these files: ~~~html title="index.html" @@ -30,26 +31,26 @@ separating view and data parts with the possibility of interaction between them. ### Scenario 1. Isolating RichText in a Vue component -In this variant RichText configuration and data are held inside of the Vie component with no bonds with the external part of the application. +In this variant RichText configuration and data are held inside of the Vie component with no bonds with the external part of the application. #### RichText initialization - Create a `RichText.vue` file and add a container for RichText inside the `` tags. Define the name of the container in the `ref` attribute: -~~~js title="RichText.vue" +~~~jsx title="RichText.vue" ~~~ -- Define the JS part of the Vue component and use the `new RichText` constructor to initialize RichText inside of the container that you've set above: +- Define the JS part of the Vue component and use the `new Richtext` constructor to initialize RichText inside of the container that you've set above: -~~~js title="RichText.vue" +~~~jsx title="RichText.vue" ~~~ - ### Scenario 2. Exposing RichText data and config This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. @@ -84,15 +84,15 @@ This variant adds flexibility in the control over RichText data and configuratio - The first step is the same. Create a file, let it be `RichText2.vue` this time, and add a container for the RichText inside the `` tags: -~~~js title="RichText.vue" +~~~jsx title="RichText.vue" ~~~ -- Then initialize RichText with the `new RichText` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: +- Then initialize RichText with the `new Richtext` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: -~~~js title="RichText.vue" +~~~jsx title="RichText.vue" ~~~ -- Use the above methods to update the Richtext content depending on the type of entered data when some changes are made: +- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: -~~~js title="DataSample.vue" +~~~jsx title="DataSample.vue" ~~~ - - - - - - - - diff --git a/docs/guides/working_with_richtext.md b/docs/guides/working_with_richtext.md index 4bc8de2..8eb2aa4 100644 --- a/docs/guides/working_with_richtext.md +++ b/docs/guides/working_with_richtext.md @@ -4,10 +4,11 @@ title: Working with RichText description: This guide covers the main aspects of working with DHTMLX Rich Text Editor such as saving the edited text, displaying statistics, enabling/disabling the fullscreen mode, and the editor API. --- -The API of DHTMLX Richtext includes a basic set of methods that let you perform operations on the component. You can serialize edited text into either HTML or Markdown formats, get the number of the typed characters and enter/exit the full screen mode of the editor on the fly. +# Working with RichText -Getting content from editor -------------------- +The API of DHTMLX RichText includes a basic set of methods that let you perform operations on the component. You can serialize edited text into either HTML or Markdown formats, get the number of the typed characters and enter/exit the full screen mode of the editor on the fly. + +## Getting content from editor After you've entered the necessary text into the editor and formatted it to your taste, you can save the result in any of [supported formats](guides/loading_data.md#format-of-content). @@ -15,7 +16,7 @@ To save the edited text, make use of the [getValue()](api/methods.md#getvalue) m - `mode` - (*string*) the format the text should be saved in: `"html"`, `"markdown"` or `"text"` (for a plain text); `"html"` is used by default -~~~js +~~~jsx // getting content in the Markdown format var content = richtext.getValue("markdown"); ~~~ @@ -24,10 +25,9 @@ var content = richtext.getValue("markdown"); If you are in two minds about how to add content into the RichText editor, there is the [Setting Content](guides/loading_data.md) article. -Statistics ---------------------- +## Statistics -RichText editor allows you to show statistics about the edited text. There is the **Statistics** control in the toolbar that serves for this purpose: +RichText editor allows you to show statistics about the edited text. There is the **Statistics** control in the Toolbar that serves for this purpose: ![Statistics control](./../assets/stats_control.png) @@ -115,7 +115,7 @@ Using the [getStats()](api/methods.md#getstats) method you can display info on t
- The count of characters: + The count of characters:
function calc() { diff --git a/docs/how_to_start.md b/docs/how_to_start.md index b04c9fc..8ef8c52 100644 --- a/docs/how_to_start.md +++ b/docs/how_to_start.md @@ -4,83 +4,80 @@ title: How to start description: Learn how to quickly create DHTMLX Rich Text Editor on a page and set up its basic configuration in four simple steps. --- +# How to start + RichText editor will make text editing quick and comfortable due to the inbuilt set of handy formatting tools. Follow this comprehensive and easy-to-reproduce tutorial to create RichText editor on a page and start working with it. - DHTMLX RichText Classic Mode +![DHTMLX RichText Classic Mode](./assets/classic_mode.png) -Step 1. Include source files --------------------------- +## Step 1. Include source files -First create an HTML file with the name `index.html`. Then include the source files of DHTMLX Richtext into this file. -[Have a look at the structure of RichText package](guides/initialization.md#including-source-files). +First create an HTML file with the name ***index.html***. Then include the source files of DHTMLX RichText into this file. [Take a look at the structure of RichText package](guides/initialization.md#including-source-files). You need to include the following two files: -- the JS file of DHTMLX Richtext -- the CSS file of DHTMLX Richtext +- the JS file of DHTMLX RichText +- the CSS file of DHTMLX RichText -~~~html title="index.html" +~~~html title="index.html" {5-6} - - How to Start with DHTMLX Richtext - - - - - - + + How to Start with DHTMLX RichText + + + + + + ~~~ -Step 2. Create RichText --------------------------- +## Step 2. Create RichText At this step you can add RichText on a page. There are two easy steps: -- Open the `index.html` file and create a DIV container in it. -- Initialize DHTMLX Richtext in the container with the help of the `dhx.Richtext` constructor. As parameters of the constructor function, pass the container you've created above and the configuration object of RichText: +- Open the ***index.html*** file and create a DIV container in it. +- Initialize DHTMLX RichText in the container with the `dhx.Richtext` constructor. As the parameters of the constructor, pass the container you've created above and the configuration object of RichText as follows: ~~~html title="index.html" - - How to Start with DHTMLX Richtext - - - - -
- - + + How to Start with DHTMLX RichText + + + + +
+ + ~~~ -Step 3. Configure RichText ------------------------------- +## Step 3. Configure RichText -Now it's time to define the desired configuration options to make RichText meet you needs. +Now it's time to define configuration propertiew to make the RichText meet you needs. -RichText provides several options that let you adjust the toolbar appearance and behavior as well as choose the most suitable mode of work with a document. [Learn all the available settings](api/properties.md). +RichText includes several properties that let you adjust the Toolbar appearance and behavior as well as choose the most suitable mode of work with a document. [Learn all the available settings](api/properties.md). -For example, you can specify the `"document"` mode of RichText displaying: +For example, you can specify the **"document"** mode of RichText displaying: -~~~js +~~~jsx var rich = new dhx.Richtext("richtext_container", { - mode: "document" + mode: "document" }); ~~~ -There is a [detailed description of available RichText configuration settings](guides/configuration.md). +There is a [detailed description of available RichText configuration settings](guides/configuration.md). -Step 4. Set content (optional) -------------------------- +## Step 4. Set content (optional) -If necessary, you can parse some text in the HTML or Markdown format on the RichText initialization. Read more about this feature in the [related article](guides/loading_data.md). \ No newline at end of file +If necessary, you can parse some text in the HTML or Markdown format on the RichText initialization. Read more about this feature in the [related article](guides/loading_data.md). diff --git a/docs/overview.md b/docs/overview.md index 989c60a..a874e89 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -1,40 +1,37 @@ --- sidebar_label: RichText overview title: RichText overview -description: Get a general idea of DHTMLX Rich Text Editor, its purpose, toolbar structure, editing modes, supported text formats, and available integrations with JavaScript frameworks. +description: Get a general idea of DHTMLX Rich Text Editor, its purpose, Toolbar structure, editing modes, supported text formats, and available integrations with JavaScript frameworks. slug: / --- -DHTMLX RichText is a JavaScript client-side tool for fast and handy editing of content. It provides a compact set of formatting controls, two editing modes for comfy work with text and an easily adjustable toolbar. +# RichText overview + +DHTMLX RichText is a JavaScript client-side tool for fast and handy editing of content. It provides a compact set of formatting controls, two editing modes for comfy work with text and an easily adjustable Toolbar. This component supports parsing and serialization of data in the HTML and JSON formats and allows using any icon fonts and adding custom controls. Besides, there are ready-made solutions for integration with such popular JavaScript frameworks as Angular, React and Vue.js. -Toolbar structure --------------------- - -The toolbar of Richtext is [easily configurable](guides/configuration.md#toolbar). It contains several blocks of controls and their number depends on the chosen type of toolbar: - -- default toolbar -- full toolbar - -The **default toolbar** includes 6 blocks of controls. They are: "undo", "style", "decoration", "colors", "align" and "link": +## Toolbar structure -![Default toolbar](./assets/default_toolbar.png) +The Toolbar of RichText is [easily configurable](guides/configuration.md#toolbar). It contains several blocks of controls and their number depends on the chosen type of Toolbar: +- default Toolbar +- full Toolbar +The **default Toolbar** includes 6 blocks of controls. They are: "undo", "style", "decoration", "colors", "align" and "link": -The **full toolbar** includes all the default blocks and additional "clear", "stats" and "fullscreen" blocks: +![Default Toolbar](./assets/default_toolbar.png) -![Full toolbar](./assets/full_toolbar.png) +The **full Toolbar** includes all the default blocks and additional "clear", "stats" and "fullscreen" blocks: -You can [adjust the look and feel of the toolbar](guides/customization.md) to meet your requirements. +![Full Toolbar](./assets/full_toolbar.png) +You can [adjust the look and feel of the Toolbar](guides/customization.md) to meet your requirements. -Two working modes ---------------------- +## Two working modes -DHTMLX Richtext can work with content in [two modes](guides/configuration.md). You can choose the most suitable mode to feel comfortable while editing text. The modes are: +DHTMLX RichText can work with content in [two modes](guides/configuration.md). You can choose the most suitable mode to feel comfortable while editing text. The modes are: - "classic" @@ -46,11 +43,9 @@ DHTMLX Richtext can work with content in [two modes](guides/configuration.md). Y [Read more](guides/configuration.md#working-modes) about setting the mode you like best. -Supported formats ----------------- +## Supported formats -The RichText editor supports [parsing](guides/loading_data.md#adding-content-into-editor) and [serialization](guides/working_with_richtext.md#getting-content-from-editor) of content in the -[HTML and Markdown formats](guides/loading_data.md#format-of-content). +The RichText editor supports [parsing](guides/loading_data.md#adding-content-into-editor) and [serialization](guides/working_with_richtext.md#getting-content-from-editor) of content in the [HTML and Markdown formats](guides/loading_data.md#format-of-content). - HTML format @@ -60,10 +55,9 @@ The RichText editor supports [parsing](guides/loading_data.md#adding-content-int ![Markdown format](./assets/markdown_format.png) -Integration -------------- +## Integration -Rich Text can be integrated with other JavaScript frameworks. There are related guides and demos available for: +RichText can be integrated with other JavaScript frameworks. There are related guides and demos available for: - [Integration with Angular](guides/angular_integration.md) - [Integration with React](guides/react_integration.md) diff --git a/docs/whats_new.md b/docs/whats_new.md index 6a0e14b..fac93b2 100644 --- a/docs/whats_new.md +++ b/docs/whats_new.md @@ -18,7 +18,7 @@ Released on July 10, 2024 ### New functionality -- The [`defaultStyles`](api/properties.md#defaultstyles) property allows you to change the default values of the toolbar selection controls +- The [`defaultStyles`](api/properties.md#defaultstyles) property allows you to change the default values of the Toolbar selection controls ### Fixes @@ -75,8 +75,8 @@ Released on October 11, 2021 ### Fixes - Fix the issue with serialization of the content which is in the "Markdown" format. Now the spaces are removed before and after the stylized string. -- Fix the issue with styles of Richtext when using it together with Suite -- Now it is possible to localize the *text* and *link* input labels of the **Link** button of the toolbar +- Fix the issue with styles of RichText when using it together with Suite +- Now it is possible to localize the *text* and *link* input labels of the **Link** button of the Toolbar ## Version 1.1.2 @@ -104,11 +104,11 @@ Released on February 27, 2019 - [API for working with text in the editor](guides/working_with_richtext.md#editor-api) - [Advanced statistics](guides/working_with_richtext.md#statistics) - Ability to show [custom statistics](guides/working_with_richtext.md#custom-statistics) -- Block quote and Statistics [toolbar controls](guides/configuration.md#toolbar) +- Block quote and Statistics [Toolbar controls](guides/configuration.md#toolbar) ### Updates -- Ability to [return content in the plain "text" format](api/methods.md#getvalue) +- Ability to [return content in the plain "text" format](api/methods.md#getvalue) ### Fixes @@ -122,9 +122,9 @@ Released on December 19, 2018 ### Fixes -- Incorrect undo behavior with the setValue method -- Issue with the link background on switching between links -- Issue with toolbar modifiers after removing a letter +- Incorrect undo behavior with the `setValue` method +- Issue with the link background on switching between links +- Issue with Toolbar modifiers after removing a letter ## Version 1.0 @@ -132,7 +132,7 @@ Released on December 13, 2018 ### Initial functionality -- Basic operations for real-time text editing +- Basic operations for real-time text editing - Two [working modes](guides/configuration.md#working-modes): "classic" and "document" - Data [parsing](guides/loading_data.md) and [serialization](guides/working_with_richtext.md#getting-content-from-editor) in HTML and Markdown formats - [Full screen mode](guides/working_with_richtext.md#full-screen-mode) diff --git a/sidebars.js b/sidebars.js index bc60bd8..93004e2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -17,9 +17,9 @@ module.exports = { label: "API", collapsed: false, link: { - type: 'doc', - id: 'api/overview' - }, + type: 'doc', + id: 'api/overview' + }, items: [ "api/methods", "api/events_bus", diff --git a/yarn.lock b/yarn.lock index 1346b53..b4f06cc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,366 +2,252 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz#2c410baa94a47c5c5f56ed712bb4a00ebe24088b" - integrity sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q== - dependencies: - "@algolia/autocomplete-plugin-algolia-insights" "1.17.7" - "@algolia/autocomplete-shared" "1.17.7" - -"@algolia/autocomplete-plugin-algolia-insights@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz#7d2b105f84e7dd8f0370aa4c4ab3b704e6760d82" - integrity sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A== - dependencies: - "@algolia/autocomplete-shared" "1.17.7" - -"@algolia/autocomplete-preset-algolia@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz#c9badc0d73d62db5bf565d839d94ec0034680ae9" - integrity sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA== - dependencies: - "@algolia/autocomplete-shared" "1.17.7" - -"@algolia/autocomplete-shared@1.17.7": - version "1.17.7" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz#105e84ad9d1a31d3fb86ba20dc890eefe1a313a0" - integrity sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg== - -"@algolia/client-abtesting@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.19.0.tgz#0a6e73da05decc8f1bbcd7e5b9a82a8d876e7bf5" - integrity sha512-dMHwy2+nBL0SnIsC1iHvkBao64h4z+roGelOz11cxrDBrAdASxLxmfVMop8gmodQ2yZSacX0Rzevtxa+9SqxCw== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" - -"@algolia/client-analytics@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.19.0.tgz#45e33343fd4517e05a340a97bb37bebb4466000e" - integrity sha512-CDW4RwnCHzU10upPJqS6N6YwDpDHno7w6/qXT9KPbPbt8szIIzCHrva4O9KIfx1OhdsHzfGSI5hMAiOOYl4DEQ== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" - -"@algolia/client-common@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.19.0.tgz#efddaaf28f0f478117c2aab22d19c99b06f99761" - integrity sha512-2ERRbICHXvtj5kfFpY5r8qu9pJII/NAHsdgUXnUitQFwPdPL7wXiupcvZJC7DSntOnE8AE0lM7oDsPhrJfj5nQ== - -"@algolia/client-insights@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.19.0.tgz#81ff8eb3df724f6dd8ea3f423966b9ef7d36f903" - integrity sha512-xPOiGjo6I9mfjdJO7Y+p035aWePcbsItizIp+qVyfkfZiGgD+TbNxM12g7QhFAHIkx/mlYaocxPY/TmwPzTe+A== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" - -"@algolia/client-personalization@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.19.0.tgz#9a75230b9dec490a1e0851539a40a9371c8cd987" - integrity sha512-B9eoce/fk8NLboGje+pMr72pw+PV7c5Z01On477heTZ7jkxoZ4X92dobeGuEQop61cJ93Gaevd1of4mBr4hu2A== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" - -"@algolia/client-query-suggestions@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.19.0.tgz#007d1b09818d6a225fbfdf93bbcb2edf8ab17da0" - integrity sha512-6fcP8d4S8XRDtVogrDvmSM6g5g6DndLc0pEm1GCKe9/ZkAzCmM3ZmW1wFYYPxdjMeifWy1vVEDMJK7sbE4W7MA== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" - -"@algolia/client-search@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.19.0.tgz#04fc5d7e26d41c99144eb33eedb0ea6f9b1c0056" - integrity sha512-Ctg3xXD/1VtcwmkulR5+cKGOMj4r0wC49Y/KZdGQcqpydKn+e86F6l3tb3utLJQVq4lpEJud6kdRykFgcNsp8Q== - dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" +"@algolia/autocomplete-core@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz#83374c47dc72482aa45d6b953e89377047f0dcdc" + integrity sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.17.9" + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-plugin-algolia-insights@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz#74c86024d09d09e8bfa3dd90b844b77d9f9947b6" + integrity sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-preset-algolia@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz#911f3250544eb8ea4096fcfb268f156b085321b5" + integrity sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ== + dependencies: + "@algolia/autocomplete-shared" "1.17.9" + +"@algolia/autocomplete-shared@1.17.9": + version "1.17.9" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" + integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== + +"@algolia/client-abtesting@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.25.0.tgz#012204f1614e1a71366fb1e117c8f195186ff081" + integrity sha512-1pfQulNUYNf1Tk/svbfjfkLBS36zsuph6m+B6gDkPEivFmso/XnRgwDvjAx80WNtiHnmeNjIXdF7Gos8+OLHqQ== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-analytics@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.25.0.tgz#eba015bfafb3dbb82712c9160a00717a5974ff71" + integrity sha512-AFbG6VDJX/o2vDd9hqncj1B6B4Tulk61mY0pzTtzKClyTDlNP0xaUiEKhl6E7KO9I/x0FJF5tDCm0Hn6v5x18A== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-common@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.25.0.tgz#2def8947efe849266057d92f67d1b8d83de0c005" + integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== + +"@algolia/client-insights@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.25.0.tgz#b87df8614b96c4cc9c9aa7765cce07fa70864fa8" + integrity sha512-blbjrUH1siZNfyCGeq0iLQu00w3a4fBXm0WRIM0V8alcAPo7rWjLbMJMrfBtzL9X5ic6wgxVpDADXduGtdrnkw== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-personalization@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.25.0.tgz#74b041f0e7d91e1009c131c8d716c34e4d45c30f" + integrity sha512-aywoEuu1NxChBcHZ1pWaat0Plw7A8jDMwjgRJ00Mcl7wGlwuPt5dJ/LTNcg3McsEUbs2MBNmw0ignXBw9Tbgow== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-query-suggestions@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.25.0.tgz#e92d935d9e2994f790d43c64d3518d81070a3888" + integrity sha512-a/W2z6XWKjKjIW1QQQV8PTTj1TXtaKx79uR3NGBdBdGvVdt24KzGAaN7sCr5oP8DW4D3cJt44wp2OY/fZcPAVA== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" + +"@algolia/client-search@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.25.0.tgz#dc38ca1015f2f4c9f5053a4517f96fb28a2117f8" + integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== + dependencies: + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.19.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.19.0.tgz#b481bd2283866a1df18af9babba0ecb3f1d1d675" - integrity sha512-LO7w1MDV+ZLESwfPmXkp+KLeYeFrYEgtbCZG6buWjddhYraPQ9MuQWLhLLiaMlKxZ/sZvFTcZYuyI6Jx4WBhcg== +"@algolia/ingestion@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.25.0.tgz#4d13c56dda0a05c7bacb0e3ef5866292dfd86ed5" + integrity sha512-jJeH/Hk+k17Vkokf02lkfYE4A+EJX+UgnMhTLR/Mb+d1ya5WhE+po8p5a/Nxb6lo9OLCRl6w3Hmk1TX1e9gVbQ== dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/monitoring@1.19.0": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.19.0.tgz#abc85ac073c25233c7f8dae3000cc0821d582514" - integrity sha512-Mg4uoS0aIKeTpu6iv6O0Hj81s8UHagi5TLm9k2mLIib4vmMtX7WgIAHAcFIaqIZp5D6s5EVy1BaDOoZ7buuJHA== +"@algolia/monitoring@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.25.0.tgz#d59360cfe556338519d05a9d8107147e9dbcb020" + integrity sha512-Ls3i1AehJ0C6xaHe7kK9vPmzImOn5zBg7Kzj8tRYIcmCWVyuuFwCIsbuIIz/qzUf1FPSWmw0TZrGeTumk2fqXg== dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/recommend@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.19.0.tgz#5898219e9457853c563eb527f0d1cbfcb8998c87" - integrity sha512-PbgrMTbUPlmwfJsxjFhal4XqZO2kpBNRjemLVTkUiti4w/+kzcYO4Hg5zaBgVqPwvFDNQ8JS4SS3TBBem88u+g== +"@algolia/recommend@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.25.0.tgz#b96f12c85aa74a0326982c7801fcd4a610b420f4" + integrity sha512-79sMdHpiRLXVxSjgw7Pt4R1aNUHxFLHiaTDnN2MQjHwJ1+o3wSseb55T9VXU4kqy3m7TUme3pyRhLk5ip/S4Mw== dependencies: - "@algolia/client-common" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" + "@algolia/client-common" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" -"@algolia/requester-browser-xhr@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.19.0.tgz#979a340a81a381214c0dbdd235b51204098e3b4a" - integrity sha512-GfnhnQBT23mW/VMNs7m1qyEyZzhZz093aY2x8p0era96MMyNv8+FxGek5pjVX0b57tmSCZPf4EqNCpkGcGsmbw== +"@algolia/requester-browser-xhr@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz#c194fa5f49206b9343e6646c41bfbca2a3f2ac54" + integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== dependencies: - "@algolia/client-common" "5.19.0" + "@algolia/client-common" "5.25.0" -"@algolia/requester-fetch@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.19.0.tgz#59fe52733a718fc23bde548b377b52baf7228993" - integrity sha512-oyTt8ZJ4T4fYvW5avAnuEc6Laedcme9fAFryMD9ndUTIUe/P0kn3BuGcCLFjN3FDmdrETHSFkgPPf1hGy3sLCw== +"@algolia/requester-fetch@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz#231a2d0da2397d141f80b8f28e2cb6e3d219d38d" + integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== dependencies: - "@algolia/client-common" "5.19.0" + "@algolia/client-common" "5.25.0" -"@algolia/requester-node-http@5.19.0": - version "5.19.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.19.0.tgz#edbd58158d9dec774d608fbf2b2196d0ca4b257c" - integrity sha512-p6t8ue0XZNjcRiqNkb5QAM0qQRAKsCiebZ6n9JjWA+p8fWf8BvnhO55y2fO28g3GW0Imj7PrAuyBuxq8aDVQwQ== +"@algolia/requester-node-http@5.25.0": + version "5.25.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz#0ce13c550890de21c558b04381535d2d245a3725" + integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== dependencies: - "@algolia/client-common" "5.19.0" + "@algolia/client-common" "5.25.0" "@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.8.3": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" - integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== - dependencies: - "@babel/highlight" "^7.23.4" - chalk "^2.4.2" - -"@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" + integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" - integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" + integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== dependencies: - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-validator-identifier" "^7.27.1" js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" - integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + picocolors "^1.1.1" -"@babel/compat-data@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111" + integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw== -"@babel/compat-data@^7.25.9", "@babel/compat-data@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.2.tgz#278b6b13664557de95b8f35b90d96785850bb56e" - integrity sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg== - -"@babel/core@^7.21.3": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" - integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== +"@babel/core@^7.21.3", "@babel/core@^7.25.9": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" + integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.26.0" - "@babel/generator" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-module-transforms" "^7.26.0" - "@babel/helpers" "^7.26.0" - "@babel/parser" "^7.26.0" - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.26.0" + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-module-transforms" "^7.27.3" + "@babel/helpers" "^7.27.4" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/traverse" "^7.27.4" + "@babel/types" "^7.27.3" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== +"@babel/generator@^7.25.9", "@babel/generator@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc" + integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q== dependencies: - "@babel/types" "^7.24.5" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/generator@^7.25.9", "@babel/generator@^7.26.0": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.2.tgz#87b75813bec87916210e5e01939a4c823d6bb74f" - integrity sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw== - dependencies: - "@babel/parser" "^7.26.2" - "@babel/types" "^7.26.0" + "@babel/parser" "^7.27.3" + "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/helper-annotate-as-pure@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" - integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-annotate-as-pure@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz#d8eac4d2dc0d7b6e11fa6e535332e0d3184f06b4" - integrity sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g== +"@babel/helper-annotate-as-pure@^7.27.1": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" + integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg== dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" - integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.9.tgz#f41752fe772a578e67286e6779a68a5a92de1ee9" - integrity sha512-C47lC7LIDCnz0h4vai/tpNOI95tCd5ZT3iBt/DBH5lXKHZsyNQv18yf1wIIg2ntiQNgmAvA+DgZ82iW8Qdym8g== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/types" "^7.27.3" -"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== +"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" + integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-compilation-targets@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" - integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== - dependencies: - "@babel/compat-data" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" + "@babel/compat-data" "^7.27.2" + "@babel/helper-validator-option" "^7.27.1" browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4", "@babel/helper-create-class-features-plugin@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.5.tgz#7d19da92c7e0cd8d11c09af2ce1b8e7512a6e723" - integrity sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-member-expression-to-functions" "^7.24.5" - "@babel/helper-optimise-call-expression" "^7.22.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz#7644147706bb90ff613297d49ed5266bde729f83" - integrity sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/traverse" "^7.25.9" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" - integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - regexpu-core "^5.3.1" +"@babel/helper-create-class-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281" + integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/traverse" "^7.27.1" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.9.tgz#3e8999db94728ad2b2458d7a470e7770b7764e26" - integrity sha512-ORPNZ3h6ZRkOyAa/SaHU+XsLZr0UQzRwuDQ0cczIA17nAzZ+85G5cVkOJIj7QavLZGSe8QXUmNFxSZzjcZF9bw== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53" + integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - regexpu-core "^6.1.1" + "@babel/helper-annotate-as-pure" "^7.27.1" + regexpu-core "^6.2.0" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": - version "0.6.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" - integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== +"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.4": + version "0.6.4" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz#15e8746368bfa671785f5926ff74b3064c291fab" + integrity sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -369,425 +255,152 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-member-expression-to-functions@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" - integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== - dependencies: - "@babel/types" "^7.23.0" - -"@babel/helper-member-expression-to-functions@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.5.tgz#5981e131d5c7003c7d1fa1ad49e86c9b097ec475" - integrity sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-member-expression-to-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz#9dfffe46f727005a5ea29051ac835fb735e4c1a3" - integrity sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-imports@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" - integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-module-transforms@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" - integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" - -"@babel/helper-module-transforms@^7.25.9", "@babel/helper-module-transforms@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" - integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-optimise-call-expression@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" - integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-optimise-call-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz#3324ae50bae7e2ab3c33f60c9a877b6a0146b54e" - integrity sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ== - dependencies: - "@babel/types" "^7.25.9" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-plugin-utils@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" - integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== - -"@babel/helper-remap-async-to-generator@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" - integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-wrap-function" "^7.22.20" - -"@babel/helper-remap-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz#e53956ab3d5b9fb88be04b3e2f31b523afd34b92" - integrity sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-wrap-function" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-replace-supers@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1" - integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-member-expression-to-functions" "^7.23.0" - "@babel/helper-optimise-call-expression" "^7.22.5" - -"@babel/helper-replace-supers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz#ba447224798c3da3f8713fc272b145e33da6a5c5" - integrity sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.25.9" - "@babel/helper-optimise-call-expression" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-simple-access@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.9.tgz#6d51783299884a2c74618d6ef0f86820ec2e7739" - integrity sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q== - dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" +"@babel/helper-member-expression-to-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44" + integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-imports@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" + integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== + dependencies: + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" + +"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02" + integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg== + dependencies: + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.3" -"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" - integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== +"@babel/helper-optimise-call-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" + integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw== dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz#0b2e1b62d560d6b1954893fd2b705dc17c91f0c9" - integrity sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA== + "@babel/types" "^7.27.1" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c" + integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw== + +"@babel/helper-remap-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6" + integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA== dependencies: - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-string-parser@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" - integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-identifier@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" - integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== - -"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helper-validator-option@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" - integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== - -"@babel/helper-wrap-function@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" - integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== - dependencies: - "@babel/helper-function-name" "^7.22.5" - "@babel/template" "^7.22.15" - "@babel/types" "^7.22.19" - -"@babel/helper-wrap-function@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz#d99dfd595312e6c894bd7d237470025c85eea9d0" - integrity sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g== - dependencies: - "@babel/template" "^7.25.9" - "@babel/traverse" "^7.25.9" - "@babel/types" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-wrap-function" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== +"@babel/helper-replace-supers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0" + integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA== dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" + "@babel/helper-member-expression-to-functions" "^7.27.1" + "@babel/helper-optimise-call-expression" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/helpers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" - integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== +"@babel/helper-skip-transparent-expression-wrappers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56" + integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg== dependencies: - "@babel/template" "^7.25.9" - "@babel/types" "^7.26.0" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/highlight@^7.23.4": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" - integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" +"@babel/helper-string-parser@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" + integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== -"@babel/parser@^7.23.9": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== +"@babel/helper-validator-identifier@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8" + integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow== -"@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== +"@babel/helper-validator-option@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" + integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== -"@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.2": - version "7.26.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.2.tgz#fd7b6f487cfea09889557ef5d4eeb9ff9a5abd11" - integrity sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ== +"@babel/helper-wrap-function@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409" + integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ== dependencies: - "@babel/types" "^7.26.0" + "@babel/template" "^7.27.1" + "@babel/traverse" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" - integrity sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw== +"@babel/helpers@^7.27.4": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.27.4.tgz#c79050c6a0e41e095bfc96d469c85431e9ed7fe7" + integrity sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz#cc2e53ebf0a0340777fff5ed521943e253b4d8fe" - integrity sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g== +"@babel/parser@^7.27.2", "@babel/parser@^7.27.3", "@babel/parser@^7.27.4": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.4.tgz#f92e89e4f51847be05427285836fc88341c956df" + integrity sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz#af9e4fb63ccb8abcb92375b2fcfe36b60c774d30" - integrity sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf" - integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz#e8dc26fcd616e6c5bf2bd0d5a2c151d4f92a9137" - integrity sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3" - integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-transform-optional-chaining" "^7.24.1" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz#807a667f9158acac6f6164b4beb85ad9ebc9e1d1" - integrity sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g== + "@babel/types" "^7.27.3" + +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz#61dd8a8e61f7eb568268d1b5f129da3eee364bf9" + integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988" - integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw== + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" + +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz#43f70a6d7efd52370eefbdf55ae03d91b293856d" + integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA== dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz#beb623bd573b8b6f3047bd04c32506adc3e58a72" + integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz#de7093f1e7deaf68eadd7cc6b07f2ab82543269e" - integrity sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz#e134a5479eb2ba9c02714e8c1ebf1ec9076124fd" + integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz#bb1c25af34d75115ce229a1de7fa44bf8f955670" + integrity sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -795,145 +408,33 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" - integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-assertions@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz#620412405058efa56e4a564903b79355020f445f" - integrity sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-attributes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093" - integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-import-attributes@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz#3b1412847699eea739b4f2602c74ce36f6b0b0f7" - integrity sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" - integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-jsx@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-syntax-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz#a34313a178ea56f1951599b929c1ceacee719290" - integrity sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== +"@babel/plugin-syntax-import-assertions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz#88894aefd2b03b5ee6ad1562a7c8e1587496aecd" + integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== +"@babel/plugin-syntax-import-attributes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz#34c017d54496f9b11b61474e7ea3dfd5563ffe07" + integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-typescript@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" - integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== +"@babel/plugin-syntax-jsx@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c" + integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-syntax-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz#67dda2b74da43727cf21d46cf9afef23f4365399" - integrity sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ== +"@babel/plugin-syntax-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18" + integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -943,1048 +444,529 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27" - integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-arrow-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz#7821d4410bee5daaadbb4cdd9a6649704e176845" - integrity sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-async-generator-functions@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89" - integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-transform-async-generator-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz#1b18530b077d18a407c494eb3d1d72da505283a2" - integrity sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-async-to-generator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4" - integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw== - dependencies: - "@babel/helper-module-imports" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-remap-async-to-generator" "^7.22.20" - -"@babel/plugin-transform-async-to-generator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz#c80008dacae51482793e5a9c08b39a5be7e12d71" - integrity sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-remap-async-to-generator" "^7.25.9" - -"@babel/plugin-transform-block-scoped-functions@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380" - integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-block-scoped-functions@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz#5700691dbd7abb93de300ca7be94203764fce458" - integrity sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-block-scoping@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.5.tgz#89574191397f85661d6f748d4b89ee4d9ee69a2a" - integrity sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-block-scoping@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz#c33665e46b06759c93687ca0f84395b80c0473a1" - integrity sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29" - integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-class-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz#a8ce84fedb9ad512549984101fa84080a9f5f51f" - integrity sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-class-static-block@^7.24.4": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz#1a4653c0cf8ac46441ec406dece6e9bc590356a4" - integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.4" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-transform-class-static-block@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz#6c8da219f4eb15cae9834ec4348ff8e9e09664a0" - integrity sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-classes@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.5.tgz#05e04a09df49a46348299a0e24bfd7e901129339" - integrity sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-replace-supers" "^7.24.1" - "@babel/helper-split-export-declaration" "^7.24.5" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz#7152457f7880b593a63ade8a861e6e26a4469f52" - integrity sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" - "@babel/traverse" "^7.25.9" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7" - integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/template" "^7.24.0" - -"@babel/plugin-transform-computed-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz#db36492c78460e534b8852b1d5befe3c923ef10b" - integrity sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/template" "^7.25.9" - -"@babel/plugin-transform-destructuring@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.5.tgz#80843ee6a520f7362686d1a97a7b53544ede453c" - integrity sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-destructuring@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz#966ea2595c498224340883602d3cfd7a0c79cea1" - integrity sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dotall-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13" - integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-dotall-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz#bad7945dd07734ca52fe3ad4e872b40ed09bb09a" - integrity sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-keys@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88" - integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-duplicate-keys@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz#8850ddf57dce2aebb4394bb434a7598031059e6d" - integrity sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz#6f7259b4de127721a08f1e5165b852fcaa696d31" - integrity sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-dynamic-import@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd" - integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-transform-dynamic-import@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz#23e917de63ed23c6600c5dd06d94669dce79f7b8" - integrity sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-exponentiation-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4" - integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-exponentiation-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.9.tgz#ece47b70d236c1d99c263a1e22b62dc20a4c8b0f" - integrity sha512-KRhdhlVk2nObA5AYa7QMgTMTVJdfHprfpAk4DjZVtllqRg9qarilstTKEhpVjyt+Npi8ThRyiV8176Am3CodPA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-export-namespace-from@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd" - integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-transform-export-namespace-from@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz#90745fe55053394f554e40584cda81f2c8a402a2" - integrity sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-for-of@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" - integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-for-of@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz#4bdc7d42a213397905d89f02350c5267866d5755" - integrity sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-function-name@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361" - integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA== - dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-function-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz#939d956e68a606661005bfd550c4fc2ef95f7b97" - integrity sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA== +"@babel/plugin-transform-arrow-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a" + integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/traverse" "^7.25.9" - -"@babel/plugin-transform-json-strings@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7" - integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-json-strings@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz#c86db407cb827cded902a90c707d2781aaa89660" - integrity sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw== +"@babel/plugin-transform-async-generator-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.27.1.tgz#ca433df983d68e1375398e7ca71bf2a4f6fd89d7" + integrity sha512-eST9RrwlpaoJBDHShc+DS2SG4ATTi2MYNb4OxYkf3n+7eb49LWpnS+HSpVfW4x927qQwgk8A2hGNVaajAEw0EA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096" - integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g== +"@babel/plugin-transform-async-to-generator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7" + integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-remap-async-to-generator" "^7.27.1" -"@babel/plugin-transform-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz#1a1c6b4d4aa59bc4cad5b6b3a223a0abd685c9de" - integrity sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ== +"@babel/plugin-transform-block-scoped-functions@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9" + integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40" - integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w== +"@babel/plugin-transform-block-scoping@^7.27.1": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.3.tgz#a21f37e222dc0a7b91c3784fa3bd4edf8d7a6dc1" + integrity sha512-+F8CnfhuLhwUACIJMLWnjz6zvzYM2r0yeIHKlbgfw7ml8rOMJsXNXV/hyRcb3nb493gRs4WvYpQAndWj/qQmkQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-logical-assignment-operators@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz#b19441a8c39a2fda0902900b306ea05ae1055db7" - integrity sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q== +"@babel/plugin-transform-class-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz#dd40a6a370dfd49d32362ae206ddaf2bb082a925" + integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489" - integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg== +"@babel/plugin-transform-class-static-block@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz#7e920d5625b25bbccd3061aefbcc05805ed56ce4" + integrity sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-member-expression-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz#63dff19763ea64a31f5e6c20957e6a25e41ed5de" - integrity sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA== +"@babel/plugin-transform-classes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz#03bb04bea2c7b2f711f0db7304a8da46a85cced4" + integrity sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-modules-amd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39" - integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ== - dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-modules-amd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz#49ba478f2295101544abd794486cd3088dddb6c5" - integrity sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw== - dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" + "@babel/traverse" "^7.27.1" + globals "^11.1.0" -"@babel/plugin-transform-modules-commonjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9" - integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw== +"@babel/plugin-transform-computed-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa" + integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/template" "^7.27.1" -"@babel/plugin-transform-modules-commonjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.9.tgz#d165c8c569a080baf5467bda88df6425fc060686" - integrity sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg== +"@babel/plugin-transform-destructuring@^7.27.1", "@babel/plugin-transform-destructuring@^7.27.3": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.3.tgz#3cc8299ed798d9a909f8d66ddeb40849ec32e3b0" + integrity sha512-s4Jrok82JpiaIprtY2nHsYmrThKvvwgHwjgd7UMiYhZaN0asdXNLr0y+NjTfkA7SyQE5i2Fb7eawUOZmLvyqOA== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-simple-access" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e" - integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA== +"@babel/plugin-transform-dotall-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d" + integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw== dependencies: - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-systemjs@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz#8bd1b43836269e3d33307151a114bcf3ba6793f8" - integrity sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA== +"@babel/plugin-transform-duplicate-keys@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1" + integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" - "@babel/traverse" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef" - integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz#5043854ca620a94149372e69030ff8cb6a9eb0ec" + integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ== dependencies: - "@babel/helper-module-transforms" "^7.23.3" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-modules-umd@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz#6710079cdd7c694db36529a1e8411e49fcbf14c9" - integrity sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw== +"@babel/plugin-transform-dynamic-import@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz#4c78f35552ac0e06aa1f6e3c573d67695e8af5a4" + integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A== dependencies: - "@babel/helper-module-transforms" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" - integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== +"@babel/plugin-transform-exponentiation-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1" + integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-named-capturing-groups-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz#454990ae6cc22fd2a0fa60b3a2c6f63a38064e6a" - integrity sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA== +"@babel/plugin-transform-export-namespace-from@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz#71ca69d3471edd6daa711cf4dfc3400415df9c23" + integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-new-target@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34" - integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug== +"@babel/plugin-transform-for-of@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a" + integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-new-target@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz#42e61711294b105c248336dcb04b77054ea8becd" - integrity sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ== +"@babel/plugin-transform-function-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7" + integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-compilation-targets" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988" - integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw== +"@babel/plugin-transform-json-strings@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz#a2e0ce6ef256376bd527f290da023983527a4f4c" + integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-nullish-coalescing-operator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz#bcb1b0d9e948168102d5f7104375ca21c3266949" - integrity sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog== +"@babel/plugin-transform-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24" + integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8" - integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw== +"@babel/plugin-transform-logical-assignment-operators@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz#890cb20e0270e0e5bebe3f025b434841c32d5baa" + integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-numeric-separator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz#bfed75866261a8b643468b0ccfd275f2033214a1" - integrity sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q== +"@babel/plugin-transform-member-expression-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz#37b88ba594d852418e99536f5612f795f23aeaf9" + integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.5.tgz#f91bbcb092ff957c54b4091c86bda8372f0b10ef" - integrity sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA== +"@babel/plugin-transform-modules-amd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f" + integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA== dependencies: - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.5" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-rest-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz#0203725025074164808bcf1a2cfa90c652c99f18" - integrity sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg== +"@babel/plugin-transform-modules-commonjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832" + integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw== dependencies: - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-object-super@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520" - integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ== +"@babel/plugin-transform-modules-systemjs@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed" + integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-replace-supers" "^7.24.1" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" + "@babel/traverse" "^7.27.1" -"@babel/plugin-transform-object-super@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz#385d5de135162933beb4a3d227a2b7e52bb4cf03" - integrity sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A== +"@babel/plugin-transform-modules-umd@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334" + integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-replace-supers" "^7.25.9" + "@babel/helper-module-transforms" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da" - integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA== +"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1" + integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-catch-binding@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz#10e70d96d52bb1f10c5caaac59ac545ea2ba7ff3" - integrity sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g== +"@babel/plugin-transform-new-target@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb" + integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.24.1", "@babel/plugin-transform-optional-chaining@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.5.tgz#a6334bebd7f9dd3df37447880d0bd64b778e600f" - integrity sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg== +"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz#4f9d3153bf6782d73dd42785a9d22d03197bc91d" + integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-optional-chaining@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz#e142eb899d26ef715435f201ab6e139541eee7dd" - integrity sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A== +"@babel/plugin-transform-numeric-separator@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz#614e0b15cc800e5997dadd9bd6ea524ed6c819c6" + integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-parameters@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.5.tgz#5c3b23f3a6b8fed090f9b98f2926896d3153cc62" - integrity sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA== +"@babel/plugin-transform-object-rest-spread@^7.27.2": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.3.tgz#ce130aa73fef828bc3e3e835f9bc6144be3eb1c0" + integrity sha512-7ZZtznF9g4l2JCImCo5LNKFHB5eXnN39lLtLY5Tg+VkR0jwOt7TBciMckuiQIOIW7L5tkQOCh3bVGYeXgMx52Q== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.3" + "@babel/plugin-transform-parameters" "^7.27.1" -"@babel/plugin-transform-parameters@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz#b856842205b3e77e18b7a7a1b94958069c7ba257" - integrity sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g== +"@babel/plugin-transform-object-super@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5" + integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-replace-supers" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a" - integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw== +"@babel/plugin-transform-optional-catch-binding@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz#84c7341ebde35ccd36b137e9e45866825072a30c" + integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-methods@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz#847f4139263577526455d7d3223cd8bda51e3b57" - integrity sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw== +"@babel/plugin-transform-optional-chaining@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz#874ce3c4f06b7780592e946026eb76a32830454f" + integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.5.tgz#f5d1fcad36e30c960134cb479f1ca98a5b06eda5" - integrity sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ== +"@babel/plugin-transform-parameters@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz#80334b54b9b1ac5244155a0c8304a187a618d5a7" + integrity sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg== dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-private-property-in-object@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz#9c8b73e64e6cc3cbb2743633885a7dd2c385fe33" - integrity sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw== +"@babel/plugin-transform-private-methods@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz#fdacbab1c5ed81ec70dfdbb8b213d65da148b6af" + integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825" - integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA== +"@babel/plugin-transform-private-property-in-object@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz#4dbbef283b5b2f01a21e81e299f76e35f900fb11" + integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-property-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz#d72d588bd88b0dec8b62e36f6fda91cedfe28e3f" - integrity sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA== +"@babel/plugin-transform-property-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz#07eafd618800591e88073a0af1b940d9a42c6424" + integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-react-constant-elements@^7.21.3": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" + integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-display-name@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" - integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== +"@babel/plugin-transform-react-display-name@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.27.1.tgz#43af31362d71f7848cfac0cbc212882b1a16e80f" + integrity sha512-p9+Vl3yuHPmkirRrg021XiP+EETmPMQTLr6Ayjj85RLNEbb3Eya/4VI0vAdzQG9SEAl2Lnt7fy5lZyMzjYoZQQ== dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-transform-react-display-name@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.9.tgz#4b79746b59efa1f38c8695065a92a9f5afb24f7d" - integrity sha512-KJfMlYIUxQB1CJfO3e0+h0ZHWOTLCPP115Awhaz8U0Zpq36Gl/cXlpoyMRnUWlhNUBAzldnCiAZNvCDj7CrKxQ== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-react-jsx-development@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" - integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.22.5" - -"@babel/plugin-transform-react-jsx-development@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.9.tgz#8fd220a77dd139c07e25225a903b8be8c829e0d7" - integrity sha512-9mj6rm7XVYs4mdLIpbZnHOYdpW42uoiBCTVowg7sP1thUOiANgMb4UtpRivR0pp5iL+ocvUv7X4mZgFRpJEzGw== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.25.9" - -"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": - version "7.23.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" - integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/plugin-syntax-jsx" "^7.23.3" - "@babel/types" "^7.23.4" - -"@babel/plugin-transform-react-jsx@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz#06367940d8325b36edff5e2b9cbe782947ca4166" - integrity sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/plugin-transform-react-pure-annotations@^7.23.3": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" - integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-pure-annotations@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.9.tgz#ea1c11b2f9dbb8e2d97025f43a3b5bc47e18ae62" - integrity sha512-KQ/Takk3T8Qzj5TppkS1be588lkbTp5uj7w6a0LeQaTMSckU/wK0oJ/pih+T690tkgI5jfmg2TqDJvd41Sj1Cg== +"@babel/plugin-transform-react-jsx-development@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz#47ff95940e20a3a70e68ad3d4fcb657b647f6c98" + integrity sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q== dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-react-jsx" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c" - integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw== +"@babel/plugin-transform-react-jsx@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz#1023bc94b78b0a2d68c82b5e96aed573bcfb9db0" + integrity sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - regenerator-transform "^0.15.2" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/types" "^7.27.1" -"@babel/plugin-transform-regenerator@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz#03a8a4670d6cebae95305ac6defac81ece77740b" - integrity sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg== +"@babel/plugin-transform-react-pure-annotations@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz#339f1ce355eae242e0649f232b1c68907c02e879" + integrity sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - regenerator-transform "^0.15.2" + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-regexp-modifiers@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz#2f5837a5b5cd3842a919d8147e9903cc7455b850" - integrity sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw== +"@babel/plugin-transform-regenerator@^7.27.1": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.4.tgz#05d006c09f482b34ba5dc16d630c204a7d06d31f" + integrity sha512-Glp/0n8xuj+E1588otw5rjJkTXfzW7FjH3IIUrfqiZOPQCd2vbg8e+DQE8jK9g4V5/zrxFW+D9WM9gboRPELpQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1" - integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg== +"@babel/plugin-transform-regexp-modifiers@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz#df9ba5577c974e3f1449888b70b76169998a6d09" + integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA== dependencies: - "@babel/helper-plugin-utils" "^7.24.0" + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-reserved-words@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz#0398aed2f1f10ba3f78a93db219b27ef417fb9ce" - integrity sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg== +"@babel/plugin-transform-reserved-words@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz#40fba4878ccbd1c56605a4479a3a891ac0274bb4" + integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw== dependencies: - "@babel/helper-plugin-utils" "^7.25.9" + "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-runtime@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.9.tgz#62723ea3f5b31ffbe676da9d6dae17138ae580ea" - integrity sha512-nZp7GlEl+yULJrClz0SwHPqir3lc0zsPrDHQUcxGspSL7AKrexNSEfTbfqnDNJUO13bgKyfuOLMF8Xqtu8j3YQ== - dependencies: - "@babel/helper-module-imports" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - -"@babel/plugin-transform-shorthand-properties@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" - integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-shorthand-properties@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz#bb785e6091f99f826a95f9894fc16fde61c163f2" - integrity sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-spread@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391" - integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" - -"@babel/plugin-transform-spread@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz#24a35153931b4ba3d13cec4a7748c21ab5514ef9" - integrity sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - -"@babel/plugin-transform-sticky-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9" - integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-sticky-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz#c7f02b944e986a417817b20ba2c504dfc1453d32" - integrity sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-template-literals@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7" - integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-template-literals@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz#6dbd4a24e8fad024df76d1fac6a03cf413f60fe1" - integrity sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typeof-symbol@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.5.tgz#703cace5ef74155fb5eecab63cbfc39bdd25fe12" - integrity sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg== + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.4.tgz#dee5c5db6543313d1ae1b4b1ec122ff1e77352b9" + integrity sha512-D68nR5zxU64EUzV8i7T3R5XP0Xhrou/amNnddsRQssx6GrTLdZl1rLxyjtVZBd+v/NVX4AbTPOB5aU8thAZV1A== dependencies: - "@babel/helper-plugin-utils" "^7.24.5" - -"@babel/plugin-transform-typeof-symbol@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz#224ba48a92869ddbf81f9b4a5f1204bbf5a2bc4b" - integrity sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-typescript@^7.24.1": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.5.tgz#bcba979e462120dc06a75bd34c473a04781931b8" - integrity sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.22.5" - "@babel/helper-create-class-features-plugin" "^7.24.5" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/plugin-syntax-typescript" "^7.24.1" - -"@babel/plugin-transform-typescript@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.9.tgz#69267905c2b33c2ac6d8fe765e9dc2ddc9df3849" - integrity sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.25.9" - "@babel/helper-create-class-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.25.9" - "@babel/plugin-syntax-typescript" "^7.25.9" - -"@babel/plugin-transform-unicode-escapes@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4" - integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-escapes@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz#a75ef3947ce15363fccaa38e2dd9bc70b2788b82" - integrity sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-property-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e" - integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-property-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz#a901e96f2c1d071b0d1bb5dc0d3c880ce8f53dd3" - integrity sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385" - integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz#5eae747fe39eacf13a8bd006a4fb0b5d1fa5e9b1" - integrity sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/plugin-transform-unicode-sets-regex@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f" - integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.22.15" - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz#65114c17b4ffc20fa5b163c63c70c0d25621fabe" - integrity sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - -"@babel/preset-env@^7.20.2": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.5.tgz#6a9ac90bd5a5a9dae502af60dfc58c190551bbcd" - integrity sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ== - dependencies: - "@babel/compat-data" "^7.24.4" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-plugin-utils" "^7.24.5" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.1" - "@babel/plugin-syntax-import-attributes" "^7.24.1" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.1" - "@babel/plugin-transform-async-generator-functions" "^7.24.3" - "@babel/plugin-transform-async-to-generator" "^7.24.1" - "@babel/plugin-transform-block-scoped-functions" "^7.24.1" - "@babel/plugin-transform-block-scoping" "^7.24.5" - "@babel/plugin-transform-class-properties" "^7.24.1" - "@babel/plugin-transform-class-static-block" "^7.24.4" - "@babel/plugin-transform-classes" "^7.24.5" - "@babel/plugin-transform-computed-properties" "^7.24.1" - "@babel/plugin-transform-destructuring" "^7.24.5" - "@babel/plugin-transform-dotall-regex" "^7.24.1" - "@babel/plugin-transform-duplicate-keys" "^7.24.1" - "@babel/plugin-transform-dynamic-import" "^7.24.1" - "@babel/plugin-transform-exponentiation-operator" "^7.24.1" - "@babel/plugin-transform-export-namespace-from" "^7.24.1" - "@babel/plugin-transform-for-of" "^7.24.1" - "@babel/plugin-transform-function-name" "^7.24.1" - "@babel/plugin-transform-json-strings" "^7.24.1" - "@babel/plugin-transform-literals" "^7.24.1" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.1" - "@babel/plugin-transform-member-expression-literals" "^7.24.1" - "@babel/plugin-transform-modules-amd" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-modules-systemjs" "^7.24.1" - "@babel/plugin-transform-modules-umd" "^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" - "@babel/plugin-transform-new-target" "^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1" - "@babel/plugin-transform-numeric-separator" "^7.24.1" - "@babel/plugin-transform-object-rest-spread" "^7.24.5" - "@babel/plugin-transform-object-super" "^7.24.1" - "@babel/plugin-transform-optional-catch-binding" "^7.24.1" - "@babel/plugin-transform-optional-chaining" "^7.24.5" - "@babel/plugin-transform-parameters" "^7.24.5" - "@babel/plugin-transform-private-methods" "^7.24.1" - "@babel/plugin-transform-private-property-in-object" "^7.24.5" - "@babel/plugin-transform-property-literals" "^7.24.1" - "@babel/plugin-transform-regenerator" "^7.24.1" - "@babel/plugin-transform-reserved-words" "^7.24.1" - "@babel/plugin-transform-shorthand-properties" "^7.24.1" - "@babel/plugin-transform-spread" "^7.24.1" - "@babel/plugin-transform-sticky-regex" "^7.24.1" - "@babel/plugin-transform-template-literals" "^7.24.1" - "@babel/plugin-transform-typeof-symbol" "^7.24.5" - "@babel/plugin-transform-unicode-escapes" "^7.24.1" - "@babel/plugin-transform-unicode-property-regex" "^7.24.1" - "@babel/plugin-transform-unicode-regex" "^7.24.1" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.1" - "@babel/preset-modules" "0.1.6-no-external-plugins" + "@babel/helper-module-imports" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" + babel-plugin-polyfill-corejs3 "^0.11.0" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.31.0" semver "^6.3.1" -"@babel/preset-env@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.26.0.tgz#30e5c6bc1bcc54865bff0c5a30f6d4ccdc7fa8b1" - integrity sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw== - dependencies: - "@babel/compat-data" "^7.26.0" - "@babel/helper-compilation-targets" "^7.25.9" - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.9" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.9" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.9" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.9" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.9" +"@babel/plugin-transform-shorthand-properties@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90" + integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-spread@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08" + integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + +"@babel/plugin-transform-sticky-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280" + integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-template-literals@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8" + integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typeof-symbol@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369" + integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-typescript@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.27.1.tgz#d3bb65598bece03f773111e88cc4e8e5070f1140" + integrity sha512-Q5sT5+O4QUebHdbwKedFBEwRLb02zJ7r4A5Gg2hUoLuU3FjdMcyqcywqUrLCaDsFCxzokf7u9kuy7qz51YUuAg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.27.1" + "@babel/helper-create-class-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1" + "@babel/plugin-syntax-typescript" "^7.27.1" + +"@babel/plugin-transform-unicode-escapes@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz#3e3143f8438aef842de28816ece58780190cf806" + integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-property-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz#bdfe2d3170c78c5691a3c3be934c8c0087525956" + integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97" + integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/plugin-transform-unicode-sets-regex@^7.27.1": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz#6ab706d10f801b5c72da8bb2548561fa04193cd1" + integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.27.1" + "@babel/helper-plugin-utils" "^7.27.1" + +"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" + integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== + dependencies: + "@babel/compat-data" "^7.27.2" + "@babel/helper-compilation-targets" "^7.27.2" + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.27.1" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-import-assertions" "^7.26.0" - "@babel/plugin-syntax-import-attributes" "^7.26.0" + "@babel/plugin-syntax-import-assertions" "^7.27.1" + "@babel/plugin-syntax-import-attributes" "^7.27.1" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.25.9" - "@babel/plugin-transform-async-generator-functions" "^7.25.9" - "@babel/plugin-transform-async-to-generator" "^7.25.9" - "@babel/plugin-transform-block-scoped-functions" "^7.25.9" - "@babel/plugin-transform-block-scoping" "^7.25.9" - "@babel/plugin-transform-class-properties" "^7.25.9" - "@babel/plugin-transform-class-static-block" "^7.26.0" - "@babel/plugin-transform-classes" "^7.25.9" - "@babel/plugin-transform-computed-properties" "^7.25.9" - "@babel/plugin-transform-destructuring" "^7.25.9" - "@babel/plugin-transform-dotall-regex" "^7.25.9" - "@babel/plugin-transform-duplicate-keys" "^7.25.9" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-dynamic-import" "^7.25.9" - "@babel/plugin-transform-exponentiation-operator" "^7.25.9" - "@babel/plugin-transform-export-namespace-from" "^7.25.9" - "@babel/plugin-transform-for-of" "^7.25.9" - "@babel/plugin-transform-function-name" "^7.25.9" - "@babel/plugin-transform-json-strings" "^7.25.9" - "@babel/plugin-transform-literals" "^7.25.9" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.9" - "@babel/plugin-transform-member-expression-literals" "^7.25.9" - "@babel/plugin-transform-modules-amd" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-modules-systemjs" "^7.25.9" - "@babel/plugin-transform-modules-umd" "^7.25.9" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.9" - "@babel/plugin-transform-new-target" "^7.25.9" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.9" - "@babel/plugin-transform-numeric-separator" "^7.25.9" - "@babel/plugin-transform-object-rest-spread" "^7.25.9" - "@babel/plugin-transform-object-super" "^7.25.9" - "@babel/plugin-transform-optional-catch-binding" "^7.25.9" - "@babel/plugin-transform-optional-chaining" "^7.25.9" - "@babel/plugin-transform-parameters" "^7.25.9" - "@babel/plugin-transform-private-methods" "^7.25.9" - "@babel/plugin-transform-private-property-in-object" "^7.25.9" - "@babel/plugin-transform-property-literals" "^7.25.9" - "@babel/plugin-transform-regenerator" "^7.25.9" - "@babel/plugin-transform-regexp-modifiers" "^7.26.0" - "@babel/plugin-transform-reserved-words" "^7.25.9" - "@babel/plugin-transform-shorthand-properties" "^7.25.9" - "@babel/plugin-transform-spread" "^7.25.9" - "@babel/plugin-transform-sticky-regex" "^7.25.9" - "@babel/plugin-transform-template-literals" "^7.25.9" - "@babel/plugin-transform-typeof-symbol" "^7.25.9" - "@babel/plugin-transform-unicode-escapes" "^7.25.9" - "@babel/plugin-transform-unicode-property-regex" "^7.25.9" - "@babel/plugin-transform-unicode-regex" "^7.25.9" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.9" + "@babel/plugin-transform-arrow-functions" "^7.27.1" + "@babel/plugin-transform-async-generator-functions" "^7.27.1" + "@babel/plugin-transform-async-to-generator" "^7.27.1" + "@babel/plugin-transform-block-scoped-functions" "^7.27.1" + "@babel/plugin-transform-block-scoping" "^7.27.1" + "@babel/plugin-transform-class-properties" "^7.27.1" + "@babel/plugin-transform-class-static-block" "^7.27.1" + "@babel/plugin-transform-classes" "^7.27.1" + "@babel/plugin-transform-computed-properties" "^7.27.1" + "@babel/plugin-transform-destructuring" "^7.27.1" + "@babel/plugin-transform-dotall-regex" "^7.27.1" + "@babel/plugin-transform-duplicate-keys" "^7.27.1" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-dynamic-import" "^7.27.1" + "@babel/plugin-transform-exponentiation-operator" "^7.27.1" + "@babel/plugin-transform-export-namespace-from" "^7.27.1" + "@babel/plugin-transform-for-of" "^7.27.1" + "@babel/plugin-transform-function-name" "^7.27.1" + "@babel/plugin-transform-json-strings" "^7.27.1" + "@babel/plugin-transform-literals" "^7.27.1" + "@babel/plugin-transform-logical-assignment-operators" "^7.27.1" + "@babel/plugin-transform-member-expression-literals" "^7.27.1" + "@babel/plugin-transform-modules-amd" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-modules-systemjs" "^7.27.1" + "@babel/plugin-transform-modules-umd" "^7.27.1" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1" + "@babel/plugin-transform-new-target" "^7.27.1" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1" + "@babel/plugin-transform-numeric-separator" "^7.27.1" + "@babel/plugin-transform-object-rest-spread" "^7.27.2" + "@babel/plugin-transform-object-super" "^7.27.1" + "@babel/plugin-transform-optional-catch-binding" "^7.27.1" + "@babel/plugin-transform-optional-chaining" "^7.27.1" + "@babel/plugin-transform-parameters" "^7.27.1" + "@babel/plugin-transform-private-methods" "^7.27.1" + "@babel/plugin-transform-private-property-in-object" "^7.27.1" + "@babel/plugin-transform-property-literals" "^7.27.1" + "@babel/plugin-transform-regenerator" "^7.27.1" + "@babel/plugin-transform-regexp-modifiers" "^7.27.1" + "@babel/plugin-transform-reserved-words" "^7.27.1" + "@babel/plugin-transform-shorthand-properties" "^7.27.1" + "@babel/plugin-transform-spread" "^7.27.1" + "@babel/plugin-transform-sticky-regex" "^7.27.1" + "@babel/plugin-transform-template-literals" "^7.27.1" + "@babel/plugin-transform-typeof-symbol" "^7.27.1" + "@babel/plugin-transform-unicode-escapes" "^7.27.1" + "@babel/plugin-transform-unicode-property-regex" "^7.27.1" + "@babel/plugin-transform-unicode-regex" "^7.27.1" + "@babel/plugin-transform-unicode-sets-regex" "^7.27.1" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.6" + babel-plugin-polyfill-corejs3 "^0.11.0" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.38.1" + core-js-compat "^3.40.0" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -1996,203 +978,113 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.18.6": - version "7.23.3" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" - integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-option" "^7.22.15" - "@babel/plugin-transform-react-display-name" "^7.23.3" - "@babel/plugin-transform-react-jsx" "^7.22.15" - "@babel/plugin-transform-react-jsx-development" "^7.22.5" - "@babel/plugin-transform-react-pure-annotations" "^7.23.3" - -"@babel/preset-react@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.25.9.tgz#5f473035dc2094bcfdbc7392d0766bd42dce173e" - integrity sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-transform-react-display-name" "^7.25.9" - "@babel/plugin-transform-react-jsx" "^7.25.9" - "@babel/plugin-transform-react-jsx-development" "^7.25.9" - "@babel/plugin-transform-react-pure-annotations" "^7.25.9" - -"@babel/preset-typescript@^7.21.0": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" - integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/helper-validator-option" "^7.23.5" - "@babel/plugin-syntax-jsx" "^7.24.1" - "@babel/plugin-transform-modules-commonjs" "^7.24.1" - "@babel/plugin-transform-typescript" "^7.24.1" - -"@babel/preset-typescript@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.26.0.tgz#4a570f1b8d104a242d923957ffa1eaff142a106d" - integrity sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg== - dependencies: - "@babel/helper-plugin-utils" "^7.25.9" - "@babel/helper-validator-option" "^7.25.9" - "@babel/plugin-syntax-jsx" "^7.25.9" - "@babel/plugin-transform-modules-commonjs" "^7.25.9" - "@babel/plugin-transform-typescript" "^7.25.9" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec" + integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-transform-react-display-name" "^7.27.1" + "@babel/plugin-transform-react-jsx" "^7.27.1" + "@babel/plugin-transform-react-jsx-development" "^7.27.1" + "@babel/plugin-transform-react-pure-annotations" "^7.27.1" + +"@babel/preset-typescript@^7.21.0", "@babel/preset-typescript@^7.25.9": + version "7.27.1" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.27.1.tgz#190742a6428d282306648a55b0529b561484f912" + integrity sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ== + dependencies: + "@babel/helper-plugin-utils" "^7.27.1" + "@babel/helper-validator-option" "^7.27.1" + "@babel/plugin-syntax-jsx" "^7.27.1" + "@babel/plugin-transform-modules-commonjs" "^7.27.1" + "@babel/plugin-transform-typescript" "^7.27.1" "@babel/runtime-corejs3@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.26.0.tgz#5af6bed16073eb4a0191233d61e158a5c768c430" - integrity sha512-YXHu5lN8kJCb1LOb9PgV6pvak43X2h4HvRApcN5SdWeaItQOzfn1hgP6jasD6KWQyJDBxrVmA9o9OivlnNJK/w== + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.27.4.tgz#7bfea784d23d8747d94025b2c8e9bd0f35e30ff9" + integrity sha512-H7QhL0ucCGOObsUETNbB2PuzF4gAvN8p32P6r91bX7M/hk4bx+3yz2hTwHL9d/Efzwu1upeb4/cd7oSxCzup3w== dependencies: core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7" - integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.25.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" - integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.15": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a" - integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.23.9" - "@babel/types" "^7.23.9" - -"@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/template@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" - integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/types" "^7.25.9" - -"@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== - dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" - debug "^4.3.1" - globals "^11.1.0" -"@babel/traverse@^7.25.9": - version "7.25.9" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" - integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== - dependencies: - "@babel/code-frame" "^7.25.9" - "@babel/generator" "^7.25.9" - "@babel/parser" "^7.25.9" - "@babel/template" "^7.25.9" - "@babel/types" "^7.25.9" +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.25.9": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.4.tgz#a91ec580e6c00c67118127777c316dfd5a5a6abf" + integrity sha512-t3yaEOuGu9NlIZ+hIeGbBjFtZT7j2cb2tg0fuaJKeGotchRjjLfrBA9Kwf8quhpP1EUuxModQg04q/mBwyg8uA== + +"@babel/template@^7.27.1", "@babel/template@^7.27.2": + version "7.27.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" + integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/parser" "^7.27.2" + "@babel/types" "^7.27.1" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.4": + version "7.27.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.4.tgz#b0045ac7023c8472c3d35effd7cc9ebd638da6ea" + integrity sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA== + dependencies: + "@babel/code-frame" "^7.27.1" + "@babel/generator" "^7.27.3" + "@babel/parser" "^7.27.4" + "@babel/template" "^7.27.2" + "@babel/types" "^7.27.3" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.21.3", "@babel/types@^7.24.0", "@babel/types@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== - dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" - to-fast-properties "^2.0.0" - -"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.23.9", "@babel/types@^7.4.4": - version "7.23.9" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@babel/types@^7.25.9", "@babel/types@^7.26.0": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.0.tgz#deabd08d6b753bc8e0f198f8709fb575e31774ff" - integrity sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA== +"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.4.4": + version "7.27.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec" + integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw== dependencies: - "@babel/helper-string-parser" "^7.25.9" - "@babel/helper-validator-identifier" "^7.25.9" + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.27.1" "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@csstools/cascade-layer-name-parser@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.4.tgz#64d128529397aa1e1c986f685713363b262b81b1" - integrity sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA== +"@csstools/cascade-layer-name-parser@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-2.0.5.tgz#43f962bebead0052a9fed1a2deeb11f85efcbc72" + integrity sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A== -"@csstools/color-helpers@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.1.tgz#829f1c76f5800b79c51c709e2f36821b728e0e10" - integrity sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA== +"@csstools/color-helpers@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@csstools/color-helpers/-/color-helpers-5.0.2.tgz#82592c9a7c2b83c293d9161894e2a6471feb97b8" + integrity sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA== -"@csstools/css-calc@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.0.tgz#3f28b8f8f736b8f78abbc75eebd55c756207e773" - integrity sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw== +"@csstools/css-calc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@csstools/css-calc/-/css-calc-2.1.4.tgz#8473f63e2fcd6e459838dd412401d5948f224c65" + integrity sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ== -"@csstools/css-color-parser@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.6.tgz#e646838f6aab4618aeea7ba0c4921a254e180276" - integrity sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw== +"@csstools/css-color-parser@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz#79fc68864dd43c3b6782d2b3828bc0fa9d085c10" + integrity sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg== dependencies: - "@csstools/color-helpers" "^5.0.1" - "@csstools/css-calc" "^2.1.0" + "@csstools/color-helpers" "^5.0.2" + "@csstools/css-calc" "^2.1.4" -"@csstools/css-parser-algorithms@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz#74426e93bd1c4dcab3e441f5cc7ba4fb35d94356" - integrity sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A== +"@csstools/css-parser-algorithms@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz#5755370a9a29abaec5515b43c8b3f2cf9c2e3076" + integrity sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ== -"@csstools/css-tokenizer@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz#a5502c8539265fecbd873c1e395a890339f119c2" - integrity sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw== +"@csstools/css-tokenizer@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz#333fedabc3fd1a8e5d0100013731cf19e6a8c5d3" + integrity sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw== -"@csstools/media-query-list-parser@^4.0.2": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz#e80e17eba1693fceafb8d6f2cfc68c0e7a9ab78a" - integrity sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A== +"@csstools/media-query-list-parser@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz#7aec77bcb89c2da80ef207e73f474ef9e1b3cdf1" + integrity sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ== "@csstools/postcss-cascade-layers@^5.0.1": version "5.0.1" @@ -2202,46 +1094,57 @@ "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" -"@csstools/postcss-color-function@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.6.tgz#dabd1e516ccd4c7bd5803e37075a503b5f7f0ac4" - integrity sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ== +"@csstools/postcss-color-function@^4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-4.0.10.tgz#11ad43a66ef2cc794ab826a07df8b5fa9fb47a3a" + integrity sha512-4dY0NBu7NVIpzxZRgh/Q/0GPSz/jLSw0i/u3LTUor0BkQcz/fNhN10mSWBDsL0p9nDb0Ky1PD6/dcGbhACuFTQ== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-color-mix-function@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.6.tgz#d971832ec30b3b60363bceddfeb4b90c7cc0f4b8" - integrity sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg== +"@csstools/postcss-color-mix-function@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.10.tgz#8c9d0ccfae5c45a9870dd84807ea2995c7a3a514" + integrity sha512-P0lIbQW9I4ShE7uBgZRib/lMTf9XMjJkFl/d6w4EMNHu2qvQ6zljJGEcBkw/NsBtq/6q3WrmgxSS8kHtPMkK4Q== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-content-alt-text@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.4.tgz#76f4687fb15ed45bc1139bb71e5775779762897a" - integrity sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw== +"@csstools/postcss-color-mix-variadic-function-arguments@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-color-mix-variadic-function-arguments/-/postcss-color-mix-variadic-function-arguments-1.0.0.tgz#0b29cb9b4630d7ed68549db265662d41554a17ed" + integrity sha512-Z5WhouTyD74dPFPrVE7KydgNS9VvnjB8qcdes9ARpCOItb4jTnm7cHp4FhxCRUoyhabD0WVv43wbkJ4p8hLAlQ== dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-exponential-functions@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.5.tgz#0c39f75df3357ee1e444b0aa0ede4e12aafea0e9" - integrity sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ== +"@csstools/postcss-content-alt-text@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@csstools/postcss-content-alt-text/-/postcss-content-alt-text-2.0.6.tgz#548862226eac54bab0ee5f1bf3a9981393ab204b" + integrity sha512-eRjLbOjblXq+byyaedQRSrAejKGNAFued+LcbzT+LCL78fabxHkxYjBbxkroONxHHYu2qxhFK2dBStTLPG3jpQ== + dependencies: + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" + "@csstools/utilities" "^2.0.0" + +"@csstools/postcss-exponential-functions@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.9.tgz#fc03d1272888cb77e64cc1a7d8a33016e4f05c69" + integrity sha512-abg2W/PI3HXwS/CZshSa79kNWNZHdJPMBXeZNyPQFbbj8sKO3jXxOt/wF7juJVjyDTc6JrvaUZYFcSBZBhaxjw== dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" "@csstools/postcss-font-format-keywords@^4.0.0": version "4.0.0" @@ -2251,50 +1154,50 @@ "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-gamut-mapping@^2.0.6": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.6.tgz#04ec6a50fdbca2a30dec56e6bb780c79621e47a7" - integrity sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA== - dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-gradients-interpolation-method@^5.0.6": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.6.tgz#67fa61ada95e4534687fa76cd2d15ac74386560e" - integrity sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg== - dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" +"@csstools/postcss-gamut-mapping@^2.0.10": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.10.tgz#f518d941231d721dbecf5b41e3c441885ff2f28b" + integrity sha512-QDGqhJlvFnDlaPAfCYPsnwVA6ze+8hhrwevYWlnUeSjkkZfBpcCO42SaUD8jiLlq7niouyLgvup5lh+f1qessg== + dependencies: + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-gradients-interpolation-method@^5.0.10": + version "5.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.10.tgz#3146da352c31142a721fdba062ac3a6d11dbbec3" + integrity sha512-HHPauB2k7Oits02tKFUeVFEU2ox/H3OQVrP3fSOKDxvloOikSal+3dzlyTZmYsb9FlY9p5EUpBtz0//XBmy+aw== + dependencies: + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-hwb-function@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.6.tgz#c40f557a54ed45e75c601a9ba7a08d315f64dbd7" - integrity sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ== +"@csstools/postcss-hwb-function@^4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.10.tgz#f93f3c457e6440ac37ef9b908feb5d901b417d50" + integrity sha512-nOKKfp14SWcdEQ++S9/4TgRKchooLZL0TUFdun3nI4KPwCjETmhjta1QT4ICQcGVWQTvrsgMM/aLB5We+kMHhQ== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-ic-unit@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.0.tgz#b60ec06500717c337447c39ae7fe7952eeb9d48f" - integrity sha512-9QT5TDGgx7wD3EEMN3BSUG6ckb6Eh5gSPT5kZoVtUuAonfPmLDJyPhqR4ntPpMYhUKAMVKAg3I/AgzqHMSeLhA== +"@csstools/postcss-ic-unit@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-4.0.2.tgz#7561e09db65fac8304ceeab9dd3e5c6e43414587" + integrity sha512-lrK2jjyZwh7DbxaNnIUjkeDmU8Y6KyzRBk91ZkI5h8nb1ykEfZrtIVArdIjX4DHMIBGpdHrgP0n4qXDr7OHaKA== dependencies: - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -"@csstools/postcss-initial@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.0.tgz#a86f5fc59ab9f16f1422dade4c58bd941af5df22" - integrity sha512-dv2lNUKR+JV+OOhZm9paWzYBXOCi+rJPqJ2cJuhh9xd8USVrd0cBEPczla81HNOyThMQWeCcdln3gZkQV2kYxA== +"@csstools/postcss-initial@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a" + integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg== "@csstools/postcss-is-pseudo-class@^5.0.1": version "5.0.1" @@ -2304,14 +1207,14 @@ "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" -"@csstools/postcss-light-dark-function@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.7.tgz#807c170cd28eebb0c00e64dfc6ab0bf418f19209" - integrity sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw== +"@csstools/postcss-light-dark-function@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-light-dark-function/-/postcss-light-dark-function-2.0.9.tgz#9fb080188907539734a9d5311d2a1cb82531ef38" + integrity sha512-1tCZH5bla0EAkFAI2r0H33CDnIBeLUaJh1p+hvvsylJ4svsv2wOmJjJn+OXwUZLXef37GYbRIVKX+X+g6m+3CQ== dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" "@csstools/postcss-logical-float-and-clear@^3.0.0": @@ -2336,32 +1239,32 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-logical-viewport-units@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.3.tgz#f6cc63520ca2a6eb76b9cd946070c38dda66d733" - integrity sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw== +"@csstools/postcss-logical-viewport-units@^3.0.4": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-logical-viewport-units/-/postcss-logical-viewport-units-3.0.4.tgz#016d98a8b7b5f969e58eb8413447eb801add16fc" + integrity sha512-q+eHV1haXA4w9xBwZLKjVKAWn3W2CMqmpNpZUk5kRprvSiBEGMgrNH3/sJZ8UA3JgyHaOt3jwT9uFa4wLX4EqQ== dependencies: - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/css-tokenizer" "^3.0.4" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-media-minmax@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.5.tgz#66970aa8d8057f84b88aff21f385194fbe03eb11" - integrity sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew== +"@csstools/postcss-media-minmax@^2.0.9": + version "2.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.9.tgz#184252d5b93155ae526689328af6bdf3fc113987" + integrity sha512-af9Qw3uS3JhYLnCbqtZ9crTvvkR+0Se+bBqSr7ykAnl9yKhk6895z9rf+2F4dClIDJWxgn0iZZ1PSdkhrbs2ig== dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" -"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.4.tgz#d71102172c74baf3f892fac88cf1ea46a961600d" - integrity sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ== +"@csstools/postcss-media-queries-aspect-ratio-number-values@^3.0.5": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@csstools/postcss-media-queries-aspect-ratio-number-values/-/postcss-media-queries-aspect-ratio-number-values-3.0.5.tgz#f485c31ec13d6b0fb5c528a3474334a40eff5f11" + integrity sha512-zhAe31xaaXOY2Px8IYfoVTB3wglbJUVigGphFLj6exb7cjZRH9A6adyE22XfFK3P2PzwRk0VDeTJmaxpluyrDg== dependencies: - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" "@csstools/postcss-nested-calc@^4.0.0": version "4.0.0" @@ -2378,42 +1281,42 @@ dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-oklab-function@^4.0.6": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.6.tgz#17e8dfb6422dfd8d77256def5d5be8335ea7af34" - integrity sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A== +"@csstools/postcss-oklab-function@^4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.10.tgz#d4c23c51dd0be45e6dedde22432d7d0003710780" + integrity sha512-ZzZUTDd0fgNdhv8UUjGCtObPD8LYxMH+MJsW9xlZaWTV8Ppr4PtxlHYNMmF4vVWGl0T6f8tyWAKjoI6vePSgAg== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -"@csstools/postcss-progressive-custom-properties@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.0.0.tgz#ecdb85bcdb1852d73970a214a376684a91f82bdc" - integrity sha512-XQPtROaQjomnvLUSy/bALTR5VCtTVUFwYs1SblvYgLSeTo2a/bMNwUwo2piXw5rTv/FEYiy5yPSXBqg9OKUx7Q== +"@csstools/postcss-progressive-custom-properties@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-4.1.0.tgz#70c8d41b577f4023633b7e3791604e0b7f3775bc" + integrity sha512-YrkI9dx8U4R8Sz2EJaoeD9fI7s7kmeEBfmO+UURNeL6lQI7VxF6sBE+rSqdCBn4onwqmxFdBU3lTwyYb/lCmxA== dependencies: postcss-value-parser "^4.2.0" -"@csstools/postcss-random-function@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-1.0.1.tgz#73a0b62b5dbbc03c25a28f085235eb61b09a2fb0" - integrity sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA== - dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - -"@csstools/postcss-relative-color-syntax@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.6.tgz#4b8bc219b34b16f5abdbbcf09ac13e65bff6ef16" - integrity sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg== - dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" +"@csstools/postcss-random-function@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@csstools/postcss-random-function/-/postcss-random-function-2.0.1.tgz#3191f32fe72936e361dadf7dbfb55a0209e2691e" + integrity sha512-q+FQaNiRBhnoSNo+GzqGOIBKoHQ43lYz0ICrV+UudfWnEF6ksS6DsBIJSISKQT2Bvu3g4k6r7t0zYrk5pDlo8w== + dependencies: + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + +"@csstools/postcss-relative-color-syntax@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.10.tgz#daa840583969461e1e06b12e9c591e52a790ec86" + integrity sha512-8+0kQbQGg9yYG8hv0dtEpOMLwB9M+P7PhacgIzVzJpixxV4Eq9AUQtQw8adMmAJU1RBBmIlpmtmm3XTRd/T00g== + dependencies: + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" "@csstools/postcss-scope-pseudo-class@^4.0.1": @@ -2423,40 +1326,40 @@ dependencies: postcss-selector-parser "^7.0.0" -"@csstools/postcss-sign-functions@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.0.tgz#a524fae1374b0e167729f612ca875d7b1b334262" - integrity sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA== +"@csstools/postcss-sign-functions@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.4.tgz#a9ac56954014ae4c513475b3f1b3e3424a1e0c12" + integrity sha512-P97h1XqRPcfcJndFdG95Gv/6ZzxUBBISem0IDqPZ7WMvc/wlO+yU0c5D/OCpZ5TJoTt63Ok3knGk64N+o6L2Pg== dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" -"@csstools/postcss-stepped-value-functions@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.5.tgz#4d68633d502fbe2b6ef3898e368e3540488a0d8a" - integrity sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw== +"@csstools/postcss-stepped-value-functions@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.9.tgz#36036f1a0e5e5ee2308e72f3c9cb433567c387b9" + integrity sha512-h9btycWrsex4dNLeQfyU3y3w40LMQooJWFMm/SK9lrKguHDcFl4VMkncKKoXi2z5rM9YGWbUQABI8BT2UydIcA== dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" -"@csstools/postcss-text-decoration-shorthand@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.1.tgz#251fab0939d50c6fd73bb2b830b2574188efa087" - integrity sha512-xPZIikbx6jyzWvhms27uugIc0I4ykH4keRvoa3rxX5K7lEhkbd54rjj/dv60qOCTisoS+3bmwJTeyV1VNBrXaw== +"@csstools/postcss-text-decoration-shorthand@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-4.0.2.tgz#a3bcf80492e6dda36477538ab8e8943908c9f80a" + integrity sha512-8XvCRrFNseBSAGxeaVTaNijAu+FzUvjwFXtcrynmazGb/9WUdsPCpBX+mHEHShVRq47Gy4peYAoxYs8ltUnmzA== dependencies: - "@csstools/color-helpers" "^5.0.1" + "@csstools/color-helpers" "^5.0.2" postcss-value-parser "^4.2.0" -"@csstools/postcss-trigonometric-functions@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.5.tgz#267b95a8bd45536e0360596b6da660a9eb6aac83" - integrity sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA== +"@csstools/postcss-trigonometric-functions@^4.0.9": + version "4.0.9" + resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.9.tgz#3f94ed2e319b57f2c59720b64e4d0a8a6fb8c3b2" + integrity sha512-Hnh5zJUdpNrJqK9v1/E3BbrQhaDTj5YiX7P61TOvUhoDHnUmsNNxcDAgkQ32RrcWx9GVUvfUNPcUkn8R3vIX6A== dependencies: - "@csstools/css-calc" "^2.1.0" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/css-calc" "^2.1.4" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" "@csstools/postcss-unset-value@^4.0.0": version "4.0.0" @@ -2483,25 +1386,25 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@docsearch/css@3.8.2": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.8.2.tgz#7973ceb6892c30f154ba254cd05c562257a44977" - integrity sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ== +"@docsearch/css@3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.9.0.tgz#3bc29c96bf024350d73b0cfb7c2a7b71bf251cd5" + integrity sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA== -"@docsearch/react@^3.8.1": - version "3.8.2" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.8.2.tgz#7b11d39b61c976c0aa9fbde66e6b73b30f3acd42" - integrity sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg== +"@docsearch/react@^3.9.0": + version "3.9.0" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.9.0.tgz#d0842b700c3ee26696786f3c8ae9f10c1a3f0db3" + integrity sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ== dependencies: - "@algolia/autocomplete-core" "1.17.7" - "@algolia/autocomplete-preset-algolia" "1.17.7" - "@docsearch/css" "3.8.2" + "@algolia/autocomplete-core" "1.17.9" + "@algolia/autocomplete-preset-algolia" "1.17.9" + "@docsearch/css" "3.9.0" algoliasearch "^5.14.2" -"@docusaurus/babel@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.7.0.tgz#770dd5da525a9d6a2fee7d3212ec62040327f776" - integrity sha512-0H5uoJLm14S/oKV3Keihxvh8RV+vrid+6Gv+2qhuzbqHanawga8tYnsdpjEyt36ucJjqlby2/Md2ObWjA02UXQ== +"@docusaurus/babel@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.8.0.tgz#2f390cc4e588a96ec496d87921e44890899738a6" + integrity sha512-9EJwSgS6TgB8IzGk1L8XddJLhZod8fXT4ULYMx6SKqyCBqCFpVCEjR/hNXXhnmtVM2irDuzYoVLGWv7srG/VOA== dependencies: "@babel/core" "^7.25.9" "@babel/generator" "^7.25.9" @@ -2513,23 +1416,23 @@ "@babel/runtime" "^7.25.9" "@babel/runtime-corejs3" "^7.25.9" "@babel/traverse" "^7.25.9" - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/utils" "3.8.0" babel-plugin-dynamic-import-node "^2.3.3" fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/bundler@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.7.0.tgz#d8e7867b3b2c43a1e320ed429f8dfe873c38506d" - integrity sha512-CUUT9VlSGukrCU5ctZucykvgCISivct+cby28wJwCC/fkQFgAHRp/GKv2tx38ZmXb7nacrKzFTcp++f9txUYGg== +"@docusaurus/bundler@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.8.0.tgz#386f54dca594d81bac6b617c71822e0808d6e2f6" + integrity sha512-Rq4Z/MSeAHjVzBLirLeMcjLIAQy92pF1OI+2rmt18fSlMARfTGLWRE8Vb+ljQPTOSfJxwDYSzsK6i7XloD2rNA== dependencies: "@babel/core" "^7.25.9" - "@docusaurus/babel" "3.7.0" - "@docusaurus/cssnano-preset" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" + "@docusaurus/babel" "3.8.0" + "@docusaurus/cssnano-preset" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" babel-loader "^9.2.1" clean-css "^5.3.2" copy-webpack-plugin "^11.0.0" @@ -2543,25 +1446,24 @@ postcss "^8.4.26" postcss-loader "^7.3.3" postcss-preset-env "^10.1.0" - react-dev-utils "^12.0.1" terser-webpack-plugin "^5.3.9" tslib "^2.6.0" url-loader "^4.1.1" webpack "^5.95.0" webpackbar "^6.0.1" -"@docusaurus/core@3.7.0", "@docusaurus/core@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.7.0.tgz#e871586d099093723dfe6de81c1ce610aeb20292" - integrity sha512-b0fUmaL+JbzDIQaamzpAFpTviiaU4cX3Qz8cuo14+HGBCwa0evEK0UYCBFY3n4cLzL8Op1BueeroUD2LYAIHbQ== - dependencies: - "@docusaurus/babel" "3.7.0" - "@docusaurus/bundler" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/core@3.8.0", "@docusaurus/core@^3.7.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.8.0.tgz#79d5e1084415c8834a8a5cb87162ca13f52fe147" + integrity sha512-c7u6zFELmSGPEP9WSubhVDjgnpiHgDqMh1qVdCB7rTflh4Jx0msTYmMiO91Ez0KtHj4sIsDsASnjwfJ2IZp3Vw== + dependencies: + "@docusaurus/babel" "3.8.0" + "@docusaurus/bundler" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" boxen "^6.2.1" chalk "^4.1.2" chokidar "^3.5.3" @@ -2569,19 +1471,19 @@ combine-promises "^1.1.0" commander "^5.1.0" core-js "^3.31.1" - del "^6.1.1" detect-port "^1.5.1" escape-html "^1.0.3" eta "^2.2.0" eval "^0.1.8" + execa "5.1.1" fs-extra "^11.1.1" html-tags "^3.3.1" html-webpack-plugin "^5.6.0" leven "^3.1.0" lodash "^4.17.21" + open "^8.4.0" p-map "^4.0.0" prompts "^2.4.2" - react-dev-utils "^12.0.1" react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" react-loadable "npm:@docusaurus/react-loadable@6.0.0" react-loadable-ssr-addon-v5-slorber "^1.0.1" @@ -2590,7 +1492,7 @@ react-router-dom "^5.3.4" semver "^7.5.4" serve-handler "^6.1.6" - shelljs "^0.8.5" + tinypool "^1.0.2" tslib "^2.6.0" update-notifier "^6.0.2" webpack "^5.95.0" @@ -2598,39 +1500,39 @@ webpack-dev-server "^4.15.2" webpack-merge "^6.0.1" -"@docusaurus/cssnano-preset@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.7.0.tgz#8fe8f2c3acbd32384b69e14983b9a63c98cae34e" - integrity sha512-X9GYgruZBSOozg4w4dzv9uOz8oK/EpPVQXkp0MM6Tsgp/nRIU9hJzJ0Pxg1aRa3xCeEQTOimZHcocQFlLwYajQ== +"@docusaurus/cssnano-preset@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.0.tgz#a70f19e2995be2299f5ef9c3da3e5d4d5c14bff2" + integrity sha512-UJ4hAS2T0R4WNy+phwVff2Q0L5+RXW9cwlH6AEphHR5qw3m/yacfWcSK7ort2pMMbDn8uGrD38BTm4oLkuuNoQ== dependencies: cssnano-preset-advanced "^6.1.2" postcss "^8.4.38" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.7.0.tgz#07ecc2f460c4d2382df4991f9ce4e348e90af04c" - integrity sha512-z7g62X7bYxCYmeNNuO9jmzxLQG95q9QxINCwpboVcNff3SJiHJbGrarxxOVMVmAh1MsrSfxWkVGv4P41ktnFsA== +"@docusaurus/logger@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.8.0.tgz#c1abbb084a8058dc0047d57070fb9cd0241a679d" + integrity sha512-7eEMaFIam5Q+v8XwGqF/n0ZoCld4hV4eCCgQkfcN9Mq5inoZa6PHHW9Wu6lmgzoK5Kx3keEeABcO2SxwraoPDQ== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.7.0.tgz#5890c6e7a5b68cb1d066264ac5290cdcd59d4ecc" - integrity sha512-OFBG6oMjZzc78/U3WNPSHs2W9ZJ723ewAcvVJaqS0VgyeUfmzUV8f1sv+iUHA0DtwiR5T5FjOxj6nzEE8LY6VA== +"@docusaurus/mdx-loader@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.8.0.tgz#2b225cd2b1159cc49b10b1cac63a927a8368274b" + integrity sha512-mDPSzssRnpjSdCGuv7z2EIAnPS1MHuZGTaRLwPn4oQwszu4afjWZ/60sfKjTnjBjI8Vl4OgJl2vMmfmiNDX4Ng== dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" estree-util-value-to-estree "^3.0.1" file-loader "^6.2.0" fs-extra "^11.1.1" - image-size "^1.0.2" + image-size "^2.0.2" mdast-util-mdx "^3.0.0" mdast-util-to-string "^4.0.0" rehype-raw "^7.0.0" @@ -2646,190 +1548,202 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.7.0", "@docusaurus/module-type-aliases@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.7.0.tgz#15c0745b829c6966c5b3b2c2527c72b54830b0e5" - integrity sha512-g7WdPqDNaqA60CmBrr0cORTrsOit77hbsTj7xE2l71YhBn79sxdm7WMK7wfhcaafkbpIh7jv5ef5TOpf1Xv9Lg== +"@docusaurus/module-type-aliases@3.8.0", "@docusaurus/module-type-aliases@^3.7.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.0.tgz#e487052c372538c5dcf2200999e13f328fa5ffaa" + integrity sha512-/uMb4Ipt5J/QnD13MpnoC/A4EYAe6DKNWqTWLlGrqsPJwJv73vSwkA25xnYunwfqWk0FlUQfGv/Swdh5eCCg7g== dependencies: - "@docusaurus/types" "3.7.0" + "@docusaurus/types" "3.8.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" "@types/react-router-dom" "*" - react-helmet-async "npm:@slorber/react-helmet-async@*" + react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" react-loadable "npm:@docusaurus/react-loadable@6.0.0" -"@docusaurus/plugin-content-blog@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.7.0.tgz#7bd69de87a1f3adb652e1473ef5b7ccc9468f47e" - integrity sha512-EFLgEz6tGHYWdPU0rK8tSscZwx+AsyuBW/r+tNig2kbccHYGUJmZtYN38GjAa3Fda4NU+6wqUO5kTXQSRBQD3g== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/plugin-content-blog@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.8.0.tgz#0c200b1fb821e09e9e975c45255e5ddfab06c392" + integrity sha512-0SlOTd9R55WEr1GgIXu+hhTT0hzARYx3zIScA5IzpdekZQesI/hKEa5LPHBd415fLkWMjdD59TaW/3qQKpJ0Lg== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/theme-common" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" cheerio "1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" lodash "^4.17.21" - reading-time "^1.5.0" + schema-dts "^1.1.2" srcset "^4.0.0" tslib "^2.6.0" unist-util-visit "^5.0.0" utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.7.0.tgz#297a549e926ee2b1147b5242af6f21532c7b107c" - integrity sha512-GXg5V7kC9FZE4FkUZA8oo/NrlRb06UwuICzI6tcbzj0+TVgjq/mpUXXzSgKzMS82YByi4dY2Q808njcBCyy6tQ== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/plugin-content-docs@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.0.tgz#6aedb1261da1f0c8c2fa11cfaa6df4577a9b7826" + integrity sha512-fRDMFLbUN6eVRXcjP8s3Y7HpAt9pzPYh1F/7KKXOCxvJhjjCtbon4VJW0WndEPInVz4t8QUXn5QZkU2tGVCE2g== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/module-type-aliases" "3.8.0" + "@docusaurus/theme-common" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" js-yaml "^4.1.0" lodash "^4.17.21" + schema-dts "^1.1.2" tslib "^2.6.0" utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.7.0.tgz#c4a8f7237872236aacb77665822c474c0a00e91a" - integrity sha512-YJSU3tjIJf032/Aeao8SZjFOrXJbz/FACMveSMjLyMH4itQyZ2XgUIzt4y+1ISvvk5zrW4DABVT2awTCqBkx0Q== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/plugin-content-pages@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.8.0.tgz#2db5f990872684c621665d0d0d8d9b5831fd2999" + integrity sha512-39EDx2y1GA0Pxfion5tQZLNJxL4gq6susd1xzetVBjVIQtwpCdyloOfQBAgX0FylqQxfJrYqL0DIUuq7rd7uBw== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-debug@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.7.0.tgz#a4fd45132e40cffe96bb51f48e89982a1cb8e194" - integrity sha512-Qgg+IjG/z4svtbCNyTocjIwvNTNEwgRjSXXSJkKVG0oWoH0eX/HAPiu+TS1HBwRPQV+tTYPWLrUypYFepfujZA== +"@docusaurus/plugin-css-cascade-layers@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.0.tgz#a0741ae32917a88ce7ce76b6f472495fa4bf576d" + integrity sha512-/VBTNymPIxQB8oA3ZQ4GFFRYdH4ZxDRRBECxyjRyv486mfUPXfcdk+im4S5mKWa6EK2JzBz95IH/Wu0qQgJ5yQ== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" + tslib "^2.6.0" + +"@docusaurus/plugin-debug@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.8.0.tgz#297c159ae99924e60042426d2ad6ee0d5e9126b3" + integrity sha512-teonJvJsDB9o2OnG6ifbhblg/PXzZvpUKHFgD8dOL1UJ58u0lk8o0ZOkvaYEBa9nDgqzoWrRk9w+e3qaG2mOhQ== dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" fs-extra "^11.1.1" - react-json-view-lite "^1.2.0" + react-json-view-lite "^2.3.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.7.0.tgz#d20f665e810fb2295d1c1bbfe13398c5ff42eb24" - integrity sha512-otIqiRV/jka6Snjf+AqB360XCeSv7lQC+DKYW+EUZf6XbuE8utz5PeUQ8VuOcD8Bk5zvT1MC4JKcd5zPfDuMWA== +"@docusaurus/plugin-google-analytics@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.0.tgz#fb97097af331beb13553a384081dc83607539b31" + integrity sha512-aKKa7Q8+3xRSRESipNvlFgNp3FNPELKhuo48Cg/svQbGNwidSHbZT03JqbW4cBaQnyyVchO1ttk+kJ5VC9Gx0w== dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.7.0.tgz#a48638dfd132858060458b875a440b6cbda6bf8f" - integrity sha512-M3vrMct1tY65ModbyeDaMoA+fNJTSPe5qmchhAbtqhDD/iALri0g9LrEpIOwNaoLmm6lO88sfBUADQrSRSGSWA== +"@docusaurus/plugin-google-gtag@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.0.tgz#b5a60006c28ac582859a469fb92e53d383b0a055" + integrity sha512-ugQYMGF4BjbAW/JIBtVcp+9eZEgT9HRdvdcDudl5rywNPBA0lct+lXMG3r17s02rrhInMpjMahN3Yc9Cb3H5/g== dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.7.0.tgz#0a4390f4b0e760d073bdb1905436bfa7bd71356b" - integrity sha512-X8U78nb8eiMiPNg3jb9zDIVuuo/rE1LjGDGu+5m5CX4UBZzjMy+klOY2fNya6x8ACyE/L3K2erO1ErheP55W/w== +"@docusaurus/plugin-google-tag-manager@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.0.tgz#612aa63e161fb273bf7db2591034c0142951727d" + integrity sha512-9juRWxbwZD3SV02Jd9QB6yeN7eu+7T4zB0bvJLcVQwi+am51wAxn2CwbdL0YCCX+9OfiXbADE8D8Q65Hbopu/w== dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" tslib "^2.6.0" -"@docusaurus/plugin-sitemap@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.7.0.tgz#2c1bf9de26aeda455df6f77748e5887ace39b2d7" - integrity sha512-bTRT9YLZ/8I/wYWKMQke18+PF9MV8Qub34Sku6aw/vlZ/U+kuEuRpQ8bTcNOjaTSfYsWkK4tTwDMHK2p5S86cA== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/plugin-sitemap@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.0.tgz#a39e3b5aa2f059aba0052ed11a6b4fbf78ac0dad" + integrity sha512-fGpOIyJvNiuAb90nSJ2Gfy/hUOaDu6826e5w5UxPmbpCIc7KlBHNAZ5g4L4ZuHhc4hdfq4mzVBsQSnne+8Ze1g== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" -"@docusaurus/plugin-svgr@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.7.0.tgz#018e89efd615d5fde77b891a8c2aadf203013f5d" - integrity sha512-HByXIZTbc4GV5VAUkZ2DXtXv1Qdlnpk3IpuImwSnEzCDBkUMYcec5282hPjn6skZqB25M1TYCmWS91UbhBGxQg== +"@docusaurus/plugin-svgr@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.0.tgz#6d2d43f14b32b4bb2dd8dc87a70c6e78754c1e85" + integrity sha512-kEDyry+4OMz6BWLG/lEqrNsL/w818bywK70N1gytViw4m9iAmoxCUT7Ri9Dgs7xUdzCHJ3OujolEmD88Wy44OA== dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" "@svgr/core" "8.1.0" "@svgr/webpack" "^8.1.0" tslib "^2.6.0" webpack "^5.88.1" "@docusaurus/preset-classic@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz#f6656a04ae6a4877523dbd04f7c491632e4003b9" - integrity sha512-nPHj8AxDLAaQXs+O6+BwILFuhiWbjfQWrdw2tifOClQoNfuXDjfjogee6zfx6NGHWqshR23LrcN115DmkHC91Q== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/plugin-content-blog" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/plugin-content-pages" "3.7.0" - "@docusaurus/plugin-debug" "3.7.0" - "@docusaurus/plugin-google-analytics" "3.7.0" - "@docusaurus/plugin-google-gtag" "3.7.0" - "@docusaurus/plugin-google-tag-manager" "3.7.0" - "@docusaurus/plugin-sitemap" "3.7.0" - "@docusaurus/plugin-svgr" "3.7.0" - "@docusaurus/theme-classic" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-search-algolia" "3.7.0" - "@docusaurus/types" "3.7.0" - -"@docusaurus/theme-classic@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.7.0.tgz#b483bd8e2923b6994b5f47238884b9f8984222c5" - integrity sha512-MnLxG39WcvLCl4eUzHr0gNcpHQfWoGqzADCly54aqCofQX6UozOS9Th4RK3ARbM9m7zIRv3qbhggI53dQtx/hQ== - dependencies: - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/plugin-content-blog" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/plugin-content-pages" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-translations" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.8.0.tgz#ac8bc17e3b7b443d8a24f2f1da0c0be396950fef" + integrity sha512-qOu6tQDOWv+rpTlKu+eJATCJVGnABpRCPuqf7LbEaQ1mNY//N/P8cHQwkpAU+aweQfarcZ0XfwCqRHJfjeSV/g== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/plugin-content-blog" "3.8.0" + "@docusaurus/plugin-content-docs" "3.8.0" + "@docusaurus/plugin-content-pages" "3.8.0" + "@docusaurus/plugin-css-cascade-layers" "3.8.0" + "@docusaurus/plugin-debug" "3.8.0" + "@docusaurus/plugin-google-analytics" "3.8.0" + "@docusaurus/plugin-google-gtag" "3.8.0" + "@docusaurus/plugin-google-tag-manager" "3.8.0" + "@docusaurus/plugin-sitemap" "3.8.0" + "@docusaurus/plugin-svgr" "3.8.0" + "@docusaurus/theme-classic" "3.8.0" + "@docusaurus/theme-common" "3.8.0" + "@docusaurus/theme-search-algolia" "3.8.0" + "@docusaurus/types" "3.8.0" + +"@docusaurus/theme-classic@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.8.0.tgz#6d44fb801b86a7c7af01cda0325af1a3300b3ac2" + integrity sha512-nQWFiD5ZjoT76OaELt2n33P3WVuuCz8Dt5KFRP2fCBo2r9JCLsp2GJjZpnaG24LZ5/arRjv4VqWKgpK0/YLt7g== + dependencies: + "@docusaurus/core" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/module-type-aliases" "3.8.0" + "@docusaurus/plugin-content-blog" "3.8.0" + "@docusaurus/plugin-content-docs" "3.8.0" + "@docusaurus/plugin-content-pages" "3.8.0" + "@docusaurus/theme-common" "3.8.0" + "@docusaurus/theme-translations" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" @@ -2844,15 +1758,15 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.7.0.tgz#18bf5c6b149a701f4bd865715ee8b595aa40b354" - integrity sha512-8eJ5X0y+gWDsURZnBfH0WabdNm8XMCXHv8ENy/3Z/oQKwaB/EHt5lP9VsTDTf36lKEp0V6DjzjFyFIB+CetL0A== +"@docusaurus/theme-common@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.8.0.tgz#102c385c3d1d3b7a6b52d1911c7e88c38d9a977e" + integrity sha512-YqV2vAWpXGLA+A3PMLrOMtqgTHJLDcT+1Caa6RF7N4/IWgrevy5diY8oIHFkXR/eybjcrFFjUPrHif8gSGs3Tw== dependencies: - "@docusaurus/mdx-loader" "3.7.0" - "@docusaurus/module-type-aliases" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" + "@docusaurus/mdx-loader" "3.8.0" + "@docusaurus/module-type-aliases" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -2862,19 +1776,19 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.7.0.tgz#2108ddf0b300b82de7c2b9ff9fcf62121b66ea37" - integrity sha512-Al/j5OdzwRU1m3falm+sYy9AaB93S1XF1Lgk9Yc6amp80dNxJVplQdQTR4cYdzkGtuQqbzUA8+kaoYYO0RbK6g== - dependencies: - "@docsearch/react" "^3.8.1" - "@docusaurus/core" "3.7.0" - "@docusaurus/logger" "3.7.0" - "@docusaurus/plugin-content-docs" "3.7.0" - "@docusaurus/theme-common" "3.7.0" - "@docusaurus/theme-translations" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-validation" "3.7.0" +"@docusaurus/theme-search-algolia@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.0.tgz#21c2f18e07a73d13ca3b44fcf0ae9aac33bef60f" + integrity sha512-GBZ5UOcPgiu6nUw153+0+PNWvFKweSnvKIL6Rp04H9olKb475jfKjAwCCtju5D2xs5qXHvCMvzWOg5o9f6DtuQ== + dependencies: + "@docsearch/react" "^3.9.0" + "@docusaurus/core" "3.8.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/plugin-content-docs" "3.8.0" + "@docusaurus/theme-common" "3.8.0" + "@docusaurus/theme-translations" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-validation" "3.8.0" algoliasearch "^5.17.1" algoliasearch-helper "^3.22.6" clsx "^2.0.0" @@ -2884,18 +1798,18 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.7.0.tgz#0891aedc7c7040afcb3a1b34051d3a69096d0d25" - integrity sha512-Ewq3bEraWDmienM6eaNK7fx+/lHMtGDHQyd1O+4+3EsDxxUmrzPkV7Ct3nBWTuE0MsoZr3yNwQVKjllzCMuU3g== +"@docusaurus/theme-translations@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.8.0.tgz#deb64dccab74361624c3cb352a4949a7ac868c74" + integrity sha512-1DTy/snHicgkCkryWq54fZvsAglTdjTx4qjOXgqnXJ+DIty1B+aPQrAVUu8LiM+6BiILfmNxYsxhKTj+BS3PZg== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/types@3.7.0", "@docusaurus/types@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.7.0.tgz#3f5a68a60f80ecdcb085666da1d68f019afda943" - integrity sha512-kOmZg5RRqJfH31m+6ZpnwVbkqMJrPOG5t0IOl4i/+3ruXyNfWzZ0lVtVrD0u4ONc/0NOsS9sWYaxxWNkH1LdLQ== +"@docusaurus/types@3.8.0", "@docusaurus/types@^3.7.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.8.0.tgz#f6cd31c4e3e392e0270b8137d7fe4365ea7a022e" + integrity sha512-RDEClpwNxZq02c+JlaKLWoS13qwWhjcNsi2wG1UpzmEnuti/z1Wx4SGpqbUqRPNSd8QWWePR8Cb7DvG0VN/TtA== dependencies: "@mdx-js/mdx" "^3.0.0" "@types/history" "^4.7.11" @@ -2907,37 +1821,38 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.7.0.tgz#1bef52837d321db5dd2361fc07f3416193b5d029" - integrity sha512-IZeyIfCfXy0Mevj6bWNg7DG7B8G+S6o6JVpddikZtWyxJguiQ7JYr0SIZ0qWd8pGNuMyVwriWmbWqMnK7Y5PwA== +"@docusaurus/utils-common@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.8.0.tgz#2b1a6b1ec4a7fac62f1898d523d42f8cc4a8258f" + integrity sha512-3TGF+wVTGgQ3pAc9+5jVchES4uXUAhAt9pwv7uws4mVOxL4alvU3ue/EZ+R4XuGk94pDy7CNXjRXpPjlfZXQfw== dependencies: - "@docusaurus/types" "3.7.0" + "@docusaurus/types" "3.8.0" tslib "^2.6.0" -"@docusaurus/utils-validation@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.7.0.tgz#dc0786fb633ae5cef8e93337bf21c2a826c7ecbd" - integrity sha512-w8eiKk8mRdN+bNfeZqC4nyFoxNyI1/VExMKAzD9tqpJfLLbsa46Wfn5wcKH761g9WkKh36RtFV49iL9lh1DYBA== +"@docusaurus/utils-validation@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.8.0.tgz#aa02e9d998e20998fbcaacd94873878bc3b9a4cd" + integrity sha512-MrnEbkigr54HkdFeg8e4FKc4EF+E9dlVwsY3XQZsNkbv3MKZnbHQ5LsNJDIKDROFe8PBf5C4qCAg5TPBpsjrjg== dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/utils" "3.7.0" - "@docusaurus/utils-common" "3.7.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/utils" "3.8.0" + "@docusaurus/utils-common" "3.8.0" fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.7.0.tgz#dfdebd63524c52b498f36b2907a3b2261930b9bb" - integrity sha512-e7zcB6TPnVzyUaHMJyLSArKa2AG3h9+4CfvKXKKWNx6hRs+p0a+u7HHTJBgo6KW2m+vqDnuIHK4X+bhmoghAFA== +"@docusaurus/utils@3.8.0": + version "3.8.0" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.8.0.tgz#92bad89d2a11f5f246196af153093b12cd79f9ac" + integrity sha512-2wvtG28ALCN/A1WCSLxPASFBFzXCnP0YKCAFIPcvEb6imNu1wg7ni/Svcp71b3Z2FaOFFIv4Hq+j4gD7gA0yfQ== dependencies: - "@docusaurus/logger" "3.7.0" - "@docusaurus/types" "3.7.0" - "@docusaurus/utils-common" "3.7.0" + "@docusaurus/logger" "3.8.0" + "@docusaurus/types" "3.8.0" + "@docusaurus/utils-common" "3.8.0" escape-string-regexp "^4.0.0" + execa "5.1.1" file-loader "^6.2.0" fs-extra "^11.1.1" github-slugger "^1.5.0" @@ -2947,9 +1862,9 @@ js-yaml "^4.1.0" lodash "^4.17.21" micromatch "^4.0.5" + p-queue "^6.6.2" prompts "^2.4.2" resolve-pathname "^3.0.0" - shelljs "^0.8.5" tslib "^2.6.0" url-loader "^4.1.1" utility-types "^3.10.0" @@ -2986,33 +1901,19 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== + version "0.3.8" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz#4f0e06362e01362f823d348f1872b08f666d8142" + integrity sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA== dependencies: "@jridgewell/set-array" "^1.2.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.24" "@jridgewell/resolve-uri@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + version "3.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== "@jridgewell/set-array@^1.2.1": version "1.2.1" @@ -3020,17 +1921,17 @@ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== "@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + version "0.3.6" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a" + integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ== dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + version "1.5.0" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" + integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": version "0.3.25" @@ -3040,23 +1941,15 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - "@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + version "2.0.5" + resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" + integrity sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw== "@mdx-js/mdx@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.0.0.tgz#37ef87685143fafedf1165f0a79e9fe95fbe5154" - integrity sha512-Icm0TBKBLYqroYbNW3BPnzMGn+7mwpQOK310aZ7+fkCtiU3aqv2cdcX+nd0Ydo3wI5Rx8bX2Z2QmGb/XcAClCw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-3.1.0.tgz#10235cab8ad7d356c262e8c21c68df5850a97dc3" + integrity sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -3064,14 +1957,15 @@ "@types/mdx" "^2.0.0" collapse-white-space "^2.0.0" devlop "^1.0.0" - estree-util-build-jsx "^3.0.0" estree-util-is-identifier-name "^3.0.0" - estree-util-to-js "^2.0.0" + estree-util-scope "^1.0.0" estree-walker "^3.0.0" - hast-util-to-estree "^3.0.0" hast-util-to-jsx-runtime "^2.0.0" markdown-extensions "^2.0.0" - periscopic "^3.0.0" + recma-build-jsx "^1.0.0" + recma-jsx "^1.0.0" + recma-stringify "^1.0.0" + rehype-recma "^1.0.0" remark-mdx "^3.0.0" remark-parse "^11.0.0" remark-rehype "^11.0.0" @@ -3083,9 +1977,9 @@ vfile "^6.0.0" "@mdx-js/react@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.0.tgz#eaccaa8d6a7736b19080aff5a70448a7ba692271" - integrity sha512-nDctevR9KyYFyV+m+/+S4cpzCWHqj+iHDHq3QrsWezcC+B17uZdIWgCguESUkwFhM3n/56KxWVE3V6EokrmONQ== + version "3.1.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.1.0.tgz#c4522e335b3897b9a845db1dbdd2f966ae8fb0ed" + integrity sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ== dependencies: "@types/mdx" "^2.0.0" @@ -3110,6 +2004,95 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@parcel/watcher-android-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz#507f836d7e2042f798c7d07ad19c3546f9848ac1" + integrity sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA== + +"@parcel/watcher-darwin-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz#3d26dce38de6590ef79c47ec2c55793c06ad4f67" + integrity sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw== + +"@parcel/watcher-darwin-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz#99f3af3869069ccf774e4ddfccf7e64fd2311ef8" + integrity sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg== + +"@parcel/watcher-freebsd-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz#14d6857741a9f51dfe51d5b08b7c8afdbc73ad9b" + integrity sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ== + +"@parcel/watcher-linux-arm-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz#43c3246d6892381db473bb4f663229ad20b609a1" + integrity sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA== + +"@parcel/watcher-linux-arm-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz#663750f7090bb6278d2210de643eb8a3f780d08e" + integrity sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q== + +"@parcel/watcher-linux-arm64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz#ba60e1f56977f7e47cd7e31ad65d15fdcbd07e30" + integrity sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w== + +"@parcel/watcher-linux-arm64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz#f7fbcdff2f04c526f96eac01f97419a6a99855d2" + integrity sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg== + +"@parcel/watcher-linux-x64-glibc@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz#4d2ea0f633eb1917d83d483392ce6181b6a92e4e" + integrity sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A== + +"@parcel/watcher-linux-x64-musl@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz#277b346b05db54f55657301dd77bdf99d63606ee" + integrity sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg== + +"@parcel/watcher-win32-arm64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz#7e9e02a26784d47503de1d10e8eab6cceb524243" + integrity sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw== + +"@parcel/watcher-win32-ia32@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz#2d0f94fa59a873cdc584bf7f6b1dc628ddf976e6" + integrity sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ== + +"@parcel/watcher-win32-x64@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz#ae52693259664ba6f2228fa61d7ee44b64ea0947" + integrity sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA== + +"@parcel/watcher@^2.4.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.1.tgz#342507a9cfaaf172479a882309def1e991fb1200" + integrity sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.1" + "@parcel/watcher-darwin-arm64" "2.5.1" + "@parcel/watcher-darwin-x64" "2.5.1" + "@parcel/watcher-freebsd-x64" "2.5.1" + "@parcel/watcher-linux-arm-glibc" "2.5.1" + "@parcel/watcher-linux-arm-musl" "2.5.1" + "@parcel/watcher-linux-arm64-glibc" "2.5.1" + "@parcel/watcher-linux-arm64-musl" "2.5.1" + "@parcel/watcher-linux-x64-glibc" "2.5.1" + "@parcel/watcher-linux-x64-musl" "2.5.1" + "@parcel/watcher-win32-arm64" "2.5.1" + "@parcel/watcher-win32-ia32" "2.5.1" + "@parcel/watcher-win32-x64" "2.5.1" + "@pnpm/config.env-replace@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" @@ -3123,18 +2106,18 @@ graceful-fs "4.2.10" "@pnpm/npm-conf@^2.1.0": - version "2.2.2" - resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz#0058baf1c26cbb63a828f0193795401684ac86f0" - integrity sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" + integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== dependencies: "@pnpm/config.env-replace" "^1.1.0" "@pnpm/network.ca-file" "^1.0.1" config-chain "^1.1.11" "@polka/url@^1.0.0-next.24": - version "1.0.0-next.24" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.24.tgz#58601079e11784d20f82d0585865bb42305c4df3" - integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ== + version "1.0.0-next.29" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== "@sideway/address@^4.1.5": version "4.1.5" @@ -3295,13 +2278,6 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/acorn@^4.0.0": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" - integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== - dependencies: - "@types/estree" "*" - "@types/body-parser@*": version "1.19.5" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" @@ -3339,7 +2315,7 @@ dependencies: "@types/ms" "*" -"@types/eslint-scope@^3.7.3", "@types/eslint-scope@^3.7.7": +"@types/eslint-scope@^3.7.7": version "3.7.7" resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== @@ -3348,44 +2324,58 @@ "@types/estree" "*" "@types/eslint@*": - version "8.56.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.2.tgz#1c72a9b794aa26a8b94ad26d5b9aa51c8a6384bb" - integrity sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw== + version "9.6.1" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-9.6.1.tgz#d5795ad732ce81715f27f75da913004a56751584" + integrity sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree-jsx@^1.0.0": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.4.tgz#8d34b43444887dde8a73af530f772f23e1d3287c" - integrity sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.5.tgz#858a88ea20f34fe65111f005a689fa1ebf70dc18" + integrity sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg== dependencies: "@types/estree" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8" + integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ== -"@types/estree@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" - integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz#41fec4ea20e9c7b22f024ab88a95c6bb288f51b8" + integrity sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.17.42" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.42.tgz#2a276952acc73d1b8dc63fd4210647abbc553a71" - integrity sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ== +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13": - version "4.17.21" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" - integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== +"@types/express@*": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/express/-/express-5.0.2.tgz#7be9e337a5745d6b43ef5b0c352dad94a7f0c256" + integrity sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/serve-static" "*" + +"@types/express@^4.17.13": + version "4.17.22" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.22.tgz#14cfcf120f7eb56ebb8ca77b7fa9a14d21de7c96" + integrity sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -3425,9 +2415,9 @@ integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + version "1.17.16" + resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.16.tgz#dee360707b35b3cc85afcde89ffeebff7d7f9240" + integrity sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w== dependencies: "@types/node" "*" @@ -3450,27 +2440,22 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/mdast@^4.0.0", "@types/mdast@^4.0.2": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333" - integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== dependencies: "@types/unist" "*" "@types/mdx@^2.0.0": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.11.tgz#21f4c166ed0e0a3a733869ba04cd8daea9834b8e" - integrity sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw== - -"@types/mime@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" - integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== + version "2.0.13" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" + integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== "@types/mime@^1": version "1.3.5" @@ -3478,9 +2463,9 @@ integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== "@types/ms@*": - version "0.7.34" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" - integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== "@types/node-forge@^1.3.0": version "1.3.11" @@ -3490,36 +2475,26 @@ "@types/node" "*" "@types/node@*": - version "20.11.16" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.16.tgz#4411f79411514eb8e2926f036c86c9f0e4ec6708" - integrity sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ== + version "22.15.29" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.15.29.tgz#c75999124a8224a3f79dd8b6ccfb37d74098f678" + integrity sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ== dependencies: - undici-types "~5.26.4" + undici-types "~6.21.0" "@types/node@^17.0.5": version "17.0.45" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== -"@types/parse-json@^4.0.0": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" - integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== - "@types/prismjs@^1.26.0": - version "1.26.3" - resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.3.tgz#47fe8e784c2dee24fe636cab82e090d3da9b7dec" - integrity sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw== - -"@types/prop-types@*": - version "15.7.11" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" - integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== + version "1.26.5" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" + integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== "@types/qs@*": - version "6.9.11" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.11.tgz#208d8a30bc507bd82e03ada29e4732ea46a6bbda" - integrity sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ== + version "6.14.0" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== "@types/range-parser@*": version "1.2.7" @@ -3553,12 +2528,10 @@ "@types/react" "*" "@types/react@*": - version "18.2.51" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.51.tgz#01ede6dfc712796257a3443bf8d613149e5c322a" - integrity sha512-XeoMaU4CzyjdRr3c4IQQtiH7Rpo18V07rYZUucEZQwOUEtGgTXv7e6igQiQ+xnV6MbMe1qjEmKdgMNnfppnXfg== + version "19.1.6" + resolved "https://registry.yarnpkg.com/@types/react/-/react-19.1.6.tgz#dee39f3e1e9a7d693f156a5840570b6d57f325ea" + integrity sha512-JeG0rEWak0N6Itr6QUx+X60uQmN+5t3j9r/OVDtWzFXKaj6kD1BwJzOksD0FF6iWxZlbE1kB0q9vtnU2ekqa1Q== dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" csstype "^3.0.2" "@types/retry@0.12.0": @@ -3573,11 +2546,6 @@ dependencies: "@types/node" "*" -"@types/scheduler@*": - version "0.16.8" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" - integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== - "@types/send@*": version "0.17.4" resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" @@ -3594,13 +2562,13 @@ "@types/express" "*" "@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" - integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== + version "1.15.7" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" + integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== dependencies: "@types/http-errors" "*" - "@types/mime" "*" "@types/node" "*" + "@types/send" "*" "@types/sockjs@^0.3.33": version "0.3.36" @@ -3610,19 +2578,19 @@ "@types/node" "*" "@types/unist@*", "@types/unist@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" - integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/unist@^2.0.0": - version "2.0.10" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" - integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== "@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== dependencies: "@types/node" "*" @@ -3632,26 +2600,18 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" "@ungap/structured-clone@^1.0.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + version "1.3.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" + integrity sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g== -"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.12.1": +"@webassemblyjs/ast@1.14.1", "@webassemblyjs/ast@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.14.1.tgz#a9f6a07f2b03c95c8d38c4536a1fdfb521ff55b6" integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ== @@ -3659,45 +2619,21 @@ "@webassemblyjs/helper-numbers" "1.13.2" "@webassemblyjs/helper-wasm-bytecode" "1.13.2" -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - "@webassemblyjs/floating-point-hex-parser@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz#fcca1eeddb1cc4e7b6eed4fc7956d6813b21b9fb" integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA== -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - "@webassemblyjs/helper-api-error@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz#e0a16152248bc38daee76dd7e21f15c5ef3ab1e7" integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ== -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - "@webassemblyjs/helper-buffer@1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz#822a9bc603166531f7d5df84e67b5bf99b72b96b" integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA== -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - "@webassemblyjs/helper-numbers@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz#dbd932548e7119f4b8a7877fd5a8d20e63490b2d" @@ -3707,26 +2643,11 @@ "@webassemblyjs/helper-api-error" "1.13.2" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - "@webassemblyjs/helper-wasm-bytecode@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz#e556108758f448aae84c850e593ce18a0eb31e0b" integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA== -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/helper-wasm-section@1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz#9629dda9c4430eab54b591053d6dc6f3ba050348" @@ -3737,13 +2658,6 @@ "@webassemblyjs/helper-wasm-bytecode" "1.13.2" "@webassemblyjs/wasm-gen" "1.14.1" -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - "@webassemblyjs/ieee754@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz#1c5eaace1d606ada2c7fd7045ea9356c59ee0dba" @@ -3751,13 +2665,6 @@ dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - "@webassemblyjs/leb128@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.13.2.tgz#57c5c3deb0105d02ce25fa3fd74f4ebc9fd0bbb0" @@ -3765,31 +2672,12 @@ dependencies: "@xtuc/long" "4.2.2" -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - "@webassemblyjs/utf8@1.13.2": version "1.13.2" resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.13.2.tgz#917a20e93f71ad5602966c2d685ae0c6c21f60f1" integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ== -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-edit@^1.12.1": +"@webassemblyjs/wasm-edit@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz#ac6689f502219b59198ddec42dcd496b1004d597" integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ== @@ -3803,17 +2691,6 @@ "@webassemblyjs/wasm-parser" "1.14.1" "@webassemblyjs/wast-printer" "1.14.1" -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - "@webassemblyjs/wasm-gen@1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz#991e7f0c090cb0bb62bbac882076e3d219da9570" @@ -3825,16 +2702,6 @@ "@webassemblyjs/leb128" "1.13.2" "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wasm-opt@1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz#e6f71ed7ccae46781c206017d3c14c50efa8106b" @@ -3845,19 +2712,7 @@ "@webassemblyjs/wasm-gen" "1.14.1" "@webassemblyjs/wasm-parser" "1.14.1" -"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.12.1": +"@webassemblyjs/wasm-parser@1.14.1", "@webassemblyjs/wasm-parser@^1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz#b3e13f1893605ca78b52c68e54cf6a865f90b9fb" integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ== @@ -3869,14 +2724,6 @@ "@webassemblyjs/leb128" "1.13.2" "@webassemblyjs/utf8" "1.13.2" -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - "@webassemblyjs/wast-printer@1.14.1": version "1.14.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz#3bb3e9638a8ae5fdaf9610e7a06b4d9f9aa6fe07" @@ -3912,7 +2759,7 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: +accepts@~1.3.4, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== @@ -3920,32 +2767,24 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - acorn-jsx@^5.0.0: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== + dependencies: + acorn "^8.11.0" -acorn@^8.14.0: - version "8.14.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" - integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== +acorn@^8.0.0, acorn@^8.0.4, acorn@^8.11.0, acorn@^8.14.0: + version "8.14.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.1.tgz#721d5dc10f7d5b5609a891773d47731796935dfb" + integrity sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg== -address@^1.0.1, address@^1.1.2: +address@^1.0.1: version "1.2.2" resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== @@ -3965,7 +2804,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3977,7 +2816,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.5: +ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3988,40 +2827,40 @@ ajv@^6.12.2, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.9.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.17.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" + integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" algoliasearch-helper@^3.22.6: - version "3.23.0" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.23.0.tgz#638e766bf6be2308b8dcda3282e47aff66438712" - integrity sha512-8CK4Gb/ju4OesAYcS+mjBpNiVA7ILWpg7D2vhBZohh0YkG8QT1KZ9LG+8+EntQBUGoKtPy06OFhiwP4f5zzAQg== + version "3.25.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.25.0.tgz#15cc79ad7909db66b8bb5a5a9c38b40e3941fa2f" + integrity sha512-vQoK43U6HXA9/euCqLjvyNdM4G2Fiu/VFp4ae0Gau9sZeIKBPvUPnXfLYAe65Bg7PFuw03coeu5K6lTPSXRObw== dependencies: "@algolia/events" "^4.0.1" algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.19.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.19.0.tgz#2a1490bb46a937515797fac30b2d1503fb028536" - integrity sha512-zrLtGhC63z3sVLDDKGW+SlCRN9eJHFTgdEmoAOpsVh6wgGL1GgTTDou7tpCBjevzgIvi3AIyDAQO3Xjbg5eqZg== - dependencies: - "@algolia/client-abtesting" "5.19.0" - "@algolia/client-analytics" "5.19.0" - "@algolia/client-common" "5.19.0" - "@algolia/client-insights" "5.19.0" - "@algolia/client-personalization" "5.19.0" - "@algolia/client-query-suggestions" "5.19.0" - "@algolia/client-search" "5.19.0" - "@algolia/ingestion" "1.19.0" - "@algolia/monitoring" "1.19.0" - "@algolia/recommend" "5.19.0" - "@algolia/requester-browser-xhr" "5.19.0" - "@algolia/requester-fetch" "5.19.0" - "@algolia/requester-node-http" "5.19.0" + version "5.25.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.25.0.tgz#7337b097deadeca0e6e985c0f8724abea189994f" + integrity sha512-n73BVorL4HIwKlfJKb4SEzAYkR3Buwfwbh+MYxg2mloFph2fFGV58E90QTzdbfzWrLn4HE5Czx/WTjI8fcHaMg== + dependencies: + "@algolia/client-abtesting" "5.25.0" + "@algolia/client-analytics" "5.25.0" + "@algolia/client-common" "5.25.0" + "@algolia/client-insights" "5.25.0" + "@algolia/client-personalization" "5.25.0" + "@algolia/client-query-suggestions" "5.25.0" + "@algolia/client-search" "5.25.0" + "@algolia/ingestion" "1.25.0" + "@algolia/monitoring" "1.25.0" + "@algolia/recommend" "5.25.0" + "@algolia/requester-browser-xhr" "5.25.0" + "@algolia/requester-fetch" "5.25.0" + "@algolia/requester-node-http" "5.25.0" ansi-align@^3.0.1: version "3.0.1" @@ -4048,16 +2887,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" @@ -4107,25 +2939,20 @@ array-union@^2.1.0: integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== astring@^1.8.0: - version "1.8.6" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" - integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + version "1.9.0" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" + integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== -autoprefixer@^10.4.19: - version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== +autoprefixer@^10.4.19, autoprefixer@^10.4.21: + version "10.4.21" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" + integrity sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ== dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" + browserslist "^4.24.4" + caniuse-lite "^1.0.30001702" fraction.js "^4.3.7" normalize-range "^0.1.2" - picocolors "^1.0.0" + picocolors "^1.1.1" postcss-value-parser "^4.2.0" babel-loader@^9.2.1: @@ -4144,36 +2971,28 @@ babel-plugin-dynamic-import-node@^2.3.3: object.assign "^4.1.0" babel-plugin-polyfill-corejs2@^0.4.10: - version "0.4.11" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz#30320dfe3ffe1a336c15afdcdafd6fd615b25e33" - integrity sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q== + version "0.4.13" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz#7d445f0e0607ebc8fb6b01d7e8fb02069b91dd8b" + integrity sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.4" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - -babel-plugin-polyfill-corejs3@^0.10.6: - version "0.10.6" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" - integrity sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA== +babel-plugin-polyfill-corejs3@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6" + integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" - core-js-compat "^3.38.0" + "@babel/helper-define-polyfill-provider" "^0.6.3" + core-js-compat "^3.40.0" babel-plugin-polyfill-regenerator@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz#addc47e240edd1da1058ebda03021f382bba785e" - integrity sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg== + version "0.6.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz#428c615d3c177292a22b4f93ed99e358d7906a9b" + integrity sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.2" + "@babel/helper-define-polyfill-provider" "^0.6.4" bail@^2.0.0: version "2.0.2" @@ -4196,32 +3015,32 @@ big.js@^5.2.2: integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" - content-type "~1.0.4" + content-type "~1.0.5" debug "2.6.9" depd "2.0.0" destroy "1.2.0" http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" + qs "6.13.0" + raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" bonjour-service@^1.0.11: - version "1.2.1" - resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" - integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== + version "1.3.0" + resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.3.0.tgz#80d867430b5a0da64e82a8047fc1e355bdb71722" + integrity sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA== dependencies: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" @@ -4267,42 +3086,22 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2: - version "4.22.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6" - integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A== - dependencies: - caniuse-lite "^1.0.30001580" - electron-to-chromium "^1.4.648" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" + fill-range "^7.1.1" -browserslist@^4.23.1, browserslist@^4.24.0, browserslist@^4.24.2: - version "4.24.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" - integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4, browserslist@^4.24.5: + version "4.25.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c" + integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== dependencies: - caniuse-lite "^1.0.30001669" - electron-to-chromium "^1.5.41" - node-releases "^2.0.18" - update-browserslist-db "^1.1.1" + caniuse-lite "^1.0.30001718" + electron-to-chromium "^1.5.160" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" buffer-from@^1.0.0: version "1.1.2" @@ -4337,14 +3136,31 @@ cacheable-request@^10.2.8: normalize-url "^8.0.0" responselike "^3.0.0" -call-bind@^1.0.0, call-bind@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" - integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== dependencies: + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.1" - set-function-length "^1.1.1" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" callsites@^3.0.0: version "3.1.0" @@ -4379,36 +3195,17 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001580: - version "1.0.30001583" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001583.tgz#abb2970cc370801dc7e27bf290509dc132cfa390" - integrity sha512-acWTYaha8xfhA/Du/z4sNZjHUWjkiuoAi2LM+T/aL+kemKQgPT1xBb/YKjlQ0Qo8gvbHsGNplrEJ+9G3gL7i4Q== - -caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001620" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" - integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== - -caniuse-lite@^1.0.30001669: - version "1.0.30001680" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz#5380ede637a33b9f9f1fc6045ea99bd142f3da5e" - integrity sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001718: + version "1.0.30001720" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd" + integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g== ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -4417,9 +3214,9 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: supports-color "^7.1.0" chalk@^5.0.1, chalk@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" - integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + version "5.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.4.1.tgz#1b48bf0963ec158dce2aacf69c093ae2dd2092d8" + integrity sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w== char-regex@^1.0.2: version "1.0.2" @@ -4471,10 +3268,10 @@ cheerio@1.0.0-rc.12: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -4486,10 +3283,17 @@ cheerio@1.0.0-rc.12: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== ci-info@^3.2.0: version "3.9.0" @@ -4514,9 +3318,9 @@ cli-boxes@^3.0.0: integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== cli-table3@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" - integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: @@ -4537,22 +3341,15 @@ clsx@^1.1.1: integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== clsx@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" - integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== collapse-white-space@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -4560,11 +3357,6 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -4620,7 +3412,7 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -compressible@~2.0.16: +compressible@~2.0.18: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== @@ -4628,16 +3420,16 @@ compressible@~2.0.16: mime-db ">= 1.43.0 < 2" compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + version "1.8.0" + resolved "https://registry.yarnpkg.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7" + integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA== dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" + bytes "3.1.2" + compressible "~2.0.18" debug "2.6.9" + negotiator "~0.6.4" on-headers "~1.0.2" - safe-buffer "5.1.2" + safe-buffer "5.2.1" vary "~1.1.2" concat-map@0.0.1: @@ -4670,9 +3462,9 @@ connect-history-api-fallback@^2.0.0: integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== consola@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" - integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== + version "3.4.2" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.4.2.tgz#5af110145397bb67afdab77013fdc34cae590ea7" + integrity sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA== content-disposition@0.5.2: version "0.5.2" @@ -4686,7 +3478,7 @@ content-disposition@0.5.4: dependencies: safe-buffer "5.2.1" -content-type@~1.0.4: +content-type@~1.0.4, content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== @@ -4701,10 +3493,10 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== copy-text-to-clipboard@^3.2.0: version "3.2.0" @@ -4723,53 +3515,28 @@ copy-webpack-plugin@^11.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.31.0: - version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2" - integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw== +core-js-compat@^3.40.0: + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.42.0.tgz#ce19c29706ee5806e26d3cb3c542d4cfc0ed51bb" + integrity sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ== dependencies: - browserslist "^4.22.2" - -core-js-compat@^3.36.1: - version "3.37.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== - dependencies: - browserslist "^4.23.0" - -core-js-compat@^3.38.0, core-js-compat@^3.38.1: - version "3.39.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.39.0.tgz#b12dccb495f2601dc860bdbe7b4e3ffa8ba63f61" - integrity sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw== - dependencies: - browserslist "^4.24.2" + browserslist "^4.24.4" core-js-pure@^3.30.2: - version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.35.1.tgz#f33ad7fdf9dddae260339a30e5f8363f5c49a3bc" - integrity sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ== + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.42.0.tgz#e86c45a7f3bdcb608823e872f73d1ad9ddf0531d" + integrity sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ== core-js@^3.31.1: - version "3.35.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.35.1.tgz#9c28f8b7ccee482796f8590cc8d15739eaaf980c" - integrity sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw== + version "3.42.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.42.0.tgz#edbe91f78ac8cfb6df8d997e74d368a68082fe37" + integrity sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g== core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: version "8.3.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" @@ -4781,9 +3548,9 @@ cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: path-type "^4.0.0" cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + version "7.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" + integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== dependencies: path-key "^3.1.0" shebang-command "^2.0.0" @@ -4808,25 +3575,25 @@ css-declaration-sorter@^7.2.0: resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-7.2.0.tgz#6dec1c9523bc4a643e088aab8f09e67a54961024" integrity sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow== -css-has-pseudo@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.1.tgz#adbb51821e51f7a7c1d2df4d12827870cc311137" - integrity sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg== +css-has-pseudo@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz#fb42e8de7371f2896961e1f6308f13c2c7019b72" + integrity sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ== dependencies: "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" postcss-value-parser "^4.2.0" css-loader@^6.8.1: - version "6.10.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.10.0.tgz#7c172b270ec7b833951b52c348861206b184a4b7" - integrity sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw== + version "6.11.0" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" + integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== dependencies: icss-utils "^5.1.0" postcss "^8.4.33" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.4" - postcss-modules-scope "^3.1.1" + postcss-modules-extract-imports "^3.1.0" + postcss-modules-local-by-default "^4.0.5" + postcss-modules-scope "^3.2.0" postcss-modules-values "^4.0.0" postcss-value-parser "^4.2.0" semver "^7.5.4" @@ -4891,10 +3658,10 @@ css-what@^6.0.1, css-what@^6.1.0: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -cssdb@^8.2.1: - version "8.2.1" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.2.1.tgz#62a5d9a41e2c86f1d7c35981098fc5ce47c5766c" - integrity sha512-KwEPys7lNsC8OjASI8RrmwOYYDcm0JOW9zQhcV83ejYcQkirTEyeAGui8aO2F5PiS6SLpxuTzl6qlMElIdsgIg== +cssdb@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-8.3.0.tgz#940becad497b8509ad822a28fb0cfe54c969ccfe" + integrity sha512-c7bmItIg38DgGjSwDPZOYF/2o0QU/sSgkWOMyl8votOfgFuyiFKWPesmCGEsrGLxEA9uL540cp8LdaGEjUGsZQ== cssesc@^3.0.0: version "3.0.0" @@ -4980,7 +3747,7 @@ debounce@^1.2.1: resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.0: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4988,16 +3755,16 @@ debug@2.6.9, debug@^2.6.0: ms "2.0.0" debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" + integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ== dependencies: - ms "2.1.2" + ms "^2.1.3" decode-named-character-reference@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" - integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz#5d6ce68792808901210dac42a8e9853511e2b8bf" + integrity sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w== dependencies: character-entities "^2.0.0" @@ -5013,7 +3780,7 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deepmerge@^4.2.2, deepmerge@^4.3.1: +deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -5030,14 +3797,14 @@ defer-to-connect@^2.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -define-data-property@^1.0.1, define-data-property@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" - integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== +define-data-property@^1.0.1, define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== dependencies: - get-intrinsic "^1.2.1" + es-define-property "^1.0.0" + es-errors "^1.3.0" gopd "^1.0.1" - has-property-descriptors "^1.0.0" define-lazy-prop@^2.0.0: version "2.0.0" @@ -5053,20 +3820,6 @@ define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -del@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" - integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== - dependencies: - globby "^11.0.1" - graceful-fs "^4.2.4" - is-glob "^4.0.1" - is-path-cwd "^2.2.0" - is-path-inside "^3.0.2" - p-map "^4.0.0" - rimraf "^3.0.2" - slash "^3.0.0" - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -5087,23 +3840,20 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - detect-port@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b" - integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ== + version "1.6.1" + resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.6.1.tgz#45e4073997c5f292b957cb678fb0bb8ed4250a67" + integrity sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q== dependencies: address "^1.0.1" debug "4" @@ -5141,11 +3891,11 @@ docusaurus-gtm-plugin@^0.0.2: integrity sha512-Xx/df0Ppd5SultlzUj9qlQk2lX9mNVfTb41juyBUPZ1Nc/5dNx+uN0VuLyF4JEObkDRrUY1EFo9fEUDo8I6QOQ== docusaurus-plugin-sass@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.5.tgz#6bfb8a227ac6265be685dcbc24ba1989e27b8005" - integrity sha512-Z+D0fLFUKcFpM+bqSUmqKIU+vO+YF1xoEQh5hoFreg2eMf722+siwXDD+sqtwU8E4MvVpuvsQfaHwODNlxJAEg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz#b4930a1fe1cc7bcead639bb1bee38bce0ffd073d" + integrity sha512-2hKQQDkrufMong9upKoG/kSHJhuwd+FA3iAe/qzS/BmWpbIpe7XKmq5wlz4J5CJaOPu4x+iDJbgAxZqcoQf0kg== dependencies: - sass-loader "^10.1.1" + sass-loader "^16.0.2" dom-converter@^0.2.0: version "0.2.0" @@ -5201,9 +3951,9 @@ domutils@^2.5.2, domutils@^2.8.0: domhandler "^4.2.0" domutils@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" - integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + version "3.2.2" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.2.2.tgz#edbfe2b668b0c1d97c24baf0f1062b132221bc78" + integrity sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== dependencies: dom-serializer "^2.0.0" domelementtype "^2.3.0" @@ -5224,6 +3974,15 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -5239,20 +3998,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.648: - version "1.4.655" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.655.tgz#112410db0d7f9c2b4ed8baa3b1b548522a6f89d4" - integrity sha512-2yszojF7vIZ68adIOvzV4bku8OZad9w5H9xF3ZAMZjPuOjBarlflUkjN6DggdV+L71WZuKUfKUhov/34+G5QHg== - -electron-to-chromium@^1.4.668: - version "1.4.774" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.774.tgz#1017d1758aaeeefe5423aa9d67b4b1e5d1d0a856" - integrity sha512-132O1XCd7zcTkzS3FgkAzKmnBuNJjK8WjcTtNuoylj7MYbqw5eXehjQ5OK91g0zm7OTKIPeaAG4CPoRfD9M1Mg== - -electron-to-chromium@^1.5.41: - version "1.5.63" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz#69444d592fbbe628d129866c2355691ea93eda3e" - integrity sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA== +electron-to-chromium@^1.5.160: + version "1.5.161" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12" + integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA== emoji-regex@^8.0.0: version "8.0.0" @@ -5275,27 +4024,24 @@ emojis-list@^3.0.0: integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== emoticon@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.0.1.tgz#2d2bbbf231ce3a5909e185bbb64a9da703a1e749" - integrity sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw== + version "4.1.0" + resolved "https://registry.yarnpkg.com/emoticon/-/emoticon-4.1.0.tgz#d5a156868ee173095627a33de3f1e914c3dde79e" + integrity sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ== encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== enhanced-resolve@^5.17.1: - version "5.17.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz#67bfbbcc2f81d511be77d686a90267ef7f898a15" - integrity sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg== + version "5.18.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz#728ab082f8b7b6836de51f1637aab5d3b9568faf" + integrity sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -5310,10 +4056,15 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +entities@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" + integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== + envinfo@^7.7.3: - version "7.11.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.1.tgz#2ffef77591057081b0129a8fd8cf6118da1b94e1" - integrity sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg== + version "7.14.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== error-ex@^1.3.1: version "1.3.2" @@ -5322,17 +4073,49 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + version "1.7.0" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.7.0.tgz#9159601561880a85f2734560a9099b2c31e5372a" + integrity sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA== -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +esast-util-from-estree@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" + integrity sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ== + dependencies: + "@types/estree-jsx" "^1.0.0" + devlop "^1.0.0" + estree-util-visit "^2.0.0" + unist-util-position-from-estree "^2.0.0" + +esast-util-from-js@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz#5147bec34cc9da44accf52f87f239a40ac3e8225" + integrity sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw== + dependencies: + "@types/estree-jsx" "^1.0.0" + acorn "^8.0.0" + esast-util-from-estree "^2.0.0" + vfile-message "^4.0.0" -escalade@^3.2.0: +escalade@^3.1.1, escalade@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== @@ -5414,6 +4197,14 @@ estree-util-is-identifier-name@^3.0.0: resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz#0b5ef4c4ff13508b34dcd01ecfa945f61fce5dbd" integrity sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg== +estree-util-scope@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/estree-util-scope/-/estree-util-scope-1.0.0.tgz#9cbdfc77f5cb51e3d9ed4ad9c4adbff22d43e585" + integrity sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ== + dependencies: + "@types/estree" "^1.0.0" + devlop "^1.0.0" + estree-util-to-js@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz#10a6fb924814e6abb62becf0d2bc4dea51d04f17" @@ -5424,12 +4215,11 @@ estree-util-to-js@^2.0.0: source-map "^0.7.0" estree-util-value-to-estree@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz#0b7b5d6b6a4aaad5c60999ffbc265a985df98ac5" - integrity sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA== + version "3.4.0" + resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-3.4.0.tgz#827122e40c3a756d3c4cf5d5d296fa06026a1a4f" + integrity sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ== dependencies: "@types/estree" "^1.0.0" - is-plain-obj "^4.0.0" estree-util-visit@^2.0.0: version "2.0.0" @@ -5469,7 +4259,7 @@ eval@^0.1.8: "@types/node" "*" require-like ">= 0.1.1" -eventemitter3@^4.0.0: +eventemitter3@^4.0.0, eventemitter3@^4.0.4: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== @@ -5479,7 +4269,7 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -execa@^5.0.0: +execa@5.1.1, execa@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -5495,36 +4285,36 @@ execa@^5.0.0: strip-final-newline "^2.0.0" express@^4.17.3: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.1" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.5.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.12" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -5549,30 +4339,35 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.11, fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.4" + micromatch "^4.0.8" fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== +fast-uri@^3.0.1: + version "3.0.6" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" + integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== + fastest-levenshtein@^1.0.12: version "1.0.16" resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== fastq@^1.6.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.0.tgz#ca5e1a90b5e68f97fc8b61330d5819b82f5fab03" - integrity sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w== + version "1.19.1" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" + integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ== dependencies: reusify "^1.0.4" @@ -5612,25 +4407,20 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -5645,13 +4435,6 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" @@ -5660,14 +4443,6 @@ find-up@^4.0.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - find-up@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" @@ -5682,28 +4457,9 @@ flat@^5.0.2: integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== follow-redirects@^1.0.0: - version "1.15.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" - integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== form-data-encoder@^2.1.2: version "2.1.4" @@ -5731,28 +4487,18 @@ fresh@0.5.2: integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^11.1.1, fs-extra@^11.2.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" - integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + version "11.3.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== dependencies: - at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" universalify "^2.0.0" fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== + version "1.0.6" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.6.tgz#8ead082953e88d992cf3ff844faa907b26756da2" + integrity sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg== fs.realpath@^1.0.0: version "1.0.0" @@ -5774,21 +4520,35 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" - integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" get-own-enumerable-property-symbols@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -5818,7 +4578,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: +glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -5837,28 +4597,12 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globby@^11.0.1, globby@^11.0.4, globby@^11.1.0: +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -5881,12 +4625,10 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== got@^12.1.0: version "12.6.1" @@ -5937,55 +4679,45 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" - integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== +has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== dependencies: - get-intrinsic "^1.2.2" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + es-define-property "^1.0.0" -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== has-yarn@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -hasown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" - integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== dependencies: function-bind "^1.1.2" hast-util-from-parse5@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz#654a5676a41211e14ee80d1b1758c399a0327651" - integrity sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ== + version "8.0.3" + resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz#830a35022fff28c3fea3697a98c2f4cc6b835a2e" + integrity sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" - hastscript "^8.0.0" - property-information "^6.0.0" + hastscript "^9.0.0" + property-information "^7.0.0" vfile "^6.0.0" vfile-location "^5.0.0" web-namespaces "^2.0.0" @@ -5998,9 +4730,9 @@ hast-util-parse-selector@^4.0.0: "@types/hast" "^3.0.0" hast-util-raw@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.0.2.tgz#39b4a4886bd9f0a5dd42e86d02c966c2c152884c" - integrity sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA== + version "9.1.0" + resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-9.1.0.tgz#79b66b26f6f68fb50dfb4716b2cdca90d92adf2e" + integrity sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw== dependencies: "@types/hast" "^3.0.0" "@types/unist" "^3.0.0" @@ -6017,9 +4749,9 @@ hast-util-raw@^9.0.0: zwitch "^2.0.0" hast-util-to-estree@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz#f2afe5e869ddf0cf690c75f9fc699f3180b51b19" - integrity sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw== + version "3.1.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz#e654c1c9374645135695cc0ab9f70b8fcaf733d7" + integrity sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -6032,16 +4764,16 @@ hast-util-to-estree@^3.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^0.4.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" zwitch "^2.0.0" hast-util-to-jsx-runtime@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz#3ed27caf8dc175080117706bf7269404a0aa4f7c" - integrity sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ== + version "2.3.6" + resolved "https://registry.yarnpkg.com/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz#ff31897aae59f62232e21594eac7ef6b63333e98" + integrity sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg== dependencies: "@types/estree" "^1.0.0" "@types/hast" "^3.0.0" @@ -6053,9 +4785,9 @@ hast-util-to-jsx-runtime@^2.0.0: mdast-util-mdx-expression "^2.0.0" mdast-util-mdx-jsx "^3.0.0" mdast-util-mdxjs-esm "^2.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" - style-to-object "^1.0.0" + style-to-js "^1.0.0" unist-util-position "^5.0.0" vfile-message "^4.0.0" @@ -6079,15 +4811,15 @@ hast-util-whitespace@^3.0.0: dependencies: "@types/hast" "^3.0.0" -hastscript@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-8.0.0.tgz#4ef795ec8dee867101b9f23cc830d4baf4fd781a" - integrity sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw== +hastscript@^9.0.0: + version "9.0.1" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-9.0.1.tgz#dbc84bef6051d40084342c229c451cd9dc567dff" + integrity sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w== dependencies: "@types/hast" "^3.0.0" comma-separated-tokens "^2.0.0" hast-util-parse-selector "^4.0.0" - property-information "^6.0.0" + property-information "^7.0.0" space-separated-tokens "^2.0.0" he@1.2.0, he@^1.2.0: @@ -6125,9 +4857,9 @@ hpack.js@^2.1.6: wbuf "^1.1.0" html-entities@^2.3.2: - version "2.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" - integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + version "2.6.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.6.0.tgz#7c64f1ea3b36818ccae3d3fb48b6974208e984f8" + integrity sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ== html-escaper@^2.0.2: version "2.0.2" @@ -6202,9 +4934,9 @@ htmlparser2@^8.0.1: entities "^4.4.0" http-cache-semantics@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5" + integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ== http-deceiver@^1.2.7: version "1.2.7" @@ -6233,14 +4965,14 @@ http-errors@~1.6.2: statuses ">= 1.4.0 < 2" http-parser-js@>=0.5.1: - version "0.5.8" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + version "0.5.10" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075" + integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA== http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.9" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz#e9e63d68afaa4eee3d147f39149ab84c0c2815ef" + integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -6283,31 +5015,24 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -image-size@^1.0.2: - version "1.1.1" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.1.1.tgz#ddd67d4dc340e52ac29ce5f546a09f4e29e840ac" - integrity sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ== - dependencies: - queue "6.0.2" + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== -immer@^9.0.7: - version "9.0.21" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== +image-size@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-2.0.2.tgz#84a7b43704db5736f364bf0d1b029821299b4bdc" + integrity sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w== -immutable@^4.0.0: - version "4.3.5" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0" - integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw== +immutable@^5.0.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.2.tgz#e8169476414505e5a4fa650107b65e1227d16d4b" + integrity sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ== -import-fresh@^3.1.0, import-fresh@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== +import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -6318,9 +5043,9 @@ import-lazy@^4.0.0: integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" + integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -6363,25 +5088,15 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -inline-style-parser@0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.2.tgz#d498b4e6de0373458fc610ff793f6b14ebf45633" - integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ== - -interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== +inline-style-parser@0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" + integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== interpret@^2.2.0: version "2.2.0" @@ -6401,9 +5116,9 @@ ipaddr.js@1.9.1: integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== ipaddr.js@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" - integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.2.0.tgz#d33fa7bac284f4de7af949638c9d68157c6b92e8" + integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA== is-alphabetical@^2.0.0: version "2.0.1" @@ -6437,12 +5152,12 @@ is-ci@^3.0.1: dependencies: ci-info "^3.2.0" -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== +is-core-module@^2.16.0: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== dependencies: - hasown "^2.0.0" + hasown "^2.0.2" is-decimal@^2.0.0: version "2.0.1" @@ -6509,11 +5224,6 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-path-cwd@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -6536,23 +5246,11 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-reference@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" - integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== - dependencies: - "@types/estree" "*" - is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -6627,14 +5325,14 @@ jest-worker@^29.4.3: supports-color "^8.0.0" jiti@^1.20.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + version "1.21.7" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.7.tgz#9dd81043424a3d28458b193d965f0d18a2300ba9" + integrity sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A== joi@^17.9.2: - version "17.12.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.1.tgz#3347ecf4cd3301962d42191c021b165eef1f395b" - integrity sha512-vtxmq+Lsc5SlfqotnfVjlViWfOL9nt/avKNbKYizwf6gsCfq9NYY/ceYRMFD8XDdrjJ9abJyScWmhmIiy+XRtQ== + version "17.13.3" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.13.3.tgz#0f5cc1169c999b30d344366d384b12d92558bcec" + integrity sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA== dependencies: "@hapi/hoek" "^9.3.0" "@hapi/topo" "^5.1.0" @@ -6662,21 +5360,16 @@ js-yaml@^4.1.0: dependencies: argparse "^2.0.1" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== -jsesc@^3.0.2, jsesc@~3.0.2: +jsesc@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" @@ -6728,11 +5421,6 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - latest-version@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" @@ -6741,9 +5429,9 @@ latest-version@^7.0.0: package-json "^8.1.0" launch-editor@^2.6.0: - version "2.6.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" - integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== + version "2.10.0" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42" + integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" @@ -6754,9 +5442,9 @@ leven@^3.1.0: integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + version "3.1.3" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.3.tgz#a1bcfd6257f9585bf5ae14ceeebb7b559025e4c4" + integrity sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw== lines-and-columns@^1.1.6: version "1.2.4" @@ -6777,19 +5465,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -6797,13 +5472,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - locate-path@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" @@ -6862,13 +5530,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - markdown-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" @@ -6882,17 +5543,23 @@ markdown-table@^2.0.0: repeat-string "^1.0.0" markdown-table@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd" - integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.4.tgz#fe44d6d410ff9d6f2ea1797a3f60aa4d2b631c2a" + integrity sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw== + +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== mdast-util-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz#3fb1764e705bbdf0afb0d3f889e4404c3e82561f" - integrity sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q== + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz#f3656f4aab6ae3767d3c72cfab5e8055572ccba1" + integrity sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" + ccount "^2.0.0" devlop "^1.0.0" mdast-util-from-markdown "^2.0.0" mdast-util-to-markdown "^2.0.0" @@ -6901,9 +5568,9 @@ mdast-util-directive@^3.0.0: unist-util-visit-parents "^6.0.0" mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz#a6fc7b62f0994e973490e45262e4bc07607b04e0" - integrity sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz#70a3174c894e14df722abf43bc250cbae44b11df" + integrity sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg== dependencies: "@types/mdast" "^4.0.0" escape-string-regexp "^5.0.0" @@ -6911,9 +5578,9 @@ mdast-util-find-and-replace@^3.0.0, mdast-util-find-and-replace@^3.0.1: unist-util-visit-parents "^6.0.0" mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + version "2.0.2" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz#4850390ca7cf17413a9b9a0fbefcd1bc0eb4160a" + integrity sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" @@ -6941,9 +5608,9 @@ mdast-util-frontmatter@^2.0.0: micromark-extension-frontmatter "^2.0.0" mdast-util-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz#5baf35407421310a08e68c15e5d8821e8898ba2a" - integrity sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz#abd557630337bd30a6d5a4bd8252e1c2dc0875d5" + integrity sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ== dependencies: "@types/mdast" "^4.0.0" ccount "^2.0.0" @@ -6952,9 +5619,9 @@ mdast-util-gfm-autolink-literal@^2.0.0: micromark-util-character "^2.0.0" mdast-util-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz#25a1753c7d16db8bfd53cd84fe50562bd1e6d6a9" - integrity sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ== + version "2.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz#7778e9d9ca3df7238cc2bd3fa2b1bf6a65b19403" + integrity sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ== dependencies: "@types/mdast" "^4.0.0" devlop "^1.1.0" @@ -6993,9 +5660,9 @@ mdast-util-gfm-task-list-item@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-gfm@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz#3f2aecc879785c3cb6a81ff3a243dc11eca61095" - integrity sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz#2cdf63b92c2a331406b0fb0db4c077c1b0331751" + integrity sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ== dependencies: mdast-util-from-markdown "^2.0.0" mdast-util-gfm-autolink-literal "^2.0.0" @@ -7006,9 +5673,9 @@ mdast-util-gfm@^3.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-mdx-expression@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz#4968b73724d320a379110d853e943a501bfd9d87" - integrity sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz#43f0abac9adc756e2086f63822a38c8d3c3a5096" + integrity sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -7018,9 +5685,9 @@ mdast-util-mdx-expression@^2.0.0: mdast-util-to-markdown "^2.0.0" mdast-util-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz#f73631fa5bb7a36712ff1e9cedec0cafed03401c" - integrity sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz#fd04c67a2a7499efb905a8a5c578dddc9fdada0d" + integrity sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q== dependencies: "@types/estree-jsx" "^1.0.0" "@types/hast" "^3.0.0" @@ -7032,7 +5699,6 @@ mdast-util-mdx-jsx@^3.0.0: mdast-util-to-markdown "^2.0.0" parse-entities "^4.0.0" stringify-entities "^4.0.0" - unist-util-remove-position "^5.0.0" unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" @@ -7068,9 +5734,9 @@ mdast-util-phrasing@^4.0.0: unist-util-is "^6.0.0" mdast-util-to-hast@^13.0.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz#1ae54d903150a10fe04d59f03b2b95fd210b2124" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -7083,15 +5749,16 @@ mdast-util-to-hast@^13.0.0: vfile "^6.0.0" mdast-util-to-markdown@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz#9813f1d6e0cdaac7c244ec8c6dabfdb2102ea2b4" - integrity sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ== + version "2.1.2" + resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz#f910ffe60897f04bb4b7e7ee434486f76288361b" + integrity sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" longest-streak "^3.0.0" mdast-util-phrasing "^4.0.0" mdast-util-to-string "^4.0.0" + micromark-util-classify-character "^2.0.0" micromark-util-decode-string "^2.0.0" unist-util-visit "^5.0.0" zwitch "^2.0.0" @@ -7118,17 +5785,17 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.1.2, memfs@^3.4.3: +memfs@^3.4.3: version "3.6.0" resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: fs-monkey "^1.0.4" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -7146,9 +5813,9 @@ methods@~1.1.2: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz#50740201f0ee78c12a675bf3e68ffebc0bf931a3" - integrity sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== dependencies: decode-named-character-reference "^1.0.0" devlop "^1.0.0" @@ -7168,9 +5835,9 @@ micromark-core-commonmark@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz#527869de497a6de9024138479091bc885dae076b" - integrity sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg== + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz#2eb61985d1995a7c1ff7621676a4f32af29409e8" + integrity sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -7191,9 +5858,9 @@ micromark-extension-frontmatter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-autolink-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz#f1e50b42e67d441528f39a67133eddde2bbabfd9" - integrity sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== dependencies: micromark-util-character "^2.0.0" micromark-util-sanitize-uri "^2.0.0" @@ -7201,9 +5868,9 @@ micromark-extension-gfm-autolink-literal@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-footnote@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz#91afad310065a94b636ab1e9dab2c60d1aab953c" - integrity sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== dependencies: devlop "^1.0.0" micromark-core-commonmark "^2.0.0" @@ -7215,9 +5882,9 @@ micromark-extension-gfm-footnote@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-strikethrough@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz#6917db8e320da70e39ffbf97abdbff83e6783e61" - integrity sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz#86106df8b3a692b5f6a92280d3879be6be46d923" + integrity sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -7227,9 +5894,9 @@ micromark-extension-gfm-strikethrough@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-table@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz#2cf3fe352d9e089b7ef5fff003bdfe0da29649b7" - integrity sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw== + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -7245,9 +5912,9 @@ micromark-extension-gfm-tagfilter@^2.0.0: micromark-util-types "^2.0.0" micromark-extension-gfm-task-list-item@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz#ee8b208f1ced1eb9fb11c19a23666e59d86d4838" - integrity sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz#bcc34d805639829990ec175c3eea12bb5b781f2c" + integrity sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw== dependencies: devlop "^1.0.0" micromark-factory-space "^2.0.0" @@ -7270,9 +5937,9 @@ micromark-extension-gfm@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-expression@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz#1407b9ce69916cf5e03a196ad9586889df25302a" - integrity sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz#43d058d999532fb3041195a3c3c05c46fa84543b" + integrity sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" @@ -7284,17 +5951,17 @@ micromark-extension-mdx-expression@^3.0.0: micromark-util-types "^2.0.0" micromark-extension-mdx-jsx@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz#4aba0797c25efb2366a3fd2d367c6b1c1159f4f5" - integrity sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w== + version "3.0.2" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz#ffc98bdb649798902fa9fc5689f67f9c1c902044" + integrity sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" devlop "^1.0.0" estree-util-is-identifier-name "^3.0.0" micromark-factory-mdx-expression "^2.0.0" micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" + micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" vfile-message "^4.0.0" @@ -7336,18 +6003,18 @@ micromark-extension-mdxjs@^3.0.0: micromark-util-types "^2.0.0" micromark-factory-destination@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz#857c94debd2c873cba34e0445ab26b74f6a6ec07" - integrity sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-label@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz#17c5c2e66ce39ad6f4fc4cbf40d972f9096f726a" - integrity sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== dependencies: devlop "^1.0.0" micromark-util-character "^2.0.0" @@ -7355,12 +6022,13 @@ micromark-factory-label@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-mdx-expression@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz#f2a9724ce174f1751173beb2c1f88062d3373b1b" - integrity sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz#bb09988610589c07d1c1e4425285895041b3dfa9" + integrity sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ== dependencies: "@types/estree" "^1.0.0" devlop "^1.0.0" + micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" micromark-util-events-to-acorn "^2.0.0" micromark-util-symbol "^2.0.0" @@ -7377,17 +6045,17 @@ micromark-factory-space@^1.0.0: micromark-util-types "^1.0.0" micromark-factory-space@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz#5e7afd5929c23b96566d0e1ae018ae4fcf81d030" - integrity sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz#36d0212e962b2b3121f8525fc7a3c7c029f334fc" + integrity sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg== dependencies: micromark-util-character "^2.0.0" micromark-util-types "^2.0.0" micromark-factory-title@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz#726140fc77892af524705d689e1cf06c8a83ea95" - integrity sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -7395,9 +6063,9 @@ micromark-factory-title@^2.0.0: micromark-util-types "^2.0.0" micromark-factory-whitespace@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz#9e92eb0f5468083381f923d9653632b3cfb5f763" - integrity sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== dependencies: micromark-factory-space "^2.0.0" micromark-util-character "^2.0.0" @@ -7413,48 +6081,48 @@ micromark-util-character@^1.0.0, micromark-util-character@^1.1.0: micromark-util-types "^1.0.0" micromark-util-character@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.0.tgz#31320ace16b4644316f6bf057531689c71e2aee1" - integrity sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ== + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-chunked@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz#e51f4db85fb203a79dbfef23fd41b2f03dc2ef89" - integrity sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== dependencies: micromark-util-symbol "^2.0.0" micromark-util-classify-character@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz#8c7537c20d0750b12df31f86e976d1d951165f34" - integrity sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== dependencies: micromark-util-character "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" micromark-util-combine-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz#75d6ab65c58b7403616db8d6b31315013bfb7ee5" - integrity sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== dependencies: micromark-util-chunked "^2.0.0" micromark-util-types "^2.0.0" micromark-util-decode-numeric-character-reference@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz#2698bbb38f2a9ba6310e359f99fcb2b35a0d2bd5" - integrity sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== dependencies: micromark-util-symbol "^2.0.0" micromark-util-decode-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz#7dfa3a63c45aecaa17824e656bcdb01f9737154a" - integrity sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz#6cb99582e5d271e84efca8e61a807994d7161eb2" + integrity sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^2.0.0" @@ -7462,16 +6130,15 @@ micromark-util-decode-string@^2.0.0: micromark-util-symbol "^2.0.0" micromark-util-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz#0921ac7953dc3f1fd281e3d1932decfdb9382ab1" - integrity sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== micromark-util-events-to-acorn@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz#4275834f5453c088bd29cd72dfbf80e3327cec07" - integrity sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA== + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz#e7a8a6b55a47e5a06c720d5a1c4abae8c37c98f3" + integrity sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg== dependencies: - "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" "@types/unist" "^3.0.0" devlop "^1.0.0" @@ -7481,37 +6148,37 @@ micromark-util-events-to-acorn@^2.0.0: vfile-message "^4.0.0" micromark-util-html-tag-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz#ae34b01cbe063363847670284c6255bb12138ec4" - integrity sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== micromark-util-normalize-identifier@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz#91f9a4e65fe66cc80c53b35b0254ad67aa431d8b" - integrity sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== dependencies: micromark-util-symbol "^2.0.0" micromark-util-resolve-all@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz#189656e7e1a53d0c86a38a652b284a252389f364" - integrity sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== dependencies: micromark-util-types "^2.0.0" micromark-util-sanitize-uri@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz#ec8fbf0258e9e6d8f13d9e4770f9be64342673de" - integrity sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== dependencies: micromark-util-character "^2.0.0" micromark-util-encode "^2.0.0" micromark-util-symbol "^2.0.0" micromark-util-subtokenize@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz#9f412442d77e0c5789ffdf42377fa8a2bcbdf581" - integrity sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== dependencies: devlop "^1.0.0" micromark-util-chunked "^2.0.0" @@ -7524,9 +6191,9 @@ micromark-util-symbol@^1.0.0, micromark-util-symbol@^1.0.1: integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-symbol@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz#12225c8f95edf8b17254e47080ce0862d5db8044" - integrity sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== micromark-util-types@^1.0.0: version "1.1.0" @@ -7534,14 +6201,14 @@ micromark-util-types@^1.0.0: integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark-util-types@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.0.tgz#63b4b7ffeb35d3ecf50d1ca20e68fc7caa36d95e" - integrity sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w== + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== micromark@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.0.tgz#84746a249ebd904d9658cfabc1e8e5f32cbc6249" - integrity sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -7561,19 +6228,24 @@ micromark@^4.0.0: micromark-util-symbol "^2.0.0" micromark-util-types "^2.0.0" -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== +micromatch@^4.0.2, micromatch@^4.0.5, micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +"mime-db@>= 1.43.0 < 2": + version "1.54.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5" + integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ== + mime-db@~1.33.0: version "1.33.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" @@ -7626,7 +6298,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: +minimatch@3.1.2, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7639,21 +6311,16 @@ minimist@^1.2.0: integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" + integrity sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ== ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: +ms@2.1.3, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -7666,16 +6333,21 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nanoid@^3.3.11: + version "3.3.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b" + integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w== negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== +negotiator@~0.6.4: + version "0.6.4" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7" + integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w== + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -7689,10 +6361,15 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-emoji@^2.1.0: - version "2.1.3" - resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.1.3.tgz#93cfabb5cc7c3653aa52f29d6ffb7927d8047c06" - integrity sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-2.2.0.tgz#1d000e3c76e462577895be1b436f4aa2d6760eb0" + integrity sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw== dependencies: "@sindresorhus/is" "^4.6.0" char-regex "^1.0.2" @@ -7711,15 +6388,10 @@ node-html-parser@^2.1.0: dependencies: he "1.2.0" -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== normalize-newline@^3.0.0: version "3.0.0" @@ -7737,9 +6409,9 @@ normalize-range@^0.1.2: integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== normalize-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.0.tgz#593dbd284f743e8dcf6a5ddf8fadff149c82701a" - integrity sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw== + version "8.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== npm-run-path@^4.0.1: version "4.0.1" @@ -7773,10 +6445,10 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.9.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== object-keys@^1.1.1: version "1.1.1" @@ -7784,13 +6456,15 @@ object-keys@^1.1.1: integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== + version "4.1.7" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" + integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== dependencies: - call-bind "^1.0.5" + call-bind "^1.0.8" + call-bound "^1.0.3" define-properties "^1.2.1" - has-symbols "^1.0.3" + es-object-atoms "^1.0.0" + has-symbols "^1.1.0" object-keys "^1.1.1" obuf@^1.0.0, obuf@^1.1.2: @@ -7843,20 +6517,18 @@ p-cancelable@^3.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== -p-limit@^2.0.0, p-limit@^2.2.0: +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - p-limit@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" @@ -7864,13 +6536,6 @@ p-limit@^4.0.0: dependencies: yocto-queue "^1.0.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - p-locate@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" @@ -7878,13 +6543,6 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - p-locate@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" @@ -7899,6 +6557,14 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +p-queue@^6.6.2: + version "6.6.2" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-6.6.2.tgz#2068a9dcf8e67dd0ec3e7a2bcb76810faa85e426" + integrity sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ== + dependencies: + eventemitter3 "^4.0.4" + p-timeout "^3.2.0" + p-retry@^4.5.0: version "4.6.2" resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" @@ -7907,6 +6573,13 @@ p-retry@^4.5.0: "@types/retry" "0.12.0" retry "^0.13.1" +p-timeout@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" + integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== + dependencies: + p-finally "^1.0.0" + p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -7938,12 +6611,11 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-entities@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.1.tgz#4e2a01111fb1c986549b944af39eeda258fc9e4e" - integrity sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w== + version "4.0.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" + integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== dependencies: "@types/unist" "^2.0.0" - character-entities "^2.0.0" character-entities-legacy "^3.0.0" character-reference-invalid "^2.0.0" decode-named-character-reference "^1.0.0" @@ -7951,7 +6623,7 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -7967,19 +6639,19 @@ parse-numeric-range@^1.3.0: integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parse5-htmlparser2-tree-adapter@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" - integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz#b5a806548ed893a43e24ccb42fbb78069311e81b" + integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g== dependencies: - domhandler "^5.0.2" + domhandler "^5.0.3" parse5 "^7.0.0" parse5@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.3.0" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.3.0.tgz#d7e224fa72399c7a175099f45fc2ad024b05ec05" + integrity sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw== dependencies: - entities "^4.4.0" + entities "^6.0.0" parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" @@ -7994,11 +6666,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" @@ -8029,10 +6696,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== path-to-regexp@3.3.0: version "3.3.0" @@ -8040,9 +6707,9 @@ path-to-regexp@3.3.0: integrity sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw== path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + version "1.9.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.9.0.tgz#5dc0753acbf8521ca2e0f137b4578b917b10cf24" + integrity sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g== dependencies: isarray "0.0.1" @@ -8051,21 +6718,7 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -periscopic@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.1.0.tgz#7e9037bf51c5855bd33b48928828db4afa79d97a" - integrity sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^3.0.0" - is-reference "^3.0.0" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.1.0: +picocolors@^1.0.0, picocolors@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== @@ -8089,13 +6742,6 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - postcss-attribute-case-insensitive@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" @@ -8118,15 +6764,15 @@ postcss-clamp@^4.1.0: dependencies: postcss-value-parser "^4.2.0" -postcss-color-functional-notation@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.6.tgz#d74c1e2294b72287eb9af079c04b7ddeff7ec5b3" - integrity sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA== +postcss-color-functional-notation@^7.0.10: + version "7.0.10" + resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.10.tgz#f1e9c3e4371889dcdfeabfa8515464fd8338cedc" + integrity sha512-k9qX+aXHBiLTRrWoCJuUFI6F1iF6QJQUXNVWJVSbqZgj57jDhBlOvD8gNUGl35tgqDivbGLhZeW3Ongz4feuKA== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" postcss-color-hex-alpha@^10.0.0: @@ -8163,35 +6809,35 @@ postcss-convert-values@^6.1.0: browserslist "^4.23.0" postcss-value-parser "^4.2.0" -postcss-custom-media@^11.0.5: - version "11.0.5" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.5.tgz#2fcd88a9b1d4da41c67dac6f2def903063a3377d" - integrity sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ== - dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/media-query-list-parser" "^4.0.2" - -postcss-custom-properties@^14.0.4: - version "14.0.4" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.4.tgz#de9c663285a98833a946d7003a34369d3ce373a9" - integrity sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A== - dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" +postcss-custom-media@^11.0.6: + version "11.0.6" + resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-11.0.6.tgz#6b450e5bfa209efb736830066682e6567bd04967" + integrity sha512-C4lD4b7mUIw+RZhtY7qUbf4eADmb7Ey8BFA2px9jUbwg7pjTZDl4KY4bvlUV+/vXQvzQRfiGEVJyAbtOsCMInw== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/media-query-list-parser" "^4.0.3" + +postcss-custom-properties@^14.0.5: + version "14.0.5" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.5.tgz#a180444de695f6e11ee2390be93ff6537663e86c" + integrity sha512-UWf/vhMapZatv+zOuqlfLmYXeOhhHLh8U8HAKGI2VJ00xLRYoAJh4xv8iX6FB6+TLXeDnm0DBLMi00E0hodbQw== + dependencies: + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -postcss-custom-selectors@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.4.tgz#95ef8268fdbbbd84f34cf84a4517c9d99d419c5a" - integrity sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg== +postcss-custom-selectors@^8.0.5: + version "8.0.5" + resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-8.0.5.tgz#9448ed37a12271d7ab6cb364b6f76a46a4a323e8" + integrity sha512-9PGmckHQswiB2usSO6XMSswO2yFWVoCAuih1yl9FVcwkscLjRKjwsjM3t+NIWpSU2Jx3eOiK2+t4vVTQaoCHHg== dependencies: - "@csstools/cascade-layer-name-parser" "^2.0.4" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" + "@csstools/cascade-layer-name-parser" "^2.0.5" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" postcss-selector-parser "^7.0.0" postcss-dir-pseudo-class@^9.0.1: @@ -8228,12 +6874,12 @@ postcss-discard-unused@^6.0.5: dependencies: postcss-selector-parser "^6.0.16" -postcss-double-position-gradients@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.0.tgz#eddd424ec754bb543d057d4d2180b1848095d4d2" - integrity sha512-JkIGah3RVbdSEIrcobqj4Gzq0h53GG4uqDPsho88SgY84WnpkTpI0k50MFK/sX7XqVisZ6OqUfFnoUO6m1WWdg== +postcss-double-position-gradients@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-6.0.2.tgz#185f8eab2db9cf4e34be69b5706c905895bb52ae" + integrity sha512-7qTqnL7nfLRyJK/AHSVrrXOuvDDzettC+wGoienURV8v2svNbu6zJC52ruZtHaO6mfcagFmuTGFdzRsJKB3k5Q== dependencies: - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" @@ -8269,15 +6915,15 @@ postcss-image-set-function@^7.0.0: "@csstools/utilities" "^2.0.0" postcss-value-parser "^4.2.0" -postcss-lab-function@^7.0.6: - version "7.0.6" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.6.tgz#3121800fc7939ed1d9a1e87abeb33c407151252c" - integrity sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ== +postcss-lab-function@^7.0.10: + version "7.0.10" + resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-7.0.10.tgz#0537bd7245b935fc133298c8896bcbd160540cae" + integrity sha512-tqs6TCEv9tC1Riq6fOzHuHcZyhg4k3gIAMB8GGY/zA1ssGdm6puHMVE7t75aOSoFg7UD2wyrFFhbldiCMyyFTQ== dependencies: - "@csstools/css-color-parser" "^3.0.6" - "@csstools/css-parser-algorithms" "^3.0.4" - "@csstools/css-tokenizer" "^3.0.3" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" + "@csstools/css-color-parser" "^3.0.10" + "@csstools/css-parser-algorithms" "^3.0.5" + "@csstools/css-tokenizer" "^3.0.4" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" postcss-loader@^7.3.3: @@ -8289,10 +6935,10 @@ postcss-loader@^7.3.3: jiti "^1.20.0" semver "^7.5.4" -postcss-logical@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.0.0.tgz#0db0b90c2dc53b485a8074a4b7a906297544f58d" - integrity sha512-HpIdsdieClTjXLOyYdUPAX/XQASNIwdKt5hoZW08ZOAiI+tbV0ta1oclkpVkW5ANU+xJvk3KkA0FejkjGLXUkg== +postcss-logical@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-8.1.0.tgz#4092b16b49e3ecda70c4d8945257da403d167228" + integrity sha512-pL1hXFQ2fEXNKiNiAgtfA005T9FBxky5zkX6s4GZM2D8RkVgRqz3f4g1JUoq925zXv495qk8UNldDwh8uGEDoA== dependencies: postcss-value-parser "^4.2.0" @@ -8354,26 +7000,26 @@ postcss-minify-selectors@^6.0.4: dependencies: postcss-selector-parser "^6.0.16" -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== +postcss-modules-extract-imports@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" + integrity sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q== -postcss-modules-local-by-default@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6" - integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q== +postcss-modules-local-by-default@^4.0.5: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz#d150f43837831dae25e4085596e84f6f5d6ec368" + integrity sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw== dependencies: icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" + postcss-selector-parser "^7.0.0" postcss-value-parser "^4.1.0" -postcss-modules-scope@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134" - integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA== +postcss-modules-scope@^3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz#1bbccddcb398f1d7a511e0a2d1d047718af4078c" + integrity sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA== dependencies: - postcss-selector-parser "^6.0.4" + postcss-selector-parser "^7.0.0" postcss-modules-values@^4.0.0: version "4.0.0" @@ -8486,65 +7132,66 @@ postcss-place@^10.0.0: postcss-value-parser "^4.2.0" postcss-preset-env@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.1.1.tgz#6ee631272353fb1c4a9711943e9b80a178ffce44" - integrity sha512-wqqsnBFD6VIwcHHRbhjTOcOi4qRVlB26RwSr0ordPj7OubRRxdWebv/aLjKLRR8zkZrbxZyuus03nOIgC5elMQ== + version "10.2.0" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.2.0.tgz#ea95a6fc70efb1a26f81e5cf0ccdb321a3439b6e" + integrity sha512-cl13sPBbSqo1Q7Ryb19oT5NZO5IHFolRbIMdgDq4f9w1MHYiL6uZS7uSsjXJ1KzRIcX5BMjEeyxmAevVXENa3Q== dependencies: "@csstools/postcss-cascade-layers" "^5.0.1" - "@csstools/postcss-color-function" "^4.0.6" - "@csstools/postcss-color-mix-function" "^3.0.6" - "@csstools/postcss-content-alt-text" "^2.0.4" - "@csstools/postcss-exponential-functions" "^2.0.5" + "@csstools/postcss-color-function" "^4.0.10" + "@csstools/postcss-color-mix-function" "^3.0.10" + "@csstools/postcss-color-mix-variadic-function-arguments" "^1.0.0" + "@csstools/postcss-content-alt-text" "^2.0.6" + "@csstools/postcss-exponential-functions" "^2.0.9" "@csstools/postcss-font-format-keywords" "^4.0.0" - "@csstools/postcss-gamut-mapping" "^2.0.6" - "@csstools/postcss-gradients-interpolation-method" "^5.0.6" - "@csstools/postcss-hwb-function" "^4.0.6" - "@csstools/postcss-ic-unit" "^4.0.0" - "@csstools/postcss-initial" "^2.0.0" + "@csstools/postcss-gamut-mapping" "^2.0.10" + "@csstools/postcss-gradients-interpolation-method" "^5.0.10" + "@csstools/postcss-hwb-function" "^4.0.10" + "@csstools/postcss-ic-unit" "^4.0.2" + "@csstools/postcss-initial" "^2.0.1" "@csstools/postcss-is-pseudo-class" "^5.0.1" - "@csstools/postcss-light-dark-function" "^2.0.7" + "@csstools/postcss-light-dark-function" "^2.0.9" "@csstools/postcss-logical-float-and-clear" "^3.0.0" "@csstools/postcss-logical-overflow" "^2.0.0" "@csstools/postcss-logical-overscroll-behavior" "^2.0.0" "@csstools/postcss-logical-resize" "^3.0.0" - "@csstools/postcss-logical-viewport-units" "^3.0.3" - "@csstools/postcss-media-minmax" "^2.0.5" - "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.4" + "@csstools/postcss-logical-viewport-units" "^3.0.4" + "@csstools/postcss-media-minmax" "^2.0.9" + "@csstools/postcss-media-queries-aspect-ratio-number-values" "^3.0.5" "@csstools/postcss-nested-calc" "^4.0.0" "@csstools/postcss-normalize-display-values" "^4.0.0" - "@csstools/postcss-oklab-function" "^4.0.6" - "@csstools/postcss-progressive-custom-properties" "^4.0.0" - "@csstools/postcss-random-function" "^1.0.1" - "@csstools/postcss-relative-color-syntax" "^3.0.6" + "@csstools/postcss-oklab-function" "^4.0.10" + "@csstools/postcss-progressive-custom-properties" "^4.1.0" + "@csstools/postcss-random-function" "^2.0.1" + "@csstools/postcss-relative-color-syntax" "^3.0.10" "@csstools/postcss-scope-pseudo-class" "^4.0.1" - "@csstools/postcss-sign-functions" "^1.1.0" - "@csstools/postcss-stepped-value-functions" "^4.0.5" - "@csstools/postcss-text-decoration-shorthand" "^4.0.1" - "@csstools/postcss-trigonometric-functions" "^4.0.5" + "@csstools/postcss-sign-functions" "^1.1.4" + "@csstools/postcss-stepped-value-functions" "^4.0.9" + "@csstools/postcss-text-decoration-shorthand" "^4.0.2" + "@csstools/postcss-trigonometric-functions" "^4.0.9" "@csstools/postcss-unset-value" "^4.0.0" - autoprefixer "^10.4.19" - browserslist "^4.23.1" + autoprefixer "^10.4.21" + browserslist "^4.24.5" css-blank-pseudo "^7.0.1" - css-has-pseudo "^7.0.1" + css-has-pseudo "^7.0.2" css-prefers-color-scheme "^10.0.0" - cssdb "^8.2.1" + cssdb "^8.3.0" postcss-attribute-case-insensitive "^7.0.1" postcss-clamp "^4.1.0" - postcss-color-functional-notation "^7.0.6" + postcss-color-functional-notation "^7.0.10" postcss-color-hex-alpha "^10.0.0" postcss-color-rebeccapurple "^10.0.0" - postcss-custom-media "^11.0.5" - postcss-custom-properties "^14.0.4" - postcss-custom-selectors "^8.0.4" + postcss-custom-media "^11.0.6" + postcss-custom-properties "^14.0.5" + postcss-custom-selectors "^8.0.5" postcss-dir-pseudo-class "^9.0.1" - postcss-double-position-gradients "^6.0.0" + postcss-double-position-gradients "^6.0.2" postcss-focus-visible "^10.0.1" postcss-focus-within "^9.0.1" postcss-font-variant "^5.0.0" postcss-gap-properties "^6.0.0" postcss-image-set-function "^7.0.0" - postcss-lab-function "^7.0.6" - postcss-logical "^8.0.0" + postcss-lab-function "^7.0.10" + postcss-logical "^8.1.0" postcss-nesting "^13.0.1" postcss-opacity-percentage "^3.0.0" postcss-overflow-shorthand "^6.0.0" @@ -8596,25 +7243,17 @@ postcss-selector-not@^8.0.1: postcss-selector-parser "^7.0.0" postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16: - version "6.0.16" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.15" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535" - integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw== + version "6.1.2" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" postcss-selector-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz#41bd8b56f177c093ca49435f65731befe25d6b9c" - integrity sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ== + version "7.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz#4d6af97eba65d73bc4d84bcb343e865d7dd16262" + integrity sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -8651,23 +7290,14 @@ postcss-zindex@^6.0.2: resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.33: - version "8.4.33" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.33.tgz#1378e859c9f69bf6f638b990a0212f43e2aaa742" - integrity sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postcss@^8.4.24, postcss@^8.4.38: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: + version "8.5.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.4.tgz#d61014ac00e11d5f58458ed7247d899bd65f99c0" + integrity sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w== dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" pretty-error@^4.0.0: version "4.0.0" @@ -8683,17 +7313,17 @@ pretty-time@^1.1.0: integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== prism-react-renderer@^2.1.0, prism-react-renderer@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz#e59e5450052ede17488f6bc85de1553f584ff8d5" - integrity sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw== + version "2.4.1" + resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-2.4.1.tgz#ac63b7f78e56c8f2b5e76e823a976d5ede77e35f" + integrity sha512-ey8Ls/+Di31eqzUxC46h8MksNuGx/n0AAC8uKpwFau4RPDYLuE3EXTp8N8G2vX2N7UC/+IXeNUnlWBGGcAG+Ig== dependencies: "@types/prismjs" "^1.26.0" clsx "^2.0.0" prismjs@^1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" - integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== + version "1.30.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.30.0.tgz#d9709969d9d4e16403f6f348c63553b19f0975a9" + integrity sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw== process-nextick-args@~2.0.0: version "2.0.1" @@ -8718,9 +7348,14 @@ prop-types@^15.6.2, prop-types@^15.7.2: react-is "^16.13.1" property-information@^6.0.0: - version "6.4.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.1.tgz#de8b79a7415fd2107dfbe65758bb2cc9dfcf60ac" - integrity sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w== + version "6.5.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" + integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== + +property-information@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-7.1.0.tgz#b622e8646e02b580205415586b40804d3e8bfd5d" + integrity sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ== proto-list@~1.2.1: version "1.2.4" @@ -8747,25 +7382,18 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" -qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== +qs@6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: - side-channel "^1.0.4" + side-channel "^1.0.6" queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -queue@6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65" - integrity sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA== - dependencies: - inherits "~2.0.3" - quick-lru@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" @@ -8788,10 +7416,10 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== +raw-body@2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" + integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== dependencies: bytes "3.1.2" http-errors "2.0.0" @@ -8808,55 +7436,20 @@ rc@1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" + integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== dependencies: loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== + scheduler "^0.23.2" react-fast-compare@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== -"react-helmet-async@npm:@slorber/react-helmet-async@*", "react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": +"react-helmet-async@npm:@slorber/react-helmet-async@1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@slorber/react-helmet-async/-/react-helmet-async-1.3.0.tgz#11fbc6094605cf60aa04a28c17e0aab894b4ecff" integrity sha512-e9/OK8VhwUSc67diWI8Rb3I0YgI9/SBQtnhe9aEuK6MhZm7ntZZimXgwXnd8W96YTmSOb9M4d8LwhRZyhWr/1A== @@ -8872,10 +7465,10 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-json-view-lite@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz#c59a0bea4ede394db331d482ee02e293d38f8218" - integrity sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ== +react-json-view-lite@^2.3.0: + version "2.4.1" + resolved "https://registry.yarnpkg.com/react-json-view-lite/-/react-json-view-lite-2.4.1.tgz#0d06696a06aaf4a74e890302b76cf8cddcc45d60" + integrity sha512-fwFYknRIBxjbFm0kBDrzgBy1xa5tDg2LyXXBepC5f1b+MY3BUClMCsvanMPn089JbV1Eg3nZcrp0VCuH43aXnA== react-loadable-ssr-addon-v5-slorber@^1.0.1: version "1.0.1" @@ -8927,9 +7520,9 @@ react-router@5.3.4, react-router@^5.3.4: tiny-warning "^1.0.0" react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + version "18.3.1" + resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" + integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== dependencies: loose-envify "^1.1.0" @@ -8955,6 +7548,11 @@ readable-stream@^3.0.6: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -8962,18 +7560,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -reading-time@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" - integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - rechoir@^0.7.0: version "0.7.1" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" @@ -8981,19 +7567,45 @@ rechoir@^0.7.0: dependencies: resolve "^1.9.0" -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== +recma-build-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" + integrity sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew== + dependencies: + "@types/estree" "^1.0.0" + estree-util-build-jsx "^3.0.0" + vfile "^6.0.0" + +recma-jsx@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-jsx/-/recma-jsx-1.0.0.tgz#f7bef02e571a49d6ba3efdfda8e2efab48dbe3aa" + integrity sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q== dependencies: - minimatch "^3.0.5" + acorn-jsx "^5.0.0" + estree-util-to-js "^2.0.0" + recma-parse "^1.0.0" + recma-stringify "^1.0.0" + unified "^11.0.0" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +recma-parse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-parse/-/recma-parse-1.0.0.tgz#c351e161bb0ab47d86b92a98a9d891f9b6814b52" + integrity sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ== dependencies: - regenerate "^1.4.2" + "@types/estree" "^1.0.0" + esast-util-from-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" + +recma-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/recma-stringify/-/recma-stringify-1.0.0.tgz#54632030631e0c7546136ff9ef8fde8e7b44f130" + integrity sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g== + dependencies: + "@types/estree" "^1.0.0" + estree-util-to-js "^2.0.0" + unified "^11.0.0" + vfile "^6.0.0" regenerate-unicode-properties@^10.2.0: version "10.2.0" @@ -9007,46 +7619,22 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" - integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== - -regenerator-transform@^0.15.2: - version "0.15.2" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" - integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regexpu-core@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" - integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== +regexpu-core@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" + integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.2.0" regjsgen "^0.8.0" - regjsparser "^0.11.0" + regjsparser "^0.12.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" registry-auth-token@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.2.tgz#8b026cc507c8552ebbe06724136267e63302f756" - integrity sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ== + version "5.1.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.1.0.tgz#3c659047ecd4caebd25bc1570a3aa979ae490eca" + integrity sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw== dependencies: "@pnpm/npm-conf" "^2.1.0" @@ -9062,20 +7650,13 @@ regjsgen@^0.8.0: resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== -regjsparser@^0.11.0: - version "0.11.2" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.11.2.tgz#7404ad42be00226d72bcf1f003f1f441861913d8" - integrity sha512-3OGZZ4HoLJkkAZx/48mTXJNlmqTGOzc0o9OWQPuWpkOlXXPbyN6OafCcoXUnBqE2D3f/T5L+pWc1kdEmnfnRsA== +regjsparser@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc" + integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ== dependencies: jsesc "~3.0.2" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - rehype-raw@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/rehype-raw/-/rehype-raw-7.0.0.tgz#59d7348fd5dbef3807bbaa1d443efd2dd85ecee4" @@ -9085,15 +7666,24 @@ rehype-raw@^7.0.0: hast-util-raw "^9.0.0" vfile "^6.0.0" +rehype-recma@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/rehype-recma/-/rehype-recma-1.0.0.tgz#d68ef6344d05916bd96e25400c6261775411aa76" + integrity sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw== + dependencies: + "@types/estree" "^1.0.0" + "@types/hast" "^3.0.0" + hast-util-to-estree "^3.0.0" + relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== remark-directive@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.0.tgz#34452d951b37e6207d2e2a4f830dc33442923268" - integrity sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.1.tgz#689ba332f156cfe1118e849164cc81f157a3ef0a" + integrity sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A== dependencies: "@types/mdast" "^4.0.0" mdast-util-directive "^3.0.0" @@ -9122,9 +7712,9 @@ remark-frontmatter@^5.0.0: unified "^11.0.0" remark-gfm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.0.tgz#aea777f0744701aa288b67d28c43565c7e8c35de" - integrity sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA== + version "4.0.1" + resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-4.0.1.tgz#33227b2a74397670d357bf05c098eaf8513f0d6b" + integrity sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg== dependencies: "@types/mdast" "^4.0.0" mdast-util-gfm "^3.0.0" @@ -9134,9 +7724,9 @@ remark-gfm@^4.0.0: unified "^11.0.0" remark-mdx@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.0.0.tgz#146905a3925b078970e05fc89b0e16b9cc3bfddd" - integrity sha512-O7yfjuC6ra3NHPbRVxfflafAj3LTwx3b73aBvkEFU5z4PsD6FD4vrqJAkE5iNGLz71GdjXfgRqm3SQ0h0VuE7g== + version "3.1.0" + resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-3.1.0.tgz#f979be729ecb35318fa48e2135c1169607a78343" + integrity sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA== dependencies: mdast-util-mdx "^3.0.0" micromark-extension-mdxjs "^3.0.0" @@ -9152,9 +7742,9 @@ remark-parse@^11.0.0: unified "^11.0.0" remark-rehype@^11.0.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.0.tgz#d5f264f42bcbd4d300f030975609d01a1697ccdc" - integrity sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g== + version "11.1.2" + resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-11.1.2.tgz#2addaadda80ca9bd9aa0da763e74d16327683b37" + integrity sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -9229,12 +7819,12 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve@^1.1.6, resolve@^1.14.2, resolve@^1.9.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== +resolve@^1.14.2, resolve@^1.9.0: + version "1.22.10" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" + integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== dependencies: - is-core-module "^2.13.0" + is-core-module "^2.16.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -9251,9 +7841,9 @@ retry@^0.13.1: integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.1.0.tgz#0fe13b9522e1473f51b558ee796e08f11f9b489f" + integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw== rimraf@^3.0.2: version "3.0.2" @@ -9263,9 +7853,9 @@ rimraf@^3.0.2: glob "^7.1.3" rtlcss@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.1.1.tgz#f20409fcc197e47d1925996372be196fee900c0c" - integrity sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/rtlcss/-/rtlcss-4.3.0.tgz#f8efd4d5b64f640ec4af8fa25b65bacd9e07cc97" + integrity sha512-FI+pHEn7Wc4NqKXMXFM+VAYKEj/mRIcW4h24YVwVtyjI+EqGrLc2Hx/Ny0lrZ21cBWU2goLy36eqMcNj3AQJig== dependencies: escalade "^3.1.1" picocolors "^1.0.0" @@ -9279,63 +7869,57 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@^10.1.1: - version "10.5.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.5.2.tgz#1ca30534fff296417b853c7597ca3b0bbe8c37d0" - integrity sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ== +sass-loader@^16.0.2: + version "16.0.5" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-16.0.5.tgz#257bc90119ade066851cafe7f2c3f3504c7cda98" + integrity sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw== dependencies: - klona "^2.0.4" - loader-utils "^2.0.0" neo-async "^2.6.2" - schema-utils "^3.0.0" - semver "^7.3.2" sass@^1.70.0: - version "1.70.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.70.0.tgz#761197419d97b5358cb25f9dd38c176a8a270a75" - integrity sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ== + version "1.89.1" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.89.1.tgz#9281c52c85b4be54264d310fef63a811dfcfb9d9" + integrity sha512-eMLLkl+qz7tx/0cJ9wI+w09GQ2zodTkcE/aVfywwdlRcI3EO19xGnbmJwg/JMIm+5MxVJ6outddLZ4Von4E++Q== dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" + chokidar "^4.0.0" + immutable "^5.0.2" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== +scheduler@^0.23.2: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" +schema-dts@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/schema-dts/-/schema-dts-1.1.5.tgz#9237725d305bac3469f02b292a035107595dc324" + integrity sha512-RJr9EaCmsLzBX2NDiO5Z3ux2BVosNZN5jo0gWgsyKvxKIUL5R3swNvoorulAeL9kLB0iTSX7V6aokhla2m7xbg== -schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: +schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== @@ -9344,10 +7928,10 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" - integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== +schema-utils@^4.0.0, schema-utils@^4.0.1, schema-utils@^4.3.0, schema-utils@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" + integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ== dependencies: "@types/json-schema" "^7.0.9" ajv "^8.9.0" @@ -9387,17 +7971,15 @@ semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" +semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: + version "7.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58" + integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA== -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.yarnpkg.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -9413,7 +7995,7 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1, serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -9446,26 +8028,27 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" -set-function-length@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1" - integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w== +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== dependencies: - define-data-property "^1.1.1" + define-data-property "^1.1.4" + es-errors "^1.3.0" function-bind "^1.1.2" - get-intrinsic "^1.2.2" + get-intrinsic "^1.2.4" gopd "^1.0.1" - has-property-descriptors "^1.0.1" + has-property-descriptors "^1.0.2" setprototypeof@1.1.0: version "1.1.0" @@ -9501,28 +8084,50 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3, shell-quote@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" - integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shell-quote@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" + integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== -shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" + es-errors "^1.3.0" + object-inspect "^1.13.3" -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.0.6: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.7" @@ -9544,9 +8149,9 @@ sisteransi@^1.0.5: integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72" + integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -9592,15 +8197,10 @@ sort-css-media-queries@2.2.0: resolved "https://registry.yarnpkg.com/sort-css-media-queries/-/sort-css-media-queries-2.2.0.tgz#aa33cf4a08e0225059448b6c40eddbf9f1c8334c" integrity sha512-0xtkGhWCC9MGt/EzgnvbbbKhqWjl1+/rncmhTh5qCpbYguXh6S/qwePfv/JQ8jePXXmqingylxoC49pCkSPIbA== -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-support@~0.5.20: version "0.5.21" @@ -9669,9 +8269,9 @@ statuses@2.0.1: integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== std-env@^3.7.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.8.0.tgz#b56ffc1baf1a29dcc80a3bdf11d7fca7c315e7d5" - integrity sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w== + version "3.9.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" + integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" @@ -9706,9 +8306,9 @@ string_decoder@~1.1.1: safe-buffer "~5.1.0" stringify-entities@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" - integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== + version "4.0.4" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.4.tgz#b3b79ef5f277cc4ac73caeb0236c5ba939b3a4f3" + integrity sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg== dependencies: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" @@ -9756,19 +8356,19 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== -style-to-object@^0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" - integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== +style-to-js@^1.0.0: + version "1.1.16" + resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.16.tgz#e6bd6cd29e250bcf8fa5e6591d07ced7575dbe7a" + integrity sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw== dependencies: - inline-style-parser "0.1.1" + style-to-object "1.0.8" -style-to-object@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.5.tgz#5e918349bc3a39eee3a804497d97fcbbf2f0d7c0" - integrity sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ== +style-to-object@1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-1.0.8.tgz#67a29bca47eaa587db18118d68f9d95955e81292" + integrity sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g== dependencies: - inline-style-parser "0.2.2" + inline-style-parser "0.2.4" stylehacks@^6.1.1: version "6.1.1" @@ -9778,13 +8378,6 @@ stylehacks@^6.1.1: browserslist "^4.23.0" postcss-selector-parser "^6.0.16" -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -9822,61 +8415,51 @@ svgo@^3.0.2, svgo@^3.2.0: csso "^5.0.5" picocolors "^1.0.0" -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.2.tgz#ab4984340d30cb9989a490032f086dbb8b56d872" + integrity sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg== -terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: - version "5.3.10" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== +terser-webpack-plugin@^5.3.11, terser-webpack-plugin@^5.3.9: + version "5.3.14" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz#9031d48e57ab27567f02ace85c7d690db66c3e06" + integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw== dependencies: - "@jridgewell/trace-mapping" "^0.3.20" + "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" + schema-utils "^4.3.0" + serialize-javascript "^6.0.2" + terser "^5.31.1" -terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.27.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c" - integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A== +terser@^5.10.0, terser@^5.15.1, terser@^5.31.1: + version "5.40.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.40.0.tgz#839a80db42bfee8340085f44ea99b5cba36c55c8" + integrity sha512-cfeKl/jjwSR5ar7d0FGmave9hFGJT8obyo0z+CrQOylLDbk7X81nPU6vq9VORa5jU30SkDnT2FXjLbR8HLP+xA== dependencies: "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" + acorn "^8.14.0" commander "^2.20.0" source-map-support "~0.5.20" -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - thunky@^1.0.2: version "1.1.0" resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== tiny-invariant@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + version "1.3.3" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" + integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== tiny-warning@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== +tinypool@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.0.tgz#4252913ec76ef8f728f2524e2118f3bef9cf23f4" + integrity sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ== to-regex-range@^5.0.1: version "5.0.1" @@ -9901,14 +8484,14 @@ trim-lines@^3.0.0: integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trough@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" - integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== + version "2.2.0" + resolved "https://registry.yarnpkg.com/trough/-/trough-2.2.0.tgz#94a60bd6bd375c152c1df911a4b11d5b0256f50f" + integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== tslib@^2.0.3, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== type-fest@^0.21.3: version "0.21.3" @@ -9940,15 +8523,15 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== +undici-types@~6.21.0: + version "6.21.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" + integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-emoji-modifier-base@^1.0.0: version "1.0.0" @@ -9964,9 +8547,9 @@ unicode-match-property-ecmascript@^2.0.0: unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" @@ -9974,9 +8557,9 @@ unicode-property-aliases-ecmascript@^2.0.0: integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: - version "11.0.4" - resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" - integrity sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ== + version "11.0.5" + resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.5.tgz#f66677610a5c0a9ee90cab2b8d4d66037026d9e1" + integrity sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA== dependencies: "@types/unist" "^3.0.0" bail "^2.0.0" @@ -10014,14 +8597,6 @@ unist-util-position@^5.0.0: dependencies: "@types/unist" "^3.0.0" -unist-util-remove-position@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz#fea68a25658409c9460408bc6b4991b965b52163" - integrity sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q== - dependencies: - "@types/unist" "^3.0.0" - unist-util-visit "^5.0.0" - unist-util-stringify-position@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" @@ -10056,21 +8631,13 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-browserslist-db@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== +update-browserslist-db@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" + integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw== dependencies: escalade "^3.2.0" - picocolors "^1.1.0" + picocolors "^1.1.1" update-notifier@^6.0.2: version "6.0.2" @@ -10144,9 +8711,9 @@ vary@~1.1.2: integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.2.tgz#220d9ca1ab6f8b2504a4db398f7ebc149f9cb464" - integrity sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg== + version "5.0.3" + resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-5.0.3.tgz#cb9eacd20f2b6426d19451e0eafa3d0a846225c3" + integrity sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg== dependencies: "@types/unist" "^3.0.0" vfile "^6.0.0" @@ -10160,26 +8727,17 @@ vfile-message@^4.0.0: unist-util-stringify-position "^4.0.0" vfile@^6.0.0, vfile@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" - integrity sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw== + version "6.0.3" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.3.tgz#3652ab1c496531852bf55a6bac57af981ebc38ab" + integrity sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q== dependencies: "@types/unist" "^3.0.0" - unist-util-stringify-position "^4.0.0" vfile-message "^4.0.0" -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - watchpack@^2.4.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.2.tgz#2feeaed67412e7c33184e5a79ca738fbd38564da" - integrity sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw== + version "2.4.4" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.4.tgz#473bda72f0850453da6425081ea46fc0d7602947" + integrity sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -10298,50 +8856,21 @@ webpack-merge@^6.0.1: wildcard "^2.0.1" webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.88.1: - version "5.90.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.90.1.tgz#62ab0c097d7cbe83d32523dbfbb645cdb7c3c01c" - integrity sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" + version "3.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.0.tgz#8d3449f1ed3f254e722a529a0a344a37d2d17048" + integrity sha512-77R0RDmJfj9dyv5p3bM5pOHa+X8/ZkO9c7kpDstigkC4nIDobadsfSGCwB4bKhMVxqAok8tajaoR8rirM7+VFQ== -webpack@^5.95.0: - version "5.96.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.96.1.tgz#3676d1626d8312b6b10d0c18cc049fba7ac01f0c" - integrity sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA== +webpack@^5.88.1, webpack@^5.95.0: + version "5.99.9" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.99.9.tgz#d7de799ec17d0cce3c83b70744b4aedb537d8247" + integrity sha512-brOPwM3JnmOa+7kd3NsmOUOwbDAj8FT9xDsG3IW0MgbN9yZV7Oi/s/+MNQ/EcSMqw7qfoRyXPoeEWT8zLVdVGg== dependencies: "@types/eslint-scope" "^3.7.7" "@types/estree" "^1.0.6" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" + "@types/json-schema" "^7.0.15" + "@webassemblyjs/ast" "^1.14.1" + "@webassemblyjs/wasm-edit" "^1.14.1" + "@webassemblyjs/wasm-parser" "^1.14.1" acorn "^8.14.0" browserslist "^4.24.0" chrome-trace-event "^1.0.2" @@ -10355,9 +8884,9 @@ webpack@^5.95.0: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.2.0" + schema-utils "^4.3.2" tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" + terser-webpack-plugin "^5.3.11" watchpack "^2.4.1" webpack-sources "^3.2.3" @@ -10389,13 +8918,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -10449,14 +8971,14 @@ write-file-atomic@^3.0.3: typedarray-to-buffer "^3.1.5" ws@^7.3.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== ws@^8.13.0: - version "8.16.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" - integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== + version "8.18.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.2.tgz#42738b2be57ced85f46154320aabb51ab003705a" + integrity sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ== xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" @@ -10475,25 +8997,10 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + version "1.2.1" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" + integrity sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg== zwitch@^2.0.0: version "2.0.4" From aba23eb5fa27c8fe662ae4f0c423249bbe0ed55f Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Sat, 7 Jun 2025 00:19:23 +0400 Subject: [PATCH 02/46] [dev] refactoring --- docs/api/config/default-styles.md | 32 + docs/api/config/fullscreen.md | 32 + docs/api/config/image-upload-url.md | 32 + docs/api/config/layout-mode.md | 32 + docs/api/config/menubar.md | 32 + docs/api/config/toolbar.md | 32 + docs/api/config/value.md | 32 + docs/api/editor_api_methods.md | 10 +- docs/api/events/align.md | 40 + docs/api/events/clear-text-format.md | 40 + docs/api/events/copy.md | 40 + docs/api/events/create-new.md | 40 + docs/api/events/cut.md | 40 + docs/api/events/delete-link.md | 40 + docs/api/events/indent.md | 40 + docs/api/events/insert-image.md | 40 + docs/api/events/insert-line.md | 40 + docs/api/events/insert-link.md | 40 + docs/api/events/insert-list.md | 40 + docs/api/events/outdent.md | 40 + docs/api/events/paste.md | 40 + docs/api/events/print.md | 40 + docs/api/events/redo.md | 40 + docs/api/events/resize-image.md | 40 + docs/api/events/set-font-family.md | 40 + docs/api/events/set-font-size.md | 40 + docs/api/events/set-layout-mode.md | 40 + docs/api/events/set-line-height.md | 40 + docs/api/events/set-text-color.md | 40 + docs/api/events/set-text-format.md | 40 + docs/api/events/set-text-style.md | 40 + docs/api/events/set-value.md | 40 + docs/api/events/subscript.md | 40 + docs/api/events/superscript.md | 40 + docs/api/events/toggle-fullscreen.md | 40 + docs/api/events/undo.md | 40 + docs/api/events/update-link.md | 40 + docs/api/events_bus.md | 4 +- docs/api/internal/detach.md | 44 + docs/api/internal/exec.md | 50 + docs/api/internal/get-reactive-state.md | 40 + docs/api/internal/get-state.md | 41 + docs/api/internal/intercept.md | 46 + docs/api/internal/on.md | 44 + docs/api/internal/set-next.md | 41 + docs/api/methods.md | 26 +- docs/api/methods/get-uploader.md | 41 + docs/api/methods/get-value.md | 41 + docs/api/methods/set-config.md | 41 + docs/api/methods/set-value.md | 41 + docs/api/overview.md | 4 +- docs/api/properties.md | 22 +- docs/api/toolbar_methods.md | 8 +- docs/guides/configuration.md | 28 +- docs/guides/customization.md | 12 +- docs/guides/event_handling.md | 2 +- docs/guides/initialization.md | 26 +- docs/guides/loading_data.md | 4 +- docs/guides/localization.md | 10 +- docs/guides/working_with_richtext.md | 22 +- docs/how_to_start.md | 36 +- docs/{overview.md => index.md} | 12 +- docusaurus.config.js | 313 ++--- package.json | 29 +- sidebars.js | 168 ++- src/components/Disqus/styles.module.scss | 2 +- src/components/Short/index.jsx | 22 + src/components/Short/styles.module.scss | 3 + src/components/index.js | 4 +- src/css/custom.css | 390 +++--- src/pages/styles.module.css | 37 - yarn.lock | 1441 +++++++++++++++++----- 72 files changed, 3666 insertions(+), 823 deletions(-) create mode 100644 docs/api/config/default-styles.md create mode 100644 docs/api/config/fullscreen.md create mode 100644 docs/api/config/image-upload-url.md create mode 100644 docs/api/config/layout-mode.md create mode 100644 docs/api/config/menubar.md create mode 100644 docs/api/config/toolbar.md create mode 100644 docs/api/config/value.md create mode 100644 docs/api/events/align.md create mode 100644 docs/api/events/clear-text-format.md create mode 100644 docs/api/events/copy.md create mode 100644 docs/api/events/create-new.md create mode 100644 docs/api/events/cut.md create mode 100644 docs/api/events/delete-link.md create mode 100644 docs/api/events/indent.md create mode 100644 docs/api/events/insert-image.md create mode 100644 docs/api/events/insert-line.md create mode 100644 docs/api/events/insert-link.md create mode 100644 docs/api/events/insert-list.md create mode 100644 docs/api/events/outdent.md create mode 100644 docs/api/events/paste.md create mode 100644 docs/api/events/print.md create mode 100644 docs/api/events/redo.md create mode 100644 docs/api/events/resize-image.md create mode 100644 docs/api/events/set-font-family.md create mode 100644 docs/api/events/set-font-size.md create mode 100644 docs/api/events/set-layout-mode.md create mode 100644 docs/api/events/set-line-height.md create mode 100644 docs/api/events/set-text-color.md create mode 100644 docs/api/events/set-text-format.md create mode 100644 docs/api/events/set-text-style.md create mode 100644 docs/api/events/set-value.md create mode 100644 docs/api/events/subscript.md create mode 100644 docs/api/events/superscript.md create mode 100644 docs/api/events/toggle-fullscreen.md create mode 100644 docs/api/events/undo.md create mode 100644 docs/api/events/update-link.md create mode 100644 docs/api/internal/detach.md create mode 100644 docs/api/internal/exec.md create mode 100644 docs/api/internal/get-reactive-state.md create mode 100644 docs/api/internal/get-state.md create mode 100644 docs/api/internal/intercept.md create mode 100644 docs/api/internal/on.md create mode 100644 docs/api/internal/set-next.md create mode 100644 docs/api/methods/get-uploader.md create mode 100644 docs/api/methods/get-value.md create mode 100644 docs/api/methods/set-config.md create mode 100644 docs/api/methods/set-value.md rename docs/{overview.md => index.md} (88%) create mode 100644 src/components/Short/index.jsx create mode 100644 src/components/Short/styles.module.scss delete mode 100644 src/pages/styles.module.css diff --git a/docs/api/config/default-styles.md b/docs/api/config/default-styles.md new file mode 100644 index 0000000..a06f111 --- /dev/null +++ b/docs/api/config/default-styles.md @@ -0,0 +1,32 @@ +--- +sidebar_label: defaultStyles +title: defaultStyles Config +description: You can learn about the defaultStyles config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# defaultStyles + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +defaultStyles?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + defaultStyles: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) diff --git a/docs/api/config/fullscreen.md b/docs/api/config/fullscreen.md new file mode 100644 index 0000000..98048be --- /dev/null +++ b/docs/api/config/fullscreen.md @@ -0,0 +1,32 @@ +--- +sidebar_label: fullscreen +title: fullscreen Config +description: You can learn about the fullscreen config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# fullscreen + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +fullscreen?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + fullscreen: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) \ No newline at end of file diff --git a/docs/api/config/image-upload-url.md b/docs/api/config/image-upload-url.md new file mode 100644 index 0000000..9673716 --- /dev/null +++ b/docs/api/config/image-upload-url.md @@ -0,0 +1,32 @@ +--- +sidebar_label: imageUploadUrl +title: imageUploadUrl Config +description: You can learn about the imageUploadUrl config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# imageUploadUrl + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +imageUploadUrl?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + imageUploadUrl: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) \ No newline at end of file diff --git a/docs/api/config/layout-mode.md b/docs/api/config/layout-mode.md new file mode 100644 index 0000000..75df1d4 --- /dev/null +++ b/docs/api/config/layout-mode.md @@ -0,0 +1,32 @@ +--- +sidebar_label: layoutMode +title: layoutMode Config +description: You can learn about the layoutMode config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# layoutMode + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +layoutMode?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + layoutMode: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) diff --git a/docs/api/config/menubar.md b/docs/api/config/menubar.md new file mode 100644 index 0000000..821260f --- /dev/null +++ b/docs/api/config/menubar.md @@ -0,0 +1,32 @@ +--- +sidebar_label: menubar +title: menubar Config +description: You can learn about the menubar config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# menubar + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +menubar?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + menubar: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) diff --git a/docs/api/config/toolbar.md b/docs/api/config/toolbar.md new file mode 100644 index 0000000..9f1a4bf --- /dev/null +++ b/docs/api/config/toolbar.md @@ -0,0 +1,32 @@ +--- +sidebar_label: toolbar +title: toolbar Config +description: You can learn about the toolbar config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# toolbar + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +toolbar?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + toolbar: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) diff --git a/docs/api/config/value.md b/docs/api/config/value.md new file mode 100644 index 0000000..b77f9c6 --- /dev/null +++ b/docs/api/config/value.md @@ -0,0 +1,32 @@ +--- +sidebar_label: value +title: value Config +description: You can learn about the value config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# value + +### Description + +@short: Optional. ... + +### Usage + +~~~jsx {} +value?: ...; +~~~ + +### Example + +~~~jsx {4} +new richtext.Richtext("#root", { + value: ... + // other parameters +}); +~~~ + +**Change log:** The property was added in v2.0 + +**Related articles:** [Configuration](../../../guides/configuration) + +**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) diff --git a/docs/api/editor_api_methods.md b/docs/api/editor_api_methods.md index 4294ad0..5f8a7ca 100644 --- a/docs/api/editor_api_methods.md +++ b/docs/api/editor_api_methods.md @@ -110,7 +110,7 @@ Returns the data model of the entered text in the JSON format ```js -var model = richtext.getEditorAPI().getModel(); +const model = richtext.getEditorAPI().getModel(); ``` **Related samples:** [RichText. Get Model](https://snippet.dhtmlx.com/ef6uolvq) @@ -164,7 +164,7 @@ Returns the position of text selection relative to the browser window | `object` | the position of text selection relative to the browser window | ```js -var position = richtext.getEditorAPI().getPosition(); +const position = richtext.getEditorAPI().getPosition(); ``` **Related samples:** [RichText. Get Position](https://snippet.dhtmlx.com/nv42vsjg) @@ -204,7 +204,7 @@ Returns the position of text selection relative to all other text ```js -var selection = richtext.getEditorAPI().getSelection(); +const selection = richtext.getEditorAPI().getSelection(); ``` **Related samples:** [RichText. Get Selection](https://snippet.dhtmlx.com/se4p4vin) @@ -251,7 +251,7 @@ Removes a selected text ```js -var api = richtext.getEditorAPI(); +const api = richtext.getEditorAPI(); richtext.getEditorAPI().remove(api.getSelection()); ``` @@ -393,7 +393,7 @@ Modifies the entered text ```js -var api = richtext.getEditorAPI(); +const api = richtext.getEditorAPI(); richtext.getEditorAPI().update( { diff --git a/docs/api/events/align.md b/docs/api/events/align.md new file mode 100644 index 0000000..65ee20d --- /dev/null +++ b/docs/api/events/align.md @@ -0,0 +1,40 @@ +--- +sidebar_label: align +title: align Event +description: You can learn about the align event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# align + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"align": ...; +~~~ + +### Parameters + +The callback of the **align** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "align" event +editor.api.on("align", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/clear-text-format.md b/docs/api/events/clear-text-format.md new file mode 100644 index 0000000..a838e19 --- /dev/null +++ b/docs/api/events/clear-text-format.md @@ -0,0 +1,40 @@ +--- +sidebar_label: clear-text-format +title: clear-text-format Event +description: You can learn about the clear-text-format event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# clear-text-format + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"clear-text-format": ...; +~~~ + +### Parameters + +The callback of the **clear-text-format** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "clear-text-format" event +editor.api.on("clear-text-format", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/copy.md b/docs/api/events/copy.md new file mode 100644 index 0000000..a8034a2 --- /dev/null +++ b/docs/api/events/copy.md @@ -0,0 +1,40 @@ +--- +sidebar_label: copy +title: copy Event +description: You can learn about the copy event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# copy + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"copy": ...; +~~~ + +### Parameters + +The callback of the **copy** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "copy" event +editor.api.on("copy", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/create-new.md b/docs/api/events/create-new.md new file mode 100644 index 0000000..87ee4b6 --- /dev/null +++ b/docs/api/events/create-new.md @@ -0,0 +1,40 @@ +--- +sidebar_label: create-new +title: create-new Event +description: You can learn about the create-new event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# create-new + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"create-new": ...; +~~~ + +### Parameters + +The callback of the **create-new** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "create-new" event +editor.api.on("create-new", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/cut.md b/docs/api/events/cut.md new file mode 100644 index 0000000..320f68a --- /dev/null +++ b/docs/api/events/cut.md @@ -0,0 +1,40 @@ +--- +sidebar_label: cut +title: cut Event +description: You can learn about the cut event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# cut + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"cut": ...; +~~~ + +### Parameters + +The callback of the **cut** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "cut" event +editor.api.on("cut", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/delete-link.md b/docs/api/events/delete-link.md new file mode 100644 index 0000000..cb4fa46 --- /dev/null +++ b/docs/api/events/delete-link.md @@ -0,0 +1,40 @@ +--- +sidebar_label: delete-link +title: delete-link Event +description: You can learn about the delete-link event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# delete-link + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"delete-link": ...; +~~~ + +### Parameters + +The callback of the **delete-link** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "delete-link" event +editor.api.on("delete-link", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/indent.md b/docs/api/events/indent.md new file mode 100644 index 0000000..569846d --- /dev/null +++ b/docs/api/events/indent.md @@ -0,0 +1,40 @@ +--- +sidebar_label: indent +title: indent Event +description: You can learn about the indent event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# indent + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"indent": ...; +~~~ + +### Parameters + +The callback of the **indent** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "indent" event +editor.api.on("indent", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/insert-image.md b/docs/api/events/insert-image.md new file mode 100644 index 0000000..d036969 --- /dev/null +++ b/docs/api/events/insert-image.md @@ -0,0 +1,40 @@ +--- +sidebar_label: insert-image +title: insert-image Event +description: You can learn about the insert-image event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# insert-image + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"insert-image": ...; +~~~ + +### Parameters + +The callback of the **insert-image** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "insert-image" event +editor.api.on("insert-image", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/insert-line.md b/docs/api/events/insert-line.md new file mode 100644 index 0000000..ee1b3f5 --- /dev/null +++ b/docs/api/events/insert-line.md @@ -0,0 +1,40 @@ +--- +sidebar_label: insert-line +title: insert-line Event +description: You can learn about the insert-line event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# insert-line + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"insert-line": ...; +~~~ + +### Parameters + +The callback of the **insert-line** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "insert-line" event +editor.api.on("insert-line", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/insert-link.md b/docs/api/events/insert-link.md new file mode 100644 index 0000000..421e3aa --- /dev/null +++ b/docs/api/events/insert-link.md @@ -0,0 +1,40 @@ +--- +sidebar_label: insert-link +title: insert-link Event +description: You can learn about the insert-link event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# insert-link + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"insert-link": ...; +~~~ + +### Parameters + +The callback of the **insert-link** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "insert-link" event +editor.api.on("insert-link", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/insert-list.md b/docs/api/events/insert-list.md new file mode 100644 index 0000000..97fe2f9 --- /dev/null +++ b/docs/api/events/insert-list.md @@ -0,0 +1,40 @@ +--- +sidebar_label: insert-list +title: insert-list Event +description: You can learn about the insert-list event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# insert-list + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"insert-list": ...; +~~~ + +### Parameters + +The callback of the **insert-list** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "insert-list" event +editor.api.on("insert-list", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/outdent.md b/docs/api/events/outdent.md new file mode 100644 index 0000000..6d8bad7 --- /dev/null +++ b/docs/api/events/outdent.md @@ -0,0 +1,40 @@ +--- +sidebar_label: outdent +title: outdent Event +description: You can learn about the outdent event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# outdent + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"outdent": ...; +~~~ + +### Parameters + +The callback of the **outdent** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "outdent" event +editor.api.on("outdent", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/paste.md b/docs/api/events/paste.md new file mode 100644 index 0000000..4fc5386 --- /dev/null +++ b/docs/api/events/paste.md @@ -0,0 +1,40 @@ +--- +sidebar_label: paste +title: paste Event +description: You can learn about the paste event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# paste + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"paste": ...; +~~~ + +### Parameters + +The callback of the **paste** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "paste" event +editor.api.on("paste", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/print.md b/docs/api/events/print.md new file mode 100644 index 0000000..28a9189 --- /dev/null +++ b/docs/api/events/print.md @@ -0,0 +1,40 @@ +--- +sidebar_label: print +title: print Event +description: You can learn about the print event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# print + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"print": ...; +~~~ + +### Parameters + +The callback of the **print** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "print" event +editor.api.on("print", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/redo.md b/docs/api/events/redo.md new file mode 100644 index 0000000..11df0dc --- /dev/null +++ b/docs/api/events/redo.md @@ -0,0 +1,40 @@ +--- +sidebar_label: redo +title: redo Event +description: You can learn about the redo event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# redo + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"redo": ...; +~~~ + +### Parameters + +The callback of the **redo** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "redo" event +editor.api.on("redo", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/resize-image.md b/docs/api/events/resize-image.md new file mode 100644 index 0000000..c7cc35a --- /dev/null +++ b/docs/api/events/resize-image.md @@ -0,0 +1,40 @@ +--- +sidebar_label: resize-image +title: resize-image Event +description: You can learn about the resize-image event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# resize-image + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"resize-image": ...; +~~~ + +### Parameters + +The callback of the **resize-image** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "resize-image" event +editor.api.on("resize-image", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-font-family.md b/docs/api/events/set-font-family.md new file mode 100644 index 0000000..9fdf762 --- /dev/null +++ b/docs/api/events/set-font-family.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-font-family +title: set-font-family Event +description: You can learn about the set-font-family event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-font-family + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-font-family": ...; +~~~ + +### Parameters + +The callback of the **set-font-family** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-font-family" event +editor.api.on("set-font-family", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-font-size.md b/docs/api/events/set-font-size.md new file mode 100644 index 0000000..c45b2bc --- /dev/null +++ b/docs/api/events/set-font-size.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-font-size +title: set-font-size Event +description: You can learn about the set-font-size event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-font-size + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-font-size": ...; +~~~ + +### Parameters + +The callback of the **set-font-size** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-font-size" event +editor.api.on("set-font-size", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-layout-mode.md b/docs/api/events/set-layout-mode.md new file mode 100644 index 0000000..af2f59c --- /dev/null +++ b/docs/api/events/set-layout-mode.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-layout-mode +title: set-layout-mode Event +description: You can learn about the set-layout-mode event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-layout-mode + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-layout-mode": ...; +~~~ + +### Parameters + +The callback of the **set-layout-mode** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-layout-mode" event +editor.api.on("set-layout-mode", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-line-height.md b/docs/api/events/set-line-height.md new file mode 100644 index 0000000..a95ffb8 --- /dev/null +++ b/docs/api/events/set-line-height.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-line-height +title: set-line-height Event +description: You can learn about the set-line-height event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-line-height + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-line-height": ...; +~~~ + +### Parameters + +The callback of the **set-line-height** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-line-height" event +editor.api.on("set-line-height", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-text-color.md b/docs/api/events/set-text-color.md new file mode 100644 index 0000000..1a87b54 --- /dev/null +++ b/docs/api/events/set-text-color.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-text-color +title: set-text-color Event +description: You can learn about the set-text-color event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-text-color + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-text-color": ...; +~~~ + +### Parameters + +The callback of the **set-text-color** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-text-color" event +editor.api.on("set-text-color", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-text-format.md b/docs/api/events/set-text-format.md new file mode 100644 index 0000000..5afc95b --- /dev/null +++ b/docs/api/events/set-text-format.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-text-format +title: set-text-format Event +description: You can learn about the set-text-format event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-text-format + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-text-format": ...; +~~~ + +### Parameters + +The callback of the **set-text-format** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-text-format" event +editor.api.on("set-text-format", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-text-style.md b/docs/api/events/set-text-style.md new file mode 100644 index 0000000..649f8a1 --- /dev/null +++ b/docs/api/events/set-text-style.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-text-style +title: set-text-style Event +description: You can learn about the set-text-style event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-text-style + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-text-style": ...; +~~~ + +### Parameters + +The callback of the **set-text-style** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-text-style" event +editor.api.on("set-text-style", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/set-value.md b/docs/api/events/set-value.md new file mode 100644 index 0000000..211cfd0 --- /dev/null +++ b/docs/api/events/set-value.md @@ -0,0 +1,40 @@ +--- +sidebar_label: set-value +title: set-value Event +description: You can learn about the set-value event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# set-value + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"set-value": ...; +~~~ + +### Parameters + +The callback of the **set-value** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "set-value" event +editor.api.on("set-value", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/subscript.md b/docs/api/events/subscript.md new file mode 100644 index 0000000..05017aa --- /dev/null +++ b/docs/api/events/subscript.md @@ -0,0 +1,40 @@ +--- +sidebar_label: subscript +title: subscript Event +description: You can learn about the subscript event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# subscript + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"subscript": ...; +~~~ + +### Parameters + +The callback of the **subscript** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "subscript" event +editor.api.on("subscript", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/superscript.md b/docs/api/events/superscript.md new file mode 100644 index 0000000..43984b2 --- /dev/null +++ b/docs/api/events/superscript.md @@ -0,0 +1,40 @@ +--- +sidebar_label: superscript +title: superscript Event +description: You can learn about the superscript event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# superscript + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"superscript": ...; +~~~ + +### Parameters + +The callback of the **superscript** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "superscript" event +editor.api.on("superscript", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/toggle-fullscreen.md b/docs/api/events/toggle-fullscreen.md new file mode 100644 index 0000000..2386b08 --- /dev/null +++ b/docs/api/events/toggle-fullscreen.md @@ -0,0 +1,40 @@ +--- +sidebar_label: toggle-fullscreen +title: toggle-fullscreen Event +description: You can learn about the toggle-fullscreen event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# toggle-fullscreen + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"toggle-fullscreen": ...; +~~~ + +### Parameters + +The callback of the **toggle-fullscreen** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "toggle-fullscreen" event +editor.api.on("toggle-fullscreen", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/undo.md b/docs/api/events/undo.md new file mode 100644 index 0000000..b8fffc9 --- /dev/null +++ b/docs/api/events/undo.md @@ -0,0 +1,40 @@ +--- +sidebar_label: undo +title: undo Event +description: You can learn about the undo event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# undo + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"undo": ...; +~~~ + +### Parameters + +The callback of the **undo** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "undo" event +editor.api.on("undo", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events/update-link.md b/docs/api/events/update-link.md new file mode 100644 index 0000000..b928cef --- /dev/null +++ b/docs/api/events/update-link.md @@ -0,0 +1,40 @@ +--- +sidebar_label: update-link +title: update-link Event +description: You can learn about the update-link event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# update-link + +### Description + +@short: Fires when ... + +### Usage + +~~~jsx {} +"update-link": ...; +~~~ + +### Parameters + +The callback of the **update-link** event can take an object with the following parameters: + +... + +:::info +For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// subscribe on the "update-link" event +editor.api.on("update-link", (obj) => { + console.log(obj); +}); +~~~ diff --git a/docs/api/events_bus.md b/docs/api/events_bus.md index c493e40..190ce92 100644 --- a/docs/api/events_bus.md +++ b/docs/api/events_bus.md @@ -29,7 +29,7 @@ richtext.events.detach("Change"); By default `detach()` removes all event handlers from the target event. You can detach particular event handlers by using the context marker. ```js -var marker = "any"; // you can use any string|object value +const marker = "any"; // you can use any string|object value richtext.events.on("Change", handler1); richtext.events.on("Change", handler2, marker); @@ -60,7 +60,7 @@ richtext.events.on("CustomEvent", function(param1, param2){ return true; }); -var res = richtext.events.fire("CustomEvent", [12, "abc"]); +const res = richtext.events.fire("CustomEvent", [12, "abc"]); ``` #### Details diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md new file mode 100644 index 0000000..3c8d1ad --- /dev/null +++ b/docs/api/internal/detach.md @@ -0,0 +1,44 @@ +--- +sidebar_label: api.detach() +title: on Method +description: You can learn about the on method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.detach() + +### Description + +@short: Allows attaching a handler to the inner events + +### Usage + +~~~jsx {} +api.detach( + event: string, + handler: function +): void; +~~~ + +### Parameters + +- `event` - (required) an event to be fired +- `handler` - (required) a handler to be attached (the handler arguments will depend on the event to be fired) + +### Events + +:::info +The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// ... +editor.api.detach("move-card", ({ id, columnId }) => { + console.log({ id, columnId }); +}); +~~~ diff --git a/docs/api/internal/exec.md b/docs/api/internal/exec.md new file mode 100644 index 0000000..9ebe5a9 --- /dev/null +++ b/docs/api/internal/exec.md @@ -0,0 +1,50 @@ +--- +sidebar_label: api.exec() +title: exec Method +description: You can learn about the exec method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.exec() + +### Description + +@short: Allows triggering the inner events + +### Usage + +~~~jsx {} +api.exec( + event: string, + config: object +): void; +~~~ + +### Parameters + +- `event` - (required) an event to be fired +- `config` - (required) the config object with parameters (see the event to be fired) + +### Events + +:::info +The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +::: + +### Example + +~~~jsx {7,9-12} +// create RichText +const editor = new richtext.Richtext("#root", { + columns, + cards +}); +// select the card with the 1 ID +editor.api.exec("select-card", { id: 1 }); +// add new card without sending changes to the server +editor.api.exec("add-card", { + columnId: "backlog", + skipProvider: true, +}); +~~~ + +**Related sample:** [RichText. Preserve sorting](https://snippet.dhtmlx.com/74nyuv14?tag=richtext) diff --git a/docs/api/internal/get-reactive-state.md b/docs/api/internal/get-reactive-state.md new file mode 100644 index 0000000..30d7fa4 --- /dev/null +++ b/docs/api/internal/get-reactive-state.md @@ -0,0 +1,40 @@ +--- +sidebar_label: api.getReactiveState() +title: getReactiveState Method +description: You can learn about the getReactiveState method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.getReactiveState() + +### Description + +@short: Gets an object with the reactive properties of RichText + +### Usage + +~~~jsx {} +api.getReactiveState(): object; +~~~ + +### Returns + +The method returns an object with the following parameters: + +~~~jsx {} +{ + ... +} +~~~ + +### Example + +~~~jsx {7-37} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// get the Reactive State of RichText +const state = editor.api.getReactiveState(); +~~~ + +**Change log:** diff --git a/docs/api/internal/get-state.md b/docs/api/internal/get-state.md new file mode 100644 index 0000000..156ea4e --- /dev/null +++ b/docs/api/internal/get-state.md @@ -0,0 +1,41 @@ +--- +sidebar_label: api.getState() +title: getState Method +description: You can learn about the getState method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.getState() + +### Description + +@short: Gets an object with the StateStore properties of RichText + +### Usage + +~~~jsx {} +api.getState(): object; +~~~ + +### Returns + +The method returns an object with the following parameters: + +~~~jsx {} +{ + ... +} + +### Example + +~~~jsx {7-12} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// get the State of RichText +const state = editor.api.getState(); +console.log(...); // ... +//... +~~~ + +**Change log:** diff --git a/docs/api/internal/intercept.md b/docs/api/internal/intercept.md new file mode 100644 index 0000000..0299f93 --- /dev/null +++ b/docs/api/internal/intercept.md @@ -0,0 +1,46 @@ +--- +sidebar_label: api.intercept() +title: intercept Method +description: You can learn about the intercept method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.intercept() + +### Description + +@short: Allows intercepting and preventing the inner events + +### Usage + +~~~jsx {} +api.intercept( + event: string, + callback: function +): void; +~~~ + +### Parameters + +- `event` - (required) an event to be fired +- `callback` - (required) a callback to be performed (the callback arguments will depend on the event to be fired) + +### Events + +:::info +The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +::: + +### Example + +~~~jsx {7-11} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// forbid moving cards to the column with the "done" ID +editor.api.intercept("move-card", ({ id, columnId }) => { + if(columnId !== "done" ){ + return false; + } +}); +~~~ diff --git a/docs/api/internal/on.md b/docs/api/internal/on.md new file mode 100644 index 0000000..4325ede --- /dev/null +++ b/docs/api/internal/on.md @@ -0,0 +1,44 @@ +--- +sidebar_label: api.on() +title: on Method +description: You can learn about the on method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.on() + +### Description + +@short: Allows attaching a handler to the inner events + +### Usage + +~~~jsx {} +api.on( + event: string, + handler: function +): void; +~~~ + +### Parameters + +- `event` - (required) an event to be fired +- `handler` - (required) a handler to be attached (the handler arguments will depend on the event to be fired) + +### Events + +:::info +The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +::: + +### Example + +~~~jsx {7-9} +// create RichText +const editor = new richtext.Richtext("#root", { + ... +}); +// ... +editor.api.on("move-card", ({ id, columnId }) => { + console.log({ id, columnId }); +}); +~~~ diff --git a/docs/api/internal/set-next.md b/docs/api/internal/set-next.md new file mode 100644 index 0000000..7290c94 --- /dev/null +++ b/docs/api/internal/set-next.md @@ -0,0 +1,41 @@ +--- +sidebar_label: api.setNext() +title: setNext Method +description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# api.setNext() + +### Description + +@short: Allows adding some action into the Event Bus order + +### Usage + +~~~jsx {} +api.setNext(next: any): void; +~~~ + +### Parameters + +- `next` - (required) the action to be included into the **Event Bus** order + +### Example + +~~~jsx {15} +const url = "https://some_backend_url"; +const restProvider = new richtext.RestDataProvider(url); + +Promise.all([ + ... +]).then(([cards, columns, rows]) => { + const editor = new richtext.Richtext("#root", { + ... + }); + editor.api.setNext(restProvider); +}); +~~~ + +:::info +You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server +::: diff --git a/docs/api/methods.md b/docs/api/methods.md index ba3ea1e..fbc424b 100644 --- a/docs/api/methods.md +++ b/docs/api/methods.md @@ -54,7 +54,7 @@ Returns an object with editor API methods ```js -var EditorAPI = richtext.getEditorAPI(); +const EditorAPI = richtext.getEditorAPI(); ``` #### Details @@ -85,7 +85,7 @@ Returns statistics about the entered content ```js -var chars = richtext.getStats(); +const chars = richtext.getStats(); // -> {chars: 467, words: 80, charsExlSpace: 393} ``` @@ -102,7 +102,7 @@ You can get each field of statistical data separately, as it's described below. To return the count of characters typed into the editor, use the `chars` property of the `getStats()` method. ```js -var chars = richtext.getStats().chars; +const chars = richtext.getStats().chars; ``` **Words** @@ -110,7 +110,7 @@ var chars = richtext.getStats().chars; To return the count of words typed into the editor, use the `words` property of the `getStats()` method. ```js -var words = richtext.getStats().words; +const words = richtext.getStats().words; ``` **Characters without spaces** @@ -118,7 +118,7 @@ var words = richtext.getStats().words; To return the count of characters typed into the editor excluding the number of spaces, use the `charsExlSpace` property of the `getStats()` method. ```js -var chars = richtext.getStats().charsExlSpace; +const chars = richtext.getStats().charsExlSpace; ``` ### Getting custom statistics @@ -126,7 +126,7 @@ var chars = richtext.getStats().charsExlSpace; It is also possible to return a value of the custom statistical parameter set via the `customStats` configuration option, e.g. the number of sentences. For that, use the name of the custom property as a property of the `getStats()` method: ```js -var richtext = new dhx.Richtext("rich", { +const editor = new richtext.Richtext("rich", { customStats: [ { name: "chars" @@ -137,9 +137,9 @@ var richtext = new dhx.Richtext("rich", { { name: "sentences", cb: function(text) { - var rawSentences = text.split(/[.?!]+/); - var count = 0; - for (var i=0; i 0) { count += 1; } @@ -152,7 +152,7 @@ var richtext = new dhx.Richtext("rich", { }); // return the number of sentences typed into the editor -var sentences = richtext.getStats().sentences; +const sentences = richtext.getStats().sentences; ``` ___ @@ -178,7 +178,7 @@ Returns the content of the RichText editor in the chosen format ```js // getting content in the markdown format -var content = richtext.getValue("markdown"); +const content = richtext.getValue("markdown"); ``` **Related samples:** [Get Value](https://snippet.dhtmlx.com/ujx3c71j) @@ -208,7 +208,7 @@ Adds content into the RichText editor | `mode` | `string` | optional, the format of text parsing: `"html"` or `"markdown"` | ```js -var htmlText = `

Meet DHTMLX Rich Text Editor!

` + +const htmlText = `

Meet DHTMLX Rich Text Editor!

` + `

This demo will show you a customizable JavaScript rich text editor.

` + `

To learn more, read documentation

.` @@ -223,7 +223,7 @@ richtext.setValue(htmlText); An example of adding Markdown content is given below: ```js -var mdText = `# Meet DHTMLX Rich Text Editor! +const mdText = `# Meet DHTMLX Rich Text Editor! This demo will show you a customizable **JavaScript rich text editor**. diff --git a/docs/api/methods/get-uploader.md b/docs/api/methods/get-uploader.md new file mode 100644 index 0000000..9f37a97 --- /dev/null +++ b/docs/api/methods/get-uploader.md @@ -0,0 +1,41 @@ +--- +sidebar_label: getUploader() +title: setNext Method +description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# getUploader() + +### Description + +@short: ... + +### Usage + +~~~jsx {} +getUploader(next: any): void; +~~~ + +### Parameters + +- `next` - (required) the action to be included into the **Event Bus** order + +### Example + +~~~jsx {15} +const url = "https://some_backend_url"; +const restProvider = new richtext.RestDataProvider(url); + +Promise.all([ + ... +]).then(([cards, columns, rows]) => { + const editor = new richtext.Richtext("#root", { + ... + }); + editor.getUploader(restProvider); +}); +~~~ + +:::info +You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server +::: diff --git a/docs/api/methods/get-value.md b/docs/api/methods/get-value.md new file mode 100644 index 0000000..879a25f --- /dev/null +++ b/docs/api/methods/get-value.md @@ -0,0 +1,41 @@ +--- +sidebar_label: getValue() +title: setNext Method +description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# getValue() + +### Description + +@short: ... + +### Usage + +~~~jsx {} +getValue(next: any): void; +~~~ + +### Parameters + +- `next` - (required) the action to be included into the **Event Bus** order + +### Example + +~~~jsx {15} +const url = "https://some_backend_url"; +const restProvider = new richtext.RestDataProvider(url); + +Promise.all([ + ... +]).then(([cards, columns, rows]) => { + const editor = new richtext.Richtext("#root", { + ... + }); + editor.getValue(restProvider); +}); +~~~ + +:::info +You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server +::: diff --git a/docs/api/methods/set-config.md b/docs/api/methods/set-config.md new file mode 100644 index 0000000..f37eb32 --- /dev/null +++ b/docs/api/methods/set-config.md @@ -0,0 +1,41 @@ +--- +sidebar_label: setConfig() +title: setNext Method +description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# setConfig() + +### Description + +@short: ... + +### Usage + +~~~jsx {} +setConfig(next: any): void; +~~~ + +### Parameters + +- `next` - (required) the action to be included into the **Event Bus** order + +### Example + +~~~jsx {15} +const url = "https://some_backend_url"; +const restProvider = new richtext.RestDataProvider(url); + +Promise.all([ + ... +]).then(([cards, columns, rows]) => { + const editor = new richtext.Richtext("#root", { + ... + }); + editor.setConfig(restProvider); +}); +~~~ + +:::info +You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server +::: diff --git a/docs/api/methods/set-value.md b/docs/api/methods/set-value.md new file mode 100644 index 0000000..6a35da1 --- /dev/null +++ b/docs/api/methods/set-value.md @@ -0,0 +1,41 @@ +--- +sidebar_label: setValue() +title: setNext Method +description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# setValue() + +### Description + +@short: ... + +### Usage + +~~~jsx {} +setValue(next: any): void; +~~~ + +### Parameters + +- `next` - (required) the action to be included into the **Event Bus** order + +### Example + +~~~jsx {15} +const url = "https://some_backend_url"; +const restProvider = new richtext.RestDataProvider(url); + +Promise.all([ + ... +]).then(([cards, columns, rows]) => { + const editor = new richtext.Richtext("#root", { + ... + }); + editor.setValue(restProvider); +}); +~~~ + +:::info +You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server +::: diff --git a/docs/api/overview.md b/docs/api/overview.md index 6f011ca..719b41b 100644 --- a/docs/api/overview.md +++ b/docs/api/overview.md @@ -7,7 +7,7 @@ description: Become familiar with a range of objects, methods, and events availa ### Constructor ~~~js -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { mode:"document" }); ~~~ @@ -58,7 +58,7 @@ var richtext = new dhx.Richtext("richtext_container", { ### Editor API methods ```js -var EditorAPI = richtext.getEditorAPI(); +const EditorAPI = richtext.getEditorAPI(); ``` | Name | Description | diff --git a/docs/api/properties.md b/docs/api/properties.md index 7b3d3f5..bc89592 100644 --- a/docs/api/properties.md +++ b/docs/api/properties.md @@ -11,7 +11,7 @@ Defines the logic of displaying custom statistics `customStats?: array;` ~~~jsx -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { customStats: [ { name: "chars" @@ -22,9 +22,9 @@ var richtext = new dhx.Richtext("richtext_container", { { name: "sentences", cb: function(text) { - var rawSentences = text.split(/[.?!]+/); - var count = 0; - for (var i=0; i 0) { count += 1; } @@ -55,7 +55,7 @@ Defines default values of the Toolbar selection controls `defaultStyles?: object;` ~~~jsx {2-5} -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { defaultStyles: { "font-size": "14px" "font-family": "Tahoma" @@ -66,7 +66,7 @@ var richtext = new dhx.Richtext("richtext_container", { **Default value**: ~~~jsx -var defaultStyles = { +const defaultStyles = { "font-family": "Roboto", "font-size": "14px", "color": "#4D4D4D", @@ -91,7 +91,7 @@ The working mode of the RichText editor **Values**: "default", "document" ~~~jsx -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { mode: "document" }); ~~~ @@ -110,7 +110,7 @@ Specifies blocks of buttons that will be shown in the RichText toolbar ~~~jsx // default Toolbar blocks -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { toolbarBlocks: ["undo", "style", "decoration", "colors", "align", "link"] }); ~~~ @@ -126,7 +126,7 @@ var richtext = new dhx.Richtext("richtext_container", { The full Toolbar contains several more blocks: `"clear"`, `"fullscreen"`, and `"stats"`: ~~~jsx -var richtext = new dhx.Richtext(document.body, { +const editor = new richtext.Richtext("#root", { // full toolbar toolbarBlocks: [ "undo", "style", "decoration", "colors", "align", @@ -142,7 +142,7 @@ var richtext = new dhx.Richtext(document.body, { The default set of buttons can be specified via the `"default"` definition in the `toolbarBlocks` array, like this: ~~~jsx -var richtext = new dhx.Richtext(document.body, { +const editor = new richtext.Richtext("#root", { // full toolbar toolbarBlocks: ["default", "clear", "stats", "fullscreen"] }); @@ -153,7 +153,7 @@ var richtext = new dhx.Richtext(document.body, { It is also possible to create a custom Toolbar by setting desired blocks in the random order: ~~~jsx -var richtext = new dhx.Richtext(document.body, { +const editor = new richtext.Richtext("#root", { toolbarBlocks: ["clear", "colors", "align", "decoration", "undo", "fullscreen", "link" ] diff --git a/docs/api/toolbar_methods.md b/docs/api/toolbar_methods.md index 9caf95a..f3ca858 100644 --- a/docs/api/toolbar_methods.md +++ b/docs/api/toolbar_methods.md @@ -60,16 +60,16 @@ Updates configuration options of the control ```js -var icons = [ +const icons = [ ["bold", "fas fa-bold"], ["underline", "fas fa-underline"], ["italic", "fas fa-italic"], ["strike", "fas fa-strikethrough"] ]; -for (var i=0; i 0) { count += 1; } diff --git a/docs/guides/customization.md b/docs/guides/customization.md index a5776d6..3c5f022 100644 --- a/docs/guides/customization.md +++ b/docs/guides/customization.md @@ -15,8 +15,8 @@ DHTMLX RichText uses the [Material Design](https://pictogrammers.com/library/mdi For example, you can use the [Font Awesome](https://fontawesome.com/) icon pack by including [link to its CDN](https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css) after the source files of DHTMLX RichText as follows: ~~~html - - + + How to Start with DHTMLX RichText - - + + -
+
@@ -36,14 +36,14 @@ The current article will guide you through simple steps you need to take in orde To create dhtmlxRichText, you need to include 2 source files on your page: -- ***richtext.js*** -- ***richtext.css*** +- *richtext.js* +- *richtext.css* Make sure that you set correct relative paths to these files: ~~~html title="index.html" - - + + ~~~ The structure of the RichText package is the following: @@ -54,22 +54,22 @@ The structure of the RichText package is the following: ## Creating container -Add a container for RichText and give it an id, for example "richtext_container": +Add a container for RichText and give it an id, for example "root": ~~~html title="index.html" -
+
~~~ ## Initializing RichText -Initialize RichText with the `dhx.Richtext` object constructor. The constructor has two parameters: +Initialize RichText with the `richtext.Richtext` object constructor. The constructor has two parameters: - the HTML container for RichText. The one we have created at the previous step. - an object with configuration properties. [See the full list below](#configuration-properties). ~~~jsx title="index.html" // creating RichText -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { // configuration properties }); ~~~ @@ -85,7 +85,7 @@ This is a list of properties that you can specify in the RichText configuration You can set configuration properties during initialization as the second parameter of the constructor: ~~~jsx -var richtext = new dhx.Richtext("richtext_container", { +const editor = new richtext.Richtext("#root", { mode:"document" }); ~~~ diff --git a/docs/guides/loading_data.md b/docs/guides/loading_data.md index 6b61bbf..4d5105b 100644 --- a/docs/guides/loading_data.md +++ b/docs/guides/loading_data.md @@ -40,7 +40,7 @@ Below you can find examples of loading text in both available formats: - adding HTML content ~~~jsx -var htmlText = `

Meet DHTMLX Rich Text Editor!

` + +const htmlText = `

Meet DHTMLX Rich Text Editor!

` + `

This demo will show you a customizable JavaScript rich text editor.

` + `

Read more indocumentation

.` @@ -56,7 +56,7 @@ Note, that for a text in the Markdown format you need to define paragraphs by em ::: ~~~jsx -var mdText = `# Meet DHTMLX Rich Text Editor! +const mdText = `# Meet DHTMLX Rich Text Editor! This demo will show you a customizable **JavaScript rich text editor**. diff --git a/docs/guides/localization.md b/docs/guides/localization.md index a79af1a..d726bc6 100644 --- a/docs/guides/localization.md +++ b/docs/guides/localization.md @@ -15,7 +15,7 @@ You have a possibility to present the interface of the RichText editor in any la The default English locale looks like this: ~~~jsx -var en = { +const en = { apply: "Apply", undo: "Undo", redo: "Redo", @@ -60,7 +60,7 @@ To use a different locale, your steps should be: - provide translation for all text labels in RichText, e.g. take a look at the German locale: ~~~jsx -var de = { +const de = { apply: "Anwenden", undo: "Rückgängig machen", redo: "Wiederholen", @@ -98,11 +98,11 @@ var de = { }; ~~~ -- apply the new locale by calling the `dhx.i18n.setLocale()` method before initializing RichText: +- apply the new locale by calling the `richtext.i18n.setLocale()` method before initializing RichText: ~~~jsx -dhx.i18n.setLocale("richtext", de); -var richtext = new dhx.Richtext("richtext_container"); +richtext.i18n.setLocale("richtext", de); +const editor = new richtext.Richtext("#root"); ~~~ **Related sample:** [Localization](https://snippet.dhtmlx.com/vhvl57zj) diff --git a/docs/guides/working_with_richtext.md b/docs/guides/working_with_richtext.md index 8eb2aa4..9211a24 100644 --- a/docs/guides/working_with_richtext.md +++ b/docs/guides/working_with_richtext.md @@ -18,7 +18,7 @@ To save the edited text, make use of the [getValue()](api/methods.md#getvalue) m ~~~jsx // getting content in the Markdown format -var content = richtext.getValue("markdown"); +const content = richtext.getValue("markdown"); ~~~ **Related sample:** [Get Value](https://snippet.dhtmlx.com/ujx3c71j) @@ -36,7 +36,7 @@ RichText editor allows you to show statistics about the edited text. There is th You can provide users with information about the number of characters, words and characters excluding spaces with the help of the [getStats()](api/methods.md#getstats) method. ~~~js -var stats = richtext.getStats(); +const stats = richtext.getStats(); ~~~ The method returns an object with available statistical data about the text edited in the RichText editor. For example: @@ -54,7 +54,7 @@ You can also get each field of statistical data separately, as it described belo To return the count of characters typed into the editor, use the `chars` property of the `getStats()` method: ~~~js -var chars = richtext.getStats().chars; +const chars = richtext.getStats().chars; ~~~ #### Words @@ -62,7 +62,7 @@ var chars = richtext.getStats().chars; To return the count of words typed into the editor, use the `words` property of the `getStats()` method: ~~~js -var words = richtext.getStats().words; +const words = richtext.getStats().words; ~~~ #### Characters without spaces @@ -70,7 +70,7 @@ var words = richtext.getStats().words; To return the count of characters typed into the editor excluding the number of spaces, use the `charsExlSpace` property of the `getStats()` method: ~~~js -var chars = richtext.getStats().charsExlSpace; +const chars = richtext.getStats().charsExlSpace; ~~~ #### Custom statistics @@ -78,7 +78,7 @@ var chars = richtext.getStats().charsExlSpace; It is also possible to return a value of the custom statistical parameter set via the [customStats](api/properties.md#customstats) configuration option, e.g. the number of sentences. For that, use the name of the custom property as a property of the `getStats()` method: ```js -var richtext = new dhx.Richtext("rich", { +const editor = new richtext.Richtext("rich", { customStats: [ { name: "chars" @@ -89,9 +89,9 @@ var richtext = new dhx.Richtext("rich", { { name: "sentences", cb: function(text) { - var rawSentences = text.split(/[.?!]+/); - var count = 0; - for (var i=0; i 0) { count += 1; } @@ -104,7 +104,7 @@ var richtext = new dhx.Richtext("rich", { }); // return the number of sentences typed into the editor -var sentences = richtext.getStats().sentences; +const sentences = richtext.getStats().sentences; ``` ### How to display statistics @@ -145,7 +145,7 @@ The editor of RichText contains a set of methods that make it easy to work with It returns an object with all available methods. ~~~js -var EditorAPI = richtext.getEditorAPI(); +const EditorAPI = richtext.getEditorAPI(); ~~~ The list of methods included into the object returned by the `getEditorAPI()` method is the following: diff --git a/docs/how_to_start.md b/docs/how_to_start.md index 8ef8c52..45d407b 100644 --- a/docs/how_to_start.md +++ b/docs/how_to_start.md @@ -25,8 +25,8 @@ You need to include the following two files: How to Start with DHTMLX RichText - - + + - + + -
+
@@ -62,16 +78,16 @@ At this step you can add RichText on a page. There are two easy steps: ~~~ -## Step 3. Configure RichText +## Step 3. Configuring RichText -Now it's time to define configuration propertiew to make the RichText meet you needs. +Now it's time to define configuration properties to make the RichText meet you needs. RichText includes several properties that let you adjust the Toolbar appearance and behavior as well as choose the most suitable mode of work with a document. [Learn all the available settings](api/properties.md). For example, you can specify the **"document"** mode of RichText displaying: ~~~jsx -var rich = new dhx.Richtext("richtext_container", { +const rich = new richtext.Richtext("#root", { mode: "document" }); ~~~ diff --git a/docs/overview.md b/docs/index.md similarity index 88% rename from docs/overview.md rename to docs/index.md index a874e89..20d4f11 100644 --- a/docs/overview.md +++ b/docs/index.md @@ -19,10 +19,14 @@ The Toolbar of RichText is [easily configurable](guides/configuration.md#toolbar - default Toolbar - full Toolbar +### Default Toolbar + The **default Toolbar** includes 6 blocks of controls. They are: "undo", "style", "decoration", "colors", "align" and "link": ![Default Toolbar](./assets/default_toolbar.png) +### Full Toolbar + The **full Toolbar** includes all the default blocks and additional "clear", "stats" and "fullscreen" blocks: ![Full Toolbar](./assets/full_toolbar.png) @@ -54,11 +58,3 @@ The RichText editor supports [parsing](guides/loading_data.md#adding-content-int - Markdown format ![Markdown format](./assets/markdown_format.png) - -## Integration - -RichText can be integrated with other JavaScript frameworks. There are related guides and demos available for: - -- [Integration with Angular](guides/angular_integration.md) -- [Integration with React](guides/react_integration.md) -- [Integration with Vue.js](guides/vuejs_integration.md) diff --git a/docusaurus.config.js b/docusaurus.config.js index 8a90ae3..1d90c4a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -2,14 +2,14 @@ const path = require('path'); const fs = require('fs'); const AT_NOTATION_KEYS = { - short: 'Short', - type: 'Type', - descr: 'Descr', - changelog: 'Changelog', - signature: 'Signature', - params: 'Params', - returns: 'Returns', - values: 'Values' + short: 'Short', + type: 'Type', + descr: 'Descr', + changelog: 'Changelog', + signature: 'Signature', + params: 'Params', + returns: 'Returns', + values: 'Values' }; const COMPONENTS_PATH = '@site/src/components'; @@ -18,113 +18,117 @@ let components = { Disqus: "Disqus" }; let metaDescription = ''; const wrapDataWithComponent = (data, componentName) => { - return componentName ? `\n<${componentName}>\n${data}\n\n\n\n` : data; + return componentName ? `\n<${componentName}>\n${data}\n\n\n\n` : data; } const onAtNotationMatch = (data, { key }) => { - const componentName = AT_NOTATION_KEYS[key]; - if (componentName) { - components[componentName] = componentName; - } + const componentName = AT_NOTATION_KEYS[key]; + if (componentName) { + components[componentName] = componentName; + } - switch(key) { - case 'default': - return `Default value: ${data}`; - case 'example': - return `**Example**\n~~~js\n${data.replace(/^(?:\n*)([^]+?)(?:\n*)$/g, '$1')}\n~~~`; - case 'metadescr': - metaDescription = data.replace(/^(?:\n*)(.+)(?:\n|.)*/, '$1'); - return ''; - // TODO: remove later - case 'relatedsample': - return data; - default: - return componentName - ? wrapDataWithComponent(data, componentName) - : data; - } + switch(key) { + case 'default': + return `Default value: ${data}`; + case 'example': + return `**Example**\n~~~js\n${data.replace(/^(?:\n*)([^]+?)(?:\n*)$/g, '$1')}\n~~~`; + case 'metadescr': + metaDescription = data.replace(/^(?:\n*)(.+)(?:\n|.)*/, '$1'); + return ''; + // TODO: remove later + case 'relatedsample': + return data; + default: + return componentName + ? wrapDataWithComponent(data, componentName) + : data; + } }; const onAtNotationFunctionMatch = (data, { key, fullMatch, dir }) => { - if (data.indexOf('.md') !== -1 || data.indexOf('.mdx') !== -1 || data.indexOf('.') === -1) { - const result = readFile(dir, data); - return result ? /@short: (.*)/g.exec(result)[1] : fullMatch; - } - return fullMatch; + if (data.indexOf('.md') !== -1 || data.indexOf('.mdx') !== -1 || data.indexOf('.') === -1) { + const result = readFile(dir, data); + return result ? /@short: (.*)/g.exec(result)[1] : fullMatch; + } + return fullMatch; } const onBraceNotationMatch = (data, { key, fullMatch }) => { - switch(key) { - case 'note': - return `:::note\n${data}\n:::`; - case 'pronote': - return `:::tip Pro version only\n${data}\n:::`; - case 'editor': - return data; - default: - return fullMatch; - } + switch(key) { + case 'note': + return `:::note\n${data}\n:::`; + case 'pronote': + return `:::tip Pro version only\n${data}\n:::`; + case 'editor': + return data; + default: + return fullMatch; + } }; const readFile = (workingDir, filePath) => { - workingDir = workingDir.replace(/\\/g, '/'); - filePath = filePath.replace(/\\/g, '/'); - let finalPath = workingDir + '/' + filePath; + workingDir = workingDir.replace(/\\/g, '/'); + filePath = filePath.replace(/\\/g, '/'); + let finalPath = workingDir + '/' + filePath; - if (finalPath.indexOf('.') === -1) { - finalPath += !fs.existsSync(finalPath + '.md') ? '.mdx' : '.md'; - } + if (finalPath.indexOf('.') === -1) { + finalPath += !fs.existsSync(finalPath + '.md') ? '.mdx' : '.md'; + } - if (!fs.existsSync(finalPath)) { - const clippedFilePath = filePath.split('/'); - clippedFilePath.shift(); - if (!clippedFilePath.length) { - return false; - } - return readFile(workingDir, clippedFilePath.join('/')); - } + if (!fs.existsSync(finalPath)) { + const clippedFilePath = filePath.split('/'); + clippedFilePath.shift(); + if (!clippedFilePath.length) { + return false; + } + return readFile(workingDir, clippedFilePath.join('/')); + } - return fs.readFileSync(path.normalize(finalPath), 'utf8'); + return fs.readFileSync(path.normalize(finalPath), 'utf8'); }; const onEmptyLinkMatch = (data, { key, fullMatch, dir }) => { - const filePath = fullMatch.substring(fullMatch.indexOf('(') + 1, fullMatch.length - 1); - if (filePath.indexOf('.md') !== -1 || filePath.indexOf('.mdx') !== -1 || filePath.indexOf('.') === -1) { - const data = readFile(dir, filePath); - return data ? `[${/.*sidebar_label: (.+)/g.exec(data)[1]}]${fullMatch.match(/\(\D+\)/g)[0]}` : fullMatch; - } - return fullMatch; + const filePath = fullMatch.substring(fullMatch.indexOf('(') + 1, fullMatch.length - 1); + if (filePath.indexOf('.md') !== -1 || filePath.indexOf('.mdx') !== -1 || filePath.indexOf('.') === -1) { + const data = readFile(dir, filePath); + return data ? `[${/.*sidebar_label: (.+)/g.exec(data)[1]}]${fullMatch.match(/\(\D+\)/g)[0]}` : fullMatch; + } + return fullMatch; }; const onAfterDataTransformation = (data) => { - const allAvailableComponents = Object.values(components); - let transformedData = data; + const allAvailableComponents = Object.values(components); + let transformedData = data; - if (allAvailableComponents.length !== 0) { - const imports = `import { ${allAvailableComponents.join(', ')} } from '${COMPONENTS_PATH}';\n\n`; - const isTitles = /---((?:\r?\n|\r)|.)+?---/.test(transformedData); - transformedData = isTitles - ? (transformedData.replace(/^(---((?:\s*\n)|.)+?---)/, `$1\n\n${imports}`) + "\n\n") - : imports + transformedData; - } + if (allAvailableComponents.length !== 0) { + const imports = `import { ${allAvailableComponents.join(', ')} } from '${COMPONENTS_PATH}';\n\n`; + const isTitles = /---((?:\r?\n|\r)|.)+?---/.test(transformedData); + transformedData = isTitles + ? (transformedData.replace(/^(---((?:\s*\n)|.)+?---)/, `$1\n\n${imports}`) + "\n\n") + : imports + transformedData; + } - if (metaDescription) { - transformedData = transformedData.replace(/^(---\s*\n)((?:\n|.)+?)(---\s*?\n*)/, (fullMatch, groupA, groupB, groupC) => { - const isDocusaurusDescriptionExist = /^description: *.*\n/m.test(fullMatch); - if (!isDocusaurusDescriptionExist) { - return `${groupA}description: ${metaDescription}\n${groupB}${groupC}`; - } - return fullMatch; - }); - } + if (metaDescription) { + transformedData = transformedData.replace(/^(---\s*\n)((?:\n|.)+?)(---\s*?\n*)/, (fullMatch, groupA, groupB, groupC) => { + const isDocusaurusDescriptionExist = /^description: *.*\n/m.test(fullMatch); + if (!isDocusaurusDescriptionExist) { + return `${groupA}description: ${metaDescription}\n${groupB}${groupC}`; + } + return fullMatch; + }); + } - components = { Disqus: "Disqus" }; - metaDescription = ''; + components = { Disqus: "Disqus" }; + metaDescription = ''; - return transformedData; + return transformedData; }; -module.exports = { +/* !!! */ + +/** @type {import('@docusaurus/types').Config} */ +const config = { + noIndex: false, title: 'DHTMLX RichText Documentation', tagline: 'DHTMLX RichText Documentation', url: 'https://docs.dhtmlx.com', @@ -136,28 +140,82 @@ module.exports = { organizationName: 'DHTMLX', projectName: 'docs-richtext', trailingSlash: true, - themeConfig: { + + /* + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + sidebarPath: require.resolve('./sidebars.js'), + // Please change this to your repo. + editUrl: 'https://github.com/DHTMLX/docs-richtext/edit/master/', + routeBasePath: '/', + }, + theme: { + customCss: require.resolve('./src/css/custom.css') + } + } + ] + ], + */ + scripts:[ + { + src: 'https://dhtmlx.com/gtag/docs.js', + async: true + } + ], + stylesheets: [ + { href:'https://cdn.jsdelivr.net/gh/orestbida/cookieconsent@3.0.1/dist/cookieconsent.css' }, + ], + + presets: [ + [ + '@docusaurus/preset-classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: require.resolve('./sidebars.js'), + editUrl: 'https://github.com/DHTMLX/docs-richtext/edit/master/', + routeBasePath: '/' + }, + theme: { + customCss: require.resolve('./src/css/custom.css') + }, + sitemap: { + changefreq: 'daily', + priority: 0.5 + } + }) + ] + ], + plugins:[ + 'docusaurus-plugin-sass', + [ + path.resolve(__dirname, './plugins/dhx-md-data-transformer-plugin'), + { + onBraceNotationMatch, + onAtNotationMatch, + onAtNotationFunctionMatch, + onEmptyLinkMatch, + onAfterDataTransformation + } + ] + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ algolia: { // This is a read-only, search-only key served directly by the front-end, managed by Algolia via their // free DocSearch program. The key is not sensitive. See https://docsearch.algolia.com/ for more details. appId: 'PJG180YLDH', apiKey: '83de34cb4df8e71e814b989e48259185', indexName: 'richtext', - - // Optional: see doc section bellow contextualSearch: true, - - // Optional: Algolia search parameters - searchParameters: {}, - - //... other Algolia params - }, - prism: { - //theme: require('prism-react-renderer/themes/github'), - //darkTheme: require('prism-react-renderer/themes/dracula'), }, navbar: { - title: 'RichText Documentation', + title: 'JavaScript RichText Documentation', logo: { alt: 'DHTMLX RichText Documentation', src: 'img/dhtmlx_logo.svg', @@ -187,11 +245,11 @@ module.exports = { ] }, footer: { - style: 'dark', - links: [ + "style": "dark", + "links": [ { - title: 'Development center', - items: [ + "title": "Development center", + "items": [ { label: 'Download RichText', href: 'https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml', @@ -214,8 +272,8 @@ module.exports = { ] }, { - title: 'Community', - items: [ + "title": "Community", + "items": [ { label: 'GitHub', href: 'https://github.com/DHTMLX' @@ -239,8 +297,8 @@ module.exports = { ] }, { - title: 'Company', - items: [ + "title": "Company", + "items": [ { label: 'About us', href: 'https://dhtmlx.com/docs/company.shtml' @@ -257,40 +315,7 @@ module.exports = { } ] } - }, - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - sidebarPath: require.resolve('./sidebars.js'), - // Please change this to your repo. - editUrl: 'https://github.com/DHTMLX/docs-richtext/edit/master/', - routeBasePath: '/', - }, - theme: { - customCss: require.resolve('./src/css/custom.css') - } - } - ] - ], - plugins:[ - 'docusaurus-plugin-sass', - [ - path.resolve(__dirname, './plugins/dhx-md-data-transformer-plugin'), - { - onBraceNotationMatch, - onAtNotationMatch, - onAtNotationFunctionMatch, - onEmptyLinkMatch, - onAfterDataTransformation - } - ], - [ - require.resolve('docusaurus-gtm-plugin'), - { - id: 'GTM-5M5RCSJ' - } - ] - ] + }) }; + +module.exports = config; diff --git a/package.json b/package.json index 4a5dc3b..3053320 100644 --- a/package.json +++ b/package.json @@ -8,22 +8,36 @@ "build": "docusaurus build", "swizzle": "docusaurus swizzle", "deploy": "docusaurus deploy", - "serve": "docusaurus serve" + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { "@docusaurus/core": "^3.7.0", "@docusaurus/preset-classic": "^3.7.0", "@mdx-js/react": "^3.0.0", + "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", - "docusaurus-gtm-plugin": "^0.0.2", + "file-loader": "^6.2.0", "prism-react-renderer": "^2.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "sass": "^1.70.0" + "sass": "^1.70.0", + "url-loader": "^4.1.1" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "^3.7.0", + "@docusaurus/types": "^3.7.0", + "dhx-md-data-parser": "file:local_modules/dhx-md-data-parser", + "docusaurus-plugin-sass": "^0.2.5" + }, + "engines": { + "node": ">=18.0" }, "browserslist": { "production": [ - ">0.2%", + ">0.5%", "not dead", "not op_mini all" ], @@ -32,12 +46,5 @@ "last 1 firefox version", "last 1 safari version" ] - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "^3.7.0", - "@docusaurus/types": "^3.7.0", - "dhx-md-data-parser": "file:local_modules/dhx-md-data-parser", - "docusaurus-plugin-sass": "^0.2.5", - "webpack-cli": "^4.4.0" } } diff --git a/sidebars.js b/sidebars.js index 93004e2..89a45ac 100644 --- a/sidebars.js +++ b/sidebars.js @@ -2,7 +2,7 @@ module.exports = { docs: [ { type: "doc", - id: "overview", + id: "index", }, { type: "doc", @@ -12,6 +12,157 @@ module.exports = { type: "doc", id: "whats_new", }, + { + type: "category", + label: "API", + collapsible: true, + collapsed: false, + link: { + type: "generated-index", + title: "RichText API", + keywords: ['api', 'methods', 'properties', 'events'], + image: "/img/docusaurus.png" + }, + items: [ + // JS RichText methods + { + type: "category", + label: "RichText methods", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: "RichText methods", + keywords: ['methods'], + image: "/img/docusaurus.png" + }, + items: [ + // A + "api/methods/get-uploader", + "api/methods/get-value", + "api/methods/set-config", + "api/methods/set-value" + ] + }, + // JS RichText internal methods + { + type: "category", + label: "RichText internal API", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: 'Internal API overview', + keywords: ['internal api'], + image: "/img/docusaurus.png" + }, + items: [ + { + type: "category", + label: "Event Bus methods", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: 'Event Bus methods', + keywords: ['internal api'], + image: "/img/docusaurus.png" + }, + items: [ + "api/internal/detach", + "api/internal/exec", + "api/internal/intercept", + "api/internal/on", + "api/internal/set-next" + ] + }, + { + type: "category", + label: "State methods", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: 'State methods', + keywords: ['internal api'], + image: "/img/docusaurus.png" + }, + items: [ + "api/internal/get-reactive-state", + "api/internal/get-state" + ] + } + ] + }, + { + type: "category", + label: "RichText events", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: 'RichText events', + keywords: ['internal api'], + image: "/img/docusaurus.png" + }, + items: [ + "api/events/align", + "api/events/clear-text-format", + "api/events/copy", + "api/events/create-new", + "api/events/cut", + "api/events/delete-link", + "api/events/indent", + "api/events/insert-image", + "api/events/insert-line", + "api/events/insert-link", + "api/events/insert-list", + "api/events/outdent", + "api/events/paste", + "api/events/print", + "api/events/redo", + "api/events/resize-image", + "api/events/set-font-family", + "api/events/set-font-size", + "api/events/set-layout-mode", + "api/events/set-line-height", + "api/events/set-text-color", + "api/events/set-text-format", + "api/events/set-text-style", + "api/events/set-value", + "api/events/subscript", + "api/events/superscript", + "api/events/toggle-fullscreen", + "api/events/undo", + "api/events/update-link" + ] + }, + { + type: "category", + label: "RichText properties", + collapsible: true, + collapsed: true, + link: { + type: "generated-index", + title: "RichText properties", + keywords: ['properties'], + image: "/img/docusaurus.png" + }, + items: [ + // JS RichText + // C + "api/config/default-styles", + "api/config/fullscreen", + "api/config/image-upload-url", + "api/config/layout-mode", + "api/config/menubar", + "api/config/toolbar", + "api/config/value" + ] + } + ] + }, + /* { type: "category", label: "API", @@ -30,6 +181,7 @@ module.exports = { "api/toolbar_controls", ], }, + */ { type: "category", label: "Guides", @@ -37,8 +189,6 @@ module.exports = { link: { type: 'generated-index', title: 'Guides', - //description: '', - //slug: '/category/docusaurus-guides', keywords: ['guides'], image: '/img/docusaurus.png', }, @@ -50,10 +200,10 @@ module.exports = { "guides/working_with_richtext", "guides/customization", "guides/event_handling", - "guides/angular_integration", - "guides/react_integration", - "guides/vuejs_integration", - ], - }, - ], + //"guides/angular_integration", + //"guides/react_integration", + //"guides/vuejs_integration" + ] + } + ] } \ No newline at end of file diff --git a/src/components/Disqus/styles.module.scss b/src/components/Disqus/styles.module.scss index f054b61..83acc20 100644 --- a/src/components/Disqus/styles.module.scss +++ b/src/components/Disqus/styles.module.scss @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -.disqusThread { + .disqusThread { padding: 0 40px; margin-top: 50px; } diff --git a/src/components/Short/index.jsx b/src/components/Short/index.jsx new file mode 100644 index 0000000..3436ad8 --- /dev/null +++ b/src/components/Short/index.jsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import cssstyles from './styles.module.scss'; + +const Short = ({ children }) => { + + if(typeof children === "string"){ + return ( +

{children}

+ ); + }else{ + const [first, ...rest] = children; + return ( +
+

{first}

+

{rest}

+
+ ); + } +}; + +export default Short; \ No newline at end of file diff --git a/src/components/Short/styles.module.scss b/src/components/Short/styles.module.scss new file mode 100644 index 0000000..7781bc9 --- /dev/null +++ b/src/components/Short/styles.module.scss @@ -0,0 +1,3 @@ +.short:first-letter { + text-transform: capitalize; +} diff --git a/src/components/index.js b/src/components/index.js index 87a2538..4b010ec 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,5 +1,7 @@ import Disqus from "./Disqus"; +import Short from "./Short"; export { - Disqus + Disqus, + Short }; diff --git a/src/css/custom.css b/src/css/custom.css index b2ec5d8..e42c099 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -11,192 +11,166 @@ /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #0288D1; - --ifm-color-primary-dark: rgb(33, 175, 144); - --ifm-color-primary-darker: rgb(31, 165, 136); - --ifm-color-primary-darkest: rgb(26, 136, 112); - --ifm-color-primary-light: rgb(70, 203, 174); - --ifm-color-primary-lighter: rgb(102, 212, 189); - --ifm-color-primary-lightest: rgb(146, 224, 208); - --ifm-code-font-size: 95%; - --ifm-color-feedback-background: #fff; - --dhx-color-brand: #2095F3; - --ifm-hr-border-color: var(--ifm-color-emphasis-200); - --ifm-list-item-margin: 0.7rem; - } - - /* deprecated from v3.1 - html[data-theme=dark] { - --ifm-color-primary: #26adf7; - } - - .docusaurus-highlight-code-line { - background-color: rgb(210, 213, 214); - display: block; - margin: 0 calc(-1 * var(--ifm-pre-padding)); - padding: 0 var(--ifm-pre-padding); - } - */ - - /* If you have a different syntax highlighting theme for dark mode. */ - /* deprecated from v3.1 - html[data-theme='dark'] .docusaurus-highlight-code-line { - background-color: rgb(122, 124, 126); - Color which works with dark mode syntax highlighting theme - } - */ - - /* typography */ - - /* h1 */ - - .docTitle_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem- { - font-size: 2rem!important; - } - - .markdown > h1 { - font-size: 3rem; - } - - /* h2 */ - - .markdown>h2 { - --ifm-h2-font-size: 2rem; - } - - /* h3 */ - - .markdown>h3 { - --ifm-h3-font-size: 1.5rem; - } - - /* end typography */ - - - /* Search input styles */ - - .rel_date { - color: #a0a0a0; - font-size: 15px; - margin-left: 20px; - } - - .DocSearch-Button { - order: -1; - margin-right: 10px!important; - } - - .DocSearch-Button-Placeholder { - flex-basis: 70%; - text-align: left; - width: 160px; - } - - /* end Search input styles */ - - /* Link icons */ - - .iconExternalLink_lCJq, - .iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-IconExternalLink-styles-module, - .iconExternalLink_nPIU, - .iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-Icon-ExternalLink-styles-module { - display: none; /* hides the link icon */ - } - - /* end Link icons */ - - /* imgs */ - - .markdown img { - margin-bottom: var(--ifm-leading); - /* center alignment of images */ - margin-left: auto; - margin-right: auto; - display: block; - border-radius: 3px; + --ifm-color-primary: #0288D1; + --ifm-color-primary-dark: rgb(33, 175, 144); + --ifm-color-primary-darker: rgb(31, 165, 136); + --ifm-color-primary-darkest: rgb(26, 136, 112); + --ifm-color-primary-light: rgb(70, 203, 174); + --ifm-color-primary-lighter: rgb(102, 212, 189); + --ifm-color-primary-lightest: rgb(146, 224, 208); + --ifm-code-font-size: 95%; + --ifm-color-feedback-background: #fff; + --dhx-color-brand: #2095F3; + --ifm-hr-border-color: var(--ifm-color-emphasis-200); + --ifm-list-item-margin: 0.7rem; +} + +/* typography */ + +/* h1 */ + +.docTitle_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem- { + font-size: 2rem!important; +} + +.markdown > h1 { + font-size: 3rem; +} + +/* h2 */ + +.markdown>h2 { + --ifm-h2-font-size: 2rem; +} + +/* h3 */ + +.markdown>h3 { + --ifm-h3-font-size: 1.5rem; +} + +/* end typography */ + + +/* Search input styles */ + +.rel_date { + color: #a0a0a0; + font-size: 15px; + margin-left: 20px; +} + +.DocSearch-Button { + order: -1; + margin-right: 10px!important; +} + +.DocSearch-Button-Placeholder { + flex-basis: 70%; + text-align: left; + width: 160px; +} + +/* end Search input styles */ + +/* Link icons */ + +.iconExternalLink_lCJq, +.iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-IconExternalLink-styles-module, +.iconExternalLink_nPIU, +.iconExternalLink_node_modules-\@docusaurus-theme-classic-lib-theme-Icon-ExternalLink-styles-module { + display: none; /* hides the link icon */ +} + +/* end Link icons */ + +/* imgs */ + +.markdown img { + margin-bottom: var(--ifm-leading); + + /* center alignment of images */ + margin-left: auto; + margin-right: auto; + display: block; + + border-radius: 3px; +} + +/* end imgs */ + + +/* Change the appearance of mobile navigation */ + +@media (max-width: 996px) { + .navbar__toggle { + display: block; } - - - /* end imgs */ - - - /* Change the appearance of mobile navigation */ - - @media (max-width: 996px) { - .navbar__toggle { - display: block; - } - .menu--responsive .menu__button { - border-radius: 100px; - padding: 15px; - background: var(--dhx-color-brand); - color: var(--ifm-color-feedback-background); - } + .menu--responsive .menu__button { + border-radius: 100px; + padding: 15px; + background: var(--dhx-color-brand); + color: var(--ifm-color-feedback-background); } - - /* end change the appearance of mobile navigation */ - - /* for Code Snippet iframe */ - - .snippet_iframe { +} + +/* end change the appearance of mobile navigation */ + +/* for Code Snippet iframe */ + +.snippet_iframe { border: 1px solid var(--ifm-hr-border-color); margin-bottom: var(--ifm-leading); border-radius: 5px; - } - - /* end for Code Snippet iframe */ - - /* small code block */ - - code { +} + +/* end for Code Snippet iframe */ + +/* small code block */ + +code { border-radius: 5px; - padding: 6px 8px; + padding: 2px 8px; font-weight: 600; - border: 1px solid transparent; - background-color: rgba(224, 222, 222, 0.603); - } - - /* end small code block */ - - /* styles for block of code */ - /* - .token-line.theme-code-block-highlighted-line{ added after updating to 2.0.0-beta.19 - background-color: rgb(156 159 166 / 30%); - } - */ - +} + +/* end small code block */ + +/* styles for block of code */ + + /* specify code box background */ - .codeBlockLines_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { - /*background-color: rgb(90, 86, 86);*/ - } - /* specify the comment text color */ - span.token.comment { +.codeBlockLines_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { + /*background-color: rgb(90, 86, 86);*/ +} + /* specify the comment text color */ +span.token.comment { color: rgb(12, 121, 8) !important; - } - - /* specify the comment background color */ - span.token-line.theme-code-block-highlighted-line { +} + /* specify the comment background color */ +span.token-line.theme-code-block-highlighted-line { background-color: rgba(225, 212, 212, 0.075); - } - - /* end styles for block of code */ - - /* list */ - - .markdown ul { +} + +/* end styles for block of code */ + +/* list */ + +.markdown ul li { margin-top: 10px; - line-height: 35px; - } - - ::marker { + margin-bottom: 10px; + line-height: 2; +} + +::marker { color: #9c9c9c; - } - - /* end list */ - - /* buttons */ - - .support_btn{ +} + +/* end list */ + +/* buttons */ + +.support_btn{ font-size: 16pt; color: rgb(53, 148, 243); background-color: transparent; @@ -205,49 +179,45 @@ width: 280px; height: 50px; margin-bottom: 30px; - } - - .support_btn:hover{ +} + +.support_btn:hover{ background-color: rgba(53, 148, 243, 0.692); color: white; - } - - .support_btn > a { +} + +.support_btn > a { text-decoration: none; color: inherit; - } - - /* buttons end */ - - - /* styles for tables */ - - table { +} + +/* buttons end */ + + +/* styles for tables */ + +table { width: 100%; display: inline-table; - } - - table th:first-child { +} +table th:first-child { width: 25%; - } - - /* end styles for tables */ - - /* styles for infoblock */ - - .theme-admonition.theme-admonition-info { - line-height: 35px; - } - - /* end styles for infoblock */ +} - p { - line-height: 2; - } +/* end styles for tables */ - .markdown ul li { - margin-top: 10px; - margin-bottom: 10px; +/* styles for infoblock */ + +.admonition-content > p { + line-height: 5; +} + +.admonition { + margin-top: 15px; +} + +/* end styles for infoblock */ + +p { line-height: 2; - } - \ No newline at end of file +} \ No newline at end of file diff --git a/src/pages/styles.module.css b/src/pages/styles.module.css deleted file mode 100644 index c1aa851..0000000 --- a/src/pages/styles.module.css +++ /dev/null @@ -1,37 +0,0 @@ -/* stylelint-disable docusaurus/copyright-header */ - -/** - * CSS files with the .module.css suffix will be treated as CSS modules - * and scoped locally. - */ - -.heroBanner { - padding: 4rem 0; - text-align: center; - position: relative; - overflow: hidden; -} - -@media screen and (max-width: 966px) { - .heroBanner { - padding: 2rem; - } -} - -.buttons { - display: flex; - align-items: center; - justify-content: center; -} - -.features { - display: flex; - align-items: center; - padding: 2rem 0; - width: 100%; -} - -.featureImage { - height: 200px; - width: 200px; -} diff --git a/yarn.lock b/yarn.lock index b4f06cc..575cc28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -29,126 +29,126 @@ resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz#5f38868f7cb1d54b014b17a10fc4f7e79d427fa8" integrity sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ== -"@algolia/client-abtesting@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.25.0.tgz#012204f1614e1a71366fb1e117c8f195186ff081" - integrity sha512-1pfQulNUYNf1Tk/svbfjfkLBS36zsuph6m+B6gDkPEivFmso/XnRgwDvjAx80WNtiHnmeNjIXdF7Gos8+OLHqQ== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-analytics@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.25.0.tgz#eba015bfafb3dbb82712c9160a00717a5974ff71" - integrity sha512-AFbG6VDJX/o2vDd9hqncj1B6B4Tulk61mY0pzTtzKClyTDlNP0xaUiEKhl6E7KO9I/x0FJF5tDCm0Hn6v5x18A== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-common@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.25.0.tgz#2def8947efe849266057d92f67d1b8d83de0c005" - integrity sha512-il1zS/+Rc6la6RaCdSZ2YbJnkQC6W1wiBO8+SH+DE6CPMWBU6iDVzH0sCKSAtMWl9WBxoN6MhNjGBnCv9Yy2bA== - -"@algolia/client-insights@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.25.0.tgz#b87df8614b96c4cc9c9aa7765cce07fa70864fa8" - integrity sha512-blbjrUH1siZNfyCGeq0iLQu00w3a4fBXm0WRIM0V8alcAPo7rWjLbMJMrfBtzL9X5ic6wgxVpDADXduGtdrnkw== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-personalization@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.25.0.tgz#74b041f0e7d91e1009c131c8d716c34e4d45c30f" - integrity sha512-aywoEuu1NxChBcHZ1pWaat0Plw7A8jDMwjgRJ00Mcl7wGlwuPt5dJ/LTNcg3McsEUbs2MBNmw0ignXBw9Tbgow== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-query-suggestions@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.25.0.tgz#e92d935d9e2994f790d43c64d3518d81070a3888" - integrity sha512-a/W2z6XWKjKjIW1QQQV8PTTj1TXtaKx79uR3NGBdBdGvVdt24KzGAaN7sCr5oP8DW4D3cJt44wp2OY/fZcPAVA== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" - -"@algolia/client-search@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.25.0.tgz#dc38ca1015f2f4c9f5053a4517f96fb28a2117f8" - integrity sha512-9rUYcMIBOrCtYiLX49djyzxqdK9Dya/6Z/8sebPn94BekT+KLOpaZCuc6s0Fpfq7nx5J6YY5LIVFQrtioK9u0g== - dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" +"@algolia/client-abtesting@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.26.0.tgz#5e2fcd03e5d458344e5ac21100fd6a8f15a1598c" + integrity sha512-B2NdQEjxtWPNMTI9xm+4JUjL7f7a8j7eZou7CMPy0NSc4R7qfW6yXdN3nL0zbhUwVTTxjYhWSaUaVrKg7woUgQ== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" + +"@algolia/client-analytics@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.26.0.tgz#07be10be3dba2d65a8b78c4b401f7d47fc7c5885" + integrity sha512-xrfPWKuK6xooTB/Y1wIs2Q7+3M79RK5ckKHy3dWumR2yq8K6apj7hXp4W8sM1Ly6I6uY7mpp8paVebqfwOnQmQ== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" + +"@algolia/client-common@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.26.0.tgz#d704befc7fa49a56d429f94758f62eaf976bc2f8" + integrity sha512-0wDr3lvGQW2VWru8FSdGWptJMclN2APKbxH97h2uQM6A8cbzGbCezbIhGQM2S6tPVrzQZyu1PdfmxWMaGe4v3Q== + +"@algolia/client-insights@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.26.0.tgz#2aac01304fbd375ff728e8bb0eaaffe90bdb6e26" + integrity sha512-qNpS7eLXStMXb0u+DM0iyvVYAaeWGkI5qDuyo4AlIrepVI0cX+iltLGDULnYM5Vbfp8iBf5PEbgqKrE6jfdRLw== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" + +"@algolia/client-personalization@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.26.0.tgz#70e092dc0b02aa325c3f612e1f3522b0e51ae94e" + integrity sha512-qDOieLuxn5mdJV8CA/zklb7z+mfmmlHUqyEBu0QpjBoiqmvu7O1Q7zF6WGvBy02y9T3uUp/CDQLtzLVCdkvLCQ== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" + +"@algolia/client-query-suggestions@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.26.0.tgz#8a51e8275d2472fa56149500a3b039a9408e3c61" + integrity sha512-M9Fb88C9xRZLU++XLeyVc8hqqB2OXqDqBHfq0Utj62MVi3DchLVZnQ9QtJNttW0DanaTPhTBEIMUFUEH2Dgp+g== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" + +"@algolia/client-search@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.26.0.tgz#9c205be683144210556a64c48cb1175a30082448" + integrity sha512-LM3QevcTb6kqzTMUeP4RhwHXSyx4tkrsYy5jyFPexy4UA/kePQCBJG4Zc9anMdZuxXDkionbWLk5/YhL2daKCA== + dependencies: + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" "@algolia/events@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950" integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ== -"@algolia/ingestion@1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.25.0.tgz#4d13c56dda0a05c7bacb0e3ef5866292dfd86ed5" - integrity sha512-jJeH/Hk+k17Vkokf02lkfYE4A+EJX+UgnMhTLR/Mb+d1ya5WhE+po8p5a/Nxb6lo9OLCRl6w3Hmk1TX1e9gVbQ== +"@algolia/ingestion@1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.26.0.tgz#59ed281a2a83f10639e72829a6cb6fe4e6ebc3bd" + integrity sha512-SuSoBAB71xWRHEI+VIVZbraJEdPSSBEHeWnwhre6soQQLr+hu7miwvYXidqEfI60HOmrmIqtAk9+8vXe1hRj9g== dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" -"@algolia/monitoring@1.25.0": - version "1.25.0" - resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.25.0.tgz#d59360cfe556338519d05a9d8107147e9dbcb020" - integrity sha512-Ls3i1AehJ0C6xaHe7kK9vPmzImOn5zBg7Kzj8tRYIcmCWVyuuFwCIsbuIIz/qzUf1FPSWmw0TZrGeTumk2fqXg== +"@algolia/monitoring@1.26.0": + version "1.26.0" + resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.26.0.tgz#7898693e4ec683bfb7180e2cea8dc39a21335903" + integrity sha512-QVgXc2CVm/TBoOEEeUhWHdvgSQ5w5kZgdqwIlLEBvnMuWHt0OFtfYFjKHAng1z4vy7bgxkpTY/YsCFJhF84FsA== dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" -"@algolia/recommend@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.25.0.tgz#b96f12c85aa74a0326982c7801fcd4a610b420f4" - integrity sha512-79sMdHpiRLXVxSjgw7Pt4R1aNUHxFLHiaTDnN2MQjHwJ1+o3wSseb55T9VXU4kqy3m7TUme3pyRhLk5ip/S4Mw== +"@algolia/recommend@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.26.0.tgz#9ec672f282f9f0f678e2d52a8dbc2b988868bc72" + integrity sha512-rbBVdChoQCHlzix5kfLJMInJIeqBbAyZHLOWayhy4CapB/5zsFxQiUSGxPVrjlGuJoK4oHhsYZefS3EwR9ZksQ== dependencies: - "@algolia/client-common" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" + "@algolia/client-common" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" -"@algolia/requester-browser-xhr@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.25.0.tgz#c194fa5f49206b9343e6646c41bfbca2a3f2ac54" - integrity sha512-JLaF23p1SOPBmfEqozUAgKHQrGl3z/Z5RHbggBu6s07QqXXcazEsub5VLonCxGVqTv6a61AAPr8J1G5HgGGjEw== +"@algolia/requester-browser-xhr@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.26.0.tgz#68ccf4afa2e5bdb0298bba9aa1b9a41f842b2a6b" + integrity sha512-1G8m5sAL/rQgs8Qt2EoJq+h8l9BoPFICd4XK+0VEVr8H1hRGg3Jx1TTP6eQsBHsQNLCOF29Gf3YTlBbD6FBXIQ== dependencies: - "@algolia/client-common" "5.25.0" + "@algolia/client-common" "5.26.0" -"@algolia/requester-fetch@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.25.0.tgz#231a2d0da2397d141f80b8f28e2cb6e3d219d38d" - integrity sha512-rtzXwqzFi1edkOF6sXxq+HhmRKDy7tz84u0o5t1fXwz0cwx+cjpmxu/6OQKTdOJFS92JUYHsG51Iunie7xbqfQ== +"@algolia/requester-fetch@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.26.0.tgz#7abe8690ceb8f00da15036131932a02fefdf87b2" + integrity sha512-QZvpz46y/SoRwXZItpPTt9D5vYdMjl1wKU6z9LZuxuuOrxT0/MN4zsDRIKZBtIxmn3Huq9rStiR1ybHqsZD2yg== dependencies: - "@algolia/client-common" "5.25.0" + "@algolia/client-common" "5.26.0" -"@algolia/requester-node-http@5.25.0": - version "5.25.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.25.0.tgz#0ce13c550890de21c558b04381535d2d245a3725" - integrity sha512-ZO0UKvDyEFvyeJQX0gmZDQEvhLZ2X10K+ps6hViMo1HgE2V8em00SwNsQ+7E/52a+YiBkVWX61pJJJE44juDMQ== +"@algolia/requester-node-http@5.26.0": + version "5.26.0" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.26.0.tgz#db2888a83d7051fda5aeecfe7342991b58cbd13a" + integrity sha512-VaoUJJla2GtlHFSy8syM/Zox+xmUkm849Hhx3R2PKPcD8Iv5NT/XTMt4WXfLmfIKI7bxSccCawghZTIXHmC6vw== dependencies: - "@algolia/client-common" "5.25.0" + "@algolia/client-common" "5.26.0" "@ampproject/remapping@^2.2.0": version "2.3.0" @@ -168,11 +168,11 @@ picocolors "^1.1.1" "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.27.2": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.3.tgz#cc49c2ac222d69b889bf34c795f537c0c6311111" - integrity sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.5.tgz#7d0658ec1a8420fc866d1df1b03bea0e79934c82" + integrity sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg== -"@babel/core@^7.21.3", "@babel/core@^7.25.9": +"@babel/core@^7.12.3", "@babel/core@^7.21.3", "@babel/core@^7.25.9": version "7.27.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.27.4.tgz#cc1fc55d0ce140a1828d1dd2a2eba285adbfb3ce" integrity sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g== @@ -194,11 +194,11 @@ semver "^6.3.1" "@babel/generator@^7.25.9", "@babel/generator@^7.27.3": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.3.tgz#ef1c0f7cfe3b5fc8cbb9f6cc69f93441a68edefc" - integrity sha512-xnlJYj5zepml8NXtjkG0WquFUv8RskFqyFcVgTBp5k+NaA/8uw/K+OSVf8AMGw5e9HKP2ETd5xpK5MLZQD6b4Q== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.5.tgz#3eb01866b345ba261b04911020cbe22dd4be8c8c" + integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw== dependencies: - "@babel/parser" "^7.27.3" + "@babel/parser" "^7.27.5" "@babel/types" "^7.27.3" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" @@ -350,10 +350,10 @@ "@babel/template" "^7.27.2" "@babel/types" "^7.27.3" -"@babel/parser@^7.27.2", "@babel/parser@^7.27.3", "@babel/parser@^7.27.4": - version "7.27.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.4.tgz#f92e89e4f51847be05427285836fc88341c956df" - integrity sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g== +"@babel/parser@^7.27.2", "@babel/parser@^7.27.4", "@babel/parser@^7.27.5": + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.27.5.tgz#ed22f871f110aa285a6fd934a0efed621d118826" + integrity sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg== dependencies: "@babel/types" "^7.27.3" @@ -477,9 +477,9 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-block-scoping@^7.27.1": - version "7.27.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.3.tgz#a21f37e222dc0a7b91c3784fa3bd4edf8d7a6dc1" - integrity sha512-+F8CnfhuLhwUACIJMLWnjz6zvzYM2r0yeIHKlbgfw7ml8rOMJsXNXV/hyRcb3nb493gRs4WvYpQAndWj/qQmkQ== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz#98c37485d815533623d992fd149af3e7b3140157" + integrity sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ== dependencies: "@babel/helper-plugin-utils" "^7.27.1" @@ -742,7 +742,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.27.1" -"@babel/plugin-transform-react-constant-elements@^7.21.3": +"@babel/plugin-transform-react-constant-elements@^7.12.1", "@babel/plugin-transform-react-constant-elements@^7.21.3": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.27.1.tgz#6c6b50424e749a6e48afd14cf7b92f98cb9383f9" integrity sha512-edoidOjl/ZxvYo4lSBOQGDSyToYVkTAwyVoa2tkuYTSmjrB1+uAedoL5iROVLXkxH+vRgA7uP4tMg2pUJpZ3Ug== @@ -783,9 +783,9 @@ "@babel/helper-plugin-utils" "^7.27.1" "@babel/plugin-transform-regenerator@^7.27.1": - version "7.27.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.4.tgz#05d006c09f482b34ba5dc16d630c204a7d06d31f" - integrity sha512-Glp/0n8xuj+E1588otw5rjJkTXfzW7FjH3IIUrfqiZOPQCd2vbg8e+DQE8jK9g4V5/zrxFW+D9WM9gboRPELpQ== + version "7.27.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz#0c01f4e0e4cced15f68ee14b9c76dac9813850c7" + integrity sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q== dependencies: "@babel/helper-plugin-utils" "^7.27.1" @@ -894,7 +894,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.27.1" "@babel/helper-plugin-utils" "^7.27.1" -"@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": +"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.20.2", "@babel/preset-env@^7.25.9": version "7.27.2" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.27.2.tgz#106e6bfad92b591b1f6f76fd4cf13b7725a7bf9a" integrity sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ== @@ -978,7 +978,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.18.6", "@babel/preset-react@^7.25.9": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.27.1.tgz#86ea0a5ca3984663f744be2fd26cb6747c3fd0ec" integrity sha512-oJHWh2gLhU9dW9HHr42q0cI0/iHHXTLGe39qvpAZZzagHy0MzYLCnCVV0symeRvzmjHyVU7mw2K06E6u/JwbhA== @@ -1035,7 +1035,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.4.4": +"@babel/types@^7.12.6", "@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.4.4": version "7.27.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.3.tgz#c0257bedf33aad6aad1f406d35c44758321eb3ec" integrity sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw== @@ -1381,7 +1381,7 @@ resolved "https://registry.yarnpkg.com/@csstools/utilities/-/utilities-2.0.0.tgz#f7ff0fee38c9ffb5646d47b6906e0bc8868bde60" integrity sha512-5VdOr0Z71u+Yp3ozOx8T11N703wIFGVRgOWbOZMKgglPJsWA54MRIoMNVMa7shUToIhx5J8vX4sOZgD2XiihiQ== -"@discoveryjs/json-ext@0.5.7", "@discoveryjs/json-ext@^0.5.0": +"@discoveryjs/json-ext@0.5.7": version "0.5.7" resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== @@ -2165,41 +2165,81 @@ resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== +"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" + integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== + "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== +"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" + integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== + "@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== +"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" + integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== + "@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== +"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" + integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== + "@svgr/babel-plugin-svg-dynamic-title@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== +"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" + integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== + "@svgr/babel-plugin-svg-em-dimensions@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== +"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" + integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== + "@svgr/babel-plugin-transform-react-native-svg@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== +"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": + version "5.4.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" + integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== + "@svgr/babel-plugin-transform-svg-component@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== +"@svgr/babel-plugin-transform-svg-component@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" + integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== + "@svgr/babel-preset@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" @@ -2214,6 +2254,20 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" +"@svgr/babel-preset@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" + integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" + "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" + "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" + "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" + "@svgr/babel-plugin-transform-svg-component" "^5.5.0" + "@svgr/core@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" @@ -2225,6 +2279,15 @@ cosmiconfig "^8.1.3" snake-case "^3.0.4" +"@svgr/core@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" + integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== + dependencies: + "@svgr/plugin-jsx" "^5.5.0" + camelcase "^6.2.0" + cosmiconfig "^7.0.0" + "@svgr/hast-util-to-babel-ast@8.0.0": version "8.0.0" resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" @@ -2233,6 +2296,13 @@ "@babel/types" "^7.21.3" entities "^4.4.0" +"@svgr/hast-util-to-babel-ast@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" + integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== + dependencies: + "@babel/types" "^7.12.6" + "@svgr/plugin-jsx@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" @@ -2243,6 +2313,16 @@ "@svgr/hast-util-to-babel-ast" "8.0.0" svg-parser "^2.0.4" +"@svgr/plugin-jsx@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" + integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== + dependencies: + "@babel/core" "^7.12.3" + "@svgr/babel-preset" "^5.5.0" + "@svgr/hast-util-to-babel-ast" "^5.5.0" + svg-parser "^2.0.2" + "@svgr/plugin-svgo@8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" @@ -2252,6 +2332,29 @@ deepmerge "^4.3.1" svgo "^3.0.2" +"@svgr/plugin-svgo@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" + integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== + dependencies: + cosmiconfig "^7.0.0" + deepmerge "^4.2.2" + svgo "^1.2.2" + +"@svgr/webpack@^5.5.0": + version "5.5.0" + resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" + integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== + dependencies: + "@babel/core" "^7.12.3" + "@babel/plugin-transform-react-constant-elements" "^7.12.1" + "@babel/preset-env" "^7.12.1" + "@babel/preset-react" "^7.12.5" + "@svgr/core" "^5.5.0" + "@svgr/plugin-jsx" "^5.5.0" + "@svgr/plugin-svgo" "^5.5.0" + loader-utils "^2.0.0" + "@svgr/webpack@^8.1.0": version "8.1.0" resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-8.1.0.tgz#16f1b5346f102f89fda6ec7338b96a701d8be0c2" @@ -2486,11 +2589,21 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== +"@types/parse-json@^4.0.0": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== + "@types/prismjs@^1.26.0": version "1.26.5" resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== +"@types/q@^1.5.1": + version "1.5.8" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" + integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== + "@types/qs@*": version "6.14.0" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" @@ -2732,23 +2845,6 @@ "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.2.0.tgz#7b20ce1c12533912c3b217ea68262365fa29a6f5" - integrity sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg== - -"@webpack-cli/info@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.5.0.tgz#6c78c13c5874852d6e2dd17f08a41f3fe4c261b1" - integrity sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ== - dependencies: - envinfo "^7.7.3" - -"@webpack-cli/serve@^1.7.0": - version "1.7.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.7.0.tgz#e1993689ac42d2b16e9194376cfb6753f6254db1" - integrity sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q== - "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -2844,23 +2940,23 @@ algoliasearch-helper@^3.22.6: "@algolia/events" "^4.0.1" algoliasearch@^5.14.2, algoliasearch@^5.17.1: - version "5.25.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.25.0.tgz#7337b097deadeca0e6e985c0f8724abea189994f" - integrity sha512-n73BVorL4HIwKlfJKb4SEzAYkR3Buwfwbh+MYxg2mloFph2fFGV58E90QTzdbfzWrLn4HE5Czx/WTjI8fcHaMg== - dependencies: - "@algolia/client-abtesting" "5.25.0" - "@algolia/client-analytics" "5.25.0" - "@algolia/client-common" "5.25.0" - "@algolia/client-insights" "5.25.0" - "@algolia/client-personalization" "5.25.0" - "@algolia/client-query-suggestions" "5.25.0" - "@algolia/client-search" "5.25.0" - "@algolia/ingestion" "1.25.0" - "@algolia/monitoring" "1.25.0" - "@algolia/recommend" "5.25.0" - "@algolia/requester-browser-xhr" "5.25.0" - "@algolia/requester-fetch" "5.25.0" - "@algolia/requester-node-http" "5.25.0" + version "5.26.0" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.26.0.tgz#f428304c19ed714c02413eb4100c1557194146f9" + integrity sha512-iriwDyAqedYgi9YTpVwJbE/TQJwelclpVFfDgNBfhdIhIzAdKo+Kitwinn+krx9tjDsnzRt3tqTQdbJ0E6OwNw== + dependencies: + "@algolia/client-abtesting" "5.26.0" + "@algolia/client-analytics" "5.26.0" + "@algolia/client-common" "5.26.0" + "@algolia/client-insights" "5.26.0" + "@algolia/client-personalization" "5.26.0" + "@algolia/client-query-suggestions" "5.26.0" + "@algolia/client-search" "5.26.0" + "@algolia/ingestion" "1.26.0" + "@algolia/monitoring" "1.26.0" + "@algolia/recommend" "5.26.0" + "@algolia/requester-browser-xhr" "5.26.0" + "@algolia/requester-fetch" "5.26.0" + "@algolia/requester-node-http" "5.26.0" ansi-align@^3.0.1: version "3.0.1" @@ -2891,6 +2987,13 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -2928,6 +3031,14 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b" + integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw== + dependencies: + call-bound "^1.0.3" + is-array-buffer "^3.0.5" + array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -2938,11 +3049,43 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array.prototype.reduce@^1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57" + integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.4" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-array-method-boxes-properly "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + is-string "^1.1.1" + +arraybuffer.prototype.slice@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c" + integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ== + dependencies: + array-buffer-byte-length "^1.0.1" + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + is-array-buffer "^3.0.4" + astring@^1.8.0: version "1.9.0" resolved "https://registry.yarnpkg.com/astring/-/astring-1.9.0.tgz#cc73e6062a7eb03e7d19c22d8b0b3451fd9bfeef" integrity sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg== +async-function@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" + integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== + autoprefixer@^10.4.19, autoprefixer@^10.4.21: version "10.4.21" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.21.tgz#77189468e7a8ad1d9a37fbc08efc9f480cf0a95d" @@ -2955,6 +3098,13 @@ autoprefixer@^10.4.19, autoprefixer@^10.4.21: picocolors "^1.1.1" postcss-value-parser "^4.2.0" +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + babel-loader@^9.2.1: version "9.2.1" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" @@ -3045,7 +3195,7 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" -boolbase@^1.0.0: +boolbase@^1.0.0, boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== @@ -3144,7 +3294,7 @@ call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply- es-errors "^1.3.0" function-bind "^1.1.2" -call-bind@^1.0.8: +call-bind@^1.0.7, call-bind@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== @@ -3154,7 +3304,7 @@ call-bind@^1.0.8: get-intrinsic "^1.2.4" set-function-length "^1.2.2" -call-bound@^1.0.2, call-bound@^1.0.3: +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== @@ -3196,15 +3346,24 @@ caniuse-api@^3.0.0: lodash.uniq "^4.5.0" caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001718: - version "1.0.30001720" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz#c138cb6026d362be9d8d7b0e4bcd0183a850edfd" - integrity sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g== + version "1.0.30001721" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz#36b90cd96901f8c98dd6698bf5c8af7d4c6872d7" + integrity sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ== ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== +chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -3345,11 +3504,27 @@ clsx@^2.0.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" + integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + collapse-white-space@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -3357,6 +3532,11 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -3367,7 +3547,7 @@ colord@^2.9.3: resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== -colorette@^2.0.10, colorette@^2.0.14: +colorette@^2.0.10: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -3397,7 +3577,7 @@ commander@^5.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== -commander@^7.0.0, commander@^7.2.0: +commander@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== @@ -3537,6 +3717,17 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + cosmiconfig@^8.1.3, cosmiconfig@^8.3.5: version "8.3.6" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" @@ -3615,6 +3806,21 @@ css-prefers-color-scheme@^10.0.0: resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-10.0.0.tgz#ba001b99b8105b8896ca26fc38309ddb2278bd3c" integrity sha512-VCtXZAWivRglTZditUfB4StnsWr6YVZ2PRtuxQLKTNRdtAf8tpzaVPE9zXIF3VaSc7O70iK/j1+NXxyQCqdPjQ== +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" + integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" + integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + css-select@^4.1.3: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -3637,6 +3843,22 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + css-tree@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" @@ -3653,6 +3875,11 @@ css-tree@~2.2.0: mdn-data "2.0.28" source-map-js "^1.0.1" +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" @@ -3730,6 +3957,13 @@ cssnano@^6.0.1, cssnano@^6.1.2: cssnano-preset-default "^6.1.2" lilconfig "^3.1.1" +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + csso@^5.0.5: version "5.0.5" resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" @@ -3742,6 +3976,33 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +data-view-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570" + integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-length@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735" + integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-data-view "^1.0.2" + +data-view-byte-offset@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191" + integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-data-view "^1.0.1" + debounce@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" @@ -3780,7 +4041,7 @@ deep-extend@^0.6.0: resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deepmerge@^4.3.1: +deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== @@ -3811,7 +4072,7 @@ define-lazy-prop@^2.0.0: resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.2.1: +define-properties@^1.1.3, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== @@ -3885,11 +4146,6 @@ dns-packet@^5.2.2: dependencies: "@leichtgewicht/ip-codec" "^2.0.1" -docusaurus-gtm-plugin@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/docusaurus-gtm-plugin/-/docusaurus-gtm-plugin-0.0.2.tgz#f39864b54ca594e3281902c23b6df0763761602b" - integrity sha512-Xx/df0Ppd5SultlzUj9qlQk2lX9mNVfTb41juyBUPZ1Nc/5dNx+uN0VuLyF4JEObkDRrUY1EFo9fEUDo8I6QOQ== - docusaurus-plugin-sass@^0.2.5: version "0.2.6" resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.6.tgz#b4930a1fe1cc7bcead639bb1bee38bce0ffd073d" @@ -3904,6 +4160,14 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" +dom-serializer@0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" @@ -3922,6 +4186,11 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" +domelementtype@1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" @@ -3941,6 +4210,14 @@ domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + dependencies: + dom-serializer "0" + domelementtype "1" + domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -3974,7 +4251,7 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -dunder-proto@^1.0.1: +dunder-proto@^1.0.0, dunder-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== @@ -3999,9 +4276,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.160: - version "1.5.161" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz#650376bd3be7ff8e581031409fc2d4f150620b12" - integrity sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA== + version "1.5.165" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz#477b0957e42f071905a86f7c905a9848f95d2bdb" + integrity sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw== emoji-regex@^8.0.0: version "8.0.0" @@ -4061,11 +4338,6 @@ entities@^6.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-6.0.0.tgz#09c9e29cb79b0a6459a9b9db9efb418ac5bb8e51" integrity sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw== -envinfo@^7.7.3: - version "7.14.0" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" - integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== - error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -4073,6 +4345,71 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.17.2, es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9: + version "1.24.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328" + integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg== + dependencies: + array-buffer-byte-length "^1.0.2" + arraybuffer.prototype.slice "^1.0.4" + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + data-view-buffer "^1.0.2" + data-view-byte-length "^1.0.2" + data-view-byte-offset "^1.0.1" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + es-set-tostringtag "^2.1.0" + es-to-primitive "^1.3.0" + function.prototype.name "^1.1.8" + get-intrinsic "^1.3.0" + get-proto "^1.0.1" + get-symbol-description "^1.1.0" + globalthis "^1.0.4" + gopd "^1.2.0" + has-property-descriptors "^1.0.2" + has-proto "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + internal-slot "^1.1.0" + is-array-buffer "^3.0.5" + is-callable "^1.2.7" + is-data-view "^1.0.2" + is-negative-zero "^2.0.3" + is-regex "^1.2.1" + is-set "^2.0.3" + is-shared-array-buffer "^1.0.4" + is-string "^1.1.1" + is-typed-array "^1.1.15" + is-weakref "^1.1.1" + math-intrinsics "^1.1.0" + object-inspect "^1.13.4" + object-keys "^1.1.1" + object.assign "^4.1.7" + own-keys "^1.0.1" + regexp.prototype.flags "^1.5.4" + safe-array-concat "^1.1.3" + safe-push-apply "^1.0.0" + safe-regex-test "^1.1.0" + set-proto "^1.0.0" + stop-iteration-iterator "^1.1.0" + string.prototype.trim "^1.2.10" + string.prototype.trimend "^1.0.9" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.3" + typed-array-byte-length "^1.0.3" + typed-array-byte-offset "^1.0.4" + typed-array-length "^1.0.7" + unbox-primitive "^1.1.0" + which-typed-array "^1.1.19" + +es-array-method-boxes-properly@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" + integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== + es-define-property@^1.0.0, es-define-property@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" @@ -4095,6 +4432,25 @@ es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: dependencies: es-errors "^1.3.0" +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-to-primitive@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18" + integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g== + dependencies: + is-callable "^1.2.7" + is-date-object "^1.0.5" + is-symbol "^1.0.4" + esast-util-from-estree@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz#8d1cfb51ad534d2f159dc250e604f3478a79f1ad" @@ -4359,11 +4715,6 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== -fastest-levenshtein@^1.0.12: - version "1.0.16" - resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" - integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== - fastq@^1.6.0: version "1.19.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.19.1.tgz#d50eaba803c8846a883c16492821ebcd2cda55f5" @@ -4435,14 +4786,6 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" @@ -4461,6 +4804,13 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== +for-each@^0.3.3, for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + form-data-encoder@^2.1.2: version "2.1.4" resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" @@ -4515,12 +4865,29 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +function.prototype.name@^1.1.6, function.prototype.name@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78" + integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + functions-have-names "^1.2.3" + hasown "^2.0.2" + is-callable "^1.2.7" + +functions-have-names@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" + integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.3.0: +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== @@ -4541,7 +4908,7 @@ get-own-enumerable-property-symbols@^3.0.0: resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== -get-proto@^1.0.1: +get-proto@^1.0.0, get-proto@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== @@ -4554,6 +4921,15 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +get-symbol-description@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee" + integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + github-slugger@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" @@ -4602,6 +4978,14 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globalthis@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" + integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== + dependencies: + define-properties "^1.2.1" + gopd "^1.0.1" + globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" @@ -4679,6 +5063,16 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== +has-bigints@^1.0.2: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" + integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -4691,11 +5085,25 @@ has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: dependencies: es-define-property "^1.0.0" -has-symbols@^1.1.0: +has-proto@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5" + integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ== + dependencies: + dunder-proto "^1.0.0" + +has-symbols@^1.0.1, has-symbols@^1.0.3, has-symbols@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has-yarn@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" @@ -5029,7 +5437,7 @@ immutable@^5.0.2: resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.2.tgz#e8169476414505e5a4fa650107b65e1227d16d4b" integrity sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ== -import-fresh@^3.3.0: +import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf" integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== @@ -5042,14 +5450,6 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== -import-local@^3.0.2: - version "3.2.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.2.0.tgz#c3d5c745798c02a6f8b897726aba5100186ee260" - integrity sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -5098,10 +5498,14 @@ inline-style-parser@0.2.4: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.4.tgz#f4af5fe72e612839fcd453d989a586566d695f22" integrity sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== +internal-slot@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961" + integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw== + dependencies: + es-errors "^1.3.0" + hasown "^2.0.2" + side-channel "^1.1.0" invariant@^2.2.4: version "2.2.4" @@ -5133,11 +5537,38 @@ is-alphanumerical@^2.0.0: is-alphabetical "^2.0.0" is-decimal "^2.0.0" +is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" + integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-async-function@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523" + integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ== + dependencies: + async-function "^1.0.0" + call-bound "^1.0.3" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-bigint@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672" + integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ== + dependencies: + has-bigints "^1.0.2" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -5145,6 +5576,19 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.2.1: + version "1.2.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e" + integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-ci@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" @@ -5159,6 +5603,23 @@ is-core-module@^2.16.0: dependencies: hasown "^2.0.2" +is-data-view@^1.0.1, is-data-view@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e" + integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw== + dependencies: + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + is-typed-array "^1.1.13" + +is-date-object@^1.0.5, is-date-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7" + integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + is-decimal@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" @@ -5179,11 +5640,28 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-finalizationregistry@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90" + integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg== + dependencies: + call-bound "^1.0.3" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-generator-function@^1.0.10: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca" + integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ== + dependencies: + call-bound "^1.0.3" + get-proto "^1.0.0" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -5204,11 +5682,29 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" + integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== + +is-negative-zero@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" + integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== + is-npm@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== +is-number-object@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541" + integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -5246,21 +5742,87 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== +is-set@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" + integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== + +is-shared-array-buffer@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f" + integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A== + dependencies: + call-bound "^1.0.3" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-string@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9" + integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA== + dependencies: + call-bound "^1.0.3" + has-tostringtag "^1.0.2" + +is-symbol@^1.0.4, is-symbol@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634" + integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w== + dependencies: + call-bound "^1.0.2" + has-symbols "^1.1.0" + safe-regex-test "^1.1.0" + +is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== +is-weakmap@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" + integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w== + +is-weakref@^1.0.2, is-weakref@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293" + integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew== + dependencies: + call-bound "^1.0.3" + +is-weakset@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca" + integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ== + dependencies: + call-bound "^1.0.3" + get-intrinsic "^1.2.6" + is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -5278,6 +5840,11 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -5465,13 +6032,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" @@ -5770,6 +6330,11 @@ mdast-util-to-string@^4.0.0: dependencies: "@types/mdast" "^4.0.0" +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + mdn-data@2.0.28: version "2.0.28" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" @@ -5780,6 +6345,11 @@ mdn-data@2.0.30: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" + integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -6305,11 +6875,18 @@ minimatch@3.1.2, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +mkdirp@~0.5.1: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mrmime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.1.tgz#bc3e87f7987853a54c9850eeb1f1078cd44adddc" @@ -6425,6 +7002,13 @@ nprogress@^0.2.0: resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" + integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + dependencies: + boolbase "~1.0.0" + nth-check@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" @@ -6445,7 +7029,7 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.3: +object-inspect@^1.13.3, object-inspect@^1.13.4: version "1.13.4" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== @@ -6455,7 +7039,7 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object.assign@^4.1.0: +object.assign@^4.1.0, object.assign@^4.1.7: version "4.1.7" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d" integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw== @@ -6467,6 +7051,29 @@ object.assign@^4.1.0: has-symbols "^1.1.0" object-keys "^1.1.1" +object.getownpropertydescriptors@^2.1.0: + version "2.1.8" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" + integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== + dependencies: + array.prototype.reduce "^1.0.6" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-object-atoms "^1.0.0" + gopd "^1.0.1" + safe-array-concat "^1.1.2" + +object.values@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216" + integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.3" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -6512,6 +7119,15 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +own-keys@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358" + integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg== + dependencies: + get-intrinsic "^1.2.6" + object-keys "^1.1.1" + safe-push-apply "^1.0.0" + p-cancelable@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" @@ -6522,13 +7138,6 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - p-limit@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" @@ -6536,13 +7145,6 @@ p-limit@^4.0.0: dependencies: yocto-queue "^1.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" @@ -6580,11 +7182,6 @@ p-timeout@^3.2.0: dependencies: p-finally "^1.0.0" -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - package-json@^8.1.0: version "8.1.1" resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" @@ -6623,7 +7220,7 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" -parse-json@^5.2.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -6666,11 +7263,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-exists@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" @@ -6728,13 +7320,6 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - pkg-dir@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" @@ -6742,6 +7327,11 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + postcss-attribute-case-insensitive@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-7.0.1.tgz#0c4500e3bcb2141848e89382c05b5a31c23033a3" @@ -7382,6 +7972,11 @@ pupa@^3.1.0: dependencies: escape-goat "^4.0.0" +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== + qs@6.13.0: version "6.13.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" @@ -7560,13 +8155,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -rechoir@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.7.1.tgz#9478a96a1ca135b5e88fc027f03ee92d6c645686" - integrity sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg== - dependencies: - resolve "^1.9.0" - recma-build-jsx@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz#c02f29e047e103d2fab2054954e1761b8ea253c4" @@ -7607,6 +8195,20 @@ recma-stringify@^1.0.0: unified "^11.0.0" vfile "^6.0.0" +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" + integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-abstract "^1.23.9" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + get-intrinsic "^1.2.7" + get-proto "^1.0.1" + which-builtin-type "^1.2.1" + regenerate-unicode-properties@^10.2.0: version "10.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" @@ -7619,6 +8221,18 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== +regexp.prototype.flags@^1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19" + integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA== + dependencies: + call-bind "^1.0.8" + define-properties "^1.2.1" + es-errors "^1.3.0" + get-proto "^1.0.1" + gopd "^1.2.0" + set-function-name "^2.0.2" + regexpu-core@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826" @@ -7797,29 +8411,17 @@ resolve-alpn@^1.2.0: resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve@^1.14.2, resolve@^1.9.0: +resolve@^1.14.2: version "1.22.10" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39" integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w== @@ -7869,6 +8471,17 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +safe-array-concat@^1.1.2, safe-array-concat@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3" + integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + get-intrinsic "^1.2.6" + has-symbols "^1.1.0" + isarray "^2.0.5" + safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" @@ -7879,6 +8492,23 @@ safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-push-apply@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5" + integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA== + dependencies: + es-errors "^1.3.0" + isarray "^2.0.5" + +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -7907,6 +8537,11 @@ sax@^1.2.4: resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== +sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + scheduler@^0.23.2: version "0.23.2" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" @@ -8050,6 +8685,25 @@ set-function-length@^1.2.2: gopd "^1.0.1" has-property-descriptors "^1.0.2" +set-function-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" + integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.2" + +set-proto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e" + integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw== + dependencies: + dunder-proto "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -8085,9 +8739,9 @@ shebang-regex@^3.0.0: integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.2.tgz#d2d83e057959d53ec261311e9e9b8f51dcb2934a" - integrity sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA== + version "1.8.3" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b" + integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw== side-channel-list@^1.0.0: version "1.0.0" @@ -8118,7 +8772,7 @@ side-channel-weakmap@^1.0.2: object-inspect "^1.13.3" side-channel-map "^1.0.1" -side-channel@^1.0.6: +side-channel@^1.0.6, side-channel@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== @@ -8210,7 +8864,7 @@ source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@^0.6.0, source-map@~0.6.0: +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -8258,6 +8912,11 @@ srcset@^4.0.0: resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4" integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -8273,6 +8932,14 @@ std-env@^3.7.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1" integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw== +stop-iteration-iterator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad" + integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ== + dependencies: + es-errors "^1.3.0" + internal-slot "^1.1.0" + string-width@^4.1.0, string-width@^4.2.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -8291,6 +8958,38 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string.prototype.trim@^1.2.10: + version "1.2.10" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81" + integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-data-property "^1.1.4" + define-properties "^1.2.1" + es-abstract "^1.23.5" + es-object-atoms "^1.0.0" + has-property-descriptors "^1.0.2" + +string.prototype.trimend@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942" + integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ== + dependencies: + call-bind "^1.0.8" + call-bound "^1.0.2" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + +string.prototype.trimstart@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" + integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -8378,6 +9077,13 @@ stylehacks@^6.1.1: browserslist "^4.23.0" postcss-selector-parser "^6.0.16" +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -8397,11 +9103,30 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-parser@^2.0.4: +svg-parser@^2.0.2, svg-parser@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== +svgo@^1.2.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" + integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + svgo@^3.0.2, svgo@^3.2.0: version "3.3.2" resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.3.2.tgz#ad58002652dffbb5986fc9716afe52d869ecbda8" @@ -8516,6 +9241,51 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typed-array-byte-length@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce" + integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg== + dependencies: + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.14" + +typed-array-byte-offset@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355" + integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + for-each "^0.3.3" + gopd "^1.2.0" + has-proto "^1.2.0" + is-typed-array "^1.1.15" + reflect.getprototypeof "^1.0.9" + +typed-array-length@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== + dependencies: + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -8523,6 +9293,16 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +unbox-primitive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" + integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw== + dependencies: + call-bound "^1.0.3" + has-bigints "^1.0.2" + has-symbols "^1.1.0" + which-boxed-primitive "^1.1.1" + undici-types@~6.21.0: version "6.21.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" @@ -8631,6 +9411,11 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== + update-browserslist-db@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420" @@ -8680,6 +9465,16 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" + integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -8772,24 +9567,6 @@ webpack-bundle-analyzer@^4.10.2: sirv "^2.0.3" ws "^7.3.1" -webpack-cli@^4.4.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31" - integrity sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w== - dependencies: - "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.2.0" - "@webpack-cli/info" "^1.5.0" - "@webpack-cli/serve" "^1.7.0" - colorette "^2.0.14" - commander "^7.0.0" - cross-spawn "^7.0.3" - fastest-levenshtein "^1.0.12" - import-local "^3.0.2" - interpret "^2.2.0" - rechoir "^0.7.0" - webpack-merge "^5.7.3" - webpack-dev-middleware@^5.3.4: version "5.3.4" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" @@ -8837,7 +9614,7 @@ webpack-dev-server@^4.15.2: webpack-dev-middleware "^5.3.4" ws "^8.13.0" -webpack-merge@^5.7.3, webpack-merge@^5.9.0: +webpack-merge@^5.9.0: version "5.10.0" resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== @@ -8856,9 +9633,9 @@ webpack-merge@^6.0.1: wildcard "^2.0.1" webpack-sources@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.0.tgz#8d3449f1ed3f254e722a529a0a344a37d2d17048" - integrity sha512-77R0RDmJfj9dyv5p3bM5pOHa+X8/ZkO9c7kpDstigkC4nIDobadsfSGCwB4bKhMVxqAok8tajaoR8rirM7+VFQ== + version "3.3.2" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.3.2.tgz#0ab55ab0b380ce53c45ca40cb7b33bab3149ea85" + integrity sha512-ykKKus8lqlgXX/1WjudpIEjqsafjOTcOJqxnAbMLAu/KCsDCJ6GBtvscewvTkrn24HsnvFwrSCbenFrhtcCsAA== webpack@^5.88.1, webpack@^5.95.0: version "5.99.9" @@ -8918,6 +9695,59 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== +which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e" + integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA== + dependencies: + is-bigint "^1.1.0" + is-boolean-object "^1.2.1" + is-number-object "^1.1.1" + is-string "^1.1.1" + is-symbol "^1.1.1" + +which-builtin-type@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e" + integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q== + dependencies: + call-bound "^1.0.2" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" + is-async-function "^2.0.0" + is-date-object "^1.1.0" + is-finalizationregistry "^1.1.0" + is-generator-function "^1.0.10" + is-regex "^1.2.1" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.1.0" + which-collection "^1.0.2" + which-typed-array "^1.1.16" + +which-collection@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" + integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== + dependencies: + is-map "^2.0.3" + is-set "^2.0.3" + is-weakmap "^2.0.2" + is-weakset "^2.0.3" + +which-typed-array@^1.1.16, which-typed-array@^1.1.19: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -8997,6 +9827,11 @@ yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yocto-queue@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.2.1.tgz#36d7c4739f775b3cbc28e6136e21aa057adec418" From 88b3de8fd48bd6a72f74731510b0e31b8bf70220 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Tue, 8 Jul 2025 09:40:12 +0400 Subject: [PATCH 03/46] Add properties description --- docs/api/config/default-styles.md | 123 +++++++++++++++++++-- docs/api/config/fullscreen.md | 18 ++-- docs/api/config/image-upload-url.md | 12 +-- docs/api/config/layout-mode.md | 20 ++-- docs/api/config/menubar.md | 12 +-- docs/api/config/toolbar.md | 159 +++++++++++++++++++++++++++- docs/api/config/value.md | 16 +-- 7 files changed, 318 insertions(+), 42 deletions(-) diff --git a/docs/api/config/default-styles.md b/docs/api/config/default-styles.md index a06f111..e9a001f 100644 --- a/docs/api/config/default-styles.md +++ b/docs/api/config/default-styles.md @@ -8,25 +8,134 @@ description: You can learn about the defaultStyles config in the documentation o ### Description -@short: Optional. ... +@short: Optional. Specifies default style values for specific block types ### Usage ~~~jsx {} -defaultStyles?: ...; +defaultStyles?: boolean | { + "*"?: { // affects all blocks, allowing you to set common properties for all of these blocks + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + p?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + blockquote?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h1?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h2?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h3?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h4?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h5?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + }, + h6?: { + "font-family"?: string; // "Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana" + "font-size"?: string; // "12px" | "14px" | "16px" | "18px" | "20px" | "24px" | "28px" | "32px" | "36px" + color?: string; + background?: string; + } +}; +~~~ + +:::important +The `defaultStyles` property DOES NOT set the actual CSS to the affected blocks. CSS styles have to be applied separately: + +```html{12-19} +new richtext.Richtext("#root", { + defaultStyles: { + h2: { + "font-family": "Roboto", + "font-size": "28px", + color: "purple", + background: "#FFC0CB" + } + } +}); + + +``` + +In this example, all `h2` blocks are assigned to the `"Roboto"` font-family with a font-size of 28px with both the foreground and the background colors changed as well. Css styles assigned to `h2` blocks as well. +::: + +### Default config + +~~~jsx +const defaultStyles = { + "*": { "font-family": "Arial" }, + p: { "font-size": "14px" }, + blockquote: { "font-size": "14px" }, + h1: { "font-size": "32px" }, + h2: { "font-size": "24px" }, + h3: { "font-size": "18px" }, + h4: { "font-size": "16px" }, + h5: { "font-size": "14px" }, + h6: { "font-size": "12px" } +}; ~~~ ### Example -~~~jsx {4} +~~~jsx {2-12} new richtext.Richtext("#root", { - defaultStyles: ... + defaultStyles: { + h4: { + "font-size": "17px" + }, + h5: { + "font-size": "15px" + }, + h6: { + "font-size": "13px" + } + } // other parameters }); ~~~ -**Change log:** The property was added in v2.0 +**Change log:** The property was updated in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) +**Related sample:** [RichText. Changing the default value for typography (font, font size, etc.)](https://snippet.dhtmlx.com/6u3ti01s) diff --git a/docs/api/config/fullscreen.md b/docs/api/config/fullscreen.md index 98048be..a78a8bf 100644 --- a/docs/api/config/fullscreen.md +++ b/docs/api/config/fullscreen.md @@ -8,25 +8,31 @@ description: You can learn about the fullscreen config in the documentation of t ### Description -@short: Optional. ... +@short: Optional. Enables the editor fullscreen mode ### Usage ~~~jsx {} -fullscreen?: ...; +fullscreen?: boolean; +~~~ + +### Default config + +~~~jsx +fullscreen: false ~~~ ### Example -~~~jsx {4} +~~~jsx {2} new richtext.Richtext("#root", { - fullscreen: ... + fullscreen: true // other parameters }); ~~~ **Change log:** The property was added in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) \ No newline at end of file +**Related sample:** [RichText. Full toolbar](https://snippet.dhtmlx.com/ziynafp7) diff --git a/docs/api/config/image-upload-url.md b/docs/api/config/image-upload-url.md index 9673716..80ad2bd 100644 --- a/docs/api/config/image-upload-url.md +++ b/docs/api/config/image-upload-url.md @@ -8,25 +8,25 @@ description: You can learn about the imageUploadUrl config in the documentation ### Description -@short: Optional. ... +@short: Optional. Specifies the URL which will be used for image upload ### Usage ~~~jsx {} -imageUploadUrl?: ...; +imageUploadUrl?: string; ~~~ ### Example -~~~jsx {4} +~~~jsx {2} new richtext.Richtext("#root", { - imageUploadUrl: ... + imageUploadUrl: "some URL" // other parameters }); ~~~ **Change log:** The property was added in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) \ No newline at end of file +**Related sample:** [RichText. Initialization](https://snippet.dhtmlx.com/t55alxiy) diff --git a/docs/api/config/layout-mode.md b/docs/api/config/layout-mode.md index 75df1d4..1c5fa07 100644 --- a/docs/api/config/layout-mode.md +++ b/docs/api/config/layout-mode.md @@ -8,25 +8,33 @@ description: You can learn about the layoutMode config in the documentation of t ### Description -@short: Optional. ... +@short: Optional. Specifies the layout mode for the main editor area ### Usage ~~~jsx {} -layoutMode?: ...; +layoutMode: "classic" | "document"; +~~~ + +The `"classic"` mode represents the edit area that fits the entire page. The `"document"` mode closely represent the real document sizes (sizes used: A4, A5, A6, A7). + +### Default config + +~~~jsx +layoutMode: "classic" ~~~ ### Example -~~~jsx {4} +~~~jsx {2} new richtext.Richtext("#root", { - layoutMode: ... + layoutMode: "document" // initializes richtext with "document" mode by default // other parameters }); ~~~ -**Change log:** The property was added in v2.0 +**Change log:** The property was added in v2.0 instead of the deprecated `mode` property **Related articles:** [Configuration](../../../guides/configuration) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) +**Related sample:** [RichText. Initialization](https://snippet.dhtmlx.com/t55alxiy) diff --git a/docs/api/config/menubar.md b/docs/api/config/menubar.md index 821260f..719012f 100644 --- a/docs/api/config/menubar.md +++ b/docs/api/config/menubar.md @@ -8,25 +8,25 @@ description: You can learn about the menubar config in the documentation of the ### Description -@short: Optional. ... +@short: Optional. Enables the top menubar ### Usage ~~~jsx {} -menubar?: ...; +menubar?: boolean; ~~~ ### Example -~~~jsx {4} +~~~jsx {2} new richtext.Richtext("#root", { - menubar: ... + menubar: true // other parameters }); ~~~ **Change log:** The property was added in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) +**Related sample:** [RichText. Initialization with menubar](https://snippet.dhtmlx.com/tjryzka7) diff --git a/docs/api/config/toolbar.md b/docs/api/config/toolbar.md index 9f1a4bf..4bb2641 100644 --- a/docs/api/config/toolbar.md +++ b/docs/api/config/toolbar.md @@ -8,25 +8,174 @@ description: You can learn about the toolbar config in the documentation of the ### Description -@short: Optional. ... +@short: Optional. Shows or hides Toolbar and specifies buttons visible within Toolbar ### Usage ~~~jsx {} -toolbar?: ...; +toolbar?: boolean | Array any }>; +~~~ + +#### Available buttons within Toolbar + +You can specify the following buttons in the Richtext Toolbar: + +| Button | Description | +|---------------------|-----------------------------------------------------------------------------| +| `undo` | Reverts the most recent user action. | +| `redo` | Reapplies the previously undone action. | +| `style` | Allows selection of text styles (e.g., headings, paragraph, etc.). | +| `font-family` | Changes the font of the selected text. | +| `font-size` | Adjusts the size of the selected text. | +| `bold` | Applies bold formatting to the selected text. | +| `italic` | Applies italic formatting to the selected text. | +| `underline` | Underlines the selected text. | +| `strike` | Applies strikethrough formatting. | +| `subscript` | Formats the text as subscript. | +| `superscript` | Formats the text as superscript. | +| `text-color` | Changes the text color. | +| `background-color` | Changes the background (highlight) color of the text. | +| `align` | Sets text alignment (left, center, right, justified). | +| `indent` | Increases paragraph indentation. | +| `outdent` | Decreases paragraph indentation. | +| `line-height` | Adjusts the line spacing (line height). | +| `quote` | Formats the text as a blockquote. | +| `bulleted-list` | Creates a bulleted list. | +| `numbered-list` | Creates a numbered list. | +| `link` | Inserts or edits a hyperlink. | +| `image` | Inserts an image. | +| `line` | Inserts a horizontal line. | +| `clear` | Removes all formatting from the selected text. | +| `print` | Opens the print dialog. | +| `fullscreen` | Toggles fullscreen mode. | +| `mode` | Switches between different view modes (e.g., visual, HTML, Markdown). | +| `shortcuts` | Displays a list of available keyboard shortcuts. | +| `separator` | Adds a visual separator between Toolbar groups. | + +You can use this strings to configure Toolbar buttons as follow: + +~~~jsx {2-7} +new richtext.Richtext("#root", { + toolbar: [ + "bold", + "italic", + "separator", + // other buttons + ], + // other parameters +}); +~~~ + +#### Custom buttons within Toolbar + +You can specify custom buttons as objects with the following parameters: + +- `id` - (required) a custom button ID (cannot overlap with existing button ids if you want to apply custom logic) +- `type` - (required) specifies the button type. Use `"button"` for a simple clickable button. Other types are unavailable at the moment +- `label` - (optional) a button label (combines with icon) +- `tooltip` - (optional) a tooltip displayed on hover (if not specified, uses the value from "label") +- `css` - (optional) a css class name assigned to the control (default supported classes: wx-primary, wx-secondary) +- `handler` - (optional) a callback function that executes when the button is clicked + +You can specify custom buttons within a Toolbar as follow: + +~~~jsx {6-14} +new richtext.Richtext("#root", { + toolbar: [ + "bold", + "italic", + "separator", + { + type: "button", + id: "btn1", + icon: "wxo-help", + css: "rounded", + label: "Custom button", + tooltip: "Some tooltip", + handler: () => ..., + }, + // other custom buttons + ], + // other parameters +}); +~~~ + +#### Hide Toolbar + +If you need to hide Toolbar, set the `toolbar` property to `false` as follows: + +~~~jsx {2} +new richtext.Richtext("#root", { + toolbar: false + // other parameters +}); +~~~ + +### Default config + +~~~jsx +const defaultToolbarButtons = { + "undo", + "redo", + "separator", + "style", + "separator", + "font-family", + "font-size", + "separator", + "bold", + "italic", + "underline", + "strike", + "separator", + "text-color", + "background-color", + "separator", + "align", + "line-height", + "outdent", + "indent", + "separator", + "bulleted-list", + "numbered-list", + "quote", + "separator", + "link", + "image", + "separator", + "clear", + "separator", + "fullscreen", + "mode" +}; ~~~ ### Example ~~~jsx {4} new richtext.Richtext("#root", { - toolbar: ... + toolbar: [ + "bold", + "italic", + "separator", + // custom buttons (all supported options are used below) + // user can only define custom buttons (no richselect/colorpicker support at the moment) + { + type: "button", + id: "btn1", // button id (cannot overlap with existing button ids if you want to apply custom logic) + icon: "wxo-help", // button icon (combines with label) + css: "rounded", // css class name assigned to the control (default supported classes: wx-primary, wx-secondary) + label: "Custom button", // button label (combines with icon) + tooltip: "Some tooltip", // tooltip displayed on hover (if not specified, uses the value from "label") + handler: () => ..., // custom logic attached to this button + } + ] // other parameters }); ~~~ **Change log:** The property was added in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) +**Related sample:** [RichText. Custom control and simplified toolbar](https://snippet.dhtmlx.com/wda202ih) diff --git a/docs/api/config/value.md b/docs/api/config/value.md index b77f9c6..a3a4c96 100644 --- a/docs/api/config/value.md +++ b/docs/api/config/value.md @@ -8,25 +8,29 @@ description: You can learn about the value config in the documentation of the DH ### Description -@short: Optional. ... +@short: Optional. Specifies the initial value (content) displayed within the editor area using the HTML format (default format) + +:::tip +If you want to set the value (content) using another format, use the built-in [`setValue()`](api/methods/set-value.md) method. +::: ### Usage ~~~jsx {} -value?: ...; +value?: string; ~~~ ### Example -~~~jsx {4} +~~~jsx {2} new richtext.Richtext("#root", { - value: ... + value: "

some value

" // sets the default value (HTML format) // other parameters }); ~~~ **Change log:** The property was added in v2.0 -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) -**Related sample:** [Richtext. Lazy rendering and column scroll](https://snippet.dhtmlx.com/...) +**Related sample:** [RichText. Initialization](https://snippet.dhtmlx.com/t55alxiy) From 1bf2916c258ed14b9b0ddcf29927092726df8c0b Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Mon, 14 Jul 2025 14:03:30 +0400 Subject: [PATCH 04/46] Add basic methods description --- docs/api/methods/get-uploader.md | 41 -------------------------------- docs/api/methods/get-value.md | 40 ++++++++++++++++--------------- docs/api/methods/set-config.md | 37 +++++++++++++--------------- docs/api/methods/set-value.md | 41 +++++++++++++++++--------------- sidebars.js | 6 ++--- 5 files changed, 62 insertions(+), 103 deletions(-) delete mode 100644 docs/api/methods/get-uploader.md diff --git a/docs/api/methods/get-uploader.md b/docs/api/methods/get-uploader.md deleted file mode 100644 index 9f37a97..0000000 --- a/docs/api/methods/get-uploader.md +++ /dev/null @@ -1,41 +0,0 @@ ---- -sidebar_label: getUploader() -title: setNext Method -description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. ---- - -# getUploader() - -### Description - -@short: ... - -### Usage - -~~~jsx {} -getUploader(next: any): void; -~~~ - -### Parameters - -- `next` - (required) the action to be included into the **Event Bus** order - -### Example - -~~~jsx {15} -const url = "https://some_backend_url"; -const restProvider = new richtext.RestDataProvider(url); - -Promise.all([ - ... -]).then(([cards, columns, rows]) => { - const editor = new richtext.Richtext("#root", { - ... - }); - editor.getUploader(restProvider); -}); -~~~ - -:::info -You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server -::: diff --git a/docs/api/methods/get-value.md b/docs/api/methods/get-value.md index 879a25f..35bae2b 100644 --- a/docs/api/methods/get-value.md +++ b/docs/api/methods/get-value.md @@ -1,41 +1,43 @@ --- sidebar_label: getValue() -title: setNext Method -description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +title: getValue Method +description: You can learn about the getValue method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- # getValue() ### Description -@short: ... +@short: Gets the editor value ### Usage ~~~jsx {} -getValue(next: any): void; +getValue(encoder?: any): string; ~~~ ### Parameters -- `next` - (required) the action to be included into the **Event Bus** order +- `encoder` - (optional) a parser used to encode the editor's content into a custom format. The following formats are available: `html` (default) and `text` + +You can get the required encoder in the following way: + +```jsx +const TextEncoder = richtext.text.toText; // text encoder +const HTMLEncoder = richtext.text.toHTML; // html encoder +``` ### Example -~~~jsx {15} -const url = "https://some_backend_url"; -const restProvider = new richtext.RestDataProvider(url); - -Promise.all([ - ... -]).then(([cards, columns, rows]) => { - const editor = new richtext.Richtext("#root", { - ... - }); - editor.getValue(restProvider); +~~~jsx {6-7} +const editor = new richtext.Richtext("#root", { + value: "Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos." // sets the default value (HTML format) + // other parameters }); + +const TextEncoder = richtext.text.toText; +const editor_value = editor.getValue(); +console.log(editor_value); ~~~ -:::info -You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server -::: +**Change log:** The method was updated in v2.0. The `mode` parameter was deprecated. The `encoder` parameter was added diff --git a/docs/api/methods/set-config.md b/docs/api/methods/set-config.md index f37eb32..2f740cb 100644 --- a/docs/api/methods/set-config.md +++ b/docs/api/methods/set-config.md @@ -1,41 +1,38 @@ --- sidebar_label: setConfig() -title: setNext Method -description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +title: setConfig Method +description: You can learn about the setConfig method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- # setConfig() ### Description -@short: ... +@short: Sets new configuration parameters ### Usage ~~~jsx {} -setConfig(next: any): void; +setConfig(config: { [key:any]: any }): void; ~~~ ### Parameters -- `next` - (required) the action to be included into the **Event Bus** order +- `config` - (required) the object of Richtext configuration parameters. See the full list of properties [here](/category/richtext-properties/) + +:::note +The `setConfig()` method preserves all the previously set parameters that are not explicitly provided in the `setConfig()` method call. +::: ### Example -~~~jsx {15} -const url = "https://some_backend_url"; -const restProvider = new richtext.RestDataProvider(url); - -Promise.all([ - ... -]).then(([cards, columns, rows]) => { - const editor = new richtext.Richtext("#root", { - ... - }); - editor.setConfig(restProvider); +~~~jsx {6-8} +const editor = new richtext.Richtext("#root", { + value: "

Some text

", + // other configuration parameters }); -~~~ -:::info -You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server -::: +editor.setConfig({ + layoutMode: "document" +}); +~~~ diff --git a/docs/api/methods/set-value.md b/docs/api/methods/set-value.md index 6a35da1..5889abd 100644 --- a/docs/api/methods/set-value.md +++ b/docs/api/methods/set-value.md @@ -1,41 +1,44 @@ --- sidebar_label: setValue() -title: setNext Method -description: You can learn about the setNext method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +title: setValue Method +description: You can learn about the setValue method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- # setValue() ### Description -@short: ... +@short: Sets the editor value ### Usage ~~~jsx {} -setValue(next: any): void; +setValue: (value: string, encoder?: any): void; ~~~ ### Parameters -- `next` - (required) the action to be included into the **Event Bus** order +- `value` - (required) a value to be inserted into the editor +- `encoder` - (optional) a custom parser used to encode the editor's content into a custom format. The following formats are available: `html` (default) and `text` + +You can get the required encoder in the following way: + +```jsx +const TextEncoder = richtext.text.fromText; // text encoder +const HTMLEncoder = richtext.text.fromHTML; // html encoder +``` ### Example -~~~jsx {15} -const url = "https://some_backend_url"; -const restProvider = new richtext.RestDataProvider(url); - -Promise.all([ - ... -]).then(([cards, columns, rows]) => { - const editor = new richtext.Richtext("#root", { - ... - }); - editor.setValue(restProvider); +~~~jsx {7-8} +const editor = new richtext.Richtext("#root", { + // configuration parameters }); + +const editor_value = "Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos." + +const TextEncoder = richtext.text.fromText; +editor.setValue(editor_value, TextEncoder); ~~~ -:::info -You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server -::: +**Change log:** The method was updated in v2.0. The `mode` parameter was deprecated. The `encoder` parameter was added diff --git a/sidebars.js b/sidebars.js index 89a45ac..9c1ffc2 100644 --- a/sidebars.js +++ b/sidebars.js @@ -37,11 +37,9 @@ module.exports = { image: "/img/docusaurus.png" }, items: [ - // A - "api/methods/get-uploader", "api/methods/get-value", - "api/methods/set-config", - "api/methods/set-value" + "api/methods/set-value", + "api/methods/set-config" ] }, // JS RichText internal methods From dea2f9e5bb0b72e038eca054af26fa10e3d2f1f3 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Fri, 18 Jul 2025 13:31:07 +0400 Subject: [PATCH 05/46] Update configs --- docs/api/config/default-styles.md | 3 +- docs/api/config/fullscreen.md | 7 +++-- docs/api/config/image-upload-url.md | 3 +- docs/api/config/layout-mode.md | 9 +++--- docs/api/config/locale.md | 45 +++++++++++++++++++++++++++++ docs/api/config/menubar.md | 5 ++-- docs/api/config/toolbar.md | 15 +++++----- docs/api/config/value.md | 4 +-- 8 files changed, 71 insertions(+), 20 deletions(-) create mode 100644 docs/api/config/locale.md diff --git a/docs/api/config/default-styles.md b/docs/api/config/default-styles.md index e9a001f..f61f168 100644 --- a/docs/api/config/default-styles.md +++ b/docs/api/config/default-styles.md @@ -117,7 +117,8 @@ const defaultStyles = { ### Example -~~~jsx {2-12} +~~~jsx {3-13} +// initialize RichText new richtext.Richtext("#root", { defaultStyles: { h4: { diff --git a/docs/api/config/fullscreen.md b/docs/api/config/fullscreen.md index a78a8bf..62131fe 100644 --- a/docs/api/config/fullscreen.md +++ b/docs/api/config/fullscreen.md @@ -8,7 +8,7 @@ description: You can learn about the fullscreen config in the documentation of t ### Description -@short: Optional. Enables the editor fullscreen mode +@short: Optional. Enables the RichText fullscreen mode ### Usage @@ -19,12 +19,13 @@ fullscreen?: boolean; ### Default config ~~~jsx -fullscreen: false +fullscreen: false; ~~~ ### Example -~~~jsx {2} +~~~jsx {3} +// initialize RichText new richtext.Richtext("#root", { fullscreen: true // other parameters diff --git a/docs/api/config/image-upload-url.md b/docs/api/config/image-upload-url.md index 80ad2bd..e9df755 100644 --- a/docs/api/config/image-upload-url.md +++ b/docs/api/config/image-upload-url.md @@ -18,7 +18,8 @@ imageUploadUrl?: string; ### Example -~~~jsx {2} +~~~jsx {3} +// initialize RichText new richtext.Richtext("#root", { imageUploadUrl: "some URL" // other parameters diff --git a/docs/api/config/layout-mode.md b/docs/api/config/layout-mode.md index 1c5fa07..3f797f6 100644 --- a/docs/api/config/layout-mode.md +++ b/docs/api/config/layout-mode.md @@ -21,20 +21,21 @@ The `"classic"` mode represents the edit area that fits the entire page. The `"d ### Default config ~~~jsx -layoutMode: "classic" +layoutMode: "classic"; ~~~ ### Example -~~~jsx {2} +~~~jsx {3} +// initialize RichText new richtext.Richtext("#root", { - layoutMode: "document" // initializes richtext with "document" mode by default + layoutMode: "document" // initializes RichText with "document" mode by default // other parameters }); ~~~ **Change log:** The property was added in v2.0 instead of the deprecated `mode` property -**Related articles:** [Configuration](../../../guides/configuration) +**Related articles:** [Configuration](guides/configuration.md) **Related sample:** [RichText. Initialization](https://snippet.dhtmlx.com/t55alxiy) diff --git a/docs/api/config/locale.md b/docs/api/config/locale.md new file mode 100644 index 0000000..11338a3 --- /dev/null +++ b/docs/api/config/locale.md @@ -0,0 +1,45 @@ +--- +sidebar_label: locale +title: locale Config +description: You can learn about the locale config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# locale + +### Description + +@short: Optional. An object that includes localization labels of RichText + +:::info +The **locale** object needs to include all labels of RichText with the corresponding translations. +::: + +### Usage + +~~~jsx {} +locale?: object; +~~~ + +### Default config + +By default, RichText uses the **English** locale. You can set it to the custom locale as well. + +:::tip +To change the current locale dynamically, you can use the [**setLocale()**](methods/set-locale.md) method of RichText +::: + +### Example + +~~~jsx {3} +// initialize RichText +const editor = new richtext.RichText("#root", { + locale: richtext.locale.cn // the Chineese locale will be set initially + // locale: richtext.locale.en // the English locale will be set initially + // locale: richtext.locale.de // the Germany locale will be set initially + // other parameters +}); +~~~ + +**Related articles:** [Localization](guides/localization.md) + +**Related sample:** [RichText. Localization](https://snippet.dhtmlx.com/zxjrin3i) diff --git a/docs/api/config/menubar.md b/docs/api/config/menubar.md index 719012f..b08ff2b 100644 --- a/docs/api/config/menubar.md +++ b/docs/api/config/menubar.md @@ -8,7 +8,7 @@ description: You can learn about the menubar config in the documentation of the ### Description -@short: Optional. Enables the top menubar +@short: Optional. Enables the top menubar of RichText ### Usage @@ -18,7 +18,8 @@ menubar?: boolean; ### Example -~~~jsx {2} +~~~jsx {3} +// initialize RichText new richtext.Richtext("#root", { menubar: true // other parameters diff --git a/docs/api/config/toolbar.md b/docs/api/config/toolbar.md index 4bb2641..f51164c 100644 --- a/docs/api/config/toolbar.md +++ b/docs/api/config/toolbar.md @@ -8,7 +8,7 @@ description: You can learn about the toolbar config in the documentation of the ### Description -@short: Optional. Shows or hides Toolbar and specifies buttons visible within Toolbar +@short: Optional. Enables toolbar and specifies buttons displayed within Toolbar ### Usage @@ -18,7 +18,7 @@ toolbar?: boolean | Array Date: Fri, 18 Jul 2025 13:33:59 +0400 Subject: [PATCH 06/46] Update methods --- docs/api/methods/destructor.md | 27 ++++++++++++++++++++++++ docs/api/methods/get-value.md | 4 ++-- docs/api/methods/set-config.md | 4 ++-- docs/api/methods/set-locale.md | 38 ++++++++++++++++++++++++++++++++++ docs/api/methods/set-value.md | 6 +++--- sidebars.js | 8 +++++-- 6 files changed, 78 insertions(+), 9 deletions(-) create mode 100644 docs/api/methods/destructor.md create mode 100644 docs/api/methods/set-locale.md diff --git a/docs/api/methods/destructor.md b/docs/api/methods/destructor.md new file mode 100644 index 0000000..701a1b8 --- /dev/null +++ b/docs/api/methods/destructor.md @@ -0,0 +1,27 @@ +--- +sidebar_label: destructor() +title: destructor Method +description: You can learn about the destructor method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# destructor() + +### Description + +@short: Removes all HTML elements of RichText, and detaches all related events + +### Usage + +~~~jsx {} +destructor(): void; +~~~ + +### Example + +~~~jsx {4-5} +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// remove RichText +editor.destructor(); +~~~ diff --git a/docs/api/methods/get-value.md b/docs/api/methods/get-value.md index 35bae2b..f6cf115 100644 --- a/docs/api/methods/get-value.md +++ b/docs/api/methods/get-value.md @@ -8,7 +8,7 @@ description: You can learn about the getValue method in the documentation of the ### Description -@short: Gets the editor value +@short: Gets the RichText value ### Usage @@ -18,7 +18,7 @@ getValue(encoder?: any): string; ### Parameters -- `encoder` - (optional) a parser used to encode the editor's content into a custom format. The following formats are available: `html` (default) and `text` +- `encoder` - (optional) a parser used to encode the RichText's content into a custom format. The following formats are available: `html` (default) and `text` You can get the required encoder in the following way: diff --git a/docs/api/methods/set-config.md b/docs/api/methods/set-config.md index 2f740cb..8fdbcdc 100644 --- a/docs/api/methods/set-config.md +++ b/docs/api/methods/set-config.md @@ -8,7 +8,7 @@ description: You can learn about the setConfig method in the documentation of th ### Description -@short: Sets new configuration parameters +@short: Applies new configuration parameters to RichText ### Usage @@ -18,7 +18,7 @@ setConfig(config: { [key:any]: any }): void; ### Parameters -- `config` - (required) the object of Richtext configuration parameters. See the full list of properties [here](/category/richtext-properties/) +- `config` - (required) the object of RichText configuration parameters. See the full list of properties [here](/category/richtext-properties/) :::note The `setConfig()` method preserves all the previously set parameters that are not explicitly provided in the `setConfig()` method call. diff --git a/docs/api/methods/set-locale.md b/docs/api/methods/set-locale.md new file mode 100644 index 0000000..1ade3e8 --- /dev/null +++ b/docs/api/methods/set-locale.md @@ -0,0 +1,38 @@ +--- +sidebar_label: setLocale() +title: setLocale Method +description: You can learn about the setLocale method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# setLocale() + +### Description + +@short: Applies a new locale to RichText + +### Usage + +~~~jsx {} +setLocale(null | locale?: object): void; +~~~ + +### Parameters + +- `null` - (optional) resets to the default locale (*English*) +- `locale` - (optional) the object of data of the new locale to be applied + +:::info +Use the `setLocale()` method to apply a new locale to RichText. To reset RichText to the default locale, call the `setLocale()` method without arguments (or with a *null* value). +::: + +### Example + +~~~jsx {4-5} +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// apply the "de" locale to RichText +editor.setLocale(de); +~~~ + +**Related articles:** [Localization](guides/localization.md) diff --git a/docs/api/methods/set-value.md b/docs/api/methods/set-value.md index 5889abd..8ce6cf9 100644 --- a/docs/api/methods/set-value.md +++ b/docs/api/methods/set-value.md @@ -8,7 +8,7 @@ description: You can learn about the setValue method in the documentation of the ### Description -@short: Sets the editor value +@short: Applies a new value to RichText ### Usage @@ -18,8 +18,8 @@ setValue: (value: string, encoder?: any): void; ### Parameters -- `value` - (required) a value to be inserted into the editor -- `encoder` - (optional) a custom parser used to encode the editor's content into a custom format. The following formats are available: `html` (default) and `text` +- `value` - (required) a value to be inserted into the RichText +- `encoder` - (optional) a custom parser used to encode the RichText's content into a custom format. The following formats are available: `html` (default) and `text` You can get the required encoder in the following way: diff --git a/sidebars.js b/sidebars.js index 9c1ffc2..a665617 100644 --- a/sidebars.js +++ b/sidebars.js @@ -37,9 +37,12 @@ module.exports = { image: "/img/docusaurus.png" }, items: [ + "api/methods/destructor", "api/methods/get-value", "api/methods/set-value", - "api/methods/set-config" + "api/methods/set-config", + "api/methods/set-locale" + ] }, // JS RichText internal methods @@ -67,7 +70,7 @@ module.exports = { image: "/img/docusaurus.png" }, items: [ - "api/internal/detach", + //"api/internal/detach", "api/internal/exec", "api/internal/intercept", "api/internal/on", @@ -153,6 +156,7 @@ module.exports = { "api/config/fullscreen", "api/config/image-upload-url", "api/config/layout-mode", + "api/config/locale", "api/config/menubar", "api/config/toolbar", "api/config/value" From 7af7071b7434029fe662f5f00f636be79c044911 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Fri, 18 Jul 2025 13:34:16 +0400 Subject: [PATCH 07/46] Update internal methods --- docs/api/internal/detach.md | 29 +------------------------ docs/api/internal/exec.md | 26 ++++++++++------------ docs/api/internal/get-reactive-state.md | 20 ++++++++++++----- docs/api/internal/get-state.md | 23 +++++++++++++------- docs/api/internal/intercept.md | 12 +++++----- docs/api/internal/on.md | 14 ++++++------ docs/api/internal/set-next.md | 2 +- 7 files changed, 56 insertions(+), 70 deletions(-) diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md index 3c8d1ad..0d1ec14 100644 --- a/docs/api/internal/detach.md +++ b/docs/api/internal/detach.md @@ -1,5 +1,5 @@ --- -sidebar_label: api.detach() +sidebar_label: api.detach() ? title: on Method description: You can learn about the on method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- @@ -8,37 +8,10 @@ description: You can learn about the on method in the documentation of the DHTML ### Description -@short: Allows attaching a handler to the inner events - ### Usage -~~~jsx {} -api.detach( - event: string, - handler: function -): void; -~~~ - ### Parameters -- `event` - (required) an event to be fired -- `handler` - (required) a handler to be attached (the handler arguments will depend on the event to be fired) - ### Events -:::info -The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) -::: - ### Example - -~~~jsx {7-9} -// create RichText -const editor = new richtext.Richtext("#root", { - ... -}); -// ... -editor.api.detach("move-card", ({ id, columnId }) => { - console.log({ id, columnId }); -}); -~~~ diff --git a/docs/api/internal/exec.md b/docs/api/internal/exec.md index 9ebe5a9..5b613f4 100644 --- a/docs/api/internal/exec.md +++ b/docs/api/internal/exec.md @@ -8,7 +8,7 @@ description: You can learn about the exec method in the documentation of the DHT ### Description -@short: Allows triggering the inner events +@short: Allows triggering inner events ### Usage @@ -21,30 +21,26 @@ api.exec( ### Parameters -- `event` - (required) an event to be fired +- `event` - (required) an event to be fired - `config` - (required) the config object with parameters (see the event to be fired) ### Events :::info -The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +The full list of the RichText internal events can be found [**here**](/category/richtext-events/) ::: ### Example -~~~jsx {7,9-12} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - columns, - cards -}); -// select the card with the 1 ID -editor.api.exec("select-card", { id: 1 }); -// add new card without sending changes to the server -editor.api.exec("add-card", { - columnId: "backlog", - skipProvider: true, + // configuration parameters }); +// set the text font size +editor.api.exec("set-font-size", { + fontSize: "16px" +}); ~~~ -**Related sample:** [RichText. Preserve sorting](https://snippet.dhtmlx.com/74nyuv14?tag=richtext) +**Change log:** The method was added in v2.0 diff --git a/docs/api/internal/get-reactive-state.md b/docs/api/internal/get-reactive-state.md index 30d7fa4..1dcdc4a 100644 --- a/docs/api/internal/get-reactive-state.md +++ b/docs/api/internal/get-reactive-state.md @@ -22,19 +22,27 @@ The method returns an object with the following parameters: ~~~jsx {} { - ... + cursorState: { subscribe: any }, + defaultStyles {...}, + document {...}, + fullscreen {...}, + history {...}, + layoutMode {...}, + popup {...}, + selection {...} } ~~~ ### Example -~~~jsx {7-37} -// create RichText +~~~jsx {5-7} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // get the Reactive State of RichText -const state = editor.api.getReactiveState(); +const reactive_state = editor.api.getReactiveState(); +console.log(reactive_state) ~~~ -**Change log:** +**Change log:** The method was added in v2.0 diff --git a/docs/api/internal/get-state.md b/docs/api/internal/get-state.md index 156ea4e..feb4fc4 100644 --- a/docs/api/internal/get-state.md +++ b/docs/api/internal/get-state.md @@ -21,21 +21,28 @@ api.getState(): object; The method returns an object with the following parameters: ~~~jsx {} -{ - ... +{ + cursorState: {}, + defaultStyles: {}, + document: {}, + fullscreen: boolean, + history: [] + layoutMode: string, + popup: any, + selection: {} } +~~~ ### Example -~~~jsx {7-12} -// create RichText +~~~jsx {5-7} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // get the State of RichText const state = editor.api.getState(); -console.log(...); // ... -//... +console.log(state); ~~~ -**Change log:** +**Change log:** The method was added in v2.0 diff --git a/docs/api/internal/intercept.md b/docs/api/internal/intercept.md index 0299f93..ec55034 100644 --- a/docs/api/internal/intercept.md +++ b/docs/api/internal/intercept.md @@ -32,15 +32,17 @@ The full list of the RichText internal events can be found [**here**](api/overvi ### Example -~~~jsx {7-11} +~~~jsx {5-10} // create RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); -// forbid moving cards to the column with the "done" ID -editor.api.intercept("move-card", ({ id, columnId }) => { - if(columnId !== "done" ){ +// forbid changing the font size +editor.api.intercept("set-font-size", (obj) => { + if(obj.fontSize !== "36px" ){ return false; } }); ~~~ + +**Change log:** The method was added in v2.0 diff --git a/docs/api/internal/on.md b/docs/api/internal/on.md index 4325ede..e237333 100644 --- a/docs/api/internal/on.md +++ b/docs/api/internal/on.md @@ -27,18 +27,18 @@ api.on( ### Events :::info -The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +The full list of the RichText internal events can be found [**here**](/category/richtext-events/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); -// ... -editor.api.on("move-card", ({ id, columnId }) => { - console.log({ id, columnId }); +// subscribe on the "set-font-size" event +editor.api.on("set-font-size", (obj) => { + console.log(obj.fontSize); }); ~~~ diff --git a/docs/api/internal/set-next.md b/docs/api/internal/set-next.md index 7290c94..facab30 100644 --- a/docs/api/internal/set-next.md +++ b/docs/api/internal/set-next.md @@ -28,7 +28,7 @@ const restProvider = new richtext.RestDataProvider(url); Promise.all([ ... -]).then(([cards, columns, rows]) => { +]).then(([value]) => { const editor = new richtext.Richtext("#root", { ... }); From 8b3e514b8491a89b5713b707028f1c2b92d0b353 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Sat, 19 Jul 2025 11:35:41 +0400 Subject: [PATCH 08/46] Update internal methods --- docs/api/internal/detach.md | 34 +++++++++++++++++++++++++++++++++- docs/api/internal/exec.md | 2 +- docs/api/internal/intercept.md | 2 +- docs/api/internal/on.md | 2 +- sidebars.js | 2 +- 5 files changed, 37 insertions(+), 5 deletions(-) diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md index 0d1ec14..32794ff 100644 --- a/docs/api/internal/detach.md +++ b/docs/api/internal/detach.md @@ -1,5 +1,5 @@ --- -sidebar_label: api.detach() ? +sidebar_label: api.detach() title: on Method description: You can learn about the on method in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- @@ -8,10 +8,42 @@ description: You can learn about the on method in the documentation of the DHTML ### Description +@short: Allows removing/detaching event handlers + ### Usage +~~~jsx {} +api.detach( event: string ): void; +~~~ + ### Parameters +- `event` - (required) an event to be detached + ### Events +:::info +The full list of RichText internal events can be found [**here**](/category/richtext-events/) +::: + ### Example + +~~~jsx {16-17} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); + +// subscribe on the "set-font-size" event +editor.api.on("set-font-size", (obj) => { + console.log(obj.fontSize); +}); + +// set the text font size +editor.api.exec("set-font-size", { + fontSize: "36px" +}); + +// detach the "set-font-size" event +editor.api.detach("set-font-size"); +~~~ diff --git a/docs/api/internal/exec.md b/docs/api/internal/exec.md index 5b613f4..238d7b8 100644 --- a/docs/api/internal/exec.md +++ b/docs/api/internal/exec.md @@ -27,7 +27,7 @@ api.exec( ### Events :::info -The full list of the RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](/category/richtext-events/) ::: ### Example diff --git a/docs/api/internal/intercept.md b/docs/api/internal/intercept.md index ec55034..db0d499 100644 --- a/docs/api/internal/intercept.md +++ b/docs/api/internal/intercept.md @@ -27,7 +27,7 @@ api.intercept( ### Events :::info -The full list of the RichText internal events can be found [**here**](api/overview/main_overview.md/#richtext-events) +The full list of RichText internal events can be found [**here**](/category/richtext-events/) ::: ### Example diff --git a/docs/api/internal/on.md b/docs/api/internal/on.md index e237333..f097012 100644 --- a/docs/api/internal/on.md +++ b/docs/api/internal/on.md @@ -27,7 +27,7 @@ api.on( ### Events :::info -The full list of the RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](/category/richtext-events/) ::: ### Example diff --git a/sidebars.js b/sidebars.js index a665617..4845c76 100644 --- a/sidebars.js +++ b/sidebars.js @@ -70,7 +70,7 @@ module.exports = { image: "/img/docusaurus.png" }, items: [ - //"api/internal/detach", + "api/internal/detach", "api/internal/exec", "api/internal/intercept", "api/internal/on", From b573291c7a83637b48322152ad92d2020447dfd0 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Sat, 19 Jul 2025 20:13:21 +0400 Subject: [PATCH 09/46] Add minor fixes --- docs/api/editor_api_methods.md | 426 --------------------------------- docs/api/events_bus.md | 92 ------- docs/api/internal/detach.md | 2 + docs/api/internal/on.md | 2 + docs/api/methods.md | 240 ------------------- docs/api/properties.md | 163 ------------- docs/api/toolbar_methods.md | 78 ------ sidebars.js | 43 ++-- 8 files changed, 25 insertions(+), 1021 deletions(-) delete mode 100644 docs/api/editor_api_methods.md delete mode 100644 docs/api/events_bus.md delete mode 100644 docs/api/methods.md delete mode 100644 docs/api/properties.md delete mode 100644 docs/api/toolbar_methods.md diff --git a/docs/api/editor_api_methods.md b/docs/api/editor_api_methods.md deleted file mode 100644 index 5f8a7ca..0000000 --- a/docs/api/editor_api_methods.md +++ /dev/null @@ -1,426 +0,0 @@ ---- -sidebar_label: Editor API methods -title: Editor API methods -description: Become acquainted with DHTMLX Rich Text Editor API parameters, types, and their detailed descriptions. ---- - -## `add` - -Adds a new text into the editor - -`void add(string|object config, [object selection] );` - -| Parameter | Type | Description | -| ----------- | --------------- | --------------------------------------| -| `config` | `string,object` | a string with a text or a text block as an object. Check the details | -| `selection` | `object` | optional, text selection (its position relative to all other text). Check the details | - - -```js -// adding simple text -richtext.getEditorAPI().add("text"); -// or -richtext.getEditorAPI().add({type:"text",data:"text"}); - -// adding a text node with style into the predefined position -richtext.getEditorAPI().add({ - type: "textnode", - data: { - text: "Hello world", - style: { - bold: true - } - } -}, { - left: { - blockIndex: 0, - textIndex: 0, - offset: 0 - }, - range: false -}); - -// adding a data model -richtext.getEditorAPI().add({type:"full",data:[ - { - "style": { - "style": "h1" - }, - "textNodes": [ - { - "style": {}, - "text": "Hello " - }, - { - "style": { - "italic": true - }, - "text": "world" - }, - { - "style": {}, - "text": "!" - } - ] - } -]}); -``` - -**Related samples:** [RichText. Add](https://snippet.dhtmlx.com/6dmccf0l) - -#### Details - -Check the detailed description of parameters: - - - - - - - - - - - - - - - - - - - - - -
ParameterTypeDescription
configstring|objecta string with a text or a text block as an object.If set as an object, the parameter includes:
  • type - (string) the type of a text block: "text" (a string) | "textnode" (a text node) | "full" (a data model);
  • data - (string|object|array) the content of a text block. It can be:
    • a simple string with text;
    • a text node as an object that includes:
      • a text as a string;
      • an object with style properties.
    • a data model as an array. It contains objects with styles and text nodes. Each text node includes:
      • an array with text nodes objects (each of them contains two key:value values for a text string and an object with style settings, as described above)
      • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
- -___ - -## `getModel` - -Returns the data model of the entered text in the JSON format - -`array getModel();` - -**Returns:** - -| Type | Description | -| ------- | ---------------------------------- | -| `array` | the data model of the entered text | - - -```js -const model = richtext.getEditorAPI().getModel(); -``` - -**Related samples:** [RichText. Get Model](https://snippet.dhtmlx.com/ef6uolvq) - -#### Details: - -The returned value is an array of the following type: - -```js -[ - { - "style": { - "style": "h1" - }, - "textNodes": [ - { - "style": {}, - "text": "Hello " - }, - { - "style": { - "italic": true - }, - "text": "world" - }, - { - "style": {}, - "text": "!" - } - ] - } -] -``` - -It contains objects with styles and text nodes. Each text node includes: - -- an array with text nodes objects (each of them contains two key:value pairs for a text string and an object with style settings) -- a style object -___ - -## `getPosition` - -Returns the position of text selection relative to the browser window - -`object getPosition();` - -**Returns:** - -| Type | Description | -| -------- | ------------------------------------------------------------- | -| `object` | the position of text selection relative to the browser window | - -```js -const position = richtext.getEditorAPI().getPosition(); -``` - -**Related samples:** [RichText. Get Position](https://snippet.dhtmlx.com/nv42vsjg) - -#### Details - -The returned value is an object of the following type: - -~~~js -{ - "xStart": 402.5, - "yStart": 172, - "xEnd": 461.5, - "yEnd": 172 -} -~~~ - -where: - -- `xStart` - the X coordinate of the selection start -- `yStart` - the Y coordinate of the selection start -- `xEnd` - the X coordinate of the selection end -- `yEnd` - the Y coordinate of the selection end -___ - -## `getSelection` - -Returns the position of text selection relative to all other text - -`object getSelection();` - -**Returns:** - -| Type | Description | -| -------- | --------------------------------------------------------- | -| `object` | the position of text selection relative to all other text | - - -```js -const selection = richtext.getEditorAPI().getSelection(); -``` - -**Related samples:** [RichText. Get Selection](https://snippet.dhtmlx.com/se4p4vin) - -#### Details - -The returned value is an object of the following type: - -~~~js -{ - "left": { - "blockIndex": 0, - "textIndex": 0, - "offset": 8 - }, - "right": { - "blockIndex": 0, - "textIndex": 0, - "offset": 12 - }, - "range": true -} -~~~ - -where: - - - -
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
- -
- -___ - -## `remove` - -Removes a selected text - -`void remove( [object selection] );` - -| Parameter | Type | Description | -| ----------- | -------- | ------------------------------------------------------------------------------------- | -| `selection` | `object` | optional, text selection (its position relative to all other text). Check the details | - - -```js -const api = richtext.getEditorAPI(); - -richtext.getEditorAPI().remove(api.getSelection()); -``` - -**Related samples:** [RichText. Remove](https://snippet.dhtmlx.com/0vzuwyk1) - -#### Details - -Check the detailed description of the parameter: - - - - - - - - - -
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
- -___ - -## `setModel` - -Sets a structured text with styles (a data model as JSON) for the editor - -`void setModel(array structure, [object selection] );` - -| Parameter | Type | Description | -| ----------- | -------- | ------------------------------------------------------------------------------------- | -| `structure` | `array` | an array of objects with styles and text nodes. Check the details | -| `selection` | `object` | optional, text selection (its position relative to all other text). Check the details | - - -```js -richtext.getEditorAPI().setModel([ - { - "style": { - "style": "h1" - }, - "textNodes": [ - { - "style": {}, - "text": "Hello " - }, - { - "style": { - "italic": true - }, - "text": "world" - }, - { - "style": {}, - "text": "!" - } - ] - } -]); -``` - -**Related samples:** [RichText. Set Model](https://snippet.dhtmlx.com/37ffpg6t) - -#### Details - -Check the detailed description of parameters: - - - - - - - - - - - - - - -
structurearrayan array of objects with styles and text nodes. Each text node includes:
  • an array with text nodes objects (each of them contains two key:value pairs for a text string and an object with style settings)
  • a style object
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
- -___ - -## `setSelection` - -Applies selection to the specified text position - -`void setSelection(object selection);` - -| Parameter | Type | Description | -| ----------- | -------- | --------------------------------------------------------- | -| `selection` | `object` | the position of text selection relative to all other text | - - -~~~js -richtext.getEditorAPI().setSelection({ - "left": { - "blockIndex": 0, - "textIndex": 0, - "offset": 0 - }, - "right": { - "blockIndex": 0, - "textIndex": 0, - "offset": 9 - }, - "range": true -}); -~~~ - -**Related samples:** [RichText. Set Selection](https://snippet.dhtmlx.com/2uvls0y9) - -#### Details - -Check the detailed description of the parameter: - - - - - - - - - -
selectionobjectthe position of text selection relative to all other text. Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
- -___ - -## `update` - -Modifies the entered text - -`void update(object config, [object selection] );` - -| Parameter | Type | Description | -| ----------- | -------- | ------------------------------------------------------------------------------------- | -| `config` | `object` | an object with details of updating. Check the details | -| `selection` | `object` | optional, text selection (its position relative to all other text). Check the details | - - -```js -const api = richtext.getEditorAPI(); - -richtext.getEditorAPI().update( - { - modifier: "color", - value: "#BB2B1A" - }, - api.getSelection() -); -``` - -**Related samples:** [RichText. Update](https://snippet.dhtmlx.com/6kf43fmz) - -#### Details: - -Check the detailed description of parameters: - - - - - - - - - - - - - - -
configobjectan object with details of updating. It contains two parameters:
  • modifier - (object) an object with a set of styling options that will be updated;
  • value - (any) the value of the modifier.
selectionobjectoptional, text selection (its position relative to all other text). Includes the following attributes:
  • range - (boolean) defines whether the selection includes one character (false), or a range of them (true).
  • left - (object) the left coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the first character within a text node in the selection.
  • right - (object) the right coordinate of selection, contains the following properties:
    • blockIndex - (number) the index of a text block (a text line), enumeration starts from 0;
    • textIndex - (number) the index of a text node (a text with common styling), enumeration starts from 0;
    • offset - (number) the number of the last character within a text node in the selection. You can also call the getSelection method instead of passing the second parameter.
diff --git a/docs/api/events_bus.md b/docs/api/events_bus.md deleted file mode 100644 index 190ce92..0000000 --- a/docs/api/events_bus.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -sidebar_label: Event Bus methods -title: Event Bus methods -description: Learn how to use event bus for handling various events in DHTMLX Rich Text Editor. ---- - - -## `detach` - -Detaches a handler from an event (which was attached before by the `on()` method) - -`void detach(string name, [any context] );` - -| Parameter | Type | Description | -| --------- | -------- | --------------------------- | -| `name` | `string` | the name of event to detach | -| `context` | `any` | a context marker | - -```js -richtext.events.on("Change", function(action, canUndo, canRedo){ - // your code here -}); - -richtext.events.detach("Change"); -``` - -#### Details - -By default `detach()` removes all event handlers from the target event. You can detach particular event handlers by using the context marker. - -```js -const marker = "any"; // you can use any string|object value - -richtext.events.on("Change", handler1); -richtext.events.on("Change", handler2, marker); -// the next command will delete only handler2 -richtext.events.detach("Change", marker); -``` -___ - -## `fire` - -Triggers an inner even - -`boolean fire(string name, array params);` - -| Parameter | Type | Description | -| --------- | -------- | ---------------------------------- | -| `name` | `string` | the event's name, case-insensitive | -| `params` | `array` | an array of the event-related data | - -**Returns** - -| Type | Description | -| --------- | ------------------------------------------------------------------------ | -| `boolean` | *false*, if some of the event handlers return *false*. Otherwise, *true* | - -```js -richtext.events.on("CustomEvent", function(param1, param2){ - return true; -}); - -const res = richtext.events.fire("CustomEvent", [12, "abc"]); -``` - -#### Details -Normally, events are called automatically and you don't need to use this method. -___ - -## `on` - -Attaches a handler to an inner event of RichText - -`void on(string name, function handler, [any context]);` - -| Parameter | Type | Description | -| --------- | --------- | ------------------------------------------------------------------ | -| `name` | `string` | the event's name, case-insensitive | -| `handler` | `handler` | the handler function | -| `context` | `any` | the value will be accessible as "this" inside of the event handler | - -```js -richtext.events.on("Change", function(action, canUndo, canRedo){ - // your code here -}); -``` - -#### Details - -[See the list of RichText events](api/events.md). - -You can attach several handlers to the same event and all of them will be executed. If some of handlers return *false*, the related operations will be blocked. Event handlers are processed in the same order that they are attached. \ No newline at end of file diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md index 32794ff..8cd8e0d 100644 --- a/docs/api/internal/detach.md +++ b/docs/api/internal/detach.md @@ -47,3 +47,5 @@ editor.api.exec("set-font-size", { // detach the "set-font-size" event editor.api.detach("set-font-size"); ~~~ + +**Change log:** The method was updated in v2.0. The `name` and `context` parameters were deprecated diff --git a/docs/api/internal/on.md b/docs/api/internal/on.md index f097012..2682716 100644 --- a/docs/api/internal/on.md +++ b/docs/api/internal/on.md @@ -42,3 +42,5 @@ editor.api.on("set-font-size", (obj) => { console.log(obj.fontSize); }); ~~~ + +**Change log:** The method was updated in v2.0. The `context` parameter were deprecated diff --git a/docs/api/methods.md b/docs/api/methods.md deleted file mode 100644 index fbc424b..0000000 --- a/docs/api/methods.md +++ /dev/null @@ -1,240 +0,0 @@ ---- -sidebar_label: Methods -title: Methods -description: Explore the list of methods that can be utilized for performing various manipulations with the configuration of DHTMLX Rich Text Editor. ---- - - -## `destructor` - -Releases occupied resources - -`void destructor();` - -```js -richtext.destructor(); -``` -___ - -## `exitFullScreen` - -Exits the full screen mode - -`void exitFullScreen();` - - -```js -richtext.exitFullScreen(); -``` -___ - -## `fullScreen` - -Enters the full screen mode - -`void fullScreen();` - -```js -richtext.fullScreen(); -``` -___ - - -## `getEditorAPI` - -Returns an object with editor API methods - -`object getEditorAPI();` - -**Returns:** - -| Type | Description | -| -------- | ---------------------------------------- | -| `object` | an object with API methods of the editor | - - -```js -const EditorAPI = richtext.getEditorAPI(); -``` - -#### Details -The returned object contains a list of methods you can use to apply different operations to the editor. Check the list of editor API methods: - -- [add()](api/editor_api_methods.md#add) -- [getModel()](api/editor_api_methods.md#getmodel) -- [getPosition()](api/editor_api_methods.md#getposition) -- [getSelection()](api/editor_api_methods.md#getselection) -- [remove()](api/editor_api_methods.md#remove) -- [setModel()](api/editor_api_methods.md#setmodel) -- [setSelection()](api/editor_api_methods.md#setselection) -- [update()](api/editor_api_methods.md#update) - -___ - -## `getStats` - -Returns statistics about the entered content - -`object getStats();` - -**Returns:** - -| Type | Description | -| -------- | ----------------------------------------------------------- | -| `object` | an object with available statistical data about edited text | - - -```js -const chars = richtext.getStats(); -// -> {chars: 467, words: 80, charsExlSpace: 393} -``` - -**Related samples:** [Get Stats](https://snippet.dhtmlx.com/3qdbktwo) - -#### Details - -### Getting separate statistical data fields - -You can get each field of statistical data separately, as it's described below. - -**Characters** - -To return the count of characters typed into the editor, use the `chars` property of the `getStats()` method. - -```js -const chars = richtext.getStats().chars; -``` - -**Words** - -To return the count of words typed into the editor, use the `words` property of the `getStats()` method. - -```js -const words = richtext.getStats().words; -``` - -**Characters without spaces** - -To return the count of characters typed into the editor excluding the number of spaces, use the `charsExlSpace` property of the `getStats()` method. - -```js -const chars = richtext.getStats().charsExlSpace; -``` - -### Getting custom statistics - -It is also possible to return a value of the custom statistical parameter set via the `customStats` configuration option, e.g. the number of sentences. For that, use the name of the custom property as a property of the `getStats()` method: - -```js -const editor = new richtext.Richtext("rich", { - customStats: [ - { - name: "chars" - }, - { - name: "words" - }, - { - name: "sentences", - cb: function(text) { - const rawSentences = text.split(/[.?!]+/); - const count = 0; - for (const i=0; i 0) { - count += 1; - } - } - return count; - } - } - ], - toolbarBlocks: ["default", "stats"] -}); - -// return the number of sentences typed into the editor -const sentences = richtext.getStats().sentences; -``` - -___ - -## `getValue` - -Returns the content of the RichText editor in the chosen format - -`string getValue( [string mode] );` - - -| Parameter | Type | Description | -| --------- | -------- | --------------------------------------------------------------------------- | -| `mode` | `string` | the format of returned content:`"html"` (default), `"markdown"` or `"text"` | - -**Returns:** - -| Type | Description | -| -------- | ---------------------------------- | -| `string` | the content of the RichText editor | - - - -```js -// getting content in the markdown format -const content = richtext.getValue("markdown"); -``` - -**Related samples:** [Get Value](https://snippet.dhtmlx.com/ujx3c71j) - -___ - -## `paint` - -Repaints RichText - -`void paint();` - -```js -richtext.paint(); -``` -___ - -## `setValue` - -Adds content into the RichText editor - -`void setValue(string value,string mode);` - -| Parameter | Type | Description | -| --------- | -------- | ----------------------------------------------------------------------------- | -| `value` | `string` | the context you want to add into the editor in either HTML or Markdown format | -| `mode` | `string` | optional, the format of text parsing: `"html"` or `"markdown"` | - -```js -const htmlText = `

Meet DHTMLX Rich Text Editor!

` + -`

This demo will show you a customizable JavaScript rich text editor.

` + -`

To learn more, read documentation

.` - -// adding HTML content -richtext.setValue(htmlText); -``` - -**Related samples:** [Setting HTML content](https://snippet.dhtmlx.com/57v7n2kp) - -#### Details - -An example of adding Markdown content is given below: - -```js -const mdText = `# Meet DHTMLX Rich Text Editor! - -This demo will show you a customizable **JavaScript rich text editor**. - -*To learn more, read [documentation](https://docs.dhtmlx.com/richtext/)*.` - -richtext.setValue(mdText,"markdown"); -``` - -**Related samples:** [Setting Markdown Value](https://snippet.dhtmlx.com/9jf91qn9) - - -:::note -Note, that for a text in the Markdown format you need to define paragraphs by empty lines. -::: diff --git a/docs/api/properties.md b/docs/api/properties.md deleted file mode 100644 index bc89592..0000000 --- a/docs/api/properties.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -sidebar_label: Properties -title: Properties -description: Get insight into configuration properties utilized for working with text statistics, setting editor mode, and customizing the Toolbar in DHTMLX Rich Text Editor. ---- - -## `customStats` - -Defines the logic of displaying custom statistics - -`customStats?: array;` - -~~~jsx -const editor = new richtext.Richtext("#root", { - customStats: [ - { - name: "chars" - }, - { - name: "words" - }, - { - name: "sentences", - cb: function(text) { - const rawSentences = text.split(/[.?!]+/); - const count = 0; - for (const i=0; i 0) { - count += 1; - } - } - return count; - } - } - ], - toolbarBlocks: ["default", "stats"] -}); -~~~ - -**Related sample:** [Custom stats](https://snippet.dhtmlx.com/u1734epz) - -#### Details - -Each field of statistical data represents an object with two properties: - -- `name` - (*string*) the name of the field that should be displayed -- `callback` - (*function*) a function that implements the logic of counting entries of the specified field - -____ - -## `defaultStyles` - -Defines default values of the Toolbar selection controls - -`defaultStyles?: object;` - -~~~jsx {2-5} -const editor = new richtext.Richtext("#root", { - defaultStyles: { - "font-size": "14px" - "font-family": "Tahoma" - } -}); -~~~ - -**Default value**: - -~~~jsx -const defaultStyles = { - "font-family": "Roboto", - "font-size": "14px", - "color": "#4D4D4D", - "background": "#FFFFFF", - "bold": false, - "italic": false, - "strike": false, - "underline": false, - "align": "left", // "left" | "center" | "right" | false -}; -~~~ - -**Related sample:** [RichText. Default styles](https://snippet.dhtmlx.com/pqqq1e5d) -____ - -## `mode` - -The working mode of the RichText editor - -`mode?: string;` - -**Values**: "default", "document" - -~~~jsx -const editor = new richtext.Richtext("#root", { - mode: "document" -}); -~~~ - -**Default value**: "default" - -**Related sample:** [RichText. Modes](https://snippet.dhtmlx.com/pdh5buvg) - -____ - -## `toolbarBlocks` - -Specifies blocks of buttons that will be shown in the RichText toolbar - -`toolbarBlocks?: array;` - -~~~jsx -// default Toolbar blocks -const editor = new richtext.Richtext("#root", { - toolbarBlocks: ["undo", "style", "decoration", "colors", "align", "link"] -}); -~~~ - -**Default value**: `["undo", "style", "decoration", "colors", "align", "link"]` - -**Related sample:** [RichText. Initialization](https://snippet.dhtmlx.com/32jtemtm) - -#### Details - -### Full toolbar - -The full Toolbar contains several more blocks: `"clear"`, `"fullscreen"`, and `"stats"`: - -~~~jsx -const editor = new richtext.Richtext("#root", { - // full toolbar - toolbarBlocks: [ - "undo", "style", "decoration", "colors", "align", - "link", "clear", "stats", "fullscreen" - ] -}); -~~~ - -**Related sample:** [RichText. Full Toolbar](https://snippet.dhtmlx.com/5yga5ce1) - -### Short Toolbar definition - -The default set of buttons can be specified via the `"default"` definition in the `toolbarBlocks` array, like this: - -~~~jsx -const editor = new richtext.Richtext("#root", { - // full toolbar - toolbarBlocks: ["default", "clear", "stats", "fullscreen"] -}); -~~~ - -### Custom toolbar - -It is also possible to create a custom Toolbar by setting desired blocks in the random order: - -~~~jsx -const editor = new richtext.Richtext("#root", { - toolbarBlocks: ["clear", "colors", "align", "decoration", - "undo", "fullscreen", "link" - ] -}); -~~~ - -**Related sample:** [Toolbar Blocks](https://snippet.dhtmlx.com/yp7en22d) diff --git a/docs/api/toolbar_methods.md b/docs/api/toolbar_methods.md deleted file mode 100644 index f3ca858..0000000 --- a/docs/api/toolbar_methods.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -sidebar_label: Toolbar methods -title: Toolbar methods -description: Check the list of API methods of DHTMLX Rich Text Editor enabling you to add and remove Toolbar controls as well as update their configuration. ---- - - -## `add` - -Adds a new control to the toolbar - -`void add(object config, number index, string parent);` - - -| Parameter | Type | Description | -| --------- | -------- | ---------------------------------------------------- | -| `config` | `object` | an object with the control config | -| `index` | `number` | the index of the position to place the control into | -| `parent` | `string` | the id of a parent control (for the *menuItem* type) | - - -```js -richtext.toolbar.data.add({ - type: "button", - value: "Count Characters", - id: "calc" -}, 24); -``` - -**Related samples:** [Custom Button](https://snippet.dhtmlx.com/xlpa1tj7) - -___ - -## `remove` - -Removes a control from the toolbar - -`void remove(string id);` - -| Parameter | Type | Description | -| --------- | -------- | ----------------------------------------------- | -| `id` | `string` | the id of the control | - -```js -richtext.toolbar.data.remove("undo"); -``` -___ - -## `update` - -Updates configuration options of the control - -`void update(string id, object new_config);` - -| Parameter | Type | Description | -| --------- | -------- | ----------------------------------------------- | -| `id` | `string` | the id of the control | -| `config` | `object` | an object with new configuration of the control | - - - -```js -const icons = [ - ["bold", "fas fa-bold"], - ["underline", "fas fa-underline"], - ["italic", "fas fa-italic"], - ["strike", "fas fa-strikethrough"] -]; - -for (const i=0; i Date: Mon, 21 Jul 2025 11:00:53 +0400 Subject: [PATCH 10/46] [update] events description --- docs/api/events/align.md | 26 +++++++---- docs/api/events/clear-text-format.md | 26 +++++------ docs/api/events/copy.md | 24 +++++----- docs/api/events/create-new.md | 24 +++++----- docs/api/events/cut.md | 24 +++++----- docs/api/events/delete-link.md | 24 +++++----- docs/api/events/export.md | 59 +++++++++++++++++++++++++ docs/api/events/import.md | 47 ++++++++++++++++++++ docs/api/events/indent.md | 17 ++++--- docs/api/events/insert-image.md | 34 +++++++++----- docs/api/events/insert-line.md | 24 +++++----- docs/api/events/insert-link.md | 24 +++++----- docs/api/events/insert-list.md | 25 +++++++---- docs/api/events/outdent.md | 17 ++++--- docs/api/events/paste.md | 24 +++++----- docs/api/events/print.md | 24 +++++----- docs/api/events/redo.md | 24 +++++----- docs/api/events/resize-image.md | 17 ++++--- docs/api/events/set-font-family.md | 25 +++++++---- docs/api/events/set-font-size.md | 25 +++++++---- docs/api/events/set-layout-mode.md | 40 ----------------- docs/api/events/set-line-height.md | 23 ++++++---- docs/api/events/set-text-color.md | 28 +++++++++--- docs/api/events/set-text-format.md | 38 +++++++++++----- docs/api/events/set-text-style.md | 25 +++++++---- docs/api/events/set-value.md | 40 ----------------- docs/api/events/show-popup.md | 53 ++++++++++++++++++++++ docs/api/events/subscript.md | 30 +++++++------ docs/api/events/superscript.md | 26 +++++------ docs/api/events/toggle-fullscreen.md | 21 +++++---- docs/api/events/toggle-layout-mode.md | 45 +++++++++++++++++++ docs/api/events/toggle-shortcut-info.md | 45 +++++++++++++++++++ docs/api/events/undo.md | 24 +++++----- docs/api/events/update-link.md | 24 +++++----- 34 files changed, 615 insertions(+), 381 deletions(-) create mode 100644 docs/api/events/export.md create mode 100644 docs/api/events/import.md delete mode 100644 docs/api/events/set-layout-mode.md delete mode 100644 docs/api/events/set-value.md create mode 100644 docs/api/events/show-popup.md create mode 100644 docs/api/events/toggle-layout-mode.md create mode 100644 docs/api/events/toggle-shortcut-info.md diff --git a/docs/api/events/align.md b/docs/api/events/align.md index 65ee20d..5adc307 100644 --- a/docs/api/events/align.md +++ b/docs/api/events/align.md @@ -8,33 +8,41 @@ description: You can learn about the align event in the documentation of the DHT ### Description -@short: Fires when ... +@short: Fires when text alignment is changed via the menubar/toolbar or Event Bus methods ### Usage ~~~jsx {} -"align": ...; +"align": ({ + align: "left" | "center" | "right" | "justify" +}) => boolean | void; ~~~ ### Parameters -The callback of the **align** event can take an object with the following parameters: +The callback of the **align** event can take an object with the following parameter: -... +- `align` - a text alignment. You can specify one of the following values: `"left" | "center" | "right" | "justify"` :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-12} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "align" event editor.api.on("align", (obj) => { - console.log(obj); + console.log(`Align to: ${obj.align}`); }); +// align the text to the left +editor.api.exec("align", { + align: "left" +}); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/clear-text-format.md b/docs/api/events/clear-text-format.md index a838e19..9867a52 100644 --- a/docs/api/events/clear-text-format.md +++ b/docs/api/events/clear-text-format.md @@ -8,33 +8,31 @@ description: You can learn about the clear-text-format event in the documentatio ### Description -@short: Fires when ... +@short: Fires when a text format is cleared via the menubar/toolbar or Event Bus methods ### Usage ~~~jsx {} -"clear-text-format": ...; +"clear-text-format": () => boolean | void; ~~~ -### Parameters - -The callback of the **clear-text-format** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-10} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "clear-text-format" event -editor.api.on("clear-text-format", (obj) => { - console.log(obj); +editor.api.on("clear-text-format", () => { + console.log("Text format was cleared"); }); +// clear text format +editor.api.exec("clear-text-format", {}); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/copy.md b/docs/api/events/copy.md index a8034a2..9846d0c 100644 --- a/docs/api/events/copy.md +++ b/docs/api/events/copy.md @@ -8,33 +8,29 @@ description: You can learn about the copy event in the documentation of the DHTM ### Description -@short: Fires when ... +@short: Fires when copying selected text ### Usage ~~~jsx {} -"copy": ...; +"copy": () => boolean | void; ~~~ -### Parameters - -The callback of the **copy** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "copy" event -editor.api.on("copy", (obj) => { - console.log(obj); +editor.api.on("copy", () => { + console.log("Selected text was copied"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/create-new.md b/docs/api/events/create-new.md index 87ee4b6..23abe2a 100644 --- a/docs/api/events/create-new.md +++ b/docs/api/events/create-new.md @@ -8,33 +8,37 @@ description: You can learn about the create-new event in the documentation of th ### Description -@short: Fires when ... +@short: Fires when pressing the "New" option within the menubar or via Event Bus methods ### Usage ~~~jsx {} -"create-new": ...; +"create-new": ({ reset?: boolean }) => boolean | void; ~~~ ### Parameters -The callback of the **create-new** event can take an object with the following parameters: +The callback of the **create-new** event can take an object with the following parameter: -... +- `reset` - resets the history when creating a new file :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-10} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "create-new" event -editor.api.on("create-new", (obj) => { - console.log(obj); +editor.api.on("create-new", ({ reset }) => { + console.log(`Document has been cleared. History has ${reset ? "" : "not"} been reset.`); }); +// create new file and reset the history +editor.api.exec("create-new", { reset: true }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/cut.md b/docs/api/events/cut.md index 320f68a..5af05f0 100644 --- a/docs/api/events/cut.md +++ b/docs/api/events/cut.md @@ -8,33 +8,29 @@ description: You can learn about the cut event in the documentation of the DHTML ### Description -@short: Fires when ... +@short: Fires when cutting selected text ### Usage ~~~jsx {} -"cut": ...; +"cut": () => boolean | void; ~~~ -### Parameters - -The callback of the **cut** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "cut" event -editor.api.on("cut", (obj) => { - console.log(obj); +editor.api.on("cut", () => { + console.log("Selected text was cut"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/delete-link.md b/docs/api/events/delete-link.md index cb4fa46..0d1137f 100644 --- a/docs/api/events/delete-link.md +++ b/docs/api/events/delete-link.md @@ -8,33 +8,29 @@ description: You can learn about the delete-link event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when deleting link ### Usage ~~~jsx {} -"delete-link": ...; +"delete-link": () => boolean | void; ~~~ -### Parameters - -The callback of the **delete-link** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "delete-link" event -editor.api.on("delete-link", (obj) => { - console.log(obj); +editor.api.on("delete-link", () => { + console.log("The link was deleted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/export.md b/docs/api/events/export.md new file mode 100644 index 0000000..8c32d1b --- /dev/null +++ b/docs/api/events/export.md @@ -0,0 +1,59 @@ +--- +sidebar_label: export +title: export Event +description: You can learn about the export event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# export + +### Description + +@short: Fires after pressing the "Export" option in the menubar or via Event Bus methods + +### Usage + +~~~jsx {} +"export": ({ options: IExportOptions; result?: any }) => boolean | void; + +interface IExportOptions { + format?: "docx" | "pdf"; + url?: string; + download?: boolean; + fileName?: string; +} +~~~ + +### Parameters + +The callback of **export** event can take an object with the following parameters: + +- `format` - a text format +- `url` - a path to the place the file to be exported +- `download` - an ability to download a file +- `fileName` - a file name to be exported + +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-15} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "export" event +editor.api.on("export", (obj) => { + console.log(obj); + console.log("The file was exported"); +}); +// export value as pdf file +editor.api.exec("export", { + format: "pdf", + download: false, + fileName: "some file" +}); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/import.md b/docs/api/events/import.md new file mode 100644 index 0000000..6a9693a --- /dev/null +++ b/docs/api/events/import.md @@ -0,0 +1,47 @@ +--- +sidebar_label: import +title: import Event +description: You can learn about the import event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# import + +### Description + +@short: Fires after pressing the "Import" option in the menubar or via Event Bus methods + +### Usage + +~~~jsx {} +"import": ({ html?: string }) => boolean | void; +~~~ + +### Parameters + +The callback of **import** event can take an object with the following parameter: + +- `html` - a text value in the html format + +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-13} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "import" event +editor.api.on("import", (obj) => { + console.log(obj.html); + console.log("The new value was imported"); +}); +// import new value +editor.api.exec("import", { + html: "

some value

" // simply calls setValue +}); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/indent.md b/docs/api/events/indent.md index 569846d..5b3d183 100644 --- a/docs/api/events/indent.md +++ b/docs/api/events/indent.md @@ -8,33 +8,36 @@ description: You can learn about the indent event in the documentation of the DH ### Description -@short: Fires when ... +@short: Fires when adding the indent ### Usage ~~~jsx {} -"indent": ...; +"indent": ({ step: number }) => boolean | void; ~~~ ### Parameters The callback of the **indent** event can take an object with the following parameters: -... +- `step` - the step of indent was added :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "indent" event editor.api.on("indent", (obj) => { console.log(obj); + console.log("The indent was added"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/insert-image.md b/docs/api/events/insert-image.md index d036969..052c5b9 100644 --- a/docs/api/events/insert-image.md +++ b/docs/api/events/insert-image.md @@ -8,33 +8,43 @@ description: You can learn about the insert-image event in the documentation of ### Description -@short: Fires when ... +@short: Fires when inserting image ### Usage ~~~jsx {} -"insert-image": ...; +"insert-image": (IImageContext) => boolean | void; + +interface IImageContext { + id: TID; + value: string; + width: number; + height: number; + // extra props from uploader ctx, not required for the actual action + name?: string; + file?: File; + status?: string; + selected: (ctx: IImageContext) => void; + uploaded: (ctx: IImageContext) => void; +} ~~~ -### Parameters - -The callback of the **insert-image** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "insert-image" event editor.api.on("insert-image", (obj) => { console.log(obj); + console.log("The image was inserted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/insert-line.md b/docs/api/events/insert-line.md index ee1b3f5..1ef7ef8 100644 --- a/docs/api/events/insert-line.md +++ b/docs/api/events/insert-line.md @@ -8,33 +8,29 @@ description: You can learn about the insert-line event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when inserting horizontal line ### Usage ~~~jsx {} -"insert-line": ...; +"insert-line": () => boolean | void; ~~~ -### Parameters - -The callback of the **insert-line** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "insert-line" event -editor.api.on("insert-line", (obj) => { - console.log(obj); +editor.api.on("insert-line", () => { + console.log("The horizontal line was inserted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/insert-link.md b/docs/api/events/insert-link.md index 421e3aa..778b4b2 100644 --- a/docs/api/events/insert-link.md +++ b/docs/api/events/insert-link.md @@ -8,33 +8,29 @@ description: You can learn about the insert-link event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when inserting link ### Usage ~~~jsx {} -"insert-link": ...; +"insert-link": () => boolean | void; ~~~ -### Parameters - -The callback of the **insert-link** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "insert-link" event -editor.api.on("insert-link", (obj) => { - console.log(obj); +editor.api.on("insert-link", () => { + console.log("The link was inserted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/insert-list.md b/docs/api/events/insert-list.md index 97fe2f9..3d459cb 100644 --- a/docs/api/events/insert-list.md +++ b/docs/api/events/insert-list.md @@ -8,33 +8,40 @@ description: You can learn about the insert-list event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when inserting list ### Usage ~~~jsx {} -"insert-list": ...; +"insert-list": ({ type: TListType }) => boolean | void; + +type TListType = "bulleted" | "numbered"; ~~~ ### Parameters -The callback of the **insert-list** event can take an object with the following parameters: +The callback of the **insert-list** event can take an object with the following parameter: -... +- `type` - the type of the inserted list. You can specify on the following values: + - `"bulleted"` - bulleted list + - `"numbered"` - numbered list :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "insert-list" event editor.api.on("insert-list", (obj) => { - console.log(obj); + console.log(obj.type); + console.log("The list was inserted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/outdent.md b/docs/api/events/outdent.md index 6d8bad7..d518c04 100644 --- a/docs/api/events/outdent.md +++ b/docs/api/events/outdent.md @@ -8,33 +8,36 @@ description: You can learn about the outdent event in the documentation of the D ### Description -@short: Fires when ... +@short: Fires when an outdent was added ### Usage ~~~jsx {} -"outdent": ...; +"outdent": ({ step: number }) => boolean | void; ~~~ ### Parameters The callback of the **outdent** event can take an object with the following parameters: -... +- `step` - the step of outdent was added :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "outdent" event editor.api.on("outdent", (obj) => { console.log(obj); + console.log("The outdent was added"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/paste.md b/docs/api/events/paste.md index 4fc5386..b7c970e 100644 --- a/docs/api/events/paste.md +++ b/docs/api/events/paste.md @@ -8,33 +8,29 @@ description: You can learn about the paste event in the documentation of the DHT ### Description -@short: Fires when ... +@short: Fires when pasting text ### Usage ~~~jsx {} -"paste": ...; +"paste": () => boolean | void; ~~~ -### Parameters - -The callback of the **paste** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "paste" event -editor.api.on("paste", (obj) => { - console.log(obj); +editor.api.on("paste", () => { + console.log("Selected text was pasted"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/print.md b/docs/api/events/print.md index 28a9189..7b54245 100644 --- a/docs/api/events/print.md +++ b/docs/api/events/print.md @@ -8,33 +8,29 @@ description: You can learn about the print event in the documentation of the DHT ### Description -@short: Fires when ... +@short: Fires when printing document ### Usage ~~~jsx {} -"print": ...; +"print": () => boolean | void; ~~~ -### Parameters - -The callback of the **print** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... +// configuration parameters }); // subscribe on the "print" event -editor.api.on("print", (obj) => { - console.log(obj); +editor.api.on("print", () => { + console.log("The document is printing"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/redo.md b/docs/api/events/redo.md index 11df0dc..1180473 100644 --- a/docs/api/events/redo.md +++ b/docs/api/events/redo.md @@ -8,33 +8,29 @@ description: You can learn about the redo event in the documentation of the DHTM ### Description -@short: Fires when ... +@short: Fires when pressing the "Redo" button in the menubar/toolbar or via Event Bus methods ### Usage ~~~jsx {} -"redo": ...; +"redo": () => boolean | void; ~~~ -### Parameters - -The callback of the **redo** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "redo" event -editor.api.on("redo", (obj) => { - console.log(obj); +editor.api.on("redo", () => { + console.log("Redo operation was performed"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/resize-image.md b/docs/api/events/resize-image.md index c7cc35a..b47bccf 100644 --- a/docs/api/events/resize-image.md +++ b/docs/api/events/resize-image.md @@ -13,28 +13,33 @@ description: You can learn about the resize-image event in the documentation of ### Usage ~~~jsx {} -"resize-image": ...; +"resize-image": ({ id: number, width: number, height: number }) => boolean | void; ~~~ ### Parameters The callback of the **resize-image** event can take an object with the following parameters: -... +- `id` - the image ID +- `width` - the image width +- `height` - the image height :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... +// configuration parameters }); // subscribe on the "resize-image" event editor.api.on("resize-image", (obj) => { console.log(obj); + console.log("The image was resized") }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-font-family.md b/docs/api/events/set-font-family.md index 9fdf762..638450c 100644 --- a/docs/api/events/set-font-family.md +++ b/docs/api/events/set-font-family.md @@ -8,33 +8,40 @@ description: You can learn about the set-font-family event in the documentation ### Description -@short: Fires when ... +@short: Fires when setting a font family ### Usage ~~~jsx {} -"set-font-family": ...; +"set-font-family": ({ fontFamily: string }) => boolean | void; ~~~ ### Parameters -The callback of the **set-font-family** event can take an object with the following parameters: +The callback of the **set-font-family** event can take an object with the following parameter: -... +- `fontFamily` - a font family to be applied. The following fonts are available: `"Roboto"| "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana"` :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-13} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-font-family" event editor.api.on("set-font-family", (obj) => { - console.log(obj); + console.log(obj.fontFamily); + console.log("The font family was changed"); }); +// apply new font family +editor.api.exec("set-font-family", { + fontFamily: "Roboto" +}); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-font-size.md b/docs/api/events/set-font-size.md index c45b2bc..57d0049 100644 --- a/docs/api/events/set-font-size.md +++ b/docs/api/events/set-font-size.md @@ -8,33 +8,40 @@ description: You can learn about the set-font-size event in the documentation of ### Description -@short: Fires when ... +@short: Fires when setting a font size ### Usage ~~~jsx {} -"set-font-size": ...; +"set-font-size": ({ fontSize: string }) => boolean | void; ~~~ ### Parameters -The callback of the **set-font-size** event can take an object with the following parameters: +The callback of the **set-font-size** event can take an object with the following parameter: -... +- `fontSize` - a font size to be applied :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-13} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-font-size" event editor.api.on("set-font-size", (obj) => { - console.log(obj); + console.log(obj.fontSize); + console.log("The font size was changed"); +}); +// apply new font size +editor.api.exec("set-font-size", { + fontSize: "11px" }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-layout-mode.md b/docs/api/events/set-layout-mode.md deleted file mode 100644 index af2f59c..0000000 --- a/docs/api/events/set-layout-mode.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -sidebar_label: set-layout-mode -title: set-layout-mode Event -description: You can learn about the set-layout-mode event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. ---- - -# set-layout-mode - -### Description - -@short: Fires when ... - -### Usage - -~~~jsx {} -"set-layout-mode": ...; -~~~ - -### Parameters - -The callback of the **set-layout-mode** event can take an object with the following parameters: - -... - -:::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) -::: - -### Example - -~~~jsx {7-9} -// create RichText -const editor = new richtext.Richtext("#root", { - ... -}); -// subscribe on the "set-layout-mode" event -editor.api.on("set-layout-mode", (obj) => { - console.log(obj); -}); -~~~ diff --git a/docs/api/events/set-line-height.md b/docs/api/events/set-line-height.md index a95ffb8..061dbea 100644 --- a/docs/api/events/set-line-height.md +++ b/docs/api/events/set-line-height.md @@ -8,33 +8,40 @@ description: You can learn about the set-line-height event in the documentation ### Description -@short: Fires when ... +@short: Fires when setting a line height ### Usage ~~~jsx {} -"set-line-height": ...; +"set-line-height": ({ lineHeight: string }) => boolean | void; ~~~ ### Parameters -The callback of the **set-line-height** event can take an object with the following parameters: +The callback of the **set-line-height** event can take an object with the following parameter: -... +- `lineHeight` - a line height :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-13} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-line-height" event editor.api.on("set-line-height", (obj) => { console.log(obj); + console.log("The line height was changed"); +}); +// apply a new line height +editor.api.exec("set-line-height", { + lineHeight: "15px" }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-text-color.md b/docs/api/events/set-text-color.md index 1a87b54..5fb223c 100644 --- a/docs/api/events/set-text-color.md +++ b/docs/api/events/set-text-color.md @@ -8,33 +8,47 @@ description: You can learn about the set-text-color event in the documentation o ### Description -@short: Fires when ... +@short: Fires when setting a text color ### Usage ~~~jsx {} -"set-text-color": ...; +"set-text-color": (ITextColor) => boolean | void; + +interface ITextColor { + color?: string; + background?: string; +} ~~~ ### Parameters The callback of the **set-text-color** event can take an object with the following parameters: -... +- `color` - a text color +- `background` - a text backgroung color :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-14} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-text-color" event editor.api.on("set-text-color", (obj) => { console.log(obj); + console.log("The text color and background were changed"); +}); +// apply text color and background +editor.api.exec("set-text-color", { + color: "red", + background: "blue" }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-text-format.md b/docs/api/events/set-text-format.md index 5afc95b..15b51c8 100644 --- a/docs/api/events/set-text-format.md +++ b/docs/api/events/set-text-format.md @@ -8,33 +8,51 @@ description: You can learn about the set-text-format event in the documentation ### Description -@short: Fires when ... +@short: Fires when setting a text format ### Usage ~~~jsx {} -"set-text-format": ...; +"set-text-format": (ITextFormat) => boolean | void; + +interface ITextFormat { + bold?: boolean; + italic?: boolean; + strike?: boolean; + underline?: boolean; +} ~~~ +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + ### Parameters The callback of the **set-text-format** event can take an object with the following parameters: -... - -:::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) -::: +- `bold` - a bold text format +- `italic` - an italic text format +- `strike` - a strike text format +- `underline` - an underline text format ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-14} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-text-format" event editor.api.on("set-text-format", (obj) => { console.log(obj); + console.log("The text format was changed"); +}); +// apply the "italic" and bold text format +editor.api.exec("set-text-format", { + italic: true, + bold: true }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-text-style.md b/docs/api/events/set-text-style.md index 649f8a1..698508a 100644 --- a/docs/api/events/set-text-style.md +++ b/docs/api/events/set-text-style.md @@ -8,33 +8,42 @@ description: You can learn about the set-text-style event in the documentation o ### Description -@short: Fires when ... +@short: Fires when setting a text style ### Usage ~~~jsx {} -"set-text-style": ...; +"set-text-style": ({ tag: TBlockType }) => boolean | void; + +type TBlockType = "p" | "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6"; ~~~ ### Parameters The callback of the **set-text-style** event can take an object with the following parameters: -... +- `tag` - a text style :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-13} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "set-text-style" event editor.api.on("set-text-style", (obj) => { - console.log(obj); + console.log(obj.tag); + console.log("The text style was changed"); +}); +// apply new text style +editor.api.exec("set-text-style", { + tag: "blockquote" }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/set-value.md b/docs/api/events/set-value.md deleted file mode 100644 index 211cfd0..0000000 --- a/docs/api/events/set-value.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -sidebar_label: set-value -title: set-value Event -description: You can learn about the set-value event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. ---- - -# set-value - -### Description - -@short: Fires when ... - -### Usage - -~~~jsx {} -"set-value": ...; -~~~ - -### Parameters - -The callback of the **set-value** event can take an object with the following parameters: - -... - -:::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) -::: - -### Example - -~~~jsx {7-9} -// create RichText -const editor = new richtext.Richtext("#root", { - ... -}); -// subscribe on the "set-value" event -editor.api.on("set-value", (obj) => { - console.log(obj); -}); -~~~ diff --git a/docs/api/events/show-popup.md b/docs/api/events/show-popup.md new file mode 100644 index 0000000..ccfeb8f --- /dev/null +++ b/docs/api/events/show-popup.md @@ -0,0 +1,53 @@ +--- +sidebar_label: show-popup +title: show-popup Event +description: You can learn about the show-popup event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# show-popup + +### Description + +@short: Fires when a popup is shown/hidden + +### Usage + +~~~jsx {} +"show-popup": (IPopupConfig) => boolean | void; + +interface IPopupConfig { + type: "link" | null; + image?: boolean; +} +~~~ + +### Parameters + +The callback of the **show-popup** event can take an object with the following parameters: + +- `type` - a type of the popup +- `image` - an image within the popup + +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-13} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "show-popup" event +editor.api.on("show-popup", (obj) => { + console.log(obj); + console.log("The popup was shown/hidden"); +}); +// show-popup the text to the left +editor.api.exec("show-popup", { + type: "link" +}); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/subscript.md b/docs/api/events/subscript.md index 05017aa..6bad3ae 100644 --- a/docs/api/events/subscript.md +++ b/docs/api/events/subscript.md @@ -8,33 +8,35 @@ description: You can learn about the subscript event in the documentation of the ### Description -@short: Fires when ... +@short: Fires when pressing the "Subscript" button in the menubar/toolbar or via Event Bus methods + +:::info +The **subscript** event will be applied at current cursor position. +::: ### Usage ~~~jsx {} -"subscript": ...; +"subscript": () => boolean | void; ~~~ -### Parameters - -The callback of the **subscript** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-10} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "subscript" event -editor.api.on("subscript", (obj) => { - console.log(obj); +editor.api.on("subscript", () => { + console.log("Subscript was applied"); }); +// trigger the "subscript" event +editor.api.exec("subscript", {}); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/superscript.md b/docs/api/events/superscript.md index 43984b2..f04fdbd 100644 --- a/docs/api/events/superscript.md +++ b/docs/api/events/superscript.md @@ -8,33 +8,31 @@ description: You can learn about the superscript event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when pressing the "Superscript" button in the menubar/toolbar or via Event Bus methods ### Usage ~~~jsx {} -"superscript": ...; +"superscript": () => boolean | void; ~~~ -### Parameters - -The callback of the **superscript** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "superscript" event -editor.api.on("superscript", (obj) => { - console.log(obj); +editor.api.on("superscript", () => { + console.log("Superscript was applied"); }); +// trigger the "superscript" event +editor.api.exec("superscript", {}); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/toggle-fullscreen.md b/docs/api/events/toggle-fullscreen.md index 2386b08..164d2b2 100644 --- a/docs/api/events/toggle-fullscreen.md +++ b/docs/api/events/toggle-fullscreen.md @@ -8,33 +8,38 @@ description: You can learn about the toggle-fullscreen event in the documentatio ### Description -@short: Fires when ... +@short: Fires when toggling the full screen mode ### Usage ~~~jsx {} -"toggle-fullscreen": ...; +"toggle-fullscreen": ({ mode?: boolean }) => boolean | void; ~~~ ### Parameters -The callback of the **toggle-fullscreen** event can take an object with the following parameters: +The callback of the **toggle-fullscreen** event can take an object with the following parameter: -... +- `mode` - enables a fullscreen mode :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-9} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "toggle-fullscreen" event editor.api.on("toggle-fullscreen", (obj) => { console.log(obj); + console.log("The full screen mode was changed"); }); +// enable the full screen mode +editor.api.exec("toggle-fullscreen", { mode: true }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/toggle-layout-mode.md b/docs/api/events/toggle-layout-mode.md new file mode 100644 index 0000000..bf34667 --- /dev/null +++ b/docs/api/events/toggle-layout-mode.md @@ -0,0 +1,45 @@ +--- +sidebar_label: toggle-layout-mode +title: toggle-layout-mode Event +description: You can learn about the toggle-layout-mode event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# toggle-layout-mode + +### Description + +@short: Fires when toggling the layout mode + +### Usage + +~~~jsx {} +"toggle-layout-mode": ({ mode?: "classic" | "document" }) => boolean | void; +~~~ + +### Parameters + +The callback of the **toggle-layout-mode** event can take an object with the following parameters: + +- `mode` - the layout mode. The following modes are available: `"classic" | "document"` + +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-11} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "toggle-layout-mode" event +editor.api.on("toggle-layout-mode", (obj) => { + console.log(obj); + console.log("The layout mode was changed"); +}); +// set the "document" layout mode +editor.api.exec("toggle-layout-mode", { mode: "document" }); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/toggle-shortcut-info.md b/docs/api/events/toggle-shortcut-info.md new file mode 100644 index 0000000..7197fec --- /dev/null +++ b/docs/api/events/toggle-shortcut-info.md @@ -0,0 +1,45 @@ +--- +sidebar_label: toggle-shortcut-info +title: toggle-shortcut-info Event +description: You can learn about the toggle-shortcut-info event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# toggle-shortcut-info + +### Description + +@short: Fires when toggling the shortcut info + +### Usage + +~~~jsx {} +"toggle-shortcut-info": ({ mode?: boolean }) => boolean | void; +~~~ + +### Parameters + +The callback of the **toggle-shortcut-info** event can take an object with the following parameter: + +- `mode` - enables a shortcut info + +:::info +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-9} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "toggle-shortcut-info" event +editor.api.on("toggle-shortcut-info", (obj) => { + console.log(obj); + console.log("The shortcut info was changed"); +}); +// enable the shortcut info +editor.api.exec("toggle-shortcut-info", { mode: true }); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/undo.md b/docs/api/events/undo.md index b8fffc9..97a6fe7 100644 --- a/docs/api/events/undo.md +++ b/docs/api/events/undo.md @@ -8,33 +8,29 @@ description: You can learn about the undo event in the documentation of the DHTM ### Description -@short: Fires when ... +@short: Fires when pressing the "Undo" button in the menubar/toolbar or via Event Bus methods ### Usage ~~~jsx {} -"undo": ...; +"undo": () => boolean | void; ~~~ -### Parameters - -The callback of the **undo** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "undo" event -editor.api.on("undo", (obj) => { - console.log(obj); +editor.api.on("undo", () => { + console.log("Undo operation was performed"); }); ~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/update-link.md b/docs/api/events/update-link.md index b928cef..4754b99 100644 --- a/docs/api/events/update-link.md +++ b/docs/api/events/update-link.md @@ -8,33 +8,29 @@ description: You can learn about the update-link event in the documentation of t ### Description -@short: Fires when ... +@short: Fires when updating link ### Usage ~~~jsx {} -"update-link": ...; +"update-link": () => boolean | void; ~~~ -### Parameters - -The callback of the **update-link** event can take an object with the following parameters: - -... - :::info -For handling the inner events you can use the [**Event Bus methods**](api/overview/main_overview.md/#event-bus-methods) +For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) ::: ### Example -~~~jsx {7-9} -// create RichText +~~~jsx {5-8} +// initialize RichText const editor = new richtext.Richtext("#root", { - ... + // configuration parameters }); // subscribe on the "update-link" event -editor.api.on("update-link", (obj) => { - console.log(obj); +editor.api.on("update-link", () => { + console.log("The link was updated"); }); ~~~ + +**Change log:** The event was added in v2.0 From b7d727a003b8e37f7dc9806a2862d93b65683706 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Mon, 21 Jul 2025 11:01:35 +0400 Subject: [PATCH 11/46] [update] minor fixes --- docs/api/events.md | 138 ------------------ docs/api/internal/detach.md | 5 +- docs/api/methods/get-value.md | 2 +- docs/guides/angular_integration.md | 200 -------------------------- docs/guides/react_integration.md | 223 ----------------------------- docs/guides/vuejs_integration.md | 207 -------------------------- 6 files changed, 2 insertions(+), 773 deletions(-) delete mode 100644 docs/api/events.md delete mode 100644 docs/guides/angular_integration.md delete mode 100644 docs/guides/react_integration.md delete mode 100644 docs/guides/vuejs_integration.md diff --git a/docs/api/events.md b/docs/api/events.md deleted file mode 100644 index 5150541..0000000 --- a/docs/api/events.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -sidebar_label: Events -title: Events -description: Examine the list of events triggered by user actions that can take place in DHTMLX Rich Text Editor. ---- - -:::info -Check **Related samples** [RichText Events](https://snippet.dhtmlx.com/sb5qipjz) -::: - -## `Action` - -Fires on any action in the editor - -`void Action(string action, [any data, boolean restoreFocus]){ ... };` - -| Parameter | Type | Description | -| -------------- | --------- | -------------------------------------------------- | -| `action` | `string` | the name of an action | -| `data` | `any` | optional, the edited data | -| `restoreFocus` | `boolean` | optional, defines whether focus should be restored | - - -```js -richtext.events.on("Action", function(action){ - console.log("The " + action + " action is implemented"); -}); -``` - -#### Details -The list of possible actions is given below: - -- **add** - add a character -- **remove** - remove a character -- **update** - update styles of text -- **undo** - revert the last action -- **redo** - re-apply the last reverted action -- **copy** - copy text -- **paste** - paste text -- **cut** - cut text -- **clear** - clear the editor -- **parse** - parse text -- **selectAll** - select all text -___ - -## `Change` - -Fires on any change in the editor - -`void Change(string action, boolean canUndo, boolean canRedo){ ... };` - -| Parameter | Type | Description | -| --------- | --------- | -------------------------------------------- | -| `action` | `string` | the name of an action | -| `canUndo` | `boolean` | defines whether the change can be reverted | -| `canRedo` | `boolean` | defines whether the change can be re-applied | - - -```js -richtext.events.on("Change", function(action){ - console.log("The data have been changed by the following action: "+ action);; -}); -``` - -#### Details - -The list of possible actions is given below: - -- **add** - add a character -- **remove** - remove a character -- **update** - update styles of text -- **undo** - revert the last action -- **redo** - re-apply the last reverted action -- **copy** - copy text -- **paste** - paste text -- **cut** - cut text -- **clear** - clear the editor -- **parse** - parse text -- **selectAll** - select all text -___ - -## `selectionChange` - -Fires on change of text selection made by a user - -`void selectionChange(object state){ ... };` - -| Parameter | Type | Description | -| --------- | -------- | ---------------------- | -| `state` | `object` | the state of selection | - - -```js -richtext.events.on("selectionChange", function(state){ - console.log("The current selection state is ", state); -}); -``` - -#### Details - -The `state` object represents a hash of the following *key:value* properties: - -- `range` - (*boolean*) defines whether the selection includes one character (*false*), or a range of them (*true*) -- `left` - (*object*) the left coordinate of selection, contains the following properties: - - `blockIndex` - (*number*) the index of a text block (a text line), enumeration starts from 0 - - `textIndex` - (*number*) the index of a text node (a text with common styling), enumeration starts from 0 - - `offset` - (*number*) the number of the first character within a text node in the selection -- `right` - (*object*) the right coordinate of selection, contains the following properties: - - `blockIndex` - (*number*) the index of a text block (a text line), enumeration starts from 0 - - `textIndex` - (*number*) the index of a text node (a text with common styling), enumeration starts from 0 - - `offset` - (*number*) the number of the last character within a text node in the selection - -For example: - -```js -richtext.events.on("selectionChange", function({ - "left":{"blockIndex":0,"textIndex":1,"offset":0}, - "right":{"blockIndex":0,"textIndex":1,"offset":5}, - "range":true}){ - // your code here -}); -``` - -___ - -## `selectionRefresh` - -Fires on automatic change of selection - -`void selectionRefresh(){ ... };` - -```js -richtext.events.on("selectionRefresh", function(){ - console.log("Selection is refreshed"); -}); -``` - - diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md index 8cd8e0d..71ef528 100644 --- a/docs/api/internal/detach.md +++ b/docs/api/internal/detach.md @@ -28,22 +28,19 @@ The full list of RichText internal events can be found [**here**](/category/rich ### Example -~~~jsx {16-17} +~~~jsx {13-14} // initialize RichText const editor = new richtext.Richtext("#root", { // configuration parameters }); - // subscribe on the "set-font-size" event editor.api.on("set-font-size", (obj) => { console.log(obj.fontSize); }); - // set the text font size editor.api.exec("set-font-size", { fontSize: "36px" }); - // detach the "set-font-size" event editor.api.detach("set-font-size"); ~~~ diff --git a/docs/api/methods/get-value.md b/docs/api/methods/get-value.md index f6cf115..9c8177e 100644 --- a/docs/api/methods/get-value.md +++ b/docs/api/methods/get-value.md @@ -29,7 +29,7 @@ const HTMLEncoder = richtext.text.toHTML; // html encoder ### Example -~~~jsx {6-7} +~~~jsx {6-8} const editor = new richtext.Richtext("#root", { value: "Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos." // sets the default value (HTML format) // other parameters diff --git a/docs/guides/angular_integration.md b/docs/guides/angular_integration.md deleted file mode 100644 index af3e375..0000000 --- a/docs/guides/angular_integration.md +++ /dev/null @@ -1,200 +0,0 @@ ---- -sidebar_label: Integration with Angular -title: Integration with Angular -description: This guide provides explanations on possible ways of adding and initializing DHTMLX RichText Editor in Angular-based web apps. ---- - -# Integration with Angular - -You can use DHTMLX RichText in an application created with the [Angular](https://angular.io/) framework. [Check the demo on Github](https://github.com/DHTMLX/angular-widgets). - -:::note -Note, that the implementation provided below is not the only way to use DHTMLX RichText in a Angular-based application. It gives you initial schema of the integration and implies further -extension of the app functionality depending on your goals. -::: - -## Including source files - -To add RichText package into your Angular-based app you need to [download the component package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. - -Then include ***richtext.js*** and ***richtext.css*** files into a page. -Make sure that you set correct relative paths to these files: - -~~~html title="index.html" - - -~~~ - -## Initialization - -There are two possible scenarios of initializing RichText inside an Angular application. One consists in isolating RichText structure and data inside of the Angular component and another one suggests -separating view and data parts with the possibility of interaction between them. - -### Scenario 1. Isolating RichText in an Angular component - -In this variant RichText configuration and data are held inside of the Angular component with no bonds with the external part of the application. - -#### RichText initialization - -- Create a `RichText.ts` file, where you will define a Component. Each component must have a template assigned, for RichText it will be a plain DIV tag with a named reference. - -~~~jsx title="RichText.ts" -@Component({ - template: `
` -}) -~~~ - -- Use the `new Richtext` constructor to initialize RichText inside of the container that you've set above: - -~~~jsx title="RichText.ts" -export class RichTextComponent implements OnInit, OnDestroy { - @ViewChild('widget') container: ElementRef; - richtext: RichText; - - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - toolbarBlocks: ['default', 'clear', 'fullscreen'] - }); - } -} -~~~ - -#### Changing config - -- Next you can do some actions, e.g. add a new control into the toolbar: - -~~~jsx title="RichText.ts" -export class RichTextComponent implements OnInit, OnDestroy { - @ViewChild('widget') container: ElementRef; - richtext: RichText; - - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - toolbarBlocks: ['default', 'clear', 'fullscreen'] - }); - - this.richtext.toolbar.data.add({ - value: 'MyAction' - }); - } -} -~~~ - -### Scenario 2. Exposing RichText data and config - -This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. - -#### RichText initialization - -- The first step is the same. Create a file, let it be `RichText2.ts` this time, and add a container for the RichText: - -~~~jsx title="RichText2.ts" -@Component({ - template: `
` -}) -~~~ - -- Then initialize RichText with the `new Richtext` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: - -~~~jsx title="RichText2.ts" -export class RichTextComponent implements OnInit, OnDestroy { - @ViewChild('widget') container: ElementRef; - richtext: RichText; - - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - mode: this.mode - }); - } -} -~~~ - -#### Working with configuration options - -- Set the list of used RichText configuration properties and their types before the initialization function: - -~~~jsx title="RichText2.ts" -export class RichTextComponent implements OnInit, OnDestroy { - @ViewChild('widget') container: ElementRef; - richtext: RichText; - - @Input() mode: 'document' | 'classic' = 'classic'; - @Input() value: string; - @Input() dataType: 'html' | 'markdown'; - - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - mode: this.mode - }); - } -} -~~~ - -The properties of RichText are exposed and available to work with outside the component. In the example below the `"document"` mode is specified for RichText: - -~~~jsx title="BasicSample.ts" -@Component({ - template: ` -
- -
` -}) -~~~ - -#### Working with RichText API - -This variant of using RichText in a Angular application allows working with its API moving all calls of methods and event handlers into a separate file. - -First, you can add a couple of wrappers for convenient work with RichText API. The example below shows how you can wrap actions for setting RichText value and handling the `change` event taking into account the type of data: - -~~~jsx title="RichText2.ts" -export class RichTextComponent implements OnInit, OnDestroy { - @ViewChild('widget') container: ElementRef; - richtext: RichText; - - ngOnInit() { - this.richtext = new Richtext(this.container.nativeElement, { - mode: this.mode - }); - - if (this.value) { - this.richtext.setValue(this.value, this.dataType); - } - - this.richtext.events.on('change', () => { - this.change.emit(this.richtext.getValue(this.dataType)); - }); - } -} -~~~ - -After that you can use the ready wrappers in other parts of application. - -- Create a `DataSample.ts` file and describe the methods you want to use while working with the richtext. In the example below the `updateMarkdown` and `updateHTML` methods are added for updating the content of the RichText editor: - -~~~jsx title="DataSample.ts" -export class RichTextDataSampleComponent { - @Input() html = ''; - @Input() markdown = ``; - updateMarkdown(value) { - this.markdown = value; - } - updateHTML(value) { - this.html = value; - } -} -~~~ - -- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: - -~~~jsx title="DataSample.ts" -@Component({ - template: ` -
- - -
` -}) -~~~ diff --git a/docs/guides/react_integration.md b/docs/guides/react_integration.md deleted file mode 100644 index 57ef14f..0000000 --- a/docs/guides/react_integration.md +++ /dev/null @@ -1,223 +0,0 @@ ---- -sidebar_label: Integration with React -title: Integration with React -description: This guide provides explanations on possible ways of adding and initializing DHTMLX Rich Text Editor in React-based web apps. ---- - -# Integration with React - -You can use DHTMLX RichText in an application created with the [React](https://reactjs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/react-suite-demo). - -:::note -Note, that the implementation provided below is not the only way to use DHTMLX RichText in a React-based application. It gives you initial schema of the integration and implies further extension of the app functionality depending on your goals. -::: - -## Including source files - -To add RichText package into your React-based app you need to [download the component package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. - -Then include `richtext.js` and `richtext.css` files into a page. -Make sure that you set correct relative paths to these files: - -~~~html title="index.html" - - -~~~ - -## Initialization - -There are two possible scenarios of initializing RichText inside a React application. One consists in isolating RichText structure and data inside of the React component and another one suggests -separating view and data parts with the possibility of interaction between them. - -### Scenario 1. Isolating RichText in a React component - -In this variant RichText configuration and data are held inside of the React component with no bonds with the external part of the application. - -#### RichText initialization - -- Create a `RichText.js` file, then create the `RichText` class and add a container for RichText using the `render()` function. Store the reference to the container in the `el` property: - -~~~jsx title="RichText.js" -class RichText extends Component { - render() { - return ( -
this.el = el} className="widget-box" style="width:800,height:400;">
- ); - } -} -~~~ - -- After that use the `new Richtext` constructor to initialize RichText in the container created above: - -~~~jsx title="RichText.js" -class RichText extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - toolbarBlocks: ["default", "clear", "fullscreen"] - }); - } -} -~~~ - -#### Changing config - -- Next you can do some actions, e.g. add a new control into the Toolbar: - -~~~jsx title="RichText.js" -class RichText extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - toolbarBlocks: ["default", "clear", "fullscreen"] - }); - this.richtext.toolbar.data.add({ - value:"MyAction" - }); - } -} -~~~ - -### Scenario 2. Exposing RichText data and config - -This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. - -#### RichText initialization - -- The first step is the same. Create a file, let it be `RichText2.js` this time, and add the `RichText` class and use the `new Richtext` constructor to initialize RichText. - -~~~jsx title="RichText2.js" -class RichTextComponent extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - // config here - }); - } -} -~~~ - -- Define the configuration properties of RichText in the object passed as a second parameter of the constructor: - -~~~jsx -class RichTextComponent extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - mode: this.props.mode - }); - } -} -~~~ - -Thus the `props` configuration option will be applied to the RichText widget configuration. - -- Then create a container for RichText using the `render()` function: - -~~~jsx title="RichText2.js" -render() { - return ( -
this.el = el} className="widget-box" style="width:800,height:400;">
- ); -} -~~~ - -#### Working with configuration properties - -- Set the list of used RichText configuration properties and their types in the `props` configuration option: - -~~~jsx title="RichText2.js" -class RichTextComponent extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - mode: this.props.mode - }); - } -} - -RichTextComponent.propTypes = { - mode: PropTypes.string, - value: PropTypes.string, - dataType: PropTypes.string, - onChange: PropTypes.func -}; - -RichTextComponent.defaultProps = { - mode: "classic", - dataType: "html" -} -~~~ - -Since the properties of RichText are exposed they are available to work with outside the component. In the example below the `"document"` mode is set for the richtext: - -~~~jsx title="BasicSample.js" -
- -
-~~~ - -#### Working with RichText API - -This variant of using RichText in a React application allows working with its API moving all calls of methods and event handlers into a separate file. - -First, you can add a couple of wrappers for convenient work with RichText API. The example below shows how you can wrap actions for setting RichText value and handling the `change` event taking into account the type of data: - -~~~jsx title="RichText2.js" -class RichTextComponent extends Component { - componentDidMount() { - this.richtext = new Richtext(this.el, { - mode: this.props.mode - }); - - if (this.props.value) { - this.richtext.setValue(this.props.value, this.props.dataType); - } - if (this.props.onChange) { - this.richtext.events.on("change", () => { - this.props.onChange(this.richtext.getValue(this.props.dataType)); - }); - } - } -} -~~~ - -After that you can use the ready wrappers in other parts of application. - -- Create a ***DataSample.js*** file and describe the methods you want to use while working with the RichText. In the example below `updateMarkdown()` and `updateHTML()` methods are added for updating the the content of the RichText editor: - -~~~jsx title="DataSample.js" -class DataSample extends Component { - constructor(props) { - super(props); - this.state = { - html: '', - markdown: `` - } - } - updateMarkdown(value) { - this.setState({...this.state, markdown: value}); - } - updateHTML(value) { - this.setState({...this.state, html: value}); - } -} -~~~ - -- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: - -~~~jsx title="DataSample.js" -class DataSample extends Component { - ... - render() { - return ( -
-

HTML serialize

- this.updateHTML(val)}> - -
-

Markdown serialize

- this.updateMarkdown(val)}> -
- ); - ... - } -} -~~~ diff --git a/docs/guides/vuejs_integration.md b/docs/guides/vuejs_integration.md deleted file mode 100644 index 0310a83..0000000 --- a/docs/guides/vuejs_integration.md +++ /dev/null @@ -1,207 +0,0 @@ ---- -sidebar_label: Integration with Vue -title: Integration with Vue.js -description: This guide provides explanations on possible ways of adding and initializing DHTMLX Rich Text Editor in Vue-based web apps. ---- - -# Integration with Vue - -You can use DHTMLX RichText in an application created with the [Vue.js](https://vuejs.org/) framework. [Check the demo on Github](https://github.com/DHTMLX/vuejs-widgets). - -:::note -Note, that the implementation provided below is not the only way to use DHTMLX RichText in a Vue.js-based application. It gives you initial schema of integration and implies further extension of the app functionality depending on your goals. -::: - -## Including source files - -To add RichText package into your Vue.js-based app you need to [download the component package](https://dhtmlx.com/docs/products/dhtmlxRichText/download.shtml) and unpack it into a folder of your project. - -Then include ***richtext.js*** and ***richtext.css*** files into a page. -Make sure that you set correct relative paths to these files: - -~~~html title="index.html" - - -~~~ - -## Initialization - -There are two possible scenarios of initializing RichText inside a Vue application. One consists in isolating RichText structure and data inside of the Vue component and another one suggests -separating view and data parts with the possibility of interaction between them. - -### Scenario 1. Isolating RichText in a Vue component - -In this variant RichText configuration and data are held inside of the Vie component with no bonds with the external part of the application. - -#### RichText initialization - -- Create a `RichText.vue` file and add a container for RichText inside the `` tags. Define the name of the container in the `ref` attribute: - -~~~jsx title="RichText.vue" - -~~~ - -- Define the JS part of the Vue component and use the `new Richtext` constructor to initialize RichText inside of the container that you've set above: - -~~~jsx title="RichText.vue" - -~~~ - -#### Changing config - -- Next you can do some actions, e.g. add a new control into the Toolbar: - -~~~jsx title="RichText.vue" - -~~~ - -### Scenario 2. Exposing RichText data and config - -This variant adds flexibility in the control over RichText data and configuration by allowing access to them from other parts of the application. - -#### RichText initialization - -- The first step is the same. Create a file, let it be `RichText2.vue` this time, and add a container for the RichText inside the `` tags: - -~~~jsx title="RichText.vue" - -~~~ - -- Then initialize RichText with the `new Richtext` constructor and define the configuration properties of RichText in the object passed as a second parameter of the constructor: - -~~~jsx title="RichText.vue" - -~~~ - -#### Working with configuration options - -- Set the list of used RichText configuration properties and their types in the `props` configuration option: - -~~~jsx title="RichText.vue" - -~~~ - -The properties of RichText are exposed and available to work with outside the component. For example, you can: - -- Create another file and change the configuration of RichText from there. In the example below the mode of a RichText id changed to "document": - -~~~jsx title="BasicSample.vue" - -~~~ - -#### Working with RichText API - -This variant of using RichText in a Vue.js application allows working with its API moving all calls of methods and event handlers into a separate file. - -First, you can add a couple of wrappers for convenient work with RichText API. The example below shows how you can wrap actions for setting RichText value and handling the `change` event taking into account the type of data: - -~~~jsx title="RichText2.vue" -export default { - props: { - css: String, - mode: {type: String, default: "classic"}, - value: String, - dataType: {type: String, default: "html"} - }, - mounted: function() { - this.richtext = new Richtext(this.$refs.container, { - mode: this.mode, - css: this.css - }); - if (this.value) { - this.richtext.setValue(this.value, this.dataType); - } - this.richtext.events.on("change", () => { - this.$emit("change", this.richtext.getValue(this.dataType)); - }); - } -} -~~~ - -After that you can use the ready wrappers in other parts of application. - -- Create a `DataSample.vue` file and describe the methods you want to use while working with the RichText. In the example below the `updateMarkdown` and `updateHTML` methods are added for updating the the content of the RichText editor: - -~~~jsx title="DataSample.vue" - -~~~ - -- Use the above methods to update the RichText content depending on the type of entered data when some changes are made: - -~~~jsx title="DataSample.vue" - -~~~ From 727cb94fb08456b10c3656044e6c5e601f1edcac Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Mon, 21 Jul 2025 11:02:04 +0400 Subject: [PATCH 12/46] [add] screenshots for guides --- docs/assets/richtext/classic_mode.png | Bin 0 -> 951009 bytes docs/assets/richtext/document_mode.png | Bin 0 -> 987833 bytes docs/assets/richtext/editor.png | Bin 0 -> 927802 bytes docs/assets/richtext/html_format.png | Bin 0 -> 927802 bytes docs/assets/richtext/menubar.png | Bin 0 -> 51538 bytes docs/assets/richtext/text_format.png | Bin 0 -> 353093 bytes docs/assets/richtext/toolbar.png | Bin 0 -> 23831 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/assets/richtext/classic_mode.png create mode 100644 docs/assets/richtext/document_mode.png create mode 100644 docs/assets/richtext/editor.png create mode 100644 docs/assets/richtext/html_format.png create mode 100644 docs/assets/richtext/menubar.png create mode 100644 docs/assets/richtext/text_format.png create mode 100644 docs/assets/richtext/toolbar.png diff --git a/docs/assets/richtext/classic_mode.png b/docs/assets/richtext/classic_mode.png new file mode 100644 index 0000000000000000000000000000000000000000..b61fa427a067867bede413cdddc0e30184e724f1 GIT binary patch literal 951009 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
Now you know how to integrate DHTMLX RichText with Angular. You can customize the code according to your specific requirements. The final advanced example you can find on [**GitHub**](https://github.com/DHTMLX/angular-richtext-demo). diff --git a/docs/guides/integration_with_react.md b/docs/guides/integration_with_react.md index 0087d71..1103044 100644 --- a/docs/guides/integration_with_react.md +++ b/docs/guides/integration_with_react.md @@ -248,6 +248,8 @@ useEffect(() => { After that, you can start the app to see RichText loaded with data on a page. -[TODO] +
+![RichText initialization](../assets/trial_richtext.png) +
Now you know how to integrate DHTMLX RichText with React. You can customize the code according to your specific requirements. The final advanced example you can find on [**GitHub**](https://github.com/DHTMLX/react-richtext-demo). diff --git a/docs/guides/integration_with_svelte.md b/docs/guides/integration_with_svelte.md index 5c2cd75..70896c9 100644 --- a/docs/guides/integration_with_svelte.md +++ b/docs/guides/integration_with_svelte.md @@ -258,6 +258,8 @@ To add the component into the app, open the **App.svelte** file and replace the After that, you can start the app to see RichText loaded with data on a page. -[TODO] +
+![RichText initialization](../assets/trial_richtext.png) +
Now you know how to integrate DHTMLX RichText with Svelte. You can customize the code according to your specific requirements. The final advanced example you can find on [**GitHub**](https://github.com/DHTMLX/svelte-richtext-demo). diff --git a/docs/guides/integration_with_vue.md b/docs/guides/integration_with_vue.md index a24254e..d759348 100644 --- a/docs/guides/integration_with_vue.md +++ b/docs/guides/integration_with_vue.md @@ -274,6 +274,8 @@ export default { After that, you can start the app to see RichText loaded with data on a page. -[TODO] +
+![RichText initialization](../assets/trial_richtext.png) +
Now you know how to integrate DHTMLX RichText with Vue. You can customize the code according to your specific requirements. The final advanced example you can find on [**GitHub**](https://github.com/DHTMLX/vue-richtext-demo). diff --git a/docs/index.md b/docs/index.md index f147246..169e7ab 100644 --- a/docs/index.md +++ b/docs/index.md @@ -33,7 +33,9 @@ The RichText toolbar provides quick access to text formatting and structural edi The [`toolbar`](api/config/toolbar.md) property allows you to fully customize the toolbar’s content and layout. You can enable or disable toolbar, rearrange default controls, or define a fully custom toolbar using an array of predefined button identifiers and custom button objects. +
![Toolbar](./assets/richtext/toolbar.png) +
### Menubar @@ -41,7 +43,9 @@ The RichText menubar provides access to high-level editing actions such as creat Use the [`menubar`](api/config/menubar.md) property to toggle its visibility. While the menubar can be enabled or disabled, its contents are not configurable at this time. +
![Menubar](./assets/richtext/menubar.png) +
### Editor @@ -53,11 +57,15 @@ DHTMLX RichText can work with content in "classic" and "document" modes. You can - **"classic"** +
![Classic mode](./assets/richtext/classic_mode.png) +
- **"document"** +
![Document mode](./assets/richtext/document_mode.png) +
### Supported formats @@ -65,8 +73,12 @@ The RichText editor supports [parsing](guides/loading_data.md#adding-content-int #### HTML format +
![HTML format](./assets/richtext/html_format.png) +
#### Text format +
![Text format](./assets/richtext/text_format.png) +
diff --git a/src/css/custom.css b/src/css/custom.css index e42c099..86e01f2 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -1,17 +1,15 @@ /* stylelint-disable docusaurus/copyright-header */ - /** * Any CSS included here will be global. The classic template * bundles Infima by default. Infima is a CSS framework designed to * work well for content-centric websites. */ - /* You can override the default Infima variables here. */ :root { - --ifm-color-primary: #0288D1; + --ifm-color-primary: #0288d1; --ifm-color-primary-dark: rgb(33, 175, 144); --ifm-color-primary-darker: rgb(31, 165, 136); --ifm-color-primary-darkest: rgb(26, 136, 112); @@ -20,7 +18,7 @@ --ifm-color-primary-lightest: rgb(146, 224, 208); --ifm-code-font-size: 95%; --ifm-color-feedback-background: #fff; - --dhx-color-brand: #2095F3; + --dhx-color-brand: #2095f3; --ifm-hr-border-color: var(--ifm-color-emphasis-200); --ifm-list-item-margin: 0.7rem; } @@ -30,7 +28,7 @@ /* h1 */ .docTitle_node_modules-\@docusaurus-theme-classic-lib-theme-DocItem- { - font-size: 2rem!important; + font-size: 2rem !important; } .markdown > h1 { @@ -39,19 +37,18 @@ /* h2 */ -.markdown>h2 { +.markdown > h2 { --ifm-h2-font-size: 2rem; } /* h3 */ -.markdown>h3 { +.markdown > h3 { --ifm-h3-font-size: 1.5rem; } /* end typography */ - /* Search input styles */ .rel_date { @@ -62,7 +59,7 @@ .DocSearch-Button { order: -1; - margin-right: 10px!important; + margin-right: 10px !important; } .DocSearch-Button-Placeholder { @@ -99,18 +96,17 @@ /* end imgs */ - /* Change the appearance of mobile navigation */ @media (max-width: 996px) { .navbar__toggle { - display: block; + display: block; } .menu--responsive .menu__button { - border-radius: 100px; - padding: 15px; - background: var(--dhx-color-brand); - color: var(--ifm-color-feedback-background); + border-radius: 100px; + padding: 15px; + background: var(--dhx-color-brand); + color: var(--ifm-color-feedback-background); } } @@ -119,9 +115,9 @@ /* for Code Snippet iframe */ .snippet_iframe { - border: 1px solid var(--ifm-hr-border-color); - margin-bottom: var(--ifm-leading); - border-radius: 5px; + border: 1px solid var(--ifm-hr-border-color); + margin-bottom: var(--ifm-leading); + border-radius: 5px; } /* end for Code Snippet iframe */ @@ -129,27 +125,26 @@ /* small code block */ code { - border-radius: 5px; - padding: 2px 8px; - font-weight: 600; + border-radius: 5px; + padding: 2px 8px; + font-weight: 600; } /* end small code block */ /* styles for block of code */ - - /* specify code box background */ +/* specify code box background */ .codeBlockLines_node_modules-\@docusaurus-theme-classic-lib-theme-CodeBlock-Content-styles-module { /*background-color: rgb(90, 86, 86);*/ } - /* specify the comment text color */ +/* specify the comment text color */ span.token.comment { - color: rgb(12, 121, 8) !important; -} - /* specify the comment background color */ + color: rgb(12, 121, 8) !important; +} +/* specify the comment background color */ span.token-line.theme-code-block-highlighted-line { - background-color: rgba(225, 212, 212, 0.075); + background-color: rgba(225, 212, 212, 0.075); } /* end styles for block of code */ @@ -157,51 +152,50 @@ span.token-line.theme-code-block-highlighted-line { /* list */ .markdown ul li { - margin-top: 10px; - margin-bottom: 10px; - line-height: 2; + margin-top: 10px; + margin-bottom: 10px; + line-height: 2; } ::marker { - color: #9c9c9c; + color: #9c9c9c; } /* end list */ /* buttons */ -.support_btn{ - font-size: 16pt; - color: rgb(53, 148, 243); - background-color: transparent; - border: 1px solid rgba(53, 148, 243, 0.692);; - border-radius: 5px; - width: 280px; - height: 50px; - margin-bottom: 30px; +.support_btn { + font-size: 16pt; + color: rgb(53, 148, 243); + background-color: transparent; + border: 1px solid rgba(53, 148, 243, 0.692); + border-radius: 5px; + width: 280px; + height: 50px; + margin-bottom: 30px; } -.support_btn:hover{ - background-color: rgba(53, 148, 243, 0.692); - color: white; +.support_btn:hover { + background-color: rgba(53, 148, 243, 0.692); + color: white; } .support_btn > a { - text-decoration: none; - color: inherit; + text-decoration: none; + color: inherit; } /* buttons end */ - /* styles for tables */ table { - width: 100%; - display: inline-table; + width: 100%; + display: inline-table; } table th:first-child { - width: 25%; + width: 25%; } /* end styles for tables */ @@ -209,15 +203,20 @@ table th:first-child { /* styles for infoblock */ .admonition-content > p { - line-height: 5; + line-height: 5; } .admonition { - margin-top: 15px; + margin-top: 15px; } /* end styles for infoblock */ p { - line-height: 2; -} \ No newline at end of file + line-height: 2; +} +.img_border { + border: 1px solid rgb(215, 212, 212); + max-width: 100%; + padding: 2px; +} From 2b8eb42cbc55b4403696d6c7723e6a3cb3fa24c4 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Tue, 22 Jul 2025 15:13:45 +0400 Subject: [PATCH 21/46] [update] fullscreen mode --- .../{fullscreen.md => fullscreen-mode.md} | 14 +++--- docs/api/events/toggle-fullscreen-mode.md | 45 +++++++++++++++++++ docs/api/events/toggle-fullscreen.md | 45 ------------------- sidebars.js | 4 +- 4 files changed, 54 insertions(+), 54 deletions(-) rename docs/api/config/{fullscreen.md => fullscreen-mode.md} (51%) create mode 100644 docs/api/events/toggle-fullscreen-mode.md delete mode 100644 docs/api/events/toggle-fullscreen.md diff --git a/docs/api/config/fullscreen.md b/docs/api/config/fullscreen-mode.md similarity index 51% rename from docs/api/config/fullscreen.md rename to docs/api/config/fullscreen-mode.md index 62131fe..af794e3 100644 --- a/docs/api/config/fullscreen.md +++ b/docs/api/config/fullscreen-mode.md @@ -1,10 +1,10 @@ --- -sidebar_label: fullscreen -title: fullscreen Config -description: You can learn about the fullscreen config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +sidebar_label: fullscreenMode +title: fullscreenMode Config +description: You can learn about the fullscreenMode config in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- -# fullscreen +# fullscreenMode ### Description @@ -13,13 +13,13 @@ description: You can learn about the fullscreen config in the documentation of t ### Usage ~~~jsx {} -fullscreen?: boolean; +fullscreenMode?: boolean; ~~~ ### Default config ~~~jsx -fullscreen: false; +fullscreenMode: false; ~~~ ### Example @@ -27,7 +27,7 @@ fullscreen: false; ~~~jsx {3} // initialize RichText new richtext.Richtext("#root", { - fullscreen: true + fullscreenMode: true // other parameters }); ~~~ diff --git a/docs/api/events/toggle-fullscreen-mode.md b/docs/api/events/toggle-fullscreen-mode.md new file mode 100644 index 0000000..2d092cb --- /dev/null +++ b/docs/api/events/toggle-fullscreen-mode.md @@ -0,0 +1,45 @@ +--- +sidebar_label: toggle-fullscreen-mode +title: toggle-fullscreen-mode Event +description: You can learn about the toggle-fullscreen-mode event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +--- + +# toggle-fullscreen-mode + +### Description + +@short: Fires when toggling the full screen mode + +### Usage + +~~~jsx {} +"toggle-fullscreen-mode": ({ mode?: boolean }) => boolean | void; +~~~ + +### Parameters + +The callback of the **toggle-fullscreen-mode** event can take an object with the following parameter: + +- `mode` - enables a fullscreen mode + +:::info +For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) +::: + +### Example + +~~~jsx {5-9} +// initialize RichText +const editor = new richtext.Richtext("#root", { + // configuration parameters +}); +// subscribe on the "toggle-fullscreen-mode" event +editor.api.on("toggle-fullscreen-mode", (obj) => { + console.log(obj); + console.log("The full screen mode was changed"); +}); +// enable the full screen mode +editor.api.exec("toggle-fullscreen-mode", { mode: true }); +~~~ + +**Change log:** The event was added in v2.0 diff --git a/docs/api/events/toggle-fullscreen.md b/docs/api/events/toggle-fullscreen.md deleted file mode 100644 index 164d2b2..0000000 --- a/docs/api/events/toggle-fullscreen.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -sidebar_label: toggle-fullscreen -title: toggle-fullscreen Event -description: You can learn about the toggle-fullscreen event in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. ---- - -# toggle-fullscreen - -### Description - -@short: Fires when toggling the full screen mode - -### Usage - -~~~jsx {} -"toggle-fullscreen": ({ mode?: boolean }) => boolean | void; -~~~ - -### Parameters - -The callback of the **toggle-fullscreen** event can take an object with the following parameter: - -- `mode` - enables a fullscreen mode - -:::info -For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) -::: - -### Example - -~~~jsx {5-9} -// initialize RichText -const editor = new richtext.Richtext("#root", { - // configuration parameters -}); -// subscribe on the "toggle-fullscreen" event -editor.api.on("toggle-fullscreen", (obj) => { - console.log(obj); - console.log("The full screen mode was changed"); -}); -// enable the full screen mode -editor.api.exec("toggle-fullscreen", { mode: true }); -~~~ - -**Change log:** The event was added in v2.0 diff --git a/sidebars.js b/sidebars.js index 14158a8..157b755 100644 --- a/sidebars.js +++ b/sidebars.js @@ -134,7 +134,7 @@ module.exports = { "api/events/show-popup", "api/events/subscript", "api/events/superscript", - "api/events/toggle-fullscreen", + "api/events/toggle-fullscreen-mode", "api/events/toggle-layout-mode", "api/events/toggle-shortcut-info", "api/events/undo", @@ -155,7 +155,7 @@ module.exports = { }, items: [ "api/config/default-styles", - "api/config/fullscreen", + "api/config/fullscreen-mode", "api/config/image-upload-url", "api/config/layout-mode", "api/config/locale", From e87ed5793a5d35561432c9b1c17923f12823bad0 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Wed, 23 Jul 2025 01:06:16 +0400 Subject: [PATCH 22/46] [update] minor style changes --- docs/api/config/default-styles.md | 8 +- docs/api/config/fullscreen-mode.md | 2 +- docs/api/config/image-upload-url.md | 2 +- docs/api/config/layout-mode.md | 2 +- docs/api/config/locale.md | 2 +- docs/api/config/menubar.md | 2 +- docs/api/config/toolbar.md | 8 +- docs/api/config/value.md | 2 +- docs/api/events/align.md | 2 +- docs/api/events/clear-text-format.md | 2 +- docs/api/events/copy.md | 2 +- docs/api/events/create-new.md | 2 +- docs/api/events/cut.md | 2 +- docs/api/events/delete-link.md | 2 +- docs/api/events/export.md | 2 +- docs/api/events/import.md | 2 +- docs/api/events/indent.md | 2 +- docs/api/events/insert-image.md | 2 +- docs/api/events/insert-line.md | 2 +- docs/api/events/insert-link.md | 2 +- docs/api/events/insert-list.md | 2 +- docs/api/events/outdent.md | 2 +- docs/api/events/paste.md | 2 +- docs/api/events/print.md | 2 +- docs/api/events/redo.md | 2 +- docs/api/events/resize-image.md | 2 +- docs/api/events/set-font-family.md | 2 +- docs/api/events/set-font-size.md | 2 +- docs/api/events/set-line-height.md | 2 +- docs/api/events/set-text-color.md | 2 +- docs/api/events/set-text-format.md | 2 +- docs/api/events/set-text-style.md | 2 +- docs/api/events/show-popup.md | 2 +- docs/api/events/subscript.md | 2 +- docs/api/events/superscript.md | 2 +- docs/api/events/toggle-fullscreen-mode.md | 2 +- docs/api/events/toggle-layout-mode.md | 2 +- docs/api/events/toggle-shortcut-info.md | 2 +- docs/api/events/undo.md | 2 +- docs/api/events/update-link.md | 2 +- docs/api/internal/detach.md | 2 +- docs/api/internal/exec.md | 2 +- docs/api/internal/get-reactive-state.md | 2 +- docs/api/internal/get-state.md | 2 +- docs/api/internal/intercept.md | 2 +- docs/api/internal/on.md | 2 +- docs/api/internal/set-next.md | 4 +- docs/api/methods/destructor.md | 5 +- docs/api/methods/get-value.md | 2 +- docs/api/methods/set-config.md | 2 +- docs/api/methods/set-locale.md | 5 +- docs/api/methods/set-value.md | 2 +- docs/api/toolbar_controls.md | 166 ----------- docs/guides/configuration.md | 328 +++++++++++++++------- docs/guides/customization.md | 263 ----------------- docs/guides/integration_with_angular.md | 16 +- docs/guides/integration_with_react.md | 10 +- docs/guides/integration_with_svelte.md | 12 +- docs/guides/integration_with_vue.md | 12 +- docs/guides/loading_data.md | 68 ----- docs/how_to_start.md | 10 +- docs/index.md | 36 +-- sidebars.js | 2 - 63 files changed, 334 insertions(+), 713 deletions(-) delete mode 100644 docs/api/toolbar_controls.md delete mode 100644 docs/guides/customization.md delete mode 100644 docs/guides/loading_data.md diff --git a/docs/api/config/default-styles.md b/docs/api/config/default-styles.md index f61f168..7105fcf 100644 --- a/docs/api/config/default-styles.md +++ b/docs/api/config/default-styles.md @@ -74,7 +74,7 @@ defaultStyles?: boolean | { :::important The `defaultStyles` property DOES NOT set the actual CSS to the affected blocks. CSS styles have to be applied separately: -```html{12-19} +```jsx title="index.js" new richtext.Richtext("#root", { defaultStyles: { h2: { @@ -85,7 +85,9 @@ new richtext.Richtext("#root", { } } }); +``` +```css title="index.css" +``` + +:::note +These styles will apply a dark background, adjust button and icon colors, and improve visibility for dark UI themes. +::: + +## List of supported CSS variables + +| Variable name | Description | +| ---------------------------- | ------------------------------------ | +| `--wx-background` | Background color of editor and popup | +| `--wx-background-alt` | Alternate background (menus and toolbar)| +| `--wx-color-primary` | Accent color for links | +| `--wx-color-font` | Main font color (for editor, menubar, and toolbar)| +| `--wx-color-font-alt` | Alternate font color | +| `--wx-color-font-disabled` | Disabled text color (for menubar and toolbar elements)| +| `--wx-border` | Border style used across the editor | +| `--wx-color-secondary-hover` | Hover state background for buttons within menubar and toolbar | +| `--wx-button-active` | Active state background for buttons within menubar and toolbar | +| `--wx-icon-color` | Color used for toolbar icons | +| `--wx-popup-border` | Border for popup elements | + +## Best practices + +* Apply custom styles **after** the RichText component is initialized +* Use `color-scheme: dark` to improve native input styling in dark mode +* Avoid changing layout-related properties (like `display`, `position`) unless necessary + +## Live demo + +In this snippet you can see how to apply a custom style to RichText: + + + +**Related articles:** [Customization](guides/customization.md) diff --git a/sidebars.js b/sidebars.js index ec08541..e8fc6fb 100644 --- a/sidebars.js +++ b/sidebars.js @@ -199,6 +199,7 @@ module.exports = { "guides/initialization", "guides/configuration", "guides/localization", + "guides/stylization", "guides/typescript_support" ] } From 751e13268f01d867f3529c3ede26943b42eea243 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Tue, 29 Jul 2025 08:45:39 +0400 Subject: [PATCH 44/46] [update] minor fixes --- docs/guides/stylization.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/guides/stylization.md b/docs/guides/stylization.md index d0ee9fa..b731477 100644 --- a/docs/guides/stylization.md +++ b/docs/guides/stylization.md @@ -17,15 +17,16 @@ RichText uses the following core classes to structure its UI: | Class name | Description | |------------------------|---------------------------------------------| | `.wx-richtext` | Root container of the RichText widget | -| `.wx-richtext-menu` | Toolbar and menu area | -| `.wx-richtext-popup` | Popup panels (e.g., color picker, font size)| -| `.wx-richtext-editor` | Main editable content area | +| `.wx-richtext-menubar` | Container for menubar | +| `.wx-richtext-menu` | Container for menubar dropdown menu | +| `.wx-richtext-toolbar` | Container for toolbar | +| `.wx-editor-area` | Container for main editable content area | You can use these classes in your custom CSS selectors to override the appearance of the RichText editor. ## Overriding default styles -You can override RichText's default colors by redefining CSS variables on the `#root` container or on specific sub-elements: +You can override RichText's default styles by redefining CSS variables on the `#root` container or on specific sub-elements: ```html
@@ -63,20 +64,19 @@ These styles will apply a dark background, adjust button and icon colors, and im | Variable name | Description | | ---------------------------- | ------------------------------------ | | `--wx-background` | Background color of editor and popup | -| `--wx-background-alt` | Alternate background (menus and toolbar)| -| `--wx-color-primary` | Accent color for links | +| `--wx-background-alt` | Alternate background for menubar | +| `--wx-color-primary` | Accent color for links, blockquotes, and borders of resizing pictures | | `--wx-color-font` | Main font color (for editor, menubar, and toolbar)| | `--wx-color-font-alt` | Alternate font color | | `--wx-color-font-disabled` | Disabled text color (for menubar and toolbar elements)| | `--wx-border` | Border style used across the editor | | `--wx-color-secondary-hover` | Hover state background for buttons within menubar and toolbar | | `--wx-button-active` | Active state background for buttons within menubar and toolbar | -| `--wx-icon-color` | Color used for toolbar icons | +| `--wx-icon-color` | Color for toolbar arrow icons used for dropdown | | `--wx-popup-border` | Border for popup elements | ## Best practices -* Apply custom styles **after** the RichText component is initialized * Use `color-scheme: dark` to improve native input styling in dark mode * Avoid changing layout-related properties (like `display`, `position`) unless necessary From 73303868de368e94e75b4209043885e5d65fc8c1 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Wed, 30 Jul 2025 14:19:23 +0400 Subject: [PATCH 45/46] [update] minor changes after review --- docs/api/config/toolbar.md | 26 +- docs/api/events/align.md | 2 +- docs/api/events/clear-text-format.md | 2 +- docs/api/events/copy.md | 2 +- docs/api/events/create-new.md | 2 +- docs/api/events/cut.md | 2 +- docs/api/events/delete-link.md | 2 +- docs/api/events/export.md | 2 +- docs/api/events/import.md | 2 +- docs/api/events/indent.md | 4 +- docs/api/events/insert-image.md | 2 +- docs/api/events/insert-line.md | 2 +- docs/api/events/insert-link.md | 2 +- docs/api/events/insert-list.md | 2 +- docs/api/events/outdent.md | 4 +- docs/api/events/paste.md | 4 +- docs/api/events/print.md | 2 +- docs/api/events/redo.md | 2 +- docs/api/events/resize-image.md | 2 +- docs/api/events/set-font-family.md | 2 +- docs/api/events/set-font-size.md | 2 +- docs/api/events/set-line-height.md | 2 +- docs/api/events/set-text-color.md | 6 +- docs/api/events/set-text-format.md | 2 +- docs/api/events/set-text-style.md | 2 +- docs/api/events/show-popup.md | 2 +- docs/api/events/subscript.md | 2 +- docs/api/events/superscript.md | 2 +- docs/api/events/toggle-fullscreen-mode.md | 2 +- docs/api/events/toggle-layout-mode.md | 2 +- docs/api/events/toggle-shortcut-info.md | 6 +- docs/api/events/undo.md | 2 +- docs/api/events/update-link.md | 2 +- docs/api/internal/detach.md | 2 +- docs/api/internal/exec.md | 2 +- docs/api/internal/get-reactive-state.md | 2 +- docs/api/internal/get-state.md | 2 +- docs/api/internal/intercept.md | 2 +- docs/api/internal/on.md | 2 +- docs/api/internal/set-next.md | 4 - docs/api/methods/set-config.md | 2 +- docs/api/overview/events_overview.md | 2 +- docs/guides/configuration.md | 43 +- docs/guides/initialization.md | 2 +- docs/guides/integration_with_angular.md | 4 +- docs/guides/integration_with_react.md | 4 +- docs/guides/integration_with_svelte.md | 4 +- docs/guides/integration_with_vue.md | 4 +- docs/guides/stylization.md | 10 +- docs/index.md | 22 +- docs/news/whats_new.md | 4 +- package.json | 8 +- yarn.lock | 562 ++++++++++++---------- 53 files changed, 421 insertions(+), 370 deletions(-) diff --git a/docs/api/config/toolbar.md b/docs/api/config/toolbar.md index 44f13c7..1016e54 100644 --- a/docs/api/config/toolbar.md +++ b/docs/api/config/toolbar.md @@ -8,7 +8,7 @@ description: You can learn about the toolbar config in the documentation of the ### Description -@short: Optional. Enables toolbar and specifies buttons displayed within Toolbar +@short: Optional. Enables toolbar and allows users to specify/configure buttons displayed within toolbar ### Usage @@ -52,7 +52,7 @@ You can specify the following buttons in the RichText toolbar: | `shortcuts` | Displays a list of available keyboard shortcuts. | | `separator` | Adds a visual separator between toolbar groups. | -You can use these strings to configure toolbar buttons as follow: +You can use these strings to configure toolbar buttons as follows: ~~~jsx {2-7} new richtext.Richtext("#root", { @@ -77,8 +77,6 @@ You can specify custom buttons as objects with the following parameters: - `css` - (optional) a css class name assigned to the control (default supported classes: wx-primary, wx-secondary) - `handler` - (optional) a callback function that executes when the button is clicked -You can specify custom buttons within a toolbar as follow: - ~~~jsx {6-32} new richtext.Richtext("#root", { toolbar: [ @@ -168,10 +166,24 @@ const defaultToolbarButtons = { ~~~ :::tip -You can import default toolbar controls as follows: +Default toolbar controls are exported by the RichText widget and can be accessed via `richtext.defaultToolbarButtons`. -```jsx -richtext.defaultToolbarButtons +```jsx{4} +// initialize RichText +new richtext.Richtext("#root", { + toolbar: [ + ...richtext.defaultToolbarButtons, + { + type: "button", + id: "btn1", // button id (cannot overlap with existing button ids if you want to apply custom logic) + icon: "wxo-help", // button icon (combines with label) + css: "rounded", // css class name assigned to the control (default supported classes: wx-primary, wx-secondary) + label: "Custom button", // button label (combines with icon) + tooltip: "Some tooltip", // tooltip displayed on hover (if not specified, uses the value from "label") + } + ] + // other configuration properties +}); ``` ::: diff --git a/docs/api/events/align.md b/docs/api/events/align.md index 9d75057..c46be2f 100644 --- a/docs/api/events/align.md +++ b/docs/api/events/align.md @@ -25,7 +25,7 @@ The callback of the **align** event can take an object with the following parame - `align` - a text alignment. You can specify one of the following values: `"left" | "center" | "right" | "justify"` :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/clear-text-format.md b/docs/api/events/clear-text-format.md index 4aac605..feda55d 100644 --- a/docs/api/events/clear-text-format.md +++ b/docs/api/events/clear-text-format.md @@ -17,7 +17,7 @@ description: You can learn about the clear-text-format event in the documentatio ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/copy.md b/docs/api/events/copy.md index a1878c6..5d74562 100644 --- a/docs/api/events/copy.md +++ b/docs/api/events/copy.md @@ -17,7 +17,7 @@ description: You can learn about the copy event in the documentation of the DHTM ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/create-new.md b/docs/api/events/create-new.md index 2d4b25c..eb4676b 100644 --- a/docs/api/events/create-new.md +++ b/docs/api/events/create-new.md @@ -23,7 +23,7 @@ The callback of the **create-new** event can take an object with the following p - `reset` - resets the history when creating a new file :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/cut.md b/docs/api/events/cut.md index 19c92f3..54a44d3 100644 --- a/docs/api/events/cut.md +++ b/docs/api/events/cut.md @@ -17,7 +17,7 @@ description: You can learn about the cut event in the documentation of the DHTML ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/delete-link.md b/docs/api/events/delete-link.md index 999f9fe..9b4abb6 100644 --- a/docs/api/events/delete-link.md +++ b/docs/api/events/delete-link.md @@ -17,7 +17,7 @@ description: You can learn about the delete-link event in the documentation of t ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/export.md b/docs/api/events/export.md index 798a196..0691bd5 100644 --- a/docs/api/events/export.md +++ b/docs/api/events/export.md @@ -33,7 +33,7 @@ The callback of **export** event can take an object with the following parameter - `fileName` - a file name to be exported :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/import.md b/docs/api/events/import.md index b05e094..d3dd7e2 100644 --- a/docs/api/events/import.md +++ b/docs/api/events/import.md @@ -23,7 +23,7 @@ The callback of **import** event can take an object with the following parameter - `html` - a text value in the html format :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/indent.md b/docs/api/events/indent.md index 3b93801..4d400de 100644 --- a/docs/api/events/indent.md +++ b/docs/api/events/indent.md @@ -23,7 +23,7 @@ The callback of the **indent** event can take an object with the following param - `step` - the step by which indentation was increased :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example @@ -36,7 +36,7 @@ const editor = new richtext.Richtext("#root", { // subscribe to the "indent" event editor.api.on("indent", (obj) => { console.log(obj); - console.log("The indent was added"); + console.log("The indention was increased"); }); ~~~ diff --git a/docs/api/events/insert-image.md b/docs/api/events/insert-image.md index c847ec9..7898511 100644 --- a/docs/api/events/insert-image.md +++ b/docs/api/events/insert-image.md @@ -30,7 +30,7 @@ interface IImageContext { ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/insert-line.md b/docs/api/events/insert-line.md index c8e087b..ee1a518 100644 --- a/docs/api/events/insert-line.md +++ b/docs/api/events/insert-line.md @@ -17,7 +17,7 @@ description: You can learn about the insert-line event in the documentation of t ~~~ :::info -For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) +For handling the inner events you can use the [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/insert-link.md b/docs/api/events/insert-link.md index 7247ddb..1db8b8d 100644 --- a/docs/api/events/insert-link.md +++ b/docs/api/events/insert-link.md @@ -23,7 +23,7 @@ The callback of the **update-link** event can take an object with the following - `url` - the url to be inserted :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/insert-list.md b/docs/api/events/insert-list.md index 2c98e50..3be5f19 100644 --- a/docs/api/events/insert-list.md +++ b/docs/api/events/insert-list.md @@ -27,7 +27,7 @@ The callback of the **insert-list** event can take an object with the following - `"numbered"` - numbered list :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/outdent.md b/docs/api/events/outdent.md index a31c818..94f6245 100644 --- a/docs/api/events/outdent.md +++ b/docs/api/events/outdent.md @@ -23,7 +23,7 @@ The callback of the **outdent** event can take an object with the following para - `step` - the step by which indentation was decreased :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example @@ -36,7 +36,7 @@ const editor = new richtext.Richtext("#root", { // subscribe to the "outdent" event editor.api.on("outdent", (obj) => { console.log(obj); - console.log("The outdent was added"); + console.log("The indention was decreased"); }); ~~~ diff --git a/docs/api/events/paste.md b/docs/api/events/paste.md index ac30e30..fcd7ca9 100644 --- a/docs/api/events/paste.md +++ b/docs/api/events/paste.md @@ -17,7 +17,7 @@ description: You can learn about the paste event in the documentation of the DHT ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example @@ -29,7 +29,7 @@ const editor = new richtext.Richtext("#root", { }); // subscribe to the "paste" event editor.api.on("paste", () => { - console.log("Selected text was pasted"); + console.log("Content was pasted"); }); ~~~ diff --git a/docs/api/events/print.md b/docs/api/events/print.md index 3a3cbc1..21a9247 100644 --- a/docs/api/events/print.md +++ b/docs/api/events/print.md @@ -17,7 +17,7 @@ description: You can learn about the print event in the documentation of the DHT ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/redo.md b/docs/api/events/redo.md index 160b1ee..06ff24b 100644 --- a/docs/api/events/redo.md +++ b/docs/api/events/redo.md @@ -17,7 +17,7 @@ description: You can learn about the redo event in the documentation of the DHTM ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/resize-image.md b/docs/api/events/resize-image.md index e5370d9..9db126e 100644 --- a/docs/api/events/resize-image.md +++ b/docs/api/events/resize-image.md @@ -25,7 +25,7 @@ The callback of the **resize-image** event can take an object with the following - `height` - the image height :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/set-font-family.md b/docs/api/events/set-font-family.md index 7132015..9626bd7 100644 --- a/docs/api/events/set-font-family.md +++ b/docs/api/events/set-font-family.md @@ -23,7 +23,7 @@ The callback of the **set-font-family** event can take an object with the follow - `fontFamily` - a font family to be applied. The following fonts are available: `"Roboto" | "Arial" | "Georgia" | "Tahoma" | "Times New Roman" | "Verdana"` :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/set-font-size.md b/docs/api/events/set-font-size.md index 557609d..3c68fa6 100644 --- a/docs/api/events/set-font-size.md +++ b/docs/api/events/set-font-size.md @@ -23,7 +23,7 @@ The callback of the **set-font-size** event can take an object with the followin - `fontSize` - a font size to be applied :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/set-line-height.md b/docs/api/events/set-line-height.md index f294ef4..0dc8832 100644 --- a/docs/api/events/set-line-height.md +++ b/docs/api/events/set-line-height.md @@ -23,7 +23,7 @@ The callback of the **set-line-height** event can take an object with the follow - `lineHeight` - a line height :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/set-text-color.md b/docs/api/events/set-text-color.md index b5a98ed..b846db2 100644 --- a/docs/api/events/set-text-color.md +++ b/docs/api/events/set-text-color.md @@ -8,7 +8,7 @@ description: You can learn about the set-text-color event in the documentation o ### Description -@short: Fires when setting a text color +@short: Fires when setting a text color and/or a background text color ### Usage @@ -29,7 +29,7 @@ The callback of the **set-text-color** event can take an object with the followi - `background` - a text background color :::info -For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) +For handling the inner events you can use the [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example @@ -42,7 +42,7 @@ const editor = new richtext.Richtext("#root", { // subscribe to the "set-text-color" event editor.api.on("set-text-color", (obj) => { console.log(obj); - console.log("The text color and background were changed"); + console.log("The text color and/or background text color were changed"); }); // apply text color and background editor.api.exec("set-text-color", { diff --git a/docs/api/events/set-text-format.md b/docs/api/events/set-text-format.md index d4a1122..f3c2cd2 100644 --- a/docs/api/events/set-text-format.md +++ b/docs/api/events/set-text-format.md @@ -24,7 +24,7 @@ interface ITextFormat { ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Parameters diff --git a/docs/api/events/set-text-style.md b/docs/api/events/set-text-style.md index 3882306..102eb5b 100644 --- a/docs/api/events/set-text-style.md +++ b/docs/api/events/set-text-style.md @@ -25,7 +25,7 @@ The callback of the **set-text-style** event can take an object with the followi - `tag` - a text style :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/show-popup.md b/docs/api/events/show-popup.md index 360f92b..3ecf004 100644 --- a/docs/api/events/show-popup.md +++ b/docs/api/events/show-popup.md @@ -29,7 +29,7 @@ The callback of the **show-popup** event can take an object with the following p - `image` - provides access to additional context (is the current cursor pointing at an image or not) :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/subscript.md b/docs/api/events/subscript.md index 1d5b964..b268b3f 100644 --- a/docs/api/events/subscript.md +++ b/docs/api/events/subscript.md @@ -17,7 +17,7 @@ description: You can learn about the subscript event in the documentation of the ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/superscript.md b/docs/api/events/superscript.md index 8e903cb..ed283b4 100644 --- a/docs/api/events/superscript.md +++ b/docs/api/events/superscript.md @@ -17,7 +17,7 @@ description: You can learn about the superscript event in the documentation of t ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/toggle-fullscreen-mode.md b/docs/api/events/toggle-fullscreen-mode.md index 1f0700d..ad49e57 100644 --- a/docs/api/events/toggle-fullscreen-mode.md +++ b/docs/api/events/toggle-fullscreen-mode.md @@ -23,7 +23,7 @@ The callback of the **toggle-fullscreen-mode** event can take an object with the - `mode` - enables a fullscreen mode :::info -For handling the inner events you can use the [**Event Bus methods**](/category/event-bus-methods/) +For handling the inner events you can use the [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/toggle-layout-mode.md b/docs/api/events/toggle-layout-mode.md index b603720..e71b2df 100644 --- a/docs/api/events/toggle-layout-mode.md +++ b/docs/api/events/toggle-layout-mode.md @@ -23,7 +23,7 @@ The callback of the **toggle-layout-mode** event can take an object with the fol - `mode` - the layout mode. The following modes are available: `"classic" | "document"` :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/toggle-shortcut-info.md b/docs/api/events/toggle-shortcut-info.md index 796382f..4bc2ec6 100644 --- a/docs/api/events/toggle-shortcut-info.md +++ b/docs/api/events/toggle-shortcut-info.md @@ -20,10 +20,10 @@ description: You can learn about the toggle-shortcut-info event in the documenta The callback of the **toggle-shortcut-info** event can take an object with the following parameter: -- `mode` - enables a shortcut info +- `mode` - enables a shortcut info; `true` to show shortcut info popup, `false` to hide shortcut info popup :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example @@ -36,7 +36,7 @@ const editor = new richtext.Richtext("#root", { // subscribe to the "toggle-shortcut-info" event editor.api.on("toggle-shortcut-info", (obj) => { console.log(obj); - console.log("The shortcut info was changed"); + console.log("The shortcut info was shown"); }); // enable the shortcut info editor.api.exec("toggle-shortcut-info", { mode: true }); diff --git a/docs/api/events/undo.md b/docs/api/events/undo.md index 598f9d3..ea701da 100644 --- a/docs/api/events/undo.md +++ b/docs/api/events/undo.md @@ -17,7 +17,7 @@ description: You can learn about the undo event in the documentation of the DHTM ~~~ :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/events/update-link.md b/docs/api/events/update-link.md index dbe460f..01072fb 100644 --- a/docs/api/events/update-link.md +++ b/docs/api/events/update-link.md @@ -24,7 +24,7 @@ The callback of the **update-link** event can take an object with the following - `url` - the modified url :::info -For handling inner events you can use [**Event Bus methods**](/category/event-bus-methods/) +For handling inner events you can use [**Event Bus methods**](api/overview/event_bus_methods_overview.md) ::: ### Example diff --git a/docs/api/internal/detach.md b/docs/api/internal/detach.md index 46c269d..4992e37 100644 --- a/docs/api/internal/detach.md +++ b/docs/api/internal/detach.md @@ -23,7 +23,7 @@ api.detach( tag: string ): void; ### Events :::info -The full list of RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](api/overview/events_overview.md) ::: ### Example diff --git a/docs/api/internal/exec.md b/docs/api/internal/exec.md index 96ac462..ba0bcd0 100644 --- a/docs/api/internal/exec.md +++ b/docs/api/internal/exec.md @@ -27,7 +27,7 @@ api.exec( ### Events :::info -The full list of RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](api/overview/events_overview.md) ::: ### Example diff --git a/docs/api/internal/get-reactive-state.md b/docs/api/internal/get-reactive-state.md index 9bcea49..3fc3830 100644 --- a/docs/api/internal/get-reactive-state.md +++ b/docs/api/internal/get-reactive-state.md @@ -8,7 +8,7 @@ description: You can learn about the getReactiveState method in the documentatio ### Description -@short: Gets an object with the reactive properties of RichText +@short: Returns an object with the reactive properties of RichText ### Usage diff --git a/docs/api/internal/get-state.md b/docs/api/internal/get-state.md index 2fde1a7..f666c91 100644 --- a/docs/api/internal/get-state.md +++ b/docs/api/internal/get-state.md @@ -8,7 +8,7 @@ description: You can learn about the getState method in the documentation of the ### Description -@short: Gets an object with the StateStore properties of RichText +@short: Returns an object with the StateStore properties of RichText ### Usage diff --git a/docs/api/internal/intercept.md b/docs/api/internal/intercept.md index 93200cd..4700950 100644 --- a/docs/api/internal/intercept.md +++ b/docs/api/internal/intercept.md @@ -27,7 +27,7 @@ api.intercept( ### Events :::info -The full list of RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](api/overview/events_overview.md) ::: ### Example diff --git a/docs/api/internal/on.md b/docs/api/internal/on.md index a9e4112..165aaa2 100644 --- a/docs/api/internal/on.md +++ b/docs/api/internal/on.md @@ -27,7 +27,7 @@ api.on( ### Events :::info -The full list of RichText internal events can be found [**here**](/category/richtext-events/) +The full list of RichText internal events can be found [**here**](api/overview/events_overview.md) ::: ### Example diff --git a/docs/api/internal/set-next.md b/docs/api/internal/set-next.md index bee4c44..8a4d3f1 100644 --- a/docs/api/internal/set-next.md +++ b/docs/api/internal/set-next.md @@ -37,8 +37,4 @@ fetch(server + "/data").then((res) => res.json()).then((data) => { }); ~~~ -:::info -You need to include **RestDataProvider** into the **Event Bus** order to perform operations with data (**adding**, **deleting** etc) and send the corresponding requests to the server. -::: - **Change log:** The method was added in v2.0 diff --git a/docs/api/methods/set-config.md b/docs/api/methods/set-config.md index 409bd24..d54fef0 100644 --- a/docs/api/methods/set-config.md +++ b/docs/api/methods/set-config.md @@ -18,7 +18,7 @@ setConfig(config: { [key:any]: any }): void; ### Parameters -- `config` - (required) the object of RichText configuration parameters. See the full list of properties [here](/category/richtext-properties/) +- `config` - (required) the object of RichText configuration parameters. See the full list of properties [here](api/overview/properties_overview.md) :::note The `setConfig()` method preserves all the previously set parameters that are not explicitly provided in the `setConfig()` method call. diff --git a/docs/api/overview/events_overview.md b/docs/api/overview/events_overview.md index dd5141f..12e92be 100644 --- a/docs/api/overview/events_overview.md +++ b/docs/api/overview/events_overview.md @@ -1,7 +1,7 @@ --- sidebar_label: Events overview title: Events Overview -description: You can have an Events overview of JavaScript Kanban in the documentation of the DHTMLX JavaScript Kanban library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Kanban. +description: You can have an Events overview of JavaScript RichText in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- # Events overview diff --git a/docs/guides/configuration.md b/docs/guides/configuration.md index 05eafe3..4f2eb72 100644 --- a/docs/guides/configuration.md +++ b/docs/guides/configuration.md @@ -129,33 +129,46 @@ new richtext.Richtext("#root", { You can also specify custom controls as objects in the [`toolbar`](api/config/toolbar.md) property with the following parameters: -- `id` - (required) a custom button ID (cannot overlap with existing button ids if you want to apply custom logic) -- `type` - (required) specifies the button type. Use `"button"` for a simple clickable button. Other types are unavailable at the moment +- `type` - (required) specifies a custom control type. The following types are available: `"button"`, `"richselect"`, `"colorpicker"` +- `id` - (optional) a custom control ID (cannot overlap with existing control ID) - `label` - (optional) a button label (combines with icon) - `tooltip` - (optional) a tooltip displayed on hover (if not specified, uses the value from "label") - `css` - (optional) a css class name assigned to the control (default supported classes: wx-primary, wx-secondary) - `handler` - (optional) a callback function that executes when the button is clicked -You can specify custom buttons within a [toolbar](api/config/toolbar.md) as follows: - -~~~jsx {6-16} +~~~jsx {6-32} new richtext.Richtext("#root", { toolbar: [ + // buttons (strings represent buttons only) "bold", "italic", - "separator", + // predefined buttons (user cannot define any other options for these (no labels, tooltips, options, etc.), so only ({ type: "button", id: string }) + { + type: "button", + id: "fullscreen", + }, + // user must specify the correct type if they want to use a predefined control (e.g. richselect/colorpicker) + // non-matching types will be ignored (not added to the toolbar) + { + type: "richselect", // type: "button" - incorrect, will be ignored + id: "mode", + }, + // custom buttons (supported options are below) + // user can only define custom buttons (no richselect/colorpicker support atm) { type: "button", - id: "custom", - css: "wx-primary", - label: "Count characters", - handler: () => { - const text = widget.getValue(richtext.text.toText); - const charCount = text.replace(/\s/g, "").length; - document.getElementById("count").innerText = charCount; - } + id: "some", + label: "Some", + handler: () => {/* custom logic */} }, - // other custom controles + { + type: "button", + id: "other", + icon: "wxo-help", + label: "Other", + tooltip: "Some tooltip", + handler: () => {/* custom logic */} + } ], // other configuration properties }); diff --git a/docs/guides/initialization.md b/docs/guides/initialization.md index fae4c17..a43bf9e 100644 --- a/docs/guides/initialization.md +++ b/docs/guides/initialization.md @@ -53,7 +53,7 @@ const editor = new richtext.Richtext("#root", { ### Configuration properties :::note -The full list of properties to configure **RichText** can be found [**here**](/category/richtext-properties/). +The full list of properties to configure **RichText** can be found [**here**](api/overview/properties_overview.md). ::: ## Example diff --git a/docs/guides/integration_with_angular.md b/docs/guides/integration_with_angular.md index 64ad012..ca2175a 100644 --- a/docs/guides/integration_with_angular.md +++ b/docs/guides/integration_with_angular.md @@ -225,11 +225,11 @@ export class RichTextComponent implements OnInit, OnDestroy { } ~~~ -Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](/category/api/) to check the full list of available properties. +Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](api/overview/main_overview.md) to check the full list of available properties. #### Handling events -When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](/category/richtext-events/). +When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](api/overview/events_overview.md). Open the **richtext.component.ts** file and complete the `ngOnInit()` method in the following way: diff --git a/docs/guides/integration_with_react.md b/docs/guides/integration_with_react.md index af586e5..db2e589 100644 --- a/docs/guides/integration_with_react.md +++ b/docs/guides/integration_with_react.md @@ -222,11 +222,11 @@ export default function RichTextComponent(props) { } ~~~ -Now the RichText component is ready. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](/category/api/) to check the full list of available properties. +Now the RichText component is ready. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](api/overview/main_overview.md) to check the full list of available properties. #### Handling events -When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](/category/richtext-events/). +When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](api/overview/events_overview.md). Open ***Richtext.jsx*** and complete the `useEffect()` method in the following way: diff --git a/docs/guides/integration_with_svelte.md b/docs/guides/integration_with_svelte.md index 7e9c0d2..fa7fbbb 100644 --- a/docs/guides/integration_with_svelte.md +++ b/docs/guides/integration_with_svelte.md @@ -212,11 +212,11 @@ onDestroy(() => { ~~~ -Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](/category/api/) to check the full list of available properties. +Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](api/overview/main_overview.md) to check the full list of available properties. #### Handling events -When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](/category/richtext-events/). +When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](api/overview/events_overview.md). Open ***Richtext.svelte*** and complete the `onMount()` method in the following way: diff --git a/docs/guides/integration_with_vue.md b/docs/guides/integration_with_vue.md index 14cd344..6b73d18 100644 --- a/docs/guides/integration_with_vue.md +++ b/docs/guides/integration_with_vue.md @@ -242,11 +242,11 @@ export default { ~~~ -Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](/category/api/) to check the full list of available properties. +Now the RichText component is ready to use. When the element will be added to the page, it will initialize the RichText with data. You can provide necessary configuration settings as well. Visit our [RichText API docs](api/overview/main_overview.md) to check the full list of available properties. #### Handling events -When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](/category/richtext-events/). +When a user makes some action in the RichText, it invokes an event. You can use these events to detect the action and run the desired code for it. See the [full list of events](api/overview/events_overview.md). Open ***Richtext.vue*** and complete the `mounted()` method: diff --git a/docs/guides/stylization.md b/docs/guides/stylization.md index b731477..e14c464 100644 --- a/docs/guides/stylization.md +++ b/docs/guides/stylization.md @@ -1,10 +1,10 @@ --- -title: Stylization -sidebar_label: Stylization -description: You can learn about the stylization in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. +title: Styling +sidebar_label: Styling +description: You can learn about the styling in the documentation of the DHTMLX JavaScript RichText library. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- -# Stylization +# Styling You can fully customize the appearance of DHTMLX RichText by overriding CSS variables and applying custom styles to specific parts of the widget. @@ -86,4 +86,4 @@ In this snippet you can see how to apply a custom style to RichText: -**Related articles:** [Customization](guides/customization.md) +**Related articles:** [Customization](guides/configuration.md) diff --git a/docs/index.md b/docs/index.md index 739564c..d6a84fe 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,7 +2,7 @@ sidebar_label: RichText overview title: RichText overview slug: / -description: You can have an overview of DHTMLX JavaScript Kanban library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX Kanban. +description: You can have an overview of DHTMLX JavaScript RichText library in the documentation. Browse developer guides and API reference, try out code examples and live demos, and download a free 30-day evaluation version of DHTMLX RichText. --- # RichText overview @@ -21,17 +21,17 @@ description: You can have an overview of DHTMLX JavaScript Kanban library in the - Image uploading, rich formatting, custom styling, and full screen mode -- [Full API access](/category/api/) for [event handling](/category/event-bus-methods/), [content manipulation](/category/richtext-methods/), and [reactive state management](/category/state-methods/) +- [Full API access](api/overview/main_overview.md) for [event handling](api/overview/event_bus_methods_overview.md), [content manipulation](api/overview/methods_overview.md), and [reactive state management](api/overview/state_methods_overview.md) -RichText is framework-agnostic and can be easyly integrated with [React](guides/integration_with_react.md), [Angular](guides/integration_with_angular.md), [Vue](guides/integration_with_vue.md), and [Svelte](guides/integration_with_svelte.md) frameworks, making it suitable for a wide range of front-end ecosystems. +RichText is framework-agnostic and can be easily integrated with [React](guides/integration_with_react.md), [Angular](guides/integration_with_angular.md), [Vue](guides/integration_with_vue.md), and [Svelte](guides/integration_with_svelte.md) frameworks, making it suitable for a wide range of front-end ecosystems. -This documentation provides detailed guidance on installation, configuration, usage, and customization. You'll find examples for common scenarios, [full API references](/category/api/), and best practices for embedding RichText into your application. +This documentation provides detailed guidance on installation, configuration, usage, and customization. You'll find examples for common scenarios, [full API references](api/overview/main_overview.md), and best practices for embedding RichText into your application. ## RichText structure ### Menubar -The RichText menubar provides access to high-level editing actions such as creating a new document, printing, importing/exporting content, and more. It is hidden by default. +The RichText menubar provides access to editing actions such as creating a new document, printing, importing/exporting content, and more. It is hidden by default. Use the [`menubar`](api/config/menubar.md) property to toggle its visibility. While the menubar can be enabled or disabled, its contents are not configurable at this time. @@ -41,7 +41,7 @@ Use the [`menubar`](api/config/menubar.md) property to toggle its visibility. Wh ### Toolbar -The RichText toolbar provides quick access to text formatting and structural editing features. By default, it is enabled and displays a predefined set of commonly used controls such as bold, italic, font settings, and list formatting. +The RichText toolbar provides quick access to text formatting and structural editing features. By default, the [toolbar](api/config/toolbar.md#default-config) is enabled and displays a predefined set of commonly used controls such as bold, italic, font settings, list formatting, and more. The [`toolbar`](api/config/toolbar.md) property allows you to fully customize the toolbar’s content and layout. You can enable or disable toolbar, rearrange default controls, or define a fully custom toolbar using an array of predefined button identifiers and custom button objects. @@ -87,20 +87,20 @@ The RichText editor supports [parsing](api/methods/set-value.md) and [serializat ## Keyboard shortcuts -The RichText editor supports a set of common keyboard shortcuts for faster formatting and editing. The shortcuts follow platform conventions and are available on both **Windows** (`Ctrl`) and **macOS** (`⌘`). +The RichText editor supports a set of common keyboard shortcuts for faster formatting and editing. The shortcuts follow platform conventions and are available on both **Windows/Linux** (`Ctrl`) and **macOS** (`⌘`). ### Text formatting -| Action | Windows | macOS | +| Action | Windows/Linux | macOS | |-----------------|-----------------|---------------| -| **Bold** | `Ctrl+B` | `⌘B` | -| *Italic* | `Ctrl+I` | `⌘I` | +| Bold* | `Ctrl+B` | `⌘B` | +| Italic | `Ctrl+I` | `⌘I` | | Underline | `Ctrl+U` | `⌘U` | | Strikethrough | `Ctrl+Shift+X` | `⌘⇧X` | ### Editing -| Action | Windows | macOS | +| Action | Windows/Linux | macOS | |----------|--------------------------|---------------| | Undo | `Ctrl+Z` | `⌘Z` | | Redo | `Ctrl+Y` / `Ctrl+Shift+Z`| `⌘Y` / `⌘⇧Z` | diff --git a/docs/news/whats_new.md b/docs/news/whats_new.md index fb4d5f8..2064145 100644 --- a/docs/news/whats_new.md +++ b/docs/news/whats_new.md @@ -6,7 +6,7 @@ description: You can explore what's new in DHTMLX RichText and its release histo ## Version 2.0 -Released on July 28, 2025 +Released on July 30, 2025 :::note API of v1.2 is not compatible with v2.0. Refer to the [**migration guide**](news/migration.md) for additional information. @@ -79,7 +79,7 @@ API of v1.2 is not compatible with v2.0. Refer to the [**migration guide**](news #### New events -A full list of new events is available [here](/category/richtext-events/) +A full list of new events is available [here](api/overview/events_overview.md) ### Updated API diff --git a/package.json b/package.json index 3053320..c4e8357 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,8 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^3.7.0", - "@docusaurus/preset-classic": "^3.7.0", + "@docusaurus/core": "^3.8.1", + "@docusaurus/preset-classic": "^3.8.1", "@mdx-js/react": "^3.0.0", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", @@ -27,8 +27,8 @@ "url-loader": "^4.1.1" }, "devDependencies": { - "@docusaurus/module-type-aliases": "^3.7.0", - "@docusaurus/types": "^3.7.0", + "@docusaurus/module-type-aliases": "^3.8.1", + "@docusaurus/types": "^3.8.1", "dhx-md-data-parser": "file:local_modules/dhx-md-data-parser", "docusaurus-plugin-sass": "^0.2.5" }, diff --git a/yarn.lock b/yarn.lock index 575cc28..f91b705 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1086,10 +1086,10 @@ resolved "https://registry.yarnpkg.com/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.3.tgz#7aec77bcb89c2da80ef207e73f474ef9e1b3cdf1" integrity sha512-HAYH7d3TLRHDOUQK4mZKf9k9Ph/m8Akstg66ywKR4SFAigjs3yBiUeZtFxywiTm5moZMAp/5W/ZuFnNXXYLuuQ== -"@csstools/postcss-cascade-layers@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.1.tgz#9640313e64b5e39133de7e38a5aa7f40dc259597" - integrity sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ== +"@csstools/postcss-cascade-layers@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-5.0.2.tgz#dd2c70db3867b88975f2922da3bfbae7d7a2cae7" + integrity sha512-nWBE08nhO8uWl6kSAeCx4im7QfVko3zLrtgWZY4/bP87zrSPpSyN/3W3TDqz1jJuH+kbKOHXg5rJnK+ZVYcFFg== dependencies: "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" @@ -1199,10 +1199,10 @@ resolved "https://registry.yarnpkg.com/@csstools/postcss-initial/-/postcss-initial-2.0.1.tgz#c385bd9d8ad31ad159edd7992069e97ceea4d09a" integrity sha512-L1wLVMSAZ4wovznquK0xmC7QSctzO4D0Is590bxpGqhqjboLXYA16dWZpfwImkdOgACdQ9PqXsuRroW6qPlEsg== -"@csstools/postcss-is-pseudo-class@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.1.tgz#12041448fedf01090dd4626022c28b7f7623f58e" - integrity sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ== +"@csstools/postcss-is-pseudo-class@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-5.0.3.tgz#d34e850bcad4013c2ed7abe948bfa0448aa8eb74" + integrity sha512-jS/TY4SpG4gszAtIg7Qnf3AS2pjcUM5SzxpApOrlndMeGhIbaTzWBzzP/IApXoNWEW7OhcjkRT48jnAUIFXhAQ== dependencies: "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" @@ -1366,10 +1366,10 @@ resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-4.0.0.tgz#7caa981a34196d06a737754864baf77d64de4bba" integrity sha512-cBz3tOCI5Fw6NIFEwU3RiwK6mn3nKegjpJuzCndoGq3BZPkUjnsq7uQmIeMNeMbMk7YD2MfKcgCpZwX5jyXqCA== -"@csstools/selector-resolve-nested@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.0.0.tgz#704a9b637975680e025e069a4c58b3beb3e2752a" - integrity sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ== +"@csstools/selector-resolve-nested@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@csstools/selector-resolve-nested/-/selector-resolve-nested-3.1.0.tgz#848c6f44cb65e3733e478319b9342b7aa436fac7" + integrity sha512-mf1LEW0tJLKfWyvn5KdDrhpxHyuxpbNwTIwOYLIvsTffeyOf85j5oIzfG0yosxDgx/sswlqBnESYUcQH0vgZ0g== "@csstools/selector-specificity@^5.0.0": version "5.0.0" @@ -1401,10 +1401,10 @@ "@docsearch/css" "3.9.0" algoliasearch "^5.14.2" -"@docusaurus/babel@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.8.0.tgz#2f390cc4e588a96ec496d87921e44890899738a6" - integrity sha512-9EJwSgS6TgB8IzGk1L8XddJLhZod8fXT4ULYMx6SKqyCBqCFpVCEjR/hNXXhnmtVM2irDuzYoVLGWv7srG/VOA== +"@docusaurus/babel@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/babel/-/babel-3.8.1.tgz#db329ac047184214e08e2dbc809832c696c18506" + integrity sha512-3brkJrml8vUbn9aeoZUlJfsI/GqyFcDgQJwQkmBtclJgWDEQBKKeagZfOgx0WfUQhagL1sQLNW0iBdxnI863Uw== dependencies: "@babel/core" "^7.25.9" "@babel/generator" "^7.25.9" @@ -1416,54 +1416,54 @@ "@babel/runtime" "^7.25.9" "@babel/runtime-corejs3" "^7.25.9" "@babel/traverse" "^7.25.9" - "@docusaurus/logger" "3.8.0" - "@docusaurus/utils" "3.8.0" + "@docusaurus/logger" "3.8.1" + "@docusaurus/utils" "3.8.1" babel-plugin-dynamic-import-node "^2.3.3" fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/bundler@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.8.0.tgz#386f54dca594d81bac6b617c71822e0808d6e2f6" - integrity sha512-Rq4Z/MSeAHjVzBLirLeMcjLIAQy92pF1OI+2rmt18fSlMARfTGLWRE8Vb+ljQPTOSfJxwDYSzsK6i7XloD2rNA== +"@docusaurus/bundler@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/bundler/-/bundler-3.8.1.tgz#e2b11d615f09a6e470774bb36441b8d06736b94c" + integrity sha512-/z4V0FRoQ0GuSLToNjOSGsk6m2lQUG4FRn8goOVoZSRsTrU8YR2aJacX5K3RG18EaX9b+52pN4m1sL3MQZVsQA== dependencies: "@babel/core" "^7.25.9" - "@docusaurus/babel" "3.8.0" - "@docusaurus/cssnano-preset" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" + "@docusaurus/babel" "3.8.1" + "@docusaurus/cssnano-preset" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" babel-loader "^9.2.1" - clean-css "^5.3.2" + clean-css "^5.3.3" copy-webpack-plugin "^11.0.0" - css-loader "^6.8.1" + css-loader "^6.11.0" css-minimizer-webpack-plugin "^5.0.1" cssnano "^6.1.2" file-loader "^6.2.0" html-minifier-terser "^7.2.0" - mini-css-extract-plugin "^2.9.1" + mini-css-extract-plugin "^2.9.2" null-loader "^4.0.1" - postcss "^8.4.26" - postcss-loader "^7.3.3" - postcss-preset-env "^10.1.0" + postcss "^8.5.4" + postcss-loader "^7.3.4" + postcss-preset-env "^10.2.1" terser-webpack-plugin "^5.3.9" tslib "^2.6.0" url-loader "^4.1.1" webpack "^5.95.0" webpackbar "^6.0.1" -"@docusaurus/core@3.8.0", "@docusaurus/core@^3.7.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.8.0.tgz#79d5e1084415c8834a8a5cb87162ca13f52fe147" - integrity sha512-c7u6zFELmSGPEP9WSubhVDjgnpiHgDqMh1qVdCB7rTflh4Jx0msTYmMiO91Ez0KtHj4sIsDsASnjwfJ2IZp3Vw== - dependencies: - "@docusaurus/babel" "3.8.0" - "@docusaurus/bundler" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" +"@docusaurus/core@3.8.1", "@docusaurus/core@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.8.1.tgz#c22e47c16a22cb7d245306c64bc54083838ff3db" + integrity sha512-ENB01IyQSqI2FLtOzqSI3qxG2B/jP4gQPahl2C3XReiLebcVh5B5cB9KYFvdoOqOWPyr5gXK4sjgTKv7peXCrA== + dependencies: + "@docusaurus/babel" "3.8.1" + "@docusaurus/bundler" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" boxen "^6.2.1" chalk "^4.1.2" chokidar "^3.5.3" @@ -1500,32 +1500,32 @@ webpack-dev-server "^4.15.2" webpack-merge "^6.0.1" -"@docusaurus/cssnano-preset@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.0.tgz#a70f19e2995be2299f5ef9c3da3e5d4d5c14bff2" - integrity sha512-UJ4hAS2T0R4WNy+phwVff2Q0L5+RXW9cwlH6AEphHR5qw3m/yacfWcSK7ort2pMMbDn8uGrD38BTm4oLkuuNoQ== +"@docusaurus/cssnano-preset@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.8.1.tgz#bd55026251a6ab8e2194839a2042458ef9880c44" + integrity sha512-G7WyR2N6SpyUotqhGznERBK+x84uyhfMQM2MmDLs88bw4Flom6TY46HzkRkSEzaP9j80MbTN8naiL1fR17WQug== dependencies: cssnano-preset-advanced "^6.1.2" - postcss "^8.4.38" + postcss "^8.5.4" postcss-sort-media-queries "^5.2.0" tslib "^2.6.0" -"@docusaurus/logger@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.8.0.tgz#c1abbb084a8058dc0047d57070fb9cd0241a679d" - integrity sha512-7eEMaFIam5Q+v8XwGqF/n0ZoCld4hV4eCCgQkfcN9Mq5inoZa6PHHW9Wu6lmgzoK5Kx3keEeABcO2SxwraoPDQ== +"@docusaurus/logger@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.8.1.tgz#45321b2e2e14695d0dbd8b4104ea7b0fbaa98700" + integrity sha512-2wjeGDhKcExEmjX8k1N/MRDiPKXGF2Pg+df/bDDPnnJWHXnVEZxXj80d6jcxp1Gpnksl0hF8t/ZQw9elqj2+ww== dependencies: chalk "^4.1.2" tslib "^2.6.0" -"@docusaurus/mdx-loader@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.8.0.tgz#2b225cd2b1159cc49b10b1cac63a927a8368274b" - integrity sha512-mDPSzssRnpjSdCGuv7z2EIAnPS1MHuZGTaRLwPn4oQwszu4afjWZ/60sfKjTnjBjI8Vl4OgJl2vMmfmiNDX4Ng== +"@docusaurus/mdx-loader@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.8.1.tgz#74309b3614bbcef1d55fb13e6cc339b7fb000b5f" + integrity sha512-DZRhagSFRcEq1cUtBMo4TKxSNo/W6/s44yhr8X+eoXqCLycFQUylebOMPseHi5tc4fkGJqwqpWJLz6JStU9L4w== dependencies: - "@docusaurus/logger" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/logger" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" "@mdx-js/mdx" "^3.0.0" "@slorber/remark-comment" "^1.0.0" escape-html "^1.0.3" @@ -1548,12 +1548,12 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.8.0", "@docusaurus/module-type-aliases@^3.7.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.0.tgz#e487052c372538c5dcf2200999e13f328fa5ffaa" - integrity sha512-/uMb4Ipt5J/QnD13MpnoC/A4EYAe6DKNWqTWLlGrqsPJwJv73vSwkA25xnYunwfqWk0FlUQfGv/Swdh5eCCg7g== +"@docusaurus/module-type-aliases@3.8.1", "@docusaurus/module-type-aliases@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.8.1.tgz#454de577bd7f50b5eae16db0f76b49ca5e4e281a" + integrity sha512-6xhvAJiXzsaq3JdosS7wbRt/PwEPWHr9eM4YNYqVlbgG1hSK3uQDXTVvQktasp3VO6BmfYWPozueLWuj4gB+vg== dependencies: - "@docusaurus/types" "3.8.0" + "@docusaurus/types" "3.8.1" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1561,19 +1561,19 @@ react-helmet-async "npm:@slorber/react-helmet-async@1.3.0" react-loadable "npm:@docusaurus/react-loadable@6.0.0" -"@docusaurus/plugin-content-blog@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.8.0.tgz#0c200b1fb821e09e9e975c45255e5ddfab06c392" - integrity sha512-0SlOTd9R55WEr1GgIXu+hhTT0hzARYx3zIScA5IzpdekZQesI/hKEa5LPHBd415fLkWMjdD59TaW/3qQKpJ0Lg== - dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/theme-common" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" +"@docusaurus/plugin-content-blog@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.8.1.tgz#88d842b562b04cf59df900d9f6984b086f821525" + integrity sha512-vNTpMmlvNP9n3hGEcgPaXyvTljanAKIUkuG9URQ1DeuDup0OR7Ltvoc8yrmH+iMZJbcQGhUJF+WjHLwuk8HSdw== + dependencies: + "@docusaurus/core" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/theme-common" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" cheerio "1.0.0-rc.12" feed "^4.2.2" fs-extra "^11.1.1" @@ -1585,20 +1585,20 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.0.tgz#6aedb1261da1f0c8c2fa11cfaa6df4577a9b7826" - integrity sha512-fRDMFLbUN6eVRXcjP8s3Y7HpAt9pzPYh1F/7KKXOCxvJhjjCtbon4VJW0WndEPInVz4t8QUXn5QZkU2tGVCE2g== - dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/module-type-aliases" "3.8.0" - "@docusaurus/theme-common" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" +"@docusaurus/plugin-content-docs@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.8.1.tgz#40686a206abb6373bee5638de100a2c312f112a4" + integrity sha512-oByRkSZzeGNQByCMaX+kif5Nl2vmtj2IHQI2fWjCfCootsdKZDPFLonhIp5s3IGJO7PLUfe0POyw0Xh/RrGXJA== + dependencies: + "@docusaurus/core" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/module-type-aliases" "3.8.1" + "@docusaurus/theme-common" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" "@types/react-router-config" "^5.0.7" combine-promises "^1.1.0" fs-extra "^11.1.1" @@ -1609,148 +1609,149 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-pages@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.8.0.tgz#2db5f990872684c621665d0d0d8d9b5831fd2999" - integrity sha512-39EDx2y1GA0Pxfion5tQZLNJxL4gq6susd1xzetVBjVIQtwpCdyloOfQBAgX0FylqQxfJrYqL0DIUuq7rd7uBw== +"@docusaurus/plugin-content-pages@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.8.1.tgz#41b684dbd15390b7bb6a627f78bf81b6324511ac" + integrity sha512-a+V6MS2cIu37E/m7nDJn3dcxpvXb6TvgdNI22vJX8iUTp8eoMoPa0VArEbWvCxMY/xdC26WzNv4wZ6y0iIni/w== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" fs-extra "^11.1.1" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/plugin-css-cascade-layers@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.0.tgz#a0741ae32917a88ce7ce76b6f472495fa4bf576d" - integrity sha512-/VBTNymPIxQB8oA3ZQ4GFFRYdH4ZxDRRBECxyjRyv486mfUPXfcdk+im4S5mKWa6EK2JzBz95IH/Wu0qQgJ5yQ== +"@docusaurus/plugin-css-cascade-layers@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-css-cascade-layers/-/plugin-css-cascade-layers-3.8.1.tgz#cb414b4a82aa60fc64ef2a435ad0105e142a6c71" + integrity sha512-VQ47xRxfNKjHS5ItzaVXpxeTm7/wJLFMOPo1BkmoMG4Cuz4nuI+Hs62+RMk1OqVog68Swz66xVPK8g9XTrBKRw== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" tslib "^2.6.0" -"@docusaurus/plugin-debug@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.8.0.tgz#297c159ae99924e60042426d2ad6ee0d5e9126b3" - integrity sha512-teonJvJsDB9o2OnG6ifbhblg/PXzZvpUKHFgD8dOL1UJ58u0lk8o0ZOkvaYEBa9nDgqzoWrRk9w+e3qaG2mOhQ== +"@docusaurus/plugin-debug@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.8.1.tgz#45b107e46b627caaae66995f53197ace78af3491" + integrity sha512-nT3lN7TV5bi5hKMB7FK8gCffFTBSsBsAfV84/v293qAmnHOyg1nr9okEw8AiwcO3bl9vije5nsUvP0aRl2lpaw== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" fs-extra "^11.1.1" react-json-view-lite "^2.3.0" tslib "^2.6.0" -"@docusaurus/plugin-google-analytics@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.0.tgz#fb97097af331beb13553a384081dc83607539b31" - integrity sha512-aKKa7Q8+3xRSRESipNvlFgNp3FNPELKhuo48Cg/svQbGNwidSHbZT03JqbW4cBaQnyyVchO1ttk+kJ5VC9Gx0w== +"@docusaurus/plugin-google-analytics@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.8.1.tgz#64a302e62fe5cb6e007367c964feeef7b056764a" + integrity sha512-Hrb/PurOJsmwHAsfMDH6oVpahkEGsx7F8CWMjyP/dw1qjqmdS9rcV1nYCGlM8nOtD3Wk/eaThzUB5TSZsGz+7Q== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" tslib "^2.6.0" -"@docusaurus/plugin-google-gtag@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.0.tgz#b5a60006c28ac582859a469fb92e53d383b0a055" - integrity sha512-ugQYMGF4BjbAW/JIBtVcp+9eZEgT9HRdvdcDudl5rywNPBA0lct+lXMG3r17s02rrhInMpjMahN3Yc9Cb3H5/g== +"@docusaurus/plugin-google-gtag@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.8.1.tgz#8c76f8a1d96448f2f0f7b10e6bde451c40672b95" + integrity sha512-tKE8j1cEZCh8KZa4aa80zpSTxsC2/ZYqjx6AAfd8uA8VHZVw79+7OTEP2PoWi0uL5/1Is0LF5Vwxd+1fz5HlKg== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" "@types/gtag.js" "^0.0.12" tslib "^2.6.0" -"@docusaurus/plugin-google-tag-manager@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.0.tgz#612aa63e161fb273bf7db2591034c0142951727d" - integrity sha512-9juRWxbwZD3SV02Jd9QB6yeN7eu+7T4zB0bvJLcVQwi+am51wAxn2CwbdL0YCCX+9OfiXbADE8D8Q65Hbopu/w== +"@docusaurus/plugin-google-tag-manager@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.8.1.tgz#88241ffd06369f4a4d5fb982ff3ac2777561ae37" + integrity sha512-iqe3XKITBquZq+6UAXdb1vI0fPY5iIOitVjPQ581R1ZKpHr0qe+V6gVOrrcOHixPDD/BUKdYwkxFjpNiEN+vBw== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" tslib "^2.6.0" -"@docusaurus/plugin-sitemap@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.0.tgz#a39e3b5aa2f059aba0052ed11a6b4fbf78ac0dad" - integrity sha512-fGpOIyJvNiuAb90nSJ2Gfy/hUOaDu6826e5w5UxPmbpCIc7KlBHNAZ5g4L4ZuHhc4hdfq4mzVBsQSnne+8Ze1g== - dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" +"@docusaurus/plugin-sitemap@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.8.1.tgz#3aebd39186dc30e53023f1aab44625bc0bdac892" + integrity sha512-+9YV/7VLbGTq8qNkjiugIelmfUEVkTyLe6X8bWq7K5qPvGXAjno27QAfFq63mYfFFbJc7z+pudL63acprbqGzw== + dependencies: + "@docusaurus/core" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" fs-extra "^11.1.1" sitemap "^7.1.1" tslib "^2.6.0" -"@docusaurus/plugin-svgr@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.0.tgz#6d2d43f14b32b4bb2dd8dc87a70c6e78754c1e85" - integrity sha512-kEDyry+4OMz6BWLG/lEqrNsL/w818bywK70N1gytViw4m9iAmoxCUT7Ri9Dgs7xUdzCHJ3OujolEmD88Wy44OA== +"@docusaurus/plugin-svgr@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/plugin-svgr/-/plugin-svgr-3.8.1.tgz#6f340be8eae418a2cce540d8ece096ffd9c9b6ab" + integrity sha512-rW0LWMDsdlsgowVwqiMb/7tANDodpy1wWPwCcamvhY7OECReN3feoFwLjd/U4tKjNY3encj0AJSTxJA+Fpe+Gw== dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" "@svgr/core" "8.1.0" "@svgr/webpack" "^8.1.0" tslib "^2.6.0" webpack "^5.88.1" -"@docusaurus/preset-classic@^3.7.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.8.0.tgz#ac8bc17e3b7b443d8a24f2f1da0c0be396950fef" - integrity sha512-qOu6tQDOWv+rpTlKu+eJATCJVGnABpRCPuqf7LbEaQ1mNY//N/P8cHQwkpAU+aweQfarcZ0XfwCqRHJfjeSV/g== - dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/plugin-content-blog" "3.8.0" - "@docusaurus/plugin-content-docs" "3.8.0" - "@docusaurus/plugin-content-pages" "3.8.0" - "@docusaurus/plugin-css-cascade-layers" "3.8.0" - "@docusaurus/plugin-debug" "3.8.0" - "@docusaurus/plugin-google-analytics" "3.8.0" - "@docusaurus/plugin-google-gtag" "3.8.0" - "@docusaurus/plugin-google-tag-manager" "3.8.0" - "@docusaurus/plugin-sitemap" "3.8.0" - "@docusaurus/plugin-svgr" "3.8.0" - "@docusaurus/theme-classic" "3.8.0" - "@docusaurus/theme-common" "3.8.0" - "@docusaurus/theme-search-algolia" "3.8.0" - "@docusaurus/types" "3.8.0" - -"@docusaurus/theme-classic@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.8.0.tgz#6d44fb801b86a7c7af01cda0325af1a3300b3ac2" - integrity sha512-nQWFiD5ZjoT76OaELt2n33P3WVuuCz8Dt5KFRP2fCBo2r9JCLsp2GJjZpnaG24LZ5/arRjv4VqWKgpK0/YLt7g== - dependencies: - "@docusaurus/core" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/module-type-aliases" "3.8.0" - "@docusaurus/plugin-content-blog" "3.8.0" - "@docusaurus/plugin-content-docs" "3.8.0" - "@docusaurus/plugin-content-pages" "3.8.0" - "@docusaurus/theme-common" "3.8.0" - "@docusaurus/theme-translations" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" +"@docusaurus/preset-classic@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.8.1.tgz#bb79fd12f3211363720c569a526c7e24d3aa966b" + integrity sha512-yJSjYNHXD8POMGc2mKQuj3ApPrN+eG0rO1UPgSx7jySpYU+n4WjBikbrA2ue5ad9A7aouEtMWUoiSRXTH/g7KQ== + dependencies: + "@docusaurus/core" "3.8.1" + "@docusaurus/plugin-content-blog" "3.8.1" + "@docusaurus/plugin-content-docs" "3.8.1" + "@docusaurus/plugin-content-pages" "3.8.1" + "@docusaurus/plugin-css-cascade-layers" "3.8.1" + "@docusaurus/plugin-debug" "3.8.1" + "@docusaurus/plugin-google-analytics" "3.8.1" + "@docusaurus/plugin-google-gtag" "3.8.1" + "@docusaurus/plugin-google-tag-manager" "3.8.1" + "@docusaurus/plugin-sitemap" "3.8.1" + "@docusaurus/plugin-svgr" "3.8.1" + "@docusaurus/theme-classic" "3.8.1" + "@docusaurus/theme-common" "3.8.1" + "@docusaurus/theme-search-algolia" "3.8.1" + "@docusaurus/types" "3.8.1" + +"@docusaurus/theme-classic@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.8.1.tgz#1e45c66d89ded359225fcd29bf3258d9205765c1" + integrity sha512-bqDUCNqXeYypMCsE1VcTXSI1QuO4KXfx8Cvl6rYfY0bhhqN6d2WZlRkyLg/p6pm+DzvanqHOyYlqdPyP0iz+iw== + dependencies: + "@docusaurus/core" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/module-type-aliases" "3.8.1" + "@docusaurus/plugin-content-blog" "3.8.1" + "@docusaurus/plugin-content-docs" "3.8.1" + "@docusaurus/plugin-content-pages" "3.8.1" + "@docusaurus/theme-common" "3.8.1" + "@docusaurus/theme-translations" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" "@mdx-js/react" "^3.0.0" clsx "^2.0.0" copy-text-to-clipboard "^3.2.0" infima "0.2.0-alpha.45" lodash "^4.17.21" nprogress "^0.2.0" - postcss "^8.4.26" + postcss "^8.5.4" prism-react-renderer "^2.3.0" prismjs "^1.29.0" react-router-dom "^5.3.4" @@ -1758,15 +1759,15 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.8.0.tgz#102c385c3d1d3b7a6b52d1911c7e88c38d9a977e" - integrity sha512-YqV2vAWpXGLA+A3PMLrOMtqgTHJLDcT+1Caa6RF7N4/IWgrevy5diY8oIHFkXR/eybjcrFFjUPrHif8gSGs3Tw== +"@docusaurus/theme-common@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.8.1.tgz#17c23316fbe3ee3f7e707c7298cb59a0fff38b4b" + integrity sha512-UswMOyTnPEVRvN5Qzbo+l8k4xrd5fTFu2VPPfD6FcW/6qUtVLmJTQCktbAL3KJ0BVXGm5aJXz/ZrzqFuZERGPw== dependencies: - "@docusaurus/mdx-loader" "3.8.0" - "@docusaurus/module-type-aliases" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" + "@docusaurus/mdx-loader" "3.8.1" + "@docusaurus/module-type-aliases" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" "@types/history" "^4.7.11" "@types/react" "*" "@types/react-router-config" "*" @@ -1776,19 +1777,19 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-search-algolia@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.0.tgz#21c2f18e07a73d13ca3b44fcf0ae9aac33bef60f" - integrity sha512-GBZ5UOcPgiu6nUw153+0+PNWvFKweSnvKIL6Rp04H9olKb475jfKjAwCCtju5D2xs5qXHvCMvzWOg5o9f6DtuQ== +"@docusaurus/theme-search-algolia@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.8.1.tgz#3aa3d99c35cc2d4b709fcddd4df875a9b536e29b" + integrity sha512-NBFH5rZVQRAQM087aYSRKQ9yGEK9eHd+xOxQjqNpxMiV85OhJDD4ZGz6YJIod26Fbooy54UWVdzNU0TFeUUUzQ== dependencies: "@docsearch/react" "^3.9.0" - "@docusaurus/core" "3.8.0" - "@docusaurus/logger" "3.8.0" - "@docusaurus/plugin-content-docs" "3.8.0" - "@docusaurus/theme-common" "3.8.0" - "@docusaurus/theme-translations" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-validation" "3.8.0" + "@docusaurus/core" "3.8.1" + "@docusaurus/logger" "3.8.1" + "@docusaurus/plugin-content-docs" "3.8.1" + "@docusaurus/theme-common" "3.8.1" + "@docusaurus/theme-translations" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-validation" "3.8.1" algoliasearch "^5.17.1" algoliasearch-helper "^3.22.6" clsx "^2.0.0" @@ -1798,18 +1799,18 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-translations@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.8.0.tgz#deb64dccab74361624c3cb352a4949a7ac868c74" - integrity sha512-1DTy/snHicgkCkryWq54fZvsAglTdjTx4qjOXgqnXJ+DIty1B+aPQrAVUu8LiM+6BiILfmNxYsxhKTj+BS3PZg== +"@docusaurus/theme-translations@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.8.1.tgz#4b1d76973eb53861e167c7723485e059ba4ffd0a" + integrity sha512-OTp6eebuMcf2rJt4bqnvuwmm3NVXfzfYejL+u/Y1qwKhZPrjPoKWfk1CbOP5xH5ZOPkiAsx4dHdQBRJszK3z2g== dependencies: fs-extra "^11.1.1" tslib "^2.6.0" -"@docusaurus/types@3.8.0", "@docusaurus/types@^3.7.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.8.0.tgz#f6cd31c4e3e392e0270b8137d7fe4365ea7a022e" - integrity sha512-RDEClpwNxZq02c+JlaKLWoS13qwWhjcNsi2wG1UpzmEnuti/z1Wx4SGpqbUqRPNSd8QWWePR8Cb7DvG0VN/TtA== +"@docusaurus/types@3.8.1", "@docusaurus/types@^3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.8.1.tgz#83ab66c345464e003b576a49f78897482061fc26" + integrity sha512-ZPdW5AB+pBjiVrcLuw3dOS6BFlrG0XkS2lDGsj8TizcnREQg3J8cjsgfDviszOk4CweNfwo1AEELJkYaMUuOPg== dependencies: "@mdx-js/mdx" "^3.0.0" "@types/history" "^4.7.11" @@ -1821,36 +1822,36 @@ webpack "^5.95.0" webpack-merge "^5.9.0" -"@docusaurus/utils-common@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.8.0.tgz#2b1a6b1ec4a7fac62f1898d523d42f8cc4a8258f" - integrity sha512-3TGF+wVTGgQ3pAc9+5jVchES4uXUAhAt9pwv7uws4mVOxL4alvU3ue/EZ+R4XuGk94pDy7CNXjRXpPjlfZXQfw== +"@docusaurus/utils-common@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.8.1.tgz#c369b8c3041afb7dcd595d4172beb1cc1015c85f" + integrity sha512-zTZiDlvpvoJIrQEEd71c154DkcriBecm4z94OzEE9kz7ikS3J+iSlABhFXM45mZ0eN5pVqqr7cs60+ZlYLewtg== dependencies: - "@docusaurus/types" "3.8.0" + "@docusaurus/types" "3.8.1" tslib "^2.6.0" -"@docusaurus/utils-validation@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.8.0.tgz#aa02e9d998e20998fbcaacd94873878bc3b9a4cd" - integrity sha512-MrnEbkigr54HkdFeg8e4FKc4EF+E9dlVwsY3XQZsNkbv3MKZnbHQ5LsNJDIKDROFe8PBf5C4qCAg5TPBpsjrjg== +"@docusaurus/utils-validation@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.8.1.tgz#0499c0d151a4098a0963237057993282cfbd538e" + integrity sha512-gs5bXIccxzEbyVecvxg6upTwaUbfa0KMmTj7HhHzc016AGyxH2o73k1/aOD0IFrdCsfJNt37MqNI47s2MgRZMA== dependencies: - "@docusaurus/logger" "3.8.0" - "@docusaurus/utils" "3.8.0" - "@docusaurus/utils-common" "3.8.0" + "@docusaurus/logger" "3.8.1" + "@docusaurus/utils" "3.8.1" + "@docusaurus/utils-common" "3.8.1" fs-extra "^11.2.0" joi "^17.9.2" js-yaml "^4.1.0" lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@3.8.0": - version "3.8.0" - resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.8.0.tgz#92bad89d2a11f5f246196af153093b12cd79f9ac" - integrity sha512-2wvtG28ALCN/A1WCSLxPASFBFzXCnP0YKCAFIPcvEb6imNu1wg7ni/Svcp71b3Z2FaOFFIv4Hq+j4gD7gA0yfQ== +"@docusaurus/utils@3.8.1": + version "3.8.1" + resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.8.1.tgz#2ac1e734106e2f73dbd0f6a8824d525f9064e9f0" + integrity sha512-P1ml0nvOmEFdmu0smSXOqTS1sxU5tqvnc0dA4MTKV39kye+bhQnjkIKEE18fNOvxjyB86k8esoCIFM3x4RykOQ== dependencies: - "@docusaurus/logger" "3.8.0" - "@docusaurus/types" "3.8.0" - "@docusaurus/utils-common" "3.8.0" + "@docusaurus/logger" "3.8.1" + "@docusaurus/types" "3.8.1" + "@docusaurus/utils-common" "3.8.1" escape-string-regexp "^4.0.0" execa "5.1.1" file-loader "^6.2.0" @@ -3243,7 +3244,7 @@ braces@^3.0.3, braces@~3.0.2: dependencies: fill-range "^7.1.1" -browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4, browserslist@^4.24.5: +browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.24.4: version "4.25.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.0.tgz#986aa9c6d87916885da2b50d8eb577ac8d133b2c" integrity sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA== @@ -3253,6 +3254,16 @@ browserslist@^4.0.0, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4 node-releases "^2.0.19" update-browserslist-db "^1.1.3" +browserslist@^4.25.0: + version "4.25.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111" + integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw== + dependencies: + caniuse-lite "^1.0.30001726" + electron-to-chromium "^1.5.173" + node-releases "^2.0.19" + update-browserslist-db "^1.1.3" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -3350,6 +3361,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001702, caniuse-lite@^1.0.30001718: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz#36b90cd96901f8c98dd6698bf5c8af7d4c6872d7" integrity sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ== +caniuse-lite@^1.0.30001726: + version "1.0.30001731" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001731.tgz#277c07416ea4613ec564e5b0ffb47e7b60f32e2f" + integrity sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg== + ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" @@ -3459,7 +3475,7 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: +clean-css@^5.2.2, clean-css@^5.3.3, clean-css@~5.3.2: version "5.3.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.3.tgz#b330653cd3bd6b75009cc25c714cae7b93351ccd" integrity sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg== @@ -3775,7 +3791,7 @@ css-has-pseudo@^7.0.2: postcss-selector-parser "^7.0.0" postcss-value-parser "^4.2.0" -css-loader@^6.8.1: +css-loader@^6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== @@ -4280,6 +4296,11 @@ electron-to-chromium@^1.5.160: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz#477b0957e42f071905a86f7c905a9848f95d2bdb" integrity sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw== +electron-to-chromium@^1.5.173: + version "1.5.192" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.192.tgz#6dfc57a41846a57b18f9c0121821a6df1e165cc1" + integrity sha512-rP8Ez0w7UNw/9j5eSXCe10o1g/8B1P5SM90PCCMVkIRQn2R0LEHWz4Eh9RnxkniuDe1W0cTSOB3MLlkTGDcuCg== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -6855,7 +6876,7 @@ mimic-response@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== -mini-css-extract-plugin@^2.9.1: +mini-css-extract-plugin@^2.9.2: version "2.9.2" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz#966031b468917a5446f4c24a80854b2947503c5b" integrity sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w== @@ -7409,10 +7430,10 @@ postcss-custom-media@^11.0.6: "@csstools/css-tokenizer" "^3.0.4" "@csstools/media-query-list-parser" "^4.0.3" -postcss-custom-properties@^14.0.5: - version "14.0.5" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.5.tgz#a180444de695f6e11ee2390be93ff6537663e86c" - integrity sha512-UWf/vhMapZatv+zOuqlfLmYXeOhhHLh8U8HAKGI2VJ00xLRYoAJh4xv8iX6FB6+TLXeDnm0DBLMi00E0hodbQw== +postcss-custom-properties@^14.0.6: + version "14.0.6" + resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-14.0.6.tgz#1af73a650bf115ba052cf915287c9982825fc90e" + integrity sha512-fTYSp3xuk4BUeVhxCSJdIPhDLpJfNakZKoiTDx7yRGCdlZrSJR7mWKVOBS4sBF+5poPQFMj2YdXx1VHItBGihQ== dependencies: "@csstools/cascade-layer-name-parser" "^2.0.5" "@csstools/css-parser-algorithms" "^3.0.5" @@ -7516,7 +7537,7 @@ postcss-lab-function@^7.0.10: "@csstools/postcss-progressive-custom-properties" "^4.1.0" "@csstools/utilities" "^2.0.0" -postcss-loader@^7.3.3: +postcss-loader@^7.3.4: version "7.3.4" resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-7.3.4.tgz#aed9b79ce4ed7e9e89e56199d25ad1ec8f606209" integrity sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A== @@ -7618,12 +7639,12 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nesting@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.1.tgz#c405796d7245a3e4c267a9956cacfe9670b5d43e" - integrity sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ== +postcss-nesting@^13.0.2: + version "13.0.2" + resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-13.0.2.tgz#fde0d4df772b76d03b52eccc84372e8d1ca1402e" + integrity sha512-1YCI290TX+VP0U/K/aFxzHzQWHWURL+CtHMSbex1lCdpXD1SoR2sYuxDu5aNI9lPoXpKTCggFZiDJbwylU0LEQ== dependencies: - "@csstools/selector-resolve-nested" "^3.0.0" + "@csstools/selector-resolve-nested" "^3.1.0" "@csstools/selector-specificity" "^5.0.0" postcss-selector-parser "^7.0.0" @@ -7721,12 +7742,12 @@ postcss-place@^10.0.0: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@^10.1.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.2.0.tgz#ea95a6fc70efb1a26f81e5cf0ccdb321a3439b6e" - integrity sha512-cl13sPBbSqo1Q7Ryb19oT5NZO5IHFolRbIMdgDq4f9w1MHYiL6uZS7uSsjXJ1KzRIcX5BMjEeyxmAevVXENa3Q== +postcss-preset-env@^10.2.1: + version "10.2.4" + resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-10.2.4.tgz#17d386b5a86b136dfbca89b52ef03a95ad9e32fa" + integrity sha512-q+lXgqmTMdB0Ty+EQ31SuodhdfZetUlwCA/F0zRcd/XdxjzI+Rl2JhZNz5US2n/7t9ePsvuhCnEN4Bmu86zXlA== dependencies: - "@csstools/postcss-cascade-layers" "^5.0.1" + "@csstools/postcss-cascade-layers" "^5.0.2" "@csstools/postcss-color-function" "^4.0.10" "@csstools/postcss-color-mix-function" "^3.0.10" "@csstools/postcss-color-mix-variadic-function-arguments" "^1.0.0" @@ -7738,7 +7759,7 @@ postcss-preset-env@^10.1.0: "@csstools/postcss-hwb-function" "^4.0.10" "@csstools/postcss-ic-unit" "^4.0.2" "@csstools/postcss-initial" "^2.0.1" - "@csstools/postcss-is-pseudo-class" "^5.0.1" + "@csstools/postcss-is-pseudo-class" "^5.0.3" "@csstools/postcss-light-dark-function" "^2.0.9" "@csstools/postcss-logical-float-and-clear" "^3.0.0" "@csstools/postcss-logical-overflow" "^2.0.0" @@ -7760,7 +7781,7 @@ postcss-preset-env@^10.1.0: "@csstools/postcss-trigonometric-functions" "^4.0.9" "@csstools/postcss-unset-value" "^4.0.0" autoprefixer "^10.4.21" - browserslist "^4.24.5" + browserslist "^4.25.0" css-blank-pseudo "^7.0.1" css-has-pseudo "^7.0.2" css-prefers-color-scheme "^10.0.0" @@ -7771,7 +7792,7 @@ postcss-preset-env@^10.1.0: postcss-color-hex-alpha "^10.0.0" postcss-color-rebeccapurple "^10.0.0" postcss-custom-media "^11.0.6" - postcss-custom-properties "^14.0.5" + postcss-custom-properties "^14.0.6" postcss-custom-selectors "^8.0.5" postcss-dir-pseudo-class "^9.0.1" postcss-double-position-gradients "^6.0.2" @@ -7782,7 +7803,7 @@ postcss-preset-env@^10.1.0: postcss-image-set-function "^7.0.0" postcss-lab-function "^7.0.10" postcss-logical "^8.1.0" - postcss-nesting "^13.0.1" + postcss-nesting "^13.0.2" postcss-opacity-percentage "^3.0.0" postcss-overflow-shorthand "^6.0.0" postcss-page-break "^3.0.4" @@ -7880,7 +7901,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-6.0.2.tgz#e498304b83a8b165755f53db40e2ea65a99b56e1" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38: +postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.33: version "8.5.4" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.4.tgz#d61014ac00e11d5f58458ed7247d899bd65f99c0" integrity sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w== @@ -7889,6 +7910,15 @@ postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4 picocolors "^1.1.1" source-map-js "^1.2.1" +postcss@^8.5.4: + version "8.5.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c" + integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg== + dependencies: + nanoid "^3.3.11" + picocolors "^1.1.1" + source-map-js "^1.2.1" + pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" From 2cc38165e92a4b2c2a5a4e95c5262c3a8efd0fa3 Mon Sep 17 00:00:00 2001 From: Serhii Pylypchuk Date: Wed, 30 Jul 2025 16:34:34 +0400 Subject: [PATCH 46/46] Update Integration duides --- docs/assets/trial_richtext.png | Bin 809634 -> 862889 bytes docs/guides/integration_with_angular.md | 2 +- docs/guides/integration_with_react.md | 12 +++++------- docs/guides/integration_with_svelte.md | 12 +++++------- docs/guides/integration_with_vue.md | 12 +++++------- 5 files changed, 16 insertions(+), 22 deletions(-) diff --git a/docs/assets/trial_richtext.png b/docs/assets/trial_richtext.png index d41e732305fc157449c74a72d3e0286cc21c4815..cdee98c82769c44e2fef784f08f7c3e80366c499 100644 GIT binary patch literal 862889 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

vkxm*^{Qk*#Jz#wrJIa#W zfp(`E1bDf{j=vKmGy*Amv`D8NP^NC2a7KD0cIluv6;f8(#_Omc0I&kqkpW&i7*jNy z-T3?Bln*qbhscq;*Z%w4so)*N8Frc8!fX!`i`*V)}Fa zAz1P{I51PFUh+Kqwn()#E)0wjti5h~tmbAQ%ta6Klv~g|2!1XROoy_ywS83L<7z%$ z8#cFzuCGWp;FLAE3EF=O4U07Y{N4U%+gk$-9mbfE?Kgo`qwWX!`c?|>_j-Ut;EW|m z^@UgikaI~eJyE3h_*csx_NqU|(bL$*Dm8mHBPD+Ch-Xz%;c^>2|N8B_? z`POuLRJS6M2y9qt!f>VT&<*;ygde3rW+gqJOj0KP0B*=a;*gvua@;)3x!5kuqI^tm zFJY`aGW1w{5_r6*C-wr5wG|X(&2l^N^H}4>0lrG4Zz~F4rVtXG?}0?k<@O&W70^_8K|!X)J>PL?reptvoxQ=hhVp6vR>dC9V^&g;!V5&X5we7uW!W#00&HKtvL7YY#+oh?r0jQ@kpoDaSAyCY|yhL}Y`_7mFa zG9v3LJ;}cub9m&P{}z=g?yUmZdmCulJ16YjenqiIp$7>QRTAvw2{>94!YGb#vt;XU zZHJc7Nj{Ai+_UveoSJ6zsE6-_=uf*JmZe%1Z`A6nI&ceui-!r2Dm>av*<<}xB2X+Z z6dCj4mnco1a0XJBhr3XS2=-I8n%y+bls%n>O2q$CIR3X^(};sYD$5rS7zz%go`-Zc z-;!!)IPx!p*XU&i`Qsc?-;z24HZ_wD>4$Y7a@eriM}`#aP?JKG2nsrCTaZw+l{FBK zu3A~|j*@<0PV;S!=GF^-3GqH)qmxK6J%^1J_h3ngxOdYi>(Os znK^->{SGbxnG8t6zh?$~&klzyrsx%fbDiO-3$);`Kh&gh{e7+VuTPVj5R_pVc+P;J zb^Q!>*n-Y7i@F))beH}S5*)Us2CH4sH@lzBXO#k^l}(UBP%6M85H6|r3elcUhXYCa z>6Cn~zMVE2B<3PebU!WNNzdn(G8upJA(Sq9_fJ@Vfl8zYM7Sx@mx+8rNxm6jcP%HYrCf}PvEX&f9&n&Y# zn?WWz<>8}(drNfWd3$$M5^jMSSZ6d=2MKO9Cg$rMeBtTvwj@WZ66e%YfRlzE`D4$1A5x#MLXxT-(<6v*RNv|$CjEJKBKvfQpPEPDG|ED0wkRtaOtHE^_H|YzG2iI7>=3i0f6(o2(%ae zI!}krgEah5d}w@>=HWuEj*q^J(-8H7Iz$wgkN-WJA;g%gn+CSM=~s6=-^$AH+=`5&X9T-JdsBKmx%LE%RNm zW!k}h@K#1IY9N>+y!nQ}q7vW{6o|F2{4%=R#4dIYsS*5;Pfpodb|Npxs$x^Q(h#zn zbknw}hm}FV2*?LnZO8&&Pxov%P?|YSW#jI-A4tg=O!l)y%Ou6QenYoMXm$s|d!7%{ zZ_lsVt=R~i^xH&o!Lrghsh+NGG$!_C50E6(p3@(HI52-H)iru?8o%Ul0ZQpM=VPmK-#! z{sJ@1+8H9?@vI?p&7;`Rc4_t6$q~lBB-p5?6?djXpNO-4;l|ROAAvQPUSDCTGEas> z_FGlGz<&cFCB^5iZuSh1+(Izo(pY!h5@ zRXQ7QVne%>+??YTb|sY%;Fl8gfejj(#0>H;DC=NM zG)lSn9d}R6Ur&XE3JcI$8RfD;V{<~r4&-NrCfVe8X zWPX`{^}_!tn)%<4|KG*`->vtrQ~dus75snW;K}I*{2~0$#K*q1@+3T|98YKc4x2** z|CqL(36s>BSVthwWXTF#^@_2wQuKb7^$O-=paC^e7hpW|ZNfAoY;q4cMG^Es#L1yM zn7^?CrDgtF@Ll0FE9c1dc?bzOoUG;WL5xKLNPktJ=fOIp13XhKntpQQ`TQvhNE^1_ zqmaKZoXaq%M82_x!-_zL5=CV%;C^Fy0nj|}MscHO8Dx0#iuFvBK0;;=Le5#Y$8-Q9qKwvzc@FB}d>$x)4V<3LJ~mEB4?j)gA>{vkwwDN$1Iw08 z+E<{qp0>bV5x^JZeMQkX^W_3Gf(?5>J$;G-8PRDaAlbWtIYuT3HVfNX{Jra@s3j%I6u&dsB}VyiWaR{M%W zJPfKIDZ(VWLb_g22=Y1npqMRz$hBA|dag6`cES9C*ihZyki92(;mQ8vl< z?Uim^jSm+D_5@SaK{8?|13e6^cGs~Cuc8o5<|u6k92=_N5T4h>;zz|BCK!f`R6ZG5 z1jWz0aFIg|V}@>0oOu+0JPv#PfuiNGx9wup`@P!03j_r)rj6SUs88X3FW;CaK#Sf3 zxqgv+fV|a+1L^Q20x9if-8{h6W1C-g;cnemS*>az;wJ%uVO(-mj70u55Jl5d4A>Wj zj%iTaSx|3#<2D?PP0xaRNU`qQ9m<~e zd!Qh!s&_iuX=AIdY8N}{EN{mYbxe)heMTjQZ2y9~Iw%GC+w+1 zpK@FQg)%bX6!^5G_xK$}7w`2kd&c1at=D2+$aLYfmmU;RC|2ic1vgPNvd$>M40&+Q zL)4^!ftu48$i{PtadDSOh7$C~wQZSZqFGLn(taS;WEyf&TyR#)b+rh8TdRR$wi$Q;e|TyNLib?eAt zh2>#S%RfAtHUHT_5H-T`dp~C4h*fG1;<4wvfMaO?ZQ0QZ(UQ#Vu6@bnmiskJoW{|HBU5TYlm3o)B@ zfJ^>`vXaTj{=S0;bS9PIov#vRoRK2+o5)v$8n5YvADKWi#Q~~{xW90><@fG<-4`ko zPF2g+^t4bJ{BjS6Bn!`Quk<#PS6l4JR-qDvyaYF3vUw3z5w+3m8UO=US!#T*dTGYc zNhnYNEi{k4Vl}tC<5z=L5UjT^#Ch2j2hD*VX2GE=kjUq6g(!Jw%n^^l# zMYAgcJo(IVk-#-p&yjIimy{R-Dxd*x`l*|QY6s#3uKf~C+rS31@()3U%2JR^XZtg1 z^5Z)+{jVD&tlagpob$Px7sG7vJsh>SaGt(LcDw3(TMqOkI$%*gn(1WxAaViGqu+g1 zlEz&B!5}Ut%6z=n1uSdzq;{}jm=fj00JD18M(Y7YV-U|6j)H-YFN@t}?<{t79Az>f ze_wnr!U2gYAdm!a7C0(j$zxik49LFA0`}<-Px4#&su!Qse!Sg8hbDRKynzI7RtfGZv_ zG5(DFNhi{lfmINpEwlywS27TS=F$u>&X9m6`$uMbO@=(NX5>m6U;Aso#>*MW*(%n? zeH@oDQ1gEGZQS8CHW%@|_iXNIJrBNOj9DE%we)Ta#@EL1kFNfV1QgkK=||6sV4;zj z?yi@wRJgF#WDJ<+FTvO41On5{$PgYjS~ZW*4a=!9YKCPUHmMl{mJM^S186_*rc;Fl z(DK!qsApshZ1!s=4BAh+1!wLfi-UT zE7DKe*~#0q;K8|Zi(0%il6mB*!hj3vMKK1{t5b9LYC+XOdUqGF&nBn6(iB$1MNQ1E za@21_=myESg0~^A3$vmBd(skA*->{a;#GSGR?qhOY;bYl)m^$pn!uQh5t(rGr+sc& z@*UgH&e+Czb_Qe`>B37ZGayC`Mg@tKIdWf-nH&Xiwd1k-q>}|@*aZlOd}jkGU?%H* z#sHvN(SM>Y@0Ok4)*!DL7io3-vjzKs(tKUg`gma}A%0L!X%z&zRu3_m;VdP`sP1nq z1G^S%%M(nzyEhj4mJT1_JW;pfzDZRwm%Sb|pL}XmlG*sPta`DZ^P1jp{qCsFiDWTX zZ-3<+h64Du^^b+5&-Fr7vmZ&e9rRyeT{U(`~)c7-22JODP2YvNMQnn9@)sX1wKj2FbVAURWd>viLGy1 zHCo##*=}O&Oex4hn2s+XUKX;BuGp19C}$pgZfx6K%?&9%@kaRs`9R%*DFwj6xaA-lOwP|9FOQ|cGtk=}>qN6jQEyBHMu!pKqlrExik)b&_H|N#f&0~j z0c?8@fk4CZ`m{RbA&N&ED$2uS{Tz;#G-JYjAxAxQHViJKg1|kfjGwK;;UwAAO>!gE z(fm|rKd!&nVy9bxoFhf0H_a)%->|JS$PDvxb7iNNw{I!<;?>(OiVUU!>AVoLnthGH zw9>6CnD`X6#c#4lUd695fu-SxzV+sK@9~rcJq&GF(WNdjuH`b5%VdcX+kG5{d|TPP ztL;(Lf$oNCAf(OFGwepkI;gEg9+96e#+P!RY}v1U^f(?_#VU))so5oQ>5)Kg$cq&% zQ-+lYe0PX1X3k0w-ecvwB?wE^i$-O|Hh!e$6m`E!J!WD^@ph~5JKYodMtw}Dx)Pme z?CNISD=wV&Q-O5L?MsvIQhUUXF63)^e-VNk>{=FH47V4^62oIj^{}?|5tw|kM{TQI zS^=diS?2|h&J!xTo%53+!FvQiPGaKp5@VEwo$t#IA;{+<5&FljdIIVzLO`Za2L0T| zb*STDe+l^An$H59%4?DWfA`49Hr2Vs(KL4=3IV|xIfG9}&B zHYbrni`}*YY>GAM`M&vy{dCgFbOw&;+y-9(&B<*^wA0GhP>KPRROMBQy67!fvD?87 zMY40bRJ2%pu3x-kH6V_Vkh^-av|zK&OQm&;G+&L%9@G`YpHk4AxM2msFHz8~1OkPw zc-TY(tF_2;>%9-^b-rC_hpL*9!bu10%ZEEgwo`ynnsm()@dUWu6dxlj)o?uPd5W$I z;EJxC0eiagsIscQ5CeKs!=54H7;y27qO{8AMAaaP{(MEZ=k`Xn5+;pW6Hs zA&!ZVyk(Zmkp3%Pxb;3_r5a~|dQCri5iCkI<5Wtx8CJ!)ahT%SiiFvx1&_(D+S!95 zhBNwO&a)^d;aGOZ7c^42{Tz!d>ecdPK)$BjN`dJ}BTKyT*4vg=(5by6#w63~PgVu- zgntN2ESj;yDZX3XAtr-3CId`sSgF7sZ4!NwtISYoW7PE>8g*pjGi34#+@(9|fJnXA z;@|7)jR{LWPFL8xk&Z-B(w4#gcxlFO6+e4%VGpv_1aT}cMJZdi_0#B=xUvK}-xHhP z(rvX*B3Vr&`|hAko#L_(jPKRYm9i6x0=wp|o9G?VO0`V)rB}h61L1RNYy3?PT|PM| zn{G_};XUM=w|;gkm2C@x9xPTdLFSrm|duyF__S@DU%ZuUdxQqg46CkPc<&+vZ{XR$8_s? z`x4plTfD_uaQ)=6a_A0uH5*R@{_=oIww4F&VDMsEAoZjYAqxQx+fwY4s_CyY_B<)? z<6h{6=6Cw7TJSaOgiT!pq;X{3u8y;T5n*mj`0b#)v2Lxp7Sy+D-1!Pf_>yKHYlCbj-_)s3j9K>EhenMcN-?_@JDzCL$|uZs^~UwpiKS-2sjwKIsp@QTx? z2%=IyN+TPIDgE;Uhd7sj+YLsX9 zP7MkA3WhPLG||o+a0sCa7L;wFGm-~QX~?Eu9YQQetuA*C!*ytat{|4_d3ImB*BH@&&IPmCC&=-md-p@}jfyt#0KK*^r%JQ)}pR z68IA%+6H0=t?xA7)XcXETYSM*IHW{5(C)TTzCg5gUq%he7t;s6CH-L9KHcV70s=zC z;icX8mI#mA0`@6aN4xLemlRjAS>r3+;Y3LA_dw2gee224_0HZqhwoevy+e*7NSIak zbW1-+DQH7eWc2luhJ$*G7l>GlRC2fw=&Nv4u7&5SB;tm^@byTC7+3RgVXq2TLN%X(i1z>|^P|Gzyyqz^>=qVU4oH zjbnMSt3$Zl8vHPcenGHRq;ju$hhBzkmZ;=q8%I(yGZV4n`X$0O_6Tqr8ES4QQ?kGC z-vSguc`*mAL9Vwcj&KffCpzr+Sw=S*Oy!PmIXd0tJ)!a`d?;~t7!_#pkT|N<2Q-?` zH%3cBE`vYKvU7oOw(ql}`kvo)nQ``e{O?>DkuT@LmklOk&6yd7D~cN8M~iGg0bIWI zldl#bXy-fE{Zku3SQ+20kQ^3o`li|Zuhwe(xA&$wKDi1DKNO%;A?OfA-wa8Net70YP{HJTv#EOnUvzcl=18XRU8jd%vadj--lth6&^PC&6cm&+tU`Q!wO9t^MmUuAvewyph{*YD;<5vkin z@rp{wU?emRlxXW3W>MV{@~w{uXEfsd+)aKi2}xUVcy~o3bPbP#F}wGAmygMkNq1?s z$F9gaA(ojN~izE|c+x!yHVQgON5}@kg|;$L{^JChUMAq1RC+RBnOeyC+MpN1|RIq8}=4?BA_%6jrBmXe)E= zu8%9b`B01|!(sr+UbHLGnE7 zR8*MTit2T zDq8GXmYpg}+87wBzH`gLZJ5}fSnQ_kt1q9h6o=MN&Vk=}Ik-efJp{|IcLI%Fn}z-~ zhkFyG?`*MTZdgi)-{)(!v3$l6{*z}jWA&zF(EGx1)P0moNeEtAsRL=2;ah#Z)^#q1 zN*qha#|6Ier$)cnWKX|Gc#>?5l^Z8d^;Z|jChm~ICHBaU1`XBqb>-airAY5hNxv*O zbAv-YPpwv(XTKoV^V)RlkSCR-H}$ z553@(c(^?CVwXRVne+-haWa1`ZQXq-30*UK%K+N$T7C?>3(*B(v9+q+r#XpLyc>&J zXQ-gagy5&^2*K{>M$w9$&uWG*OS>gmno1V5;x|9dw$h&}x?v3bcRyTFQKF2tjkwYL znTUAL1>wh$FLg|9#YUNz+o$t7L^gyT+mCR!1IPab4cxf-S`swbs7$A|gGZd<(l=zH zQRn@A*pNzoh1e>ny_SW7dzhT7uU9Y#E9gM_4I5E^ z$d*1EkB9pfkLd&6Kw}VsG~ckgIEv(~_4-FU5?|-r99L34_*{CQ)JU5WrdlC2?cLbs z&sp~{{Sj^1Tzsyy2^F6#8y}nqxuCINdZ%yiJVL}*W(YA)Aij;~LSRh$GDw;~U3nV# zf7;OK-V&w{Hw@=N6H|vxi&x)25#hY_brOP%40S=Lc^O1#J$&;yyyDh*?^4!dzAcF| zC+-^dk(6HiL_;(It5}h7`?v%K5|lZObLZ_$!)%Y5*qaAdIGFAIBZM@rwH`}o z+9AR@qu7i{@a1&rj$Zh_8x}Zwgp99g+1Qs4EMnR>!`JL+IcCYs`7F7fT7TM*c zm~r6=yj{nkXWoyqcOOYVfqfk2q;{F}u^Lu7w?@Ky$fmQn?pHM_m~w4t; z2~MG+5>qCMLC+Kf;nEZ4#y`!Le~=6sCw@L}Chm`WDWSKboQx(M||>-wONcyKpW-#W*U9_eA-SW92vxS078kn{M>F6y5Vxj>CrT~(D5T&H(*aIB(D zF}WSr5P^_vuMSla=W%f!;SnUUqV^0+x#s2HKcMmSZY4|6Na#$~$VhV zo!(SZHcQLR(w>MoTua*u>)|rX+rw)d2rIcxAHwd1BX;A)sq;gxo;4p`L%}oh`nW@c zH3hG&ky<)^^Qru1J&%TzfJ57OL&&Ll?a+z^>Jm?Kk;A%w`^PuxSBm4Y-WIWt6t>n{ z03DL8H)E}g_#C}onel}9I7x)5sc{DyxYw23O1EkDXgQ98J-)s6%KKEyOhtV9fn6>2 zVW|i^B9@>0*@gUxrm*%nBmQ^5||1ia60 zuHpy!9W%-#=Nj5ydPg~r9J-9(a+g3al%JiYvUAS8T{Qf}s`u4pg5{gy47ifFVWfW5 zvohoO%ar1LYHV$_lrY=-+;krVGUcha==|ANuik&kG50ew#8sHMGW^8HB`%kGZIpvw z&HHAw(qx|9^Tx0!e5CO%8(*Xf(BF{arv9aP=h_jfUoQrk{iO2kuQ_z3X2TMKL5b5q{xNY<*B@1F-5&|ID_yTzAhB z@pADd(RaG^*L4}#C`VY>><};2mi=%CGvhJ)=2OL#Hj=l3pGIfv=4cLlx3PZ>a~;Um zFNJP1cbw`Hdh#4!J%3*HFq2?`kg)YZLk2>6vS_t7nu#IlKG4CG()eJKjkcM|q8zRC z8P?z|Z%FML;&8lO3gAHxH$tXJfc5T=VyYWqo z8N08`P#8Y7-lc2kDjgnRW^&6NGA3p1bk6N#?z5lETc&o^n-aZ?lTK2?A{gqs^z4+W z@ztkiZFHf}_U~GGt=;$p=O-U%h!Ag%_e-PEWJ%I)cjo_WcdHck`232*Z1!xLmT-&= z9R-o*rF+alrEzsqjf;Ydw*2HH+omx`6^*S`2Mz03c8yy>TrOm^(7|;UC8(*JG z&DzT>_iby?am=&d96@QK=`sTqRm{5 z^=aHa%$qE&l@iMi<*5;JNgK+dXc~|L!ZCg^=d2__?6`%TOkh)i90RL2}-Jowv_yYCWNh?xoP;gF8xe zS!Wdr1P_uO6~{2tzYHy&vVM4P@sMD%>l90uE!ZdpEx>I@hZUIje9oae6pd#jzkEEryCnaeHU=G)Yr{(&sT=dnceglUx{lsIE6EuKFTQD3}ioY8Ql%SDZecK>v`jqr!j zZ4W+J|A(WBnMK??`4d6HO__qxl@>*2wW_nNRmb?HyWSU9)-q%DY-}!8Xyoyg44EAx z1j&J#mmPZDoldr7P_hbh+_zyB&DeP<>y7kjGf~W)10PH;E2fV1NVIwA;Zwyi`R)+2t5)RvqS@%aTvDLMBw)@HMHf%cE1fthc1Hy@}GtyzNuZt$}+Of)BXTWD_w>^AeEW`&-Gt0G%of3S) zu2Lj6~Q^NZmV#sQzON2=8$#ULd*-z$1v`xKzw=Rs(JAZD zbY?(xodr2)-;@_eVlS#&N@kdS;UXM^#pnl5=bOQj>79S3V;%DtzKT%#mV=Ph<&+9L z`?BcWxe`f=5TpiRa{#C5T0<|H`_$B|ntoyu&hI5(X?{u}sOj~E%MQ^H`*Gb+kc63J zUovzdudaZYo?rGy&gaPntw$ScU*J*2T(wW} z#ll>yXYK4^Lsp}Mpwjge4>RJs{qA1cVYrsZJBCiNH7S=d ziC8ljNL=MYj>E&h-s^Nq5Ul$%(<+{fE))Xare@a9w@^zIZcMHQj~%a5r8#Y~4uo4Y zieI#WM6erqyCE?ur`-X6WSqvLZ4kcxkwr2)MCdNth^k~|(EyJ5(!(D0F^q<%y5BWS z{}#&8!m?rYgwW7x9QR=6zJnV1In&Ye5su(o#E+*Bz0iYL9kqzHNXD_4IW7(yfBZYT zw7Gq=LL?!wLe3AEFAHDoM3boq;l!Wvj?H7bCD~J@W(>QAu958&?Uq!mnf^S2rFbL9 z&m)Ze>}%YnQ=Nu$*}g0u)#t#|sh+f*jc9me|2%xLZpvMrI#Ov2;~s4Pp`~tkx-P%0 z?NQS{&YSLX;*R-K1%JU}yt1v)O+;+Lk(c0>y;Q@poM)TmtJo`>e}ig3Ep+ayLL(r zPp`+MdYO;EdLzpe1@l#iX%wZ8V$rC1t2@PNJc3@|KTVM7y(`nuCI4vh9`Wd!l*Gxe za-@I^J{m#Yh`zu?-p}kB57ZeNoporS<4;%YmChOrEDI-S4fW6O8rR(;?{-;v7fkz zlYZy34SFAqTqWxgNkV82AXkoqu~hh#o5t*w=E>0hC@gB0$r4 ze0$+c)=ED(2(XZGN*kv9@ZNc`GVcqll($9Fb<-L$pU8@BN&McSO@IEB8~Y$)<;LF} zu&9|B{QE3K?kbP}`gzfwnalcd$mZ1|-An|>KA`r@;pMvm4VqsF9GBVZV;#7CkBGkG zu5-;f(BMRkU#KmIoB9byMY&av$*|;S_Ess9&4pr{U6u6&fJcYsQ6p-}VGwW7m4!!Q zmlc6UR&*@Qe?;Uf%6PX8!SmsFJcmZ>XlQPiBe4ruT)lsTcnuuoWA>1)v)s*#{x9XGY^VExIiojF!oIrVf2FW zS{y1ol#qQp-CDvG`YV)cuaO_F>6S$hDRkyk2Ad(Izc>RDfKW5{4tI#Kh4v*Oqx9%# zWZv_zm6QEUZmM(LbcML~>4bMlE3;j1fOl+%|Ms#5Vb+Ok;aMS)@%JO~3zd5b!hsH0 zD_K(hwiRzUrRhT6s2lm1DTyUA%$jMB)@>|2fN_qR4DOj3ItP0uWq-OzImAyPph~l_ zTwTWkP4-Ubz|L1@_e?Nu3FoEn9*=lNEK)=p7qDt>=w!eow3$my#ySDSu?7&QMS^MO z6-629(=$^J{ipkV3gAwz0?OE>GFoPXB*?=-ZCirm2~OXTQ_GS48BY$*dVG=VO|yr2 z=-9%KZ|Cbfsqz%rD=+qIbypIKSRW6YSgc&)Dcnzz6>rCXf%Mg!#J0MsHHDCNf3@=D zn95&d5o*hxf$JzOn`Y7ZI=(ClY-49JmCn1GU;3iQsljwgz+u^BWdRVFjhf79GOpMw z6xB7dq`1sCv;YaHRJ$=hkfm=Hm^)U{KpbKWQ60ZPg5`d=72 zGmB@TYuId9A~KaMPxPYi^U3)%JAxa+yybRkDMZ)qOL&+I=4C_*;>-eaCe?E0^9}Wr zo+Ki@Yb8k>iFKFX)%VU3TKY&|wbjjLR`D;^(m ziacK$^E{WicIbHR`HAJ(==J$;YW5FY2cgTEODbyHP5JFIFTO~%!4TDUm#{FCbDzrA zqvpwE^fQ$&z@$M!D4Uj^?u2f-_gbwTz#p$U!j7`3M)G`BO{8W+I9?)K^6pGrZo550 z5_X|5Be`yrztviekgL&s396^rMZh{mM~OHl2EU#iw8>lnOn*XP0#b5{X_uZ%!lO

LD956yp||u)qss5 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%0AILI{f^J!n$qA* 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

GI?&jhujZ_;-ObC7JI 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 z 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%0DYs&i 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