diff --git a/.nvmrc b/.nvmrc
index d5a159609d..1d9b7831ba 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-20.10.0
+22.12.0
diff --git a/examples/js/autocomplete/.gitignore b/examples/js/autocomplete/.gitignore
new file mode 100644
index 0000000000..a547bf36d8
--- /dev/null
+++ b/examples/js/autocomplete/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/examples/js/autocomplete/index.html b/examples/js/autocomplete/index.html
new file mode 100644
index 0000000000..71e50a0526
--- /dev/null
+++ b/examples/js/autocomplete/index.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Autocomplete
+
+
+
+
+
+
+
+
diff --git a/examples/js/autocomplete/package.json b/examples/js/autocomplete/package.json
new file mode 100644
index 0000000000..3314d02e76
--- /dev/null
+++ b/examples/js/autocomplete/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "autocomplete",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc && vite build",
+ "preview": "vite preview"
+ },
+ "devDependencies": {
+ "typescript": "~5.8.3",
+ "vite": "^7.0.4"
+ }
+}
diff --git a/examples/js/autocomplete/public/vite.svg b/examples/js/autocomplete/public/vite.svg
new file mode 100644
index 0000000000..e7b8dfb1b2
--- /dev/null
+++ b/examples/js/autocomplete/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/examples/js/autocomplete/src/main.ts b/examples/js/autocomplete/src/main.ts
new file mode 100644
index 0000000000..58f673a969
--- /dev/null
+++ b/examples/js/autocomplete/src/main.ts
@@ -0,0 +1,81 @@
+import './style.css';
+
+import { liteClient as algoliasearch } from 'algoliasearch/lite';
+import instantsearch from 'instantsearch.js';
+import { carousel } from 'instantsearch.js/es/templates';
+import {
+ configure,
+ hits,
+ pagination,
+ panel,
+ refinementList,
+ trendingItems,
+ autocomplete,
+} from 'instantsearch.js/es/widgets';
+
+import 'instantsearch.css/themes/satellite.css';
+
+const searchClient = algoliasearch(
+ 'latency',
+ '6be0576ff61c053d5f9a3225e2a90f76'
+);
+
+const search = instantsearch({
+ indexName: 'instant_search',
+ searchClient,
+ insights: true,
+});
+
+search.addWidgets([
+ autocomplete({
+ container: '#searchbox',
+ }),
+ hits({
+ container: '#hits',
+ templates: {
+ item: (hit, { html, components }) => html`
+
+
+ ${components.Highlight({ hit, attribute: 'description' })}
+ See product
+
+ `,
+ },
+ }),
+ configure({
+ hitsPerPage: 8,
+ }),
+ panel({
+ templates: { header: 'brand' },
+ })(refinementList)({
+ container: '#brand-list',
+ attribute: 'brand',
+ }),
+ pagination({
+ container: '#pagination',
+ }),
+ trendingItems({
+ container: '#trending',
+ limit: 6,
+ templates: {
+ item: (item, { html }) => html`
+
+ `,
+ layout: carousel(),
+ },
+ }),
+]);
+
+search.start();
diff --git a/examples/js/autocomplete/src/style.css b/examples/js/autocomplete/src/style.css
new file mode 100644
index 0000000000..723aa9522f
--- /dev/null
+++ b/examples/js/autocomplete/src/style.css
@@ -0,0 +1,168 @@
+body,
+h1 {
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica,
+ Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
+}
+
+.header {
+ display: flex;
+ align-items: center;
+ min-height: 50px;
+ padding: 0.5rem 1rem;
+ background-image: linear-gradient(284deg, #fedd4e, #fcb43a);
+ color: #fff;
+ margin-bottom: 1rem;
+}
+
+.header a {
+ color: #fff;
+ text-decoration: none;
+}
+
+.header-title {
+ font-size: 1.2rem;
+ font-weight: normal;
+}
+
+.header-title::after {
+ content: ' ▸ ';
+ padding: 0 0.5rem;
+}
+
+.header-subtitle {
+ font-size: 1.2rem;
+}
+
+.container {
+ max-width: 1200px;
+ margin: 0 auto;
+ padding: 1rem;
+}
+
+.search-panel {
+ display: flex;
+}
+
+.search-panel__filters {
+ flex: 1;
+}
+
+.search-panel__results {
+ flex: 3;
+}
+
+.ais-Highlight-highlighted {
+ color: inherit;
+ font-size: inherit;
+}
+
+#searchbox {
+ margin-bottom: 2rem;
+}
+
+#pagination {
+ margin: 2rem auto;
+ text-align: center;
+}
+
+#related-products,
+.ais-Hits--single {
+ margin-top: 1rem;
+}
+
+.ais-Hits--single article {
+ display: flex;
+ gap: 1rem;
+}
+
+.ais-Hits--single img {
+ width: 150px;
+ height: 150px;
+ object-fit: contain;
+ flex-shrink: 0;
+}
+
+.ais-TrendingItems-item,
+.ais-RelatedProducts-item {
+ background: none !important;
+ align-items: stretch !important;
+ padding: 0 !important;
+ box-shadow: none !important;
+}
+
+.ais-TrendingItems-item > div,
+.ais-RelatedProducts-item > div {
+ align-items: start;
+ background: #fff;
+ align-items: center;
+ padding: 1.5rem;
+ display: flex;
+ box-shadow: 0 0 0 1px #23263b0d, 0 1px 3px #23263b26;
+}
+
+.ais-TrendingItems-item img,
+.ais-RelatedProducts-item img {
+ width: 100%;
+ height: 100px;
+ object-fit: contain;
+}
+
+.ais-TrendingItems-item article,
+.ais-RelatedProducts-item article {
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ justify-content: space-between;
+}
+
+.ais-TrendingItems-item h2,
+.ais-RelatedProducts-item h2 {
+ display: -webkit-box;
+ -webkit-line-clamp: 4;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+ line-height: 1.2;
+}
+
+.ais-Carousel-item {
+ padding: 0.5rem !important;
+}
+
+.ais-Carousel-list {
+ margin: -0.5rem !important;
+ grid-auto-columns: calc(22% - 0.5rem) !important;
+}
+
+.ais-Carousel::before,
+.ais-Carousel::after {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ width: 0.5rem;
+ display: block;
+ background: rgb(255, 255, 255);
+ content: '';
+}
+
+.ais-Carousel::before {
+ left: -0.5rem;
+ background: linear-gradient(
+ 90deg,
+ rgba(255, 255, 255, 1) 0%,
+ rgba(255, 255, 255, 0) 100%
+ );
+}
+
+.ais-Carousel::after {
+ right: -0.5rem;
+ background: linear-gradient(
+ 90deg,
+ rgba(255, 255, 255, 0) 0%,
+ rgba(255, 255, 255, 1) 100%
+ );
+}
diff --git a/examples/js/autocomplete/src/vite-env.d.ts b/examples/js/autocomplete/src/vite-env.d.ts
new file mode 100644
index 0000000000..11f02fe2a0
--- /dev/null
+++ b/examples/js/autocomplete/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/examples/js/autocomplete/tsconfig.json b/examples/js/autocomplete/tsconfig.json
new file mode 100644
index 0000000000..4f5edc248c
--- /dev/null
+++ b/examples/js/autocomplete/tsconfig.json
@@ -0,0 +1,25 @@
+{
+ "compilerOptions": {
+ "target": "ES2022",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "verbatimModuleSyntax": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "erasableSyntaxOnly": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}
diff --git a/examples/js/getting-started/src/app.js b/examples/js/getting-started/src/app.js
index 88bfc54a49..333785cdad 100644
--- a/examples/js/getting-started/src/app.js
+++ b/examples/js/getting-started/src/app.js
@@ -7,8 +7,8 @@ import {
pagination,
panel,
refinementList,
- searchBox,
trendingItems,
+ autocomplete,
} from 'instantsearch.js/es/widgets';
import 'instantsearch.css/themes/satellite.css';
@@ -25,7 +25,7 @@ const search = instantsearch({
});
search.addWidgets([
- searchBox({
+ autocomplete({
container: '#searchbox',
}),
hits({
diff --git a/packages/algoliasearch-helper/index.js b/packages/algoliasearch-helper/index.js
index 2679bba425..bf173b4a4d 100644
--- a/packages/algoliasearch-helper/index.js
+++ b/packages/algoliasearch-helper/index.js
@@ -1,10 +1,8 @@
-'use strict';
-
-var AlgoliaSearchHelper = require('./src/algoliasearch.helper');
-var RecommendParameters = require('./src/RecommendParameters');
-var RecommendResults = require('./src/RecommendResults');
-var SearchParameters = require('./src/SearchParameters');
-var SearchResults = require('./src/SearchResults');
+import AlgoliaSearchHelper from './src/algoliasearch.helper.js';
+import RecommendParameters from './src/RecommendParameters/index.js';
+import RecommendResults from './src/RecommendResults/index.js';
+import SearchParameters from './src/SearchParameters/index.js';
+import SearchResults from './src/SearchResults/index.js';
/**
* The algoliasearchHelper module is the function that will let its
@@ -38,16 +36,13 @@ var SearchResults = require('./src/SearchResults');
* @param {SearchResultsOptions|object} searchResultsOptions an object defining the options to use when creating the search results.
* @return {AlgoliaSearchHelper} The helper instance
*/
+
function algoliasearchHelper(client, index, opts, searchResultsOptions) {
return new AlgoliaSearchHelper(client, index, opts, searchResultsOptions);
}
-/**
- * The version currently used
- * @member module:algoliasearchHelper.version
- * @type {number}
- */
-algoliasearchHelper.version = require('./src/version');
+import version from './src/version.js';
+algoliasearchHelper.version = version;
/**
* Constructor for the Helper.
@@ -84,4 +79,4 @@ algoliasearchHelper.SearchResults = SearchResults;
*/
algoliasearchHelper.RecommendResults = RecommendResults;
-module.exports = algoliasearchHelper;
+export default algoliasearchHelper;
diff --git a/packages/algoliasearch-helper/src/DerivedHelper/index.js b/packages/algoliasearch-helper/src/DerivedHelper/index.js
index b9b6f874c0..a4cc5031ad 100644
--- a/packages/algoliasearch-helper/src/DerivedHelper/index.js
+++ b/packages/algoliasearch-helper/src/DerivedHelper/index.js
@@ -1,8 +1,8 @@
'use strict';
-var EventEmitter = require('@algolia/events');
+import EventEmitter from '@algolia/events';
-var inherits = require('../functions/inherits');
+import inherits from '../functions/inherits';
/**
* A DerivedHelper is a way to create sub requests to
@@ -45,4 +45,4 @@ DerivedHelper.prototype.getModifiedRecommendState = function (parameters) {
return this.recommendFn(parameters);
};
-module.exports = DerivedHelper;
+export default DerivedHelper;
diff --git a/packages/algoliasearch-helper/src/RecommendParameters/index.js b/packages/algoliasearch-helper/src/RecommendParameters/index.js
index bd4f6275ab..41f717c2fd 100644
--- a/packages/algoliasearch-helper/src/RecommendParameters/index.js
+++ b/packages/algoliasearch-helper/src/RecommendParameters/index.js
@@ -1,5 +1,3 @@
-'use strict';
-
/**
* RecommendParameters is the data structure that contains all the information
* usable for getting recommendations from the Algolia API. It doesn't do the
@@ -85,4 +83,4 @@ RecommendParameters.prototype = {
},
};
-module.exports = RecommendParameters;
+export default RecommendParameters;
diff --git a/packages/algoliasearch-helper/src/RecommendResults/index.js b/packages/algoliasearch-helper/src/RecommendResults/index.js
index 06e353839a..522d530f9a 100644
--- a/packages/algoliasearch-helper/src/RecommendResults/index.js
+++ b/packages/algoliasearch-helper/src/RecommendResults/index.js
@@ -1,5 +1,3 @@
-'use strict';
-
/**
* Constructor for SearchResults
* @class
@@ -26,4 +24,4 @@ RecommendResults.prototype = {
constructor: RecommendResults,
};
-module.exports = RecommendResults;
+export default RecommendResults;
diff --git a/packages/algoliasearch-helper/src/SearchParameters/RefinementList.js b/packages/algoliasearch-helper/src/SearchParameters/RefinementList.js
index e37f89760d..1372acb96d 100644
--- a/packages/algoliasearch-helper/src/SearchParameters/RefinementList.js
+++ b/packages/algoliasearch-helper/src/SearchParameters/RefinementList.js
@@ -12,9 +12,9 @@
* @typedef {Object.} SearchParameters.refinementList.RefinementList
*/
-var defaultsPure = require('../functions/defaultsPure');
-var objectHasKeys = require('../functions/objectHasKeys');
-var omit = require('../functions/omit');
+import defaultsPure from '../functions/defaultsPure.js';
+import objectHasKeys from '../functions/objectHasKeys.js';
+import omit from '../functions/omit.js';
var lib = {
/**
@@ -169,4 +169,4 @@ var lib = {
},
};
-module.exports = lib;
+export default lib;
diff --git a/packages/algoliasearch-helper/src/SearchParameters/index.js b/packages/algoliasearch-helper/src/SearchParameters/index.js
index 4ff71f3443..a58ea059bb 100644
--- a/packages/algoliasearch-helper/src/SearchParameters/index.js
+++ b/packages/algoliasearch-helper/src/SearchParameters/index.js
@@ -1,15 +1,12 @@
-'use strict';
-
-var defaultsPure = require('../functions/defaultsPure');
-var find = require('../functions/find');
-var intersection = require('../functions/intersection');
-var merge = require('../functions/merge');
-var objectHasKeys = require('../functions/objectHasKeys');
-var omit = require('../functions/omit');
-var valToNumber = require('../functions/valToNumber');
-var isValidUserToken = require('../utils/isValidUserToken');
-
-var RefinementList = require('./RefinementList');
+import defaultsPure from '../functions/defaultsPure.js';
+import find from '../functions/find.js';
+import intersection from '../functions/intersection.js';
+import merge from '../functions/merge.js';
+import objectHasKeys from '../functions/objectHasKeys.js';
+import omit from '../functions/omit.js';
+import valToNumber from '../functions/valToNumber.js';
+import isValidUserToken from '../utils/isValidUserToken.js';
+import RefinementList from './RefinementList.js';
/**
* isEqual, but only for numeric refinement values, possible values:
@@ -1681,4 +1678,4 @@ SearchParameters.prototype = {
* depending on the type of facet
* @return {boolean} `true` if the element should be removed. `false` otherwise.
*/
-module.exports = SearchParameters;
+export default SearchParameters;
diff --git a/packages/algoliasearch-helper/src/SearchResults/generate-hierarchical-tree.js b/packages/algoliasearch-helper/src/SearchResults/generate-hierarchical-tree.js
index 0398d45343..2131302194 100644
--- a/packages/algoliasearch-helper/src/SearchResults/generate-hierarchical-tree.js
+++ b/packages/algoliasearch-helper/src/SearchResults/generate-hierarchical-tree.js
@@ -1,13 +1,16 @@
'use strict';
-module.exports = generateTrees;
-
-var fv = require('../functions/escapeFacetValue');
-var find = require('../functions/find');
-var prepareHierarchicalFacetSortBy = require('../functions/formatSort');
-var orderBy = require('../functions/orderBy');
-var escapeFacetValue = fv.escapeFacetValue;
-var unescapeFacetValue = fv.unescapeFacetValue;
+export default generateTrees;
+
+import {
+ escapeFacetValue as _escapeFacetValue,
+ unescapeFacetValue as _unescapeFacetValue,
+} from '../functions/escapeFacetValue';
+import find from '../functions/find';
+import prepareHierarchicalFacetSortBy from '../functions/formatSort';
+import orderBy from '../functions/orderBy';
+var escapeFacetValue = _escapeFacetValue;
+var unescapeFacetValue = _unescapeFacetValue;
function generateTrees(state) {
return function generate(hierarchicalFacetResult, hierarchicalFacetIndex) {
diff --git a/packages/algoliasearch-helper/src/SearchResults/index.js b/packages/algoliasearch-helper/src/SearchResults/index.js
index 6689126a74..725b038d4f 100644
--- a/packages/algoliasearch-helper/src/SearchResults/index.js
+++ b/packages/algoliasearch-helper/src/SearchResults/index.js
@@ -1,17 +1,14 @@
-'use strict';
-
-var compact = require('../functions/compact');
-var defaultsPure = require('../functions/defaultsPure');
-var fv = require('../functions/escapeFacetValue');
-var find = require('../functions/find');
-var findIndex = require('../functions/findIndex');
-var formatSort = require('../functions/formatSort');
-var mergeNumericMax = require('../functions/mergeNumericMax');
-var orderBy = require('../functions/orderBy');
-var escapeFacetValue = fv.escapeFacetValue;
-var unescapeFacetValue = fv.unescapeFacetValue;
-
-var generateHierarchicalTree = require('./generate-hierarchical-tree');
+import compact from '../functions/compact.js';
+import defaultsPure from '../functions/defaultsPure.js';
+import * as fv from '../functions/escapeFacetValue.js';
+import find from '../functions/find.js';
+import findIndex from '../functions/findIndex.js';
+import formatSort from '../functions/formatSort.js';
+import mergeNumericMax from '../functions/mergeNumericMax.js';
+import orderBy from '../functions/orderBy.js';
+const escapeFacetValue = fv.escapeFacetValue;
+const unescapeFacetValue = fv.unescapeFacetValue;
+import generateHierarchicalTree from './generate-hierarchical-tree.js';
/**
* @typedef SearchResults.Facet
@@ -1159,4 +1156,4 @@ function getHierarchicalRefinement(state, attributeName, name, resultsFacets) {
};
}
-module.exports = SearchResults;
+export default SearchResults;
diff --git a/packages/algoliasearch-helper/src/algoliasearch.helper.js b/packages/algoliasearch-helper/src/algoliasearch.helper.js
index afa83cf321..05a7b06b6f 100644
--- a/packages/algoliasearch-helper/src/algoliasearch.helper.js
+++ b/packages/algoliasearch-helper/src/algoliasearch.helper.js
@@ -1,20 +1,17 @@
-'use strict';
-
-var EventEmitter = require('@algolia/events');
-
-var DerivedHelper = require('./DerivedHelper');
-var escapeFacetValue = require('./functions/escapeFacetValue').escapeFacetValue;
-var inherits = require('./functions/inherits');
-var merge = require('./functions/merge');
-var objectHasKeys = require('./functions/objectHasKeys');
-var omit = require('./functions/omit');
-var RecommendParameters = require('./RecommendParameters');
-var RecommendResults = require('./RecommendResults');
-var requestBuilder = require('./requestBuilder');
-var SearchParameters = require('./SearchParameters');
-var SearchResults = require('./SearchResults');
-var sortAndMergeRecommendations = require('./utils/sortAndMergeRecommendations');
-var version = require('./version');
+import EventEmitter from '@algolia/events';
+import DerivedHelper from './DerivedHelper/index.js';
+import { escapeFacetValue } from './functions/escapeFacetValue.js';
+import inherits from './functions/inherits.js';
+import merge from './functions/merge.js';
+import objectHasKeys from './functions/objectHasKeys.js';
+import omit from './functions/omit.js';
+import RecommendParameters from './RecommendParameters/index.js';
+import RecommendResults from './RecommendResults/index.js';
+import requestBuilder from './requestBuilder.js';
+import SearchParameters from './SearchParameters/index.js';
+import SearchResults from './SearchResults/index.js';
+import sortAndMergeRecommendations from './utils/sortAndMergeRecommendations.js';
+import version from './version.js';
/**
* Event triggered when a parameter is set or updated
@@ -2176,4 +2173,4 @@ AlgoliaSearchHelper.prototype.hasPendingRequests = function () {
* @property {string} type the type of filter: 'conjunctive', 'disjunctive', 'exclude'
*/
-module.exports = AlgoliaSearchHelper;
+export default AlgoliaSearchHelper;
diff --git a/packages/algoliasearch-helper/src/functions/compact.js b/packages/algoliasearch-helper/src/functions/compact.js
index ec3506850f..f7786de53e 100644
--- a/packages/algoliasearch-helper/src/functions/compact.js
+++ b/packages/algoliasearch-helper/src/functions/compact.js
@@ -1,9 +1,9 @@
-'use strict';
-
-module.exports = function compact(array) {
+function compact(array) {
if (!Array.isArray(array)) {
return [];
}
return array.filter(Boolean);
-};
+}
+
+export default compact;
diff --git a/packages/algoliasearch-helper/src/functions/defaultsPure.js b/packages/algoliasearch-helper/src/functions/defaultsPure.js
index 3a979f5b1a..0463e5eaea 100644
--- a/packages/algoliasearch-helper/src/functions/defaultsPure.js
+++ b/packages/algoliasearch-helper/src/functions/defaultsPure.js
@@ -1,8 +1,6 @@
-'use strict';
-
// NOTE: this behaves like lodash/defaults, but doesn't mutate the target
// it also preserve keys order
-module.exports = function defaultsPure() {
+function defaultsPure() {
var sources = Array.prototype.slice.call(arguments);
return sources.reduceRight(function (acc, source) {
@@ -18,4 +16,6 @@ module.exports = function defaultsPure() {
});
return acc;
}, {});
-};
+}
+
+export default defaultsPure;
diff --git a/packages/algoliasearch-helper/src/functions/escapeFacetValue.js b/packages/algoliasearch-helper/src/functions/escapeFacetValue.js
index 7fda5461de..1aed8ddf2a 100644
--- a/packages/algoliasearch-helper/src/functions/escapeFacetValue.js
+++ b/packages/algoliasearch-helper/src/functions/escapeFacetValue.js
@@ -1,5 +1,3 @@
-'use strict';
-
/**
* Replaces a leading - with \-
* @private
@@ -24,7 +22,4 @@ function unescapeFacetValue(value) {
return value.replace(/^\\-/, '-');
}
-module.exports = {
- escapeFacetValue: escapeFacetValue,
- unescapeFacetValue: unescapeFacetValue,
-};
+export { escapeFacetValue, unescapeFacetValue };
diff --git a/packages/algoliasearch-helper/src/functions/find.js b/packages/algoliasearch-helper/src/functions/find.js
index f9d8275c8f..cc3d2bff7e 100644
--- a/packages/algoliasearch-helper/src/functions/find.js
+++ b/packages/algoliasearch-helper/src/functions/find.js
@@ -1,7 +1,5 @@
-'use strict';
-
// @MAJOR can be replaced by native Array#find when we change support
-module.exports = function find(array, comparator) {
+function find(array, comparator) {
if (!Array.isArray(array)) {
return undefined;
}
@@ -13,4 +11,6 @@ module.exports = function find(array, comparator) {
}
return undefined;
-};
+}
+
+export default find;
diff --git a/packages/algoliasearch-helper/src/functions/findIndex.js b/packages/algoliasearch-helper/src/functions/findIndex.js
index 1d522e9fdc..f7c697aca5 100644
--- a/packages/algoliasearch-helper/src/functions/findIndex.js
+++ b/packages/algoliasearch-helper/src/functions/findIndex.js
@@ -1,7 +1,5 @@
-'use strict';
-
// @MAJOR can be replaced by native Array#findIndex when we change support
-module.exports = function find(array, comparator) {
+function findIndex(array, comparator) {
if (!Array.isArray(array)) {
return -1;
}
@@ -12,4 +10,6 @@ module.exports = function find(array, comparator) {
}
}
return -1;
-};
+}
+
+export default findIndex;
diff --git a/packages/algoliasearch-helper/src/functions/flat.js b/packages/algoliasearch-helper/src/functions/flat.js
index 1cb31e2816..761e89ea9c 100644
--- a/packages/algoliasearch-helper/src/functions/flat.js
+++ b/packages/algoliasearch-helper/src/functions/flat.js
@@ -1,6 +1,8 @@
// @MAJOR: remove this function and use Array.prototype.flat
-module.exports = function flat(arr) {
+function flat(arr) {
return arr.reduce(function (acc, val) {
return acc.concat(val);
}, []);
-};
+}
+
+export default flat;
diff --git a/packages/algoliasearch-helper/src/functions/formatSort.js b/packages/algoliasearch-helper/src/functions/formatSort.js
index 8b0d7fb98f..49834dc45c 100644
--- a/packages/algoliasearch-helper/src/functions/formatSort.js
+++ b/packages/algoliasearch-helper/src/functions/formatSort.js
@@ -1,6 +1,4 @@
-'use strict';
-
-var find = require('./find');
+import find from './find.js';
/**
* Transform sort format from user friendly notation to lodash format
@@ -8,7 +6,7 @@ var find = require('./find');
* @param {string[]} [defaults] array of predicate of the form "attribute:order"
* @return {array.} array containing 2 elements : attributes, orders
*/
-module.exports = function formatSort(sortBy, defaults) {
+function formatSort(sortBy, defaults) {
var defaultInstructions = (defaults || []).map(function (sort) {
return sort.split(':');
});
@@ -36,4 +34,6 @@ module.exports = function formatSort(sortBy, defaults) {
},
[[], []]
);
-};
+}
+
+export default formatSort;
diff --git a/packages/algoliasearch-helper/src/functions/inherits.js b/packages/algoliasearch-helper/src/functions/inherits.js
index 8076856ce1..64eaed1f92 100644
--- a/packages/algoliasearch-helper/src/functions/inherits.js
+++ b/packages/algoliasearch-helper/src/functions/inherits.js
@@ -1,5 +1,3 @@
-'use strict';
-
function inherits(ctor, superCtor) {
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
@@ -11,4 +9,4 @@ function inherits(ctor, superCtor) {
});
}
-module.exports = inherits;
+export default inherits;
diff --git a/packages/algoliasearch-helper/src/functions/intersection.js b/packages/algoliasearch-helper/src/functions/intersection.js
index a0dce72661..300029320c 100644
--- a/packages/algoliasearch-helper/src/functions/intersection.js
+++ b/packages/algoliasearch-helper/src/functions/intersection.js
@@ -1,5 +1,3 @@
-'use strict';
-
function intersection(arr1, arr2) {
return arr1.filter(function (value, index) {
return (
@@ -9,4 +7,4 @@ function intersection(arr1, arr2) {
});
}
-module.exports = intersection;
+export default intersection;
diff --git a/packages/algoliasearch-helper/src/functions/merge.js b/packages/algoliasearch-helper/src/functions/merge.js
index 9639e9cd07..97c54bcdc8 100644
--- a/packages/algoliasearch-helper/src/functions/merge.js
+++ b/packages/algoliasearch-helper/src/functions/merge.js
@@ -1,5 +1,3 @@
-'use strict';
-
function clone(value) {
if (typeof value === 'object' && value !== null) {
return _merge(Array.isArray(value) ? [] : {}, value);
@@ -81,4 +79,4 @@ function merge(target) {
return target;
}
-module.exports = merge;
+export default merge;
diff --git a/packages/algoliasearch-helper/src/functions/mergeNumericMax.js b/packages/algoliasearch-helper/src/functions/mergeNumericMax.js
index 521a16c9c8..4b2e29a972 100644
--- a/packages/algoliasearch-helper/src/functions/mergeNumericMax.js
+++ b/packages/algoliasearch-helper/src/functions/mergeNumericMax.js
@@ -1,5 +1,3 @@
-'use strict';
-
// NOTE: this behaves like lodash/defaults, but doesn't mutate the target
// it also preserve keys order and keep the highest numeric value
function mergeNumericMax() {
@@ -26,4 +24,4 @@ function mergeNumericMax() {
}, {});
}
-module.exports = mergeNumericMax;
+export default mergeNumericMax;
diff --git a/packages/algoliasearch-helper/src/functions/objectHasKeys.js b/packages/algoliasearch-helper/src/functions/objectHasKeys.js
index c7c44bb1a5..6195b530a0 100644
--- a/packages/algoliasearch-helper/src/functions/objectHasKeys.js
+++ b/packages/algoliasearch-helper/src/functions/objectHasKeys.js
@@ -1,7 +1,5 @@
-'use strict';
-
function objectHasKeys(obj) {
return obj && Object.keys(obj).length > 0;
}
-module.exports = objectHasKeys;
+export default objectHasKeys;
diff --git a/packages/algoliasearch-helper/src/functions/omit.js b/packages/algoliasearch-helper/src/functions/omit.js
index c39aaf1200..730b207f45 100644
--- a/packages/algoliasearch-helper/src/functions/omit.js
+++ b/packages/algoliasearch-helper/src/functions/omit.js
@@ -1,5 +1,3 @@
-'use strict';
-
// https://github.com/babel/babel/blob/3aaafae053fa75febb3aa45d45b6f00646e30ba4/packages/babel-helpers/src/helpers.js#L604-L620
function _objectWithoutPropertiesLoose(source, excluded) {
if (source === null) return {};
@@ -16,4 +14,4 @@ function _objectWithoutPropertiesLoose(source, excluded) {
return target;
}
-module.exports = _objectWithoutPropertiesLoose;
+export default _objectWithoutPropertiesLoose;
diff --git a/packages/algoliasearch-helper/src/functions/orderBy.js b/packages/algoliasearch-helper/src/functions/orderBy.js
index 318500a87c..8ff9831e08 100644
--- a/packages/algoliasearch-helper/src/functions/orderBy.js
+++ b/packages/algoliasearch-helper/src/functions/orderBy.js
@@ -1,5 +1,3 @@
-'use strict';
-
function compareAscending(value, other) {
if (value !== other) {
var valIsDefined = value !== undefined;
@@ -77,4 +75,4 @@ function orderBy(collection, iteratees, orders) {
});
}
-module.exports = orderBy;
+export default orderBy;
diff --git a/packages/algoliasearch-helper/src/functions/valToNumber.js b/packages/algoliasearch-helper/src/functions/valToNumber.js
index 3b6eb2765d..c853fd1c36 100644
--- a/packages/algoliasearch-helper/src/functions/valToNumber.js
+++ b/packages/algoliasearch-helper/src/functions/valToNumber.js
@@ -1,5 +1,3 @@
-'use strict';
-
function valToNumber(v) {
if (typeof v === 'number') {
return v;
@@ -14,4 +12,4 @@ function valToNumber(v) {
);
}
-module.exports = valToNumber;
+export default valToNumber;
diff --git a/packages/algoliasearch-helper/src/requestBuilder.js b/packages/algoliasearch-helper/src/requestBuilder.js
index a34000ac21..f798f70193 100644
--- a/packages/algoliasearch-helper/src/requestBuilder.js
+++ b/packages/algoliasearch-helper/src/requestBuilder.js
@@ -1,6 +1,4 @@
-'use strict';
-
-var merge = require('./functions/merge');
+import merge from './functions/merge.js';
function sortObject(obj) {
return Object.keys(obj)
@@ -523,4 +521,4 @@ var requestBuilder = {
},
};
-module.exports = requestBuilder;
+export default requestBuilder;
diff --git a/packages/algoliasearch-helper/src/utils/isValidUserToken.js b/packages/algoliasearch-helper/src/utils/isValidUserToken.js
index c5d843d74b..87a1a8c44d 100644
--- a/packages/algoliasearch-helper/src/utils/isValidUserToken.js
+++ b/packages/algoliasearch-helper/src/utils/isValidUserToken.js
@@ -1,8 +1,8 @@
-'use strict';
-
-module.exports = function isValidUserToken(userToken) {
+function isValidUserToken(userToken) {
if (userToken === null) {
return false;
}
return /^[a-zA-Z0-9_-]{1,64}$/.test(userToken);
-};
+}
+
+export default isValidUserToken;
diff --git a/packages/algoliasearch-helper/src/utils/sortAndMergeRecommendations.js b/packages/algoliasearch-helper/src/utils/sortAndMergeRecommendations.js
index 2f60d0df49..69c02f19ef 100644
--- a/packages/algoliasearch-helper/src/utils/sortAndMergeRecommendations.js
+++ b/packages/algoliasearch-helper/src/utils/sortAndMergeRecommendations.js
@@ -1,7 +1,5 @@
-'use strict';
-
-var find = require('../functions/find');
-var flat = require('../functions/flat');
+import find from '../functions/find.js';
+import flat from '../functions/flat.js';
function getAverageIndices(indexTracker, nrOfObjs) {
var avgIndices = [];
@@ -55,4 +53,4 @@ function sortAndMergeRecommendations(objectIDs, results) {
return finalOrder;
}
-module.exports = sortAndMergeRecommendations;
+export default sortAndMergeRecommendations;
diff --git a/packages/algoliasearch-helper/src/version.js b/packages/algoliasearch-helper/src/version.js
index 44c662d0b1..676548853c 100644
--- a/packages/algoliasearch-helper/src/version.js
+++ b/packages/algoliasearch-helper/src/version.js
@@ -1,3 +1 @@
-'use strict';
-
-module.exports = '3.26.0';
+export default '3.26.0';
diff --git a/packages/instantsearch.js/src/widgets/autocomplete/autocomplete.ts b/packages/instantsearch.js/src/widgets/autocomplete/autocomplete.ts
new file mode 100644
index 0000000000..7281cf6807
--- /dev/null
+++ b/packages/instantsearch.js/src/widgets/autocomplete/autocomplete.ts
@@ -0,0 +1,213 @@
+import { connectAutocomplete } from '../../connectors';
+import {
+ checkRendering,
+ createDocumentationMessageGenerator,
+ getContainerNode,
+} from '../../lib/utils';
+
+import type { WidgetFactory, WidgetRenderState } from '../../types';
+
+const withUsage = createDocumentationMessageGenerator({ name: 'autocomplete' });
+
+export type AutocompleteWidgetParams = {
+ container: string | HTMLElement;
+ placeholder?: string;
+ submitButton?: boolean;
+ resetButton?: boolean;
+ autofocus?: boolean;
+ cssClasses?: Partial;
+ templates?: Partial;
+};
+
+export type AutocompleteCSSClasses = {
+ root: string;
+ form: string;
+ input: string;
+ submit: string;
+ reset: string;
+};
+
+export type AutocompleteTemplates = {
+ submit: string;
+ reset: string;
+};
+
+export type AutocompleteRenderState = {
+ refine: (query: string) => void;
+ query: string;
+ widgetParams: AutocompleteWidgetParams;
+};
+
+const defaultTemplates: AutocompleteTemplates = {
+ submit: '',
+ reset: '',
+};
+
+const defaultCSSClasses: AutocompleteCSSClasses = {
+ root: 'ais-Autocomplete',
+ form: 'ais-Autocomplete-form',
+ input: 'ais-Autocomplete-input',
+ submit: 'ais-Autocomplete-submit',
+ reset: 'ais-Autocomplete-reset',
+};
+
+export type AutocompleteConnectorParams = Record;
+
+export type AutocompleteWidgetDescription = {
+ $$type: 'ais.autocomplete';
+ $$widgetType: 'ais.autocomplete';
+ renderState: WidgetRenderState<
+ AutocompleteRenderState,
+ AutocompleteWidgetParams
+ >;
+ indexRenderState: {
+ autocomplete: WidgetRenderState<
+ AutocompleteRenderState,
+ AutocompleteWidgetParams
+ >;
+ };
+};
+
+export type AutocompleteWidget = WidgetFactory<
+ AutocompleteWidgetDescription & { $$widgetType: 'ais.autocomplete' },
+ AutocompleteConnectorParams,
+ AutocompleteWidgetParams
+>;
+
+const autocomplete: AutocompleteWidget = (widgetParams) => {
+ const {
+ container,
+ placeholder = '',
+ submitButton = true,
+ resetButton = true,
+ autofocus = false,
+ cssClasses = {},
+ templates = {},
+ } = widgetParams || {};
+
+ if (!container) {
+ throw new Error(withUsage('The `container` option is required.'));
+ }
+
+ const containerNode = getContainerNode(container);
+
+ const mergedCSSClasses = { ...defaultCSSClasses, ...cssClasses };
+ const mergedTemplates = { ...defaultTemplates, ...templates };
+
+ let input!: HTMLInputElement;
+
+ const makeWidget = connectAutocomplete((renderOptions, isFirstRender) => {
+ const { currentRefinement: query, refine, indices } = renderOptions;
+
+ if (isFirstRender) {
+ renderInput(query, refine);
+
+ const form = containerNode.querySelector('form')!;
+ form.addEventListener('submit', (event) => {
+ event.preventDefault();
+ // refine is handled on input event
+ });
+
+ input.addEventListener('input', (event) => {
+ refine((event.target as HTMLInputElement).value);
+ });
+
+ if (resetButton) {
+ const reset = containerNode.querySelector(`.${mergedCSSClasses.reset}`);
+ if (reset) {
+ reset.addEventListener('click', () => {
+ input.value = '';
+ refine('');
+ });
+ }
+ }
+ } else {
+ input.value = query || '';
+ renderResults(indices, refine);
+ }
+ });
+
+ return {
+ $$widgetType: 'ais.autocomplete',
+ ...makeWidget({
+ ...widgetParams,
+ }),
+ } as unknown as ReturnType;
+
+ function renderInput(query: string, refine: (q: string) => void) {
+ containerNode.innerHTML = `
+
+ `;
+
+ input = containerNode.querySelector('input')!;
+
+ const form = containerNode.querySelector('form')!;
+ form.addEventListener('submit', (event) => {
+ event.preventDefault();
+ refine(input.value);
+ });
+
+ input.addEventListener('input', () => {
+ refine(input.value);
+ });
+
+ if (resetButton) {
+ const reset = containerNode.querySelector(`.${mergedCSSClasses.reset}`);
+ if (reset) {
+ reset.addEventListener('click', () => {
+ input.value = '';
+ refine('');
+ });
+ }
+ }
+ }
+
+ function renderResults(indices: any, refine: (q: string) => void) {
+ // Placeholder for rendering autocomplete results.
+ // You can customize this to display suggestions below the input.
+ // For now, we'll clear any previous results.
+ const existingResults = containerNode.querySelector(
+ '.ais-Autocomplete-results'
+ );
+ if (existingResults) {
+ existingResults.remove();
+ }
+
+ // Example: render a simple list of hits if available
+ if (
+ indices &&
+ indices.length > 0 &&
+ indices[0].hits &&
+ indices[0].hits.length > 0
+ ) {
+ const resultsContainer = document.createElement('div');
+ resultsContainer.className = 'ais-Autocomplete-results';
+
+ const ul = document.createElement('ul');
+ indices[0].hits.forEach((hit: any) => {
+ const li = document.createElement('li');
+ li.textContent = hit.query || hit.name || JSON.stringify(hit);
+ li.addEventListener('click', () => {
+ refine(li.textContent || '');
+ input.value = li.textContent || '';
+ });
+ ul.appendChild(li);
+ });
+
+ resultsContainer.appendChild(ul);
+ containerNode.appendChild(resultsContainer);
+ }
+ }
+};
+
+export default autocomplete;
diff --git a/packages/instantsearch.js/src/widgets/index.ts b/packages/instantsearch.js/src/widgets/index.ts
index 6fd492c520..14297e53bd 100644
--- a/packages/instantsearch.js/src/widgets/index.ts
+++ b/packages/instantsearch.js/src/widgets/index.ts
@@ -24,6 +24,7 @@ export const EXPERIMENTAL_dynamicWidgets = deprecate(
export { dynamicWidgets };
export { default as analytics } from './analytics/analytics';
+export { default as autocomplete } from './autocomplete/autocomplete';
export { default as breadcrumb } from './breadcrumb/breadcrumb';
export { default as clearRefinements } from './clear-refinements/clear-refinements';
export { default as configure } from './configure/configure';
diff --git a/yarn.lock b/yarn.lock
index c381f4bfc3..28cfcfa6b6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -189,7 +189,7 @@
dependencies:
"@babel/highlight" "^7.0.0"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.26.2", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3":
version "7.26.2"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85"
integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==
@@ -267,7 +267,7 @@
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.15.4", "@babel/generator@^7.23.3", "@babel/generator@^7.23.6", "@babel/generator@^7.26.5", "@babel/generator@^7.26.9", "@babel/generator@^7.4.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.2", "@babel/generator@^7.9.0":
+"@babel/generator@^7.15.4", "@babel/generator@^7.23.3", "@babel/generator@^7.23.6", "@babel/generator@^7.26.9", "@babel/generator@^7.4.0", "@babel/generator@^7.5.0", "@babel/generator@^7.7.2", "@babel/generator@^7.9.0":
version "7.26.9"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.9.tgz#75a9482ad3d0cc7188a537aa4910bc59db67cbca"
integrity sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==
@@ -515,7 +515,7 @@
chalk "^2.4.2"
js-tokens "^4.0.0"
-"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.15.5", "@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.23.3", "@babel/parser@^7.23.6", "@babel/parser@^7.25.9", "@babel/parser@^7.26.5", "@babel/parser@^7.26.9", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
+"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.15.5", "@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.20.15", "@babel/parser@^7.20.7", "@babel/parser@^7.23.3", "@babel/parser@^7.23.6", "@babel/parser@^7.26.9", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
version "7.26.9"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.9.tgz#d9e78bee6dc80f9efd8f2349dcfbbcdace280fd5"
integrity sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==
@@ -1597,7 +1597,7 @@
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
-"@babel/template@^7.0.0", "@babel/template@^7.15.4", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
+"@babel/template@^7.0.0", "@babel/template@^7.15.4", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.26.9", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
version "7.26.9"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2"
integrity sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==
@@ -1619,7 +1619,7 @@
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.7", "@babel/types@^7.25.9", "@babel/types@^7.26.5", "@babel/types@^7.26.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
+"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.23.6", "@babel/types@^7.24.7", "@babel/types@^7.25.9", "@babel/types@^7.26.9", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
version "7.26.9"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.9.tgz#08b43dec79ee8e682c2ac631c010bdcac54a21ce"
integrity sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==
@@ -1876,116 +1876,246 @@
resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46"
integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==
+"@esbuild/aix-ppc64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz#164b19122e2ed54f85469df9dea98ddb01d5e79e"
+ integrity sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==
+
"@esbuild/android-arm64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.9.tgz#683794bdc3d27222d3eced7b74cad15979548031"
integrity sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==
+"@esbuild/android-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz#8f539e7def848f764f6432598e51cc3820fde3a5"
+ integrity sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==
+
"@esbuild/android-arm@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.9.tgz#21a4de41f07b2af47401c601d64dfdefd056c595"
integrity sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==
+"@esbuild/android-arm@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.6.tgz#4ceb0f40113e9861169be83e2a670c260dd234ff"
+ integrity sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==
+
"@esbuild/android-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.9.tgz#e2d7674bc025ddc8699f0cc76cb97823bb63c252"
integrity sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==
+"@esbuild/android-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.6.tgz#ad4f280057622c25fe985c08999443a195dc63a8"
+ integrity sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==
+
"@esbuild/darwin-arm64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.9.tgz#ae7a582289cc5c0bac15d4b9020a90cb7288f1e9"
integrity sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==
+"@esbuild/darwin-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz#d1f04027396b3d6afc96bacd0d13167dfd9f01f7"
+ integrity sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==
+
"@esbuild/darwin-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.9.tgz#8a216c66dcf51addeeb843d8cfaeff712821d12b"
integrity sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==
+"@esbuild/darwin-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz#2b4a6cedb799f635758d7832d75b23772c8ef68f"
+ integrity sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==
+
"@esbuild/freebsd-arm64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.9.tgz#63d4f603e421252c3cd836b18d01545be7c6c440"
integrity sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==
+"@esbuild/freebsd-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz#a26266cc97dd78dc3c3f3d6788b1b83697b1055d"
+ integrity sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==
+
"@esbuild/freebsd-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.9.tgz#a3db52595be65360eae4de1d1fa3c1afd942e1e4"
integrity sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==
+"@esbuild/freebsd-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz#9feb8e826735c568ebfd94859b22a3fbb6a9bdd2"
+ integrity sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==
+
"@esbuild/linux-arm64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.9.tgz#4ae5811ce9f8d7df5eb9edd9765ea9401a534f13"
integrity sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==
+"@esbuild/linux-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz#c07cbed8e249f4c28e7f32781d36fc4695293d28"
+ integrity sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==
+
"@esbuild/linux-arm@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.9.tgz#9807e92cfd335f46326394805ad488e646e506f2"
integrity sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==
+"@esbuild/linux-arm@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz#d6e2cd8ef3196468065d41f13fa2a61aaa72644a"
+ integrity sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==
+
"@esbuild/linux-ia32@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.9.tgz#18892c10f3106652b16f9da88a0362dc95ed46c7"
integrity sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==
+"@esbuild/linux-ia32@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz#3e682bd47c4eddcc4b8f1393dfc8222482f17997"
+ integrity sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==
+
"@esbuild/linux-loong64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.9.tgz#dc2ebf9a125db0a1bba18c2bbfd4fbdcbcaf61c2"
integrity sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==
+"@esbuild/linux-loong64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz#473f5ea2e52399c08ad4cd6b12e6dbcddd630f05"
+ integrity sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==
+
"@esbuild/linux-mips64el@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.9.tgz#4c2f7c5d901015e3faf1563c4a89a50776cb07fd"
integrity sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==
+"@esbuild/linux-mips64el@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz#9960631c9fd61605b0939c19043acf4ef2b51718"
+ integrity sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==
+
"@esbuild/linux-ppc64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.9.tgz#8385332713b4e7812869622163784a5633f76fc4"
integrity sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==
+"@esbuild/linux-ppc64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz#477cbf8bb04aa034b94f362c32c86b5c31db8d3e"
+ integrity sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==
+
"@esbuild/linux-riscv64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.9.tgz#23f1db24fa761be311874f32036c06249aa20cba"
integrity sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==
+"@esbuild/linux-riscv64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz#bcdb46c8fb8e93aa779e9a0a62cd4ac00dcac626"
+ integrity sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==
+
"@esbuild/linux-s390x@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.9.tgz#2dffe497726b897c9f0109e774006e25b33b4fd0"
integrity sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==
+"@esbuild/linux-s390x@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz#f412cf5fdf0aea849ff51c73fd817c6c0234d46d"
+ integrity sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==
+
"@esbuild/linux-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.9.tgz#ceb1d62cd830724ff5b218e5d3172a8bad59420e"
integrity sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==
+"@esbuild/linux-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz#d8233c09b5ebc0c855712dc5eeb835a3a3341108"
+ integrity sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==
+
+"@esbuild/netbsd-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz#f51ae8dd1474172e73cf9cbaf8a38d1c72dd8f1a"
+ integrity sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==
+
"@esbuild/netbsd-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.9.tgz#0cbca65e9ef4d3fc41502d3e055e6f49479a8f18"
integrity sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==
+"@esbuild/netbsd-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz#a267538602c0e50a858cf41dcfe5d8036f8da8e7"
+ integrity sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==
+
+"@esbuild/openbsd-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz#a51be60c425b85c216479b8c344ad0511635f2d2"
+ integrity sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==
+
"@esbuild/openbsd-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.9.tgz#1f57adfbee09c743292c6758a3642e875bcad1cf"
integrity sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==
+"@esbuild/openbsd-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz#7e4a743c73f75562e29223ba69d0be6c9c9008da"
+ integrity sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==
+
+"@esbuild/openharmony-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz#2087a5028f387879154ebf44bdedfafa17682e5b"
+ integrity sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==
+
"@esbuild/sunos-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.9.tgz#116be6adbd2c7479edeeb5f6ea0441002ab4cb9c"
integrity sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==
+"@esbuild/sunos-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz#56531f861723ea0dc6283a2bb8837304223cb736"
+ integrity sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==
+
"@esbuild/win32-arm64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.9.tgz#2be22131ab18af4693fd737b161d1ef34de8ca9d"
integrity sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==
+"@esbuild/win32-arm64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz#f4989f033deac6fae323acff58764fa8bc01436e"
+ integrity sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==
+
"@esbuild/win32-ia32@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.9.tgz#e10ead5a55789b167b4225d2469324538768af7c"
integrity sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==
+"@esbuild/win32-ia32@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz#b260e9df71e3939eb33925076d39f63cec7d1525"
+ integrity sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==
+
"@esbuild/win32-x64@0.19.9":
version "0.19.9"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.9.tgz#b2da6219b603e3fa371a78f53f5361260d0c5585"
integrity sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==
+"@esbuild/win32-x64@0.25.6":
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz#4276edd5c105bc28b11c6a1f76fb9d29d1bd25c1"
+ integrity sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==
+
"@eslint/eslintrc@^1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318"
@@ -5452,66 +5582,166 @@
resolved "https://registry.yarnpkg.com/@react-native/polyfills/-/polyfills-1.0.0.tgz#05bb0031533598f9458cf65a502b8df0eecae780"
integrity sha512-0jbp4RxjYopTsIdLl+/Fy2TiwVYHy4mgeu07DG4b/LyM0OS/+lPP5c9sbnt/AMlnF6qz2JRZpPpGw1eMNS6A4w==
+"@rollup/rollup-android-arm-eabi@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz#8560592f0dcf43b8cb0949af9f1d916205148d12"
+ integrity sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==
+
"@rollup/rollup-android-arm-eabi@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.8.0.tgz#0e42b155630adaaec0f659f979ece4b7d3391329"
integrity sha512-zdTObFRoNENrdPpnTNnhOljYIcOX7aI7+7wyrSpPFFIOf/nRdedE6IYsjaBE7tjukphh1tMTojgJ7p3lKY8x6Q==
+"@rollup/rollup-android-arm64@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz#6bfb777bbce998691b6fd3e916b05cd46392d020"
+ integrity sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==
+
"@rollup/rollup-android-arm64@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.8.0.tgz#6c9fe8f9eb0cd9029be93b822b1a1c2d6b31c275"
integrity sha512-aiItwP48BiGpMFS9Znjo/xCNQVwTQVcRKkFKsO81m8exrGjHkCBDvm9PHay2kpa8RPnZzzKcD1iQ9KaLY4fPQQ==
+"@rollup/rollup-darwin-arm64@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz#7efce10220293a22e7b7b595d05d8b8400a7bcf3"
+ integrity sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==
+
"@rollup/rollup-darwin-arm64@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.8.0.tgz#7dcb1317a8089762c1f7e437c1e1d695b787b70f"
integrity sha512-zhNIS+L4ZYkYQUjIQUR6Zl0RXhbbA0huvNIWjmPc2SL0cB1h5Djkcy+RZ3/Bwszfb6vgwUvcVJYD6e6Zkpsi8g==
+"@rollup/rollup-darwin-x64@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz#c617a8ece21050bfbea299c126767d2e70cfa79a"
+ integrity sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==
+
"@rollup/rollup-darwin-x64@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.8.0.tgz#91d7d31d22607c4fcccce9126457d6785c57f7c7"
integrity sha512-A/FAHFRNQYrELrb/JHncRWzTTXB2ticiRFztP4ggIUAfa9Up1qfW8aG2w/mN9jNiZ+HB0t0u0jpJgFXG6BfRTA==
+"@rollup/rollup-freebsd-arm64@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz#5a6af0a9acf82162d2910933649ae24fc0ea3ecb"
+ integrity sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==
+
+"@rollup/rollup-freebsd-x64@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz#ae9709463560196fc275bd0da598668a2e341023"
+ integrity sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz#6ec52661764dbd54c19d6520a403aa385a5c0fbf"
+ integrity sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==
+
"@rollup/rollup-linux-arm-gnueabihf@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.8.0.tgz#f2015d6e4ff41417f2e2c55b3d9625346e355c57"
integrity sha512-JsidBnh3p2IJJA4/2xOF2puAYqbaczB3elZDT0qHxn362EIoIkq7hrR43Xa8RisgI6/WPfvb2umbGsuvf7E37A==
+"@rollup/rollup-linux-arm-musleabihf@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz#fd33ba4a43ef8419e96811236493d19436271923"
+ integrity sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==
+
+"@rollup/rollup-linux-arm64-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz#933b3d99b73c9d7bf4506cab0d5d313c7e74fd2d"
+ integrity sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==
+
"@rollup/rollup-linux-arm64-gnu@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.8.0.tgz#95207444b78f235c9de62797ec2a3dcd18daf473"
integrity sha512-hBNCnqw3EVCkaPB0Oqd24bv8SklETptQWcJz06kb9OtiShn9jK1VuTgi7o4zPSt6rNGWQOTDEAccbk0OqJmS+g==
+"@rollup/rollup-linux-arm64-musl@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz#dbe9ae24ee9e97b75662fddcb69eb7f23c89280a"
+ integrity sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==
+
"@rollup/rollup-linux-arm64-musl@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.8.0.tgz#bc994c676fd3aae14aaa905040fdcde461e41ce5"
integrity sha512-Fw9ChYfJPdltvi9ALJ9wzdCdxGw4wtq4t1qY028b2O7GwB5qLNSGtqMsAel1lfWTZvf4b6/+4HKp0GlSYg0ahA==
+"@rollup/rollup-linux-loongarch64-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz#818c5a071eec744436dbcdd76fe9c3c869dc9a8d"
+ integrity sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz#6b8591def27d886fa147fb0340126c7d6682a7e4"
+ integrity sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==
+
+"@rollup/rollup-linux-riscv64-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz#f1861ac4ee8da64e0b0d23853ff26fe2baa876cf"
+ integrity sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==
+
"@rollup/rollup-linux-riscv64-gnu@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.8.0.tgz#67984f1d1f663610f4e1f6e638a2b07169562448"
integrity sha512-BH5xIh7tOzS9yBi8dFrCTG8Z6iNIGWGltd3IpTSKp6+pNWWO6qy8eKoRxOtwFbMrid5NZaidLYN6rHh9aB8bEw==
+"@rollup/rollup-linux-riscv64-musl@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz#320c961401a923b374e358664527b188e374e1ae"
+ integrity sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==
+
+"@rollup/rollup-linux-s390x-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz#1763eed3362b50b6164d3f0947486c03cc7e616d"
+ integrity sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==
+
+"@rollup/rollup-linux-x64-gnu@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz#0d4c8d0b8f801902f0844a40a9d981a0179f4971"
+ integrity sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==
+
"@rollup/rollup-linux-x64-gnu@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.8.0.tgz#48e09a455d543be986003c7c2ea37c16ff4a53d5"
integrity sha512-PmvAj8k6EuWiyLbkNpd6BLv5XeYFpqWuRvRNRl80xVfpGXK/z6KYXmAgbI4ogz7uFiJxCnYcqyvZVD0dgFog7Q==
+"@rollup/rollup-linux-x64-musl@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz#ec30bb48b5fe22a3aaba98072f2d5b7139e1a8eb"
+ integrity sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==
+
"@rollup/rollup-linux-x64-musl@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.8.0.tgz#df8d0966b02d1bdc6447b5eb58fa18666da1f3e8"
integrity sha512-mdxnlW2QUzXwY+95TuxZ+CurrhgrPAMveDWI97EQlA9bfhR8tw3Pt7SUlc/eSlCNxlWktpmT//EAA8UfCHOyXg==
+"@rollup/rollup-win32-arm64-msvc@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz#27a6e48d1502e8e4bed96bedfb533738655874f2"
+ integrity sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==
+
"@rollup/rollup-win32-arm64-msvc@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.8.0.tgz#7cce8efc5c9239a1bafe7ac2a52743bc5734471f"
integrity sha512-ge7saUz38aesM4MA7Cad8CHo0Fyd1+qTaqoIo+Jtk+ipBi4ATSrHWov9/S4u5pbEQmLjgUjB7BJt+MiKG2kzmA==
+"@rollup/rollup-win32-ia32-msvc@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz#a2fbad3bec20ff879f3fd51720adf33692ca8f3d"
+ integrity sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==
+
"@rollup/rollup-win32-ia32-msvc@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.8.0.tgz#794ef4058d04f97447e4434c083b1309b2be73c2"
integrity sha512-p9E3PZlzurhlsN5h9g7zIP1DnqKXJe8ZUkFwAazqSvHuWfihlIISPxG9hCHCoA+dOOspL/c7ty1eeEVFTE0UTw==
+"@rollup/rollup-win32-x64-msvc@4.45.1":
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz#e5085c6d13da15b4c5133cd2a6bb11f25b6bb77a"
+ integrity sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==
+
"@rollup/rollup-win32-x64-msvc@4.8.0":
version "4.8.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.8.0.tgz#05057436705f0be9203c30612a48225ec70af741"
@@ -6327,6 +6557,11 @@
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
+"@types/estree@1.0.8":
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
+ integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
+
"@types/events@*":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86"
@@ -13871,6 +14106,38 @@ esbuild@^0.19.3, esbuild@^0.19.6:
"@esbuild/win32-ia32" "0.19.9"
"@esbuild/win32-x64" "0.19.9"
+esbuild@^0.25.0:
+ version "0.25.6"
+ resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.6.tgz#9b82a3db2fa131aec069ab040fd57ed0a880cdcd"
+ integrity sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.25.6"
+ "@esbuild/android-arm" "0.25.6"
+ "@esbuild/android-arm64" "0.25.6"
+ "@esbuild/android-x64" "0.25.6"
+ "@esbuild/darwin-arm64" "0.25.6"
+ "@esbuild/darwin-x64" "0.25.6"
+ "@esbuild/freebsd-arm64" "0.25.6"
+ "@esbuild/freebsd-x64" "0.25.6"
+ "@esbuild/linux-arm" "0.25.6"
+ "@esbuild/linux-arm64" "0.25.6"
+ "@esbuild/linux-ia32" "0.25.6"
+ "@esbuild/linux-loong64" "0.25.6"
+ "@esbuild/linux-mips64el" "0.25.6"
+ "@esbuild/linux-ppc64" "0.25.6"
+ "@esbuild/linux-riscv64" "0.25.6"
+ "@esbuild/linux-s390x" "0.25.6"
+ "@esbuild/linux-x64" "0.25.6"
+ "@esbuild/netbsd-arm64" "0.25.6"
+ "@esbuild/netbsd-x64" "0.25.6"
+ "@esbuild/openbsd-arm64" "0.25.6"
+ "@esbuild/openbsd-x64" "0.25.6"
+ "@esbuild/openharmony-arm64" "0.25.6"
+ "@esbuild/sunos-x64" "0.25.6"
+ "@esbuild/win32-arm64" "0.25.6"
+ "@esbuild/win32-ia32" "0.25.6"
+ "@esbuild/win32-x64" "0.25.6"
+
escalade@^3.0.2, escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
@@ -15120,6 +15387,11 @@ fd-slicer@~1.1.0:
dependencies:
pend "~1.2.0"
+fdir@^6.4.4, fdir@^6.4.6:
+ version "6.4.6"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281"
+ integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==
+
fetch-retry@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-4.1.1.tgz#fafe0bb22b54f4d0a9c788dff6dd7f8673ca63f3"
@@ -22419,6 +22691,11 @@ nanoid@^3.1.23, nanoid@^3.3.4, nanoid@^3.3.6, nanoid@^3.3.7:
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.8.tgz#b1be3030bee36aaff18bacb375e5cce521684baf"
integrity sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==
+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==
+
nanomatch@^1.2.9:
version "1.2.9"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2"
@@ -24246,11 +24523,21 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+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==
+
picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+picomatch@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042"
+ integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
+
pify@^2.0.0, pify@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -25252,6 +25539,15 @@ postcss@^8.1.10, postcss@^8.2.4, postcss@^8.3.11, postcss@^8.4.14, postcss@^8.4.
picocolors "^1.0.0"
source-map-js "^1.0.2"
+postcss@^8.5.6:
+ 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"
+
posthtml-parser@^0.10.0, posthtml-parser@^0.10.1:
version "0.10.2"
resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573"
@@ -27675,6 +27971,35 @@ rollup@^4.2.0:
"@rollup/rollup-win32-x64-msvc" "4.8.0"
fsevents "~2.3.2"
+rollup@^4.40.0:
+ version "4.45.1"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.45.1.tgz#d0ef72a8d0a9210d832f9c3c5f3b6a2aa4b0ba64"
+ integrity sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==
+ dependencies:
+ "@types/estree" "1.0.8"
+ optionalDependencies:
+ "@rollup/rollup-android-arm-eabi" "4.45.1"
+ "@rollup/rollup-android-arm64" "4.45.1"
+ "@rollup/rollup-darwin-arm64" "4.45.1"
+ "@rollup/rollup-darwin-x64" "4.45.1"
+ "@rollup/rollup-freebsd-arm64" "4.45.1"
+ "@rollup/rollup-freebsd-x64" "4.45.1"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.45.1"
+ "@rollup/rollup-linux-arm-musleabihf" "4.45.1"
+ "@rollup/rollup-linux-arm64-gnu" "4.45.1"
+ "@rollup/rollup-linux-arm64-musl" "4.45.1"
+ "@rollup/rollup-linux-loongarch64-gnu" "4.45.1"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.45.1"
+ "@rollup/rollup-linux-riscv64-gnu" "4.45.1"
+ "@rollup/rollup-linux-riscv64-musl" "4.45.1"
+ "@rollup/rollup-linux-s390x-gnu" "4.45.1"
+ "@rollup/rollup-linux-x64-gnu" "4.45.1"
+ "@rollup/rollup-linux-x64-musl" "4.45.1"
+ "@rollup/rollup-win32-arm64-msvc" "4.45.1"
+ "@rollup/rollup-win32-ia32-msvc" "4.45.1"
+ "@rollup/rollup-win32-x64-msvc" "4.45.1"
+ fsevents "~2.3.2"
+
router-ips@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/router-ips/-/router-ips-1.0.0.tgz#44e00858ebebc0133d58e40b2cd8a1fbb04203f5"
@@ -28724,6 +29049,11 @@ source-list-map@^2.0.0:
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+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-resolve@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
@@ -30365,6 +30695,14 @@ tinycolor2@^1.4.1:
resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"
integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==
+tinyglobby@^0.2.14:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d"
+ integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==
+ dependencies:
+ fdir "^6.4.4"
+ picomatch "^4.0.2"
+
title-case@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
@@ -30848,6 +31186,11 @@ typescript@5.5.2:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
+typescript@~5.8.3:
+ version "5.8.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.8.3.tgz#92f8a3e5e3cf497356f4178c34cd65a7f5e8440e"
+ integrity sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==
+
typical@^2.4.2, typical@^2.6.0, typical@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/typical/-/typical-2.6.1.tgz#5c080e5d661cbbe38259d2e70a3c7253e873881d"
@@ -31718,6 +32061,20 @@ vite@5.0.7, vite@^5.0.0:
optionalDependencies:
fsevents "~2.3.3"
+vite@^7.0.4:
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-7.0.5.tgz#deb2d3b777378f6d3e47c3d41b59f3c93f485738"
+ integrity sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==
+ dependencies:
+ esbuild "^0.25.0"
+ fdir "^6.4.6"
+ picomatch "^4.0.2"
+ postcss "^8.5.6"
+ rollup "^4.40.0"
+ tinyglobby "^0.2.14"
+ optionalDependencies:
+ fsevents "~2.3.3"
+
vitefu@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969"