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 + + +
+

+ Autocomplete +

+

+ using + + InstantSearch.js + +

+
+ +
+
+
+
+
+ +
+ +
+ + +
+
+
+ + + 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: 'name' })} +

+

${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` +
+
+
+ +

${item.name}

+
+ See product +
+
+ `, + 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 = ` +
+ + ${submitButton ? mergedTemplates.submit : ''} + ${resetButton ? mergedTemplates.reset : ''} +
+ `; + + 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"