mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-05-24 11:31:24 +08:00
Update
This commit is contained in:
1
node_modules/.bin/esbuild
generated
vendored
Symbolic link
1
node_modules/.bin/esbuild
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../esbuild/bin/esbuild
|
||||
1
node_modules/.bin/loose-envify
generated
vendored
Symbolic link
1
node_modules/.bin/loose-envify
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../loose-envify/cli.js
|
||||
1
node_modules/.bin/nanoid
generated
vendored
Symbolic link
1
node_modules/.bin/nanoid
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../nanoid/bin/nanoid.cjs
|
||||
1
node_modules/.bin/parser
generated
vendored
Symbolic link
1
node_modules/.bin/parser
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../@babel/parser/bin/babel-parser.js
|
||||
1
node_modules/.bin/resolve
generated
vendored
Symbolic link
1
node_modules/.bin/resolve
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../resolve/bin/resolve
|
||||
1
node_modules/.bin/rollup
generated
vendored
Symbolic link
1
node_modules/.bin/rollup
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../rollup/dist/bin/rollup
|
||||
1
node_modules/.bin/vite
generated
vendored
Symbolic link
1
node_modules/.bin/vite
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../vite/bin/vite.js
|
||||
1
node_modules/.bin/vitepress
generated
vendored
Symbolic link
1
node_modules/.bin/vitepress
generated
vendored
Symbolic link
@@ -0,0 +1 @@
|
||||
../vitepress/bin/vitepress.js
|
||||
767
node_modules/.package-lock.json
generated
vendored
Normal file
767
node_modules/.package-lock.json
generated
vendored
Normal file
@@ -0,0 +1,767 @@
|
||||
{
|
||||
"name": "oneclickvirt.github.io",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"node_modules/@algolia/autocomplete-core": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz",
|
||||
"integrity": "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/autocomplete-shared": "1.5.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/autocomplete-preset-algolia": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz",
|
||||
"integrity": "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/autocomplete-shared": "1.5.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@algolia/client-search": "^4.9.1",
|
||||
"algoliasearch": "^4.9.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/autocomplete-shared": {
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz",
|
||||
"integrity": "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@algolia/cache-browser-local-storage": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.13.0.tgz",
|
||||
"integrity": "sha512-nj1vHRZauTqP/bluwkRIgEADEimqojJgoTRCel5f6q8WCa9Y8QeI4bpDQP28FoeKnDRYa3J5CauDlN466jqRhg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/cache-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/cache-common": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.13.0.tgz",
|
||||
"integrity": "sha512-f9mdZjskCui/dA/fA/5a+6hZ7xnHaaZI5tM/Rw9X8rRB39SUlF/+o3P47onZ33n/AwkpSbi5QOyhs16wHd55kA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@algolia/cache-in-memory": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.13.0.tgz",
|
||||
"integrity": "sha512-hHdc+ahPiMM92CQMljmObE75laYzNFYLrNOu0Q3/eyvubZZRtY2SUsEEgyUEyzXruNdzrkcDxFYa7YpWBJYHAg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/cache-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/client-account": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.13.0.tgz",
|
||||
"integrity": "sha512-FzFqFt9b0g/LKszBDoEsW+dVBuUe1K3scp2Yf7q6pgHWM1WqyqUlARwVpLxqyc+LoyJkTxQftOKjyFUqddnPKA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "4.13.0",
|
||||
"@algolia/client-search": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/client-analytics": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.13.0.tgz",
|
||||
"integrity": "sha512-klmnoq2FIiiMHImkzOm+cGxqRLLu9CMHqFhbgSy9wtXZrqb8BBUIUE2VyBe7azzv1wKcxZV2RUyNOMpFqmnRZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "4.13.0",
|
||||
"@algolia/client-search": "4.13.0",
|
||||
"@algolia/requester-common": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/client-common": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.13.0.tgz",
|
||||
"integrity": "sha512-GoXfTp0kVcbgfSXOjfrxx+slSipMqGO9WnNWgeMmru5Ra09MDjrcdunsiiuzF0wua6INbIpBQFTC2Mi5lUNqGA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/requester-common": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/client-personalization": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.13.0.tgz",
|
||||
"integrity": "sha512-KneLz2WaehJmNfdr5yt2HQETpLaCYagRdWwIwkTqRVFCv4DxRQ2ChPVW9jeTj4YfAAhfzE6F8hn7wkQ/Jfj6ZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "4.13.0",
|
||||
"@algolia/requester-common": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/client-search": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.13.0.tgz",
|
||||
"integrity": "sha512-blgCKYbZh1NgJWzeGf+caKE32mo3j54NprOf0LZVCubQb3Kx37tk1Hc8SDs9bCAE8hUvf3cazMPIg7wscSxspA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/client-common": "4.13.0",
|
||||
"@algolia/requester-common": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/logger-common": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.13.0.tgz",
|
||||
"integrity": "sha512-8yqXk7rMtmQJ9wZiHOt/6d4/JDEg5VCk83gJ39I+X/pwUPzIsbKy9QiK4uJ3aJELKyoIiDT1hpYVt+5ia+94IA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@algolia/logger-console": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.13.0.tgz",
|
||||
"integrity": "sha512-YepRg7w2/87L0vSXRfMND6VJ5d6699sFJBRWzZPOlek2p5fLxxK7O0VncYuc/IbVHEgeApvgXx0WgCEa38GVuQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/logger-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/requester-browser-xhr": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.13.0.tgz",
|
||||
"integrity": "sha512-Dj+bnoWR5MotrnjblzGKZ2kCdQi2cK/VzPURPnE616NU/il7Ypy6U6DLGZ/ZYz+tnwPa0yypNf21uqt84fOgrg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/requester-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/requester-common": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.13.0.tgz",
|
||||
"integrity": "sha512-BRTDj53ecK+gn7ugukDWOOcBRul59C4NblCHqj4Zm5msd5UnHFjd/sGX+RLOEoFMhetILAnmg6wMrRrQVac9vw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@algolia/requester-node-http": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.13.0.tgz",
|
||||
"integrity": "sha512-9b+3O4QFU4azLhGMrZAr/uZPydvzOR4aEZfSL8ZrpLZ7fbbqTO0S/5EVko+QIgglRAtVwxvf8UJ1wzTD2jvKxQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/requester-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@algolia/transporter": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.13.0.tgz",
|
||||
"integrity": "sha512-8tSQYE+ykQENAdeZdofvtkOr5uJ9VcQSWgRhQ9h01AehtBIPAczk/b2CLrMsw5yQZziLs5cZ3pJ3478yI+urhA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/cache-common": "4.13.0",
|
||||
"@algolia/logger-common": "4.13.0",
|
||||
"@algolia/requester-common": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.17.12",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.12.tgz",
|
||||
"integrity": "sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@docsearch/css": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0.tgz",
|
||||
"integrity": "sha512-1kkV7tkAsiuEd0shunYRByKJe3xQDG2q7wYg24SOw1nV9/2lwEd4WrUYRJC/ukGTl2/kHeFxsaUvtiOy0y6fFA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@docsearch/js": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.0.0.tgz",
|
||||
"integrity": "sha512-j3tUJWlgW3slYqzGB8fm7y05kh2qqrIK1dZOXHeMUm/5gdKE85fiz/ltfCPMDFb/MXF+bLZChJXSMzqY0Ck30Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@docsearch/react": "3.0.0",
|
||||
"preact": "^10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@docsearch/react": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0.tgz",
|
||||
"integrity": "sha512-yhMacqS6TVQYoBh/o603zszIb5Bl8MIXuOc6Vy617I74pirisDzzcNh0NEaYQt50fVVR3khUbeEhUEWEWipESg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/autocomplete-core": "1.5.2",
|
||||
"@algolia/autocomplete-preset-algolia": "1.5.2",
|
||||
"@docsearch/css": "3.0.0",
|
||||
"algoliasearch": "^4.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/react": ">= 16.8.0 < 18.0.0",
|
||||
"react": ">= 16.8.0 < 18.0.0",
|
||||
"react-dom": ">= 16.8.0 < 18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/prop-types": {
|
||||
"version": "15.7.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
|
||||
"integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@types/react": {
|
||||
"version": "17.0.45",
|
||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.45.tgz",
|
||||
"integrity": "sha512-YfhQ22Lah2e3CHPsb93tRwIGNiSwkuz1/blk4e6QrWS0jQzCSNbGLtOEYhPg02W0yGTTmpajp7dCTbBAMN3qsg==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"@types/prop-types": "*",
|
||||
"@types/scheduler": "*",
|
||||
"csstype": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/scheduler": {
|
||||
"version": "0.16.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
|
||||
"integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/@vitejs/plugin-vue": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
|
||||
"integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vite": "^2.5.10",
|
||||
"vue": "^3.2.25"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-core": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.33.tgz",
|
||||
"integrity": "sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.16.4",
|
||||
"@vue/shared": "3.2.33",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map": "^0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-dom": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.33.tgz",
|
||||
"integrity": "sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-core": "3.2.33",
|
||||
"@vue/shared": "3.2.33"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-sfc": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.33.tgz",
|
||||
"integrity": "sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.16.4",
|
||||
"@vue/compiler-core": "3.2.33",
|
||||
"@vue/compiler-dom": "3.2.33",
|
||||
"@vue/compiler-ssr": "3.2.33",
|
||||
"@vue/reactivity-transform": "3.2.33",
|
||||
"@vue/shared": "3.2.33",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.25.7",
|
||||
"postcss": "^8.1.10",
|
||||
"source-map": "^0.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-ssr": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.33.tgz",
|
||||
"integrity": "sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.2.33",
|
||||
"@vue/shared": "3.2.33"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.33.tgz",
|
||||
"integrity": "sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.2.33"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/reactivity-transform": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.33.tgz",
|
||||
"integrity": "sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.16.4",
|
||||
"@vue/compiler-core": "3.2.33",
|
||||
"@vue/shared": "3.2.33",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.25.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-core": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.33.tgz",
|
||||
"integrity": "sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.2.33",
|
||||
"@vue/shared": "3.2.33"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.33.tgz",
|
||||
"integrity": "sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/runtime-core": "3.2.33",
|
||||
"@vue/shared": "3.2.33",
|
||||
"csstype": "^2.6.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom/node_modules/csstype": {
|
||||
"version": "2.6.20",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
|
||||
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@vue/server-renderer": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.33.tgz",
|
||||
"integrity": "sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.2.33",
|
||||
"@vue/shared": "3.2.33"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "3.2.33"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.33.tgz",
|
||||
"integrity": "sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/algoliasearch": {
|
||||
"version": "4.13.0",
|
||||
"resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.13.0.tgz",
|
||||
"integrity": "sha512-oHv4faI1Vl2s+YC0YquwkK/TsaJs79g2JFg5FDm2rKN12VItPTAeQ7hyJMHarOPPYuCnNC5kixbtcqvb21wchw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@algolia/cache-browser-local-storage": "4.13.0",
|
||||
"@algolia/cache-common": "4.13.0",
|
||||
"@algolia/cache-in-memory": "4.13.0",
|
||||
"@algolia/client-account": "4.13.0",
|
||||
"@algolia/client-analytics": "4.13.0",
|
||||
"@algolia/client-common": "4.13.0",
|
||||
"@algolia/client-personalization": "4.13.0",
|
||||
"@algolia/client-search": "4.13.0",
|
||||
"@algolia/logger-common": "4.13.0",
|
||||
"@algolia/logger-console": "4.13.0",
|
||||
"@algolia/requester-browser-xhr": "4.13.0",
|
||||
"@algolia/requester-common": "4.13.0",
|
||||
"@algolia/requester-node-http": "4.13.0",
|
||||
"@algolia/transporter": "4.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/csstype": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.0.tgz",
|
||||
"integrity": "sha512-uX1KG+x9h5hIJsaKR9xHUeUraxf8IODOwq9JLNPq6BwB04a/xgpq3rcx47l5BZu5zBPlgD342tdke3Hom/nJRA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/esbuild": {
|
||||
"version": "0.14.39",
|
||||
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.39.tgz",
|
||||
"integrity": "sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"bin": {
|
||||
"esbuild": "bin/esbuild"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"esbuild-android-64": "0.14.39",
|
||||
"esbuild-android-arm64": "0.14.39",
|
||||
"esbuild-darwin-64": "0.14.39",
|
||||
"esbuild-darwin-arm64": "0.14.39",
|
||||
"esbuild-freebsd-64": "0.14.39",
|
||||
"esbuild-freebsd-arm64": "0.14.39",
|
||||
"esbuild-linux-32": "0.14.39",
|
||||
"esbuild-linux-64": "0.14.39",
|
||||
"esbuild-linux-arm": "0.14.39",
|
||||
"esbuild-linux-arm64": "0.14.39",
|
||||
"esbuild-linux-mips64le": "0.14.39",
|
||||
"esbuild-linux-ppc64le": "0.14.39",
|
||||
"esbuild-linux-riscv64": "0.14.39",
|
||||
"esbuild-linux-s390x": "0.14.39",
|
||||
"esbuild-netbsd-64": "0.14.39",
|
||||
"esbuild-openbsd-64": "0.14.39",
|
||||
"esbuild-sunos-64": "0.14.39",
|
||||
"esbuild-windows-32": "0.14.39",
|
||||
"esbuild-windows-64": "0.14.39",
|
||||
"esbuild-windows-arm64": "0.14.39"
|
||||
}
|
||||
},
|
||||
"node_modules/esbuild-linux-64": {
|
||||
"version": "0.14.39",
|
||||
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.39.tgz",
|
||||
"integrity": "sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/estree-walker": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
|
||||
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.9.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
|
||||
"integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"has": "^1.0.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
},
|
||||
"node_modules/loose-envify": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"loose-envify": "cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/magic-string": {
|
||||
"version": "0.25.9",
|
||||
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
|
||||
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"sourcemap-codec": "^1.4.8"
|
||||
}
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.13",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz",
|
||||
"integrity": "sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.3",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
}
|
||||
},
|
||||
"node_modules/preact": {
|
||||
"version": "10.7.2",
|
||||
"resolved": "https://registry.npmjs.org/preact/-/preact-10.7.2.tgz",
|
||||
"integrity": "sha512-GLjn0I3r6ka+NvxJUppsVFqb4V0qDTEHT/QxHlidPuClGaxF/4AI2Qti4a0cv3XMh5n1+D3hLScW10LRIm5msQ==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/preact"
|
||||
}
|
||||
},
|
||||
"node_modules/prismjs": {
|
||||
"version": "1.28.0",
|
||||
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.28.0.tgz",
|
||||
"integrity": "sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/react": {
|
||||
"version": "17.0.2",
|
||||
"resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
|
||||
"integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-dom": {
|
||||
"version": "17.0.2",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
|
||||
"integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1",
|
||||
"scheduler": "^0.20.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "17.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.22.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
|
||||
"integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"is-core-module": "^2.8.1",
|
||||
"path-parse": "^1.0.7",
|
||||
"supports-preserve-symlinks-flag": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"resolve": "bin/resolve"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/rollup": {
|
||||
"version": "2.73.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-2.73.0.tgz",
|
||||
"integrity": "sha512-h/UngC3S4Zt28mB3g0+2YCMegT5yoftnQplwzPqGZcKvlld5e+kT/QRmJiL+qxGyZKOYpgirWGdLyEO1b0dpLQ==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"rollup": "dist/bin/rollup"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/scheduler": {
|
||||
"version": "0.20.2",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
|
||||
"integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"loose-envify": "^1.1.0",
|
||||
"object-assign": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sourcemap-codec": {
|
||||
"version": "1.4.8",
|
||||
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
||||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/supports-preserve-symlinks-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "2.9.9",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-2.9.9.tgz",
|
||||
"integrity": "sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"esbuild": "^0.14.27",
|
||||
"postcss": "^8.4.13",
|
||||
"resolve": "^1.22.0",
|
||||
"rollup": "^2.59.0"
|
||||
},
|
||||
"bin": {
|
||||
"vite": "bin/vite.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.2.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "~2.3.2"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"less": "*",
|
||||
"sass": "*",
|
||||
"stylus": "*"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"less": {
|
||||
"optional": true
|
||||
},
|
||||
"sass": {
|
||||
"optional": true
|
||||
},
|
||||
"stylus": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/vitepress": {
|
||||
"version": "0.22.4",
|
||||
"resolved": "https://registry.npmjs.org/vitepress/-/vitepress-0.22.4.tgz",
|
||||
"integrity": "sha512-oZUnLO/SpYdThaBKefDeOiVlr0Rie4Ppx3FzMnMyLtJnI5GlBMNjqYqMy/4+umm/iC+ZDJfI+IlDKxv5fZnYzA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@docsearch/css": "^3.0.0",
|
||||
"@docsearch/js": "^3.0.0",
|
||||
"@vitejs/plugin-vue": "^2.3.2",
|
||||
"prismjs": "^1.25.0",
|
||||
"vite": "^2.9.7",
|
||||
"vue": "^3.2.33"
|
||||
},
|
||||
"bin": {
|
||||
"vitepress": "bin/vitepress.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.2.33",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-3.2.33.tgz",
|
||||
"integrity": "sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.2.33",
|
||||
"@vue/compiler-sfc": "3.2.33",
|
||||
"@vue/runtime-dom": "3.2.33",
|
||||
"@vue/server-renderer": "3.2.33",
|
||||
"@vue/shared": "3.2.33"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
17
node_modules/@algolia/autocomplete-core/README.md
generated
vendored
Normal file
17
node_modules/@algolia/autocomplete-core/README.md
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# @algolia/autocomplete-core
|
||||
|
||||
The [`autocomplete-core`](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-core/createAutocomplete) package is the foundation of Autocomplete. It exposes primitives to build an autocomplete experience.
|
||||
|
||||
You likely don’t need to use this package directly unless you’re building a [renderer](https://www.algolia.com/doc/ui-libraries/autocomplete/guides/creating-a-renderer).
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
yarn add @algolia/autocomplete-core
|
||||
# or
|
||||
npm install @algolia/autocomplete-core
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
See [**Documentation**](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-core).
|
||||
2
node_modules/@algolia/autocomplete-core/dist/esm/checkOptions.d.ts
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-core/dist/esm/checkOptions.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { AutocompleteOptions, BaseItem } from './types';
|
||||
export declare function checkOptions<TItem extends BaseItem>(options: AutocompleteOptions<TItem>): void;
|
||||
4
node_modules/@algolia/autocomplete-core/dist/esm/checkOptions.js
generated
vendored
Normal file
4
node_modules/@algolia/autocomplete-core/dist/esm/checkOptions.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { warn } from '@algolia/autocomplete-shared';
|
||||
export function checkOptions(options) {
|
||||
process.env.NODE_ENV !== 'production' ? warn(!options.debug, 'The `debug` option is meant for development debugging and should not be used in production.') : void 0;
|
||||
}
|
||||
8
node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.d.ts
generated
vendored
Normal file
8
node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AutocompleteApi, AutocompleteOptions as AutocompleteCoreOptions, BaseItem } from './types';
|
||||
export interface AutocompleteOptionsWithMetadata<TItem extends BaseItem> extends AutocompleteCoreOptions<TItem> {
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
__autocomplete_metadata?: Record<string, unknown>;
|
||||
}
|
||||
export declare function createAutocomplete<TItem extends BaseItem, TEvent = Event, TMouseEvent = MouseEvent, TKeyboardEvent = KeyboardEvent>(options: AutocompleteOptionsWithMetadata<TItem>): AutocompleteApi<TItem, TEvent, TMouseEvent, TKeyboardEvent>;
|
||||
79
node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js
generated
vendored
Normal file
79
node_modules/@algolia/autocomplete-core/dist/esm/createAutocomplete.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { checkOptions } from './checkOptions';
|
||||
import { createStore } from './createStore';
|
||||
import { getAutocompleteSetters } from './getAutocompleteSetters';
|
||||
import { getDefaultProps } from './getDefaultProps';
|
||||
import { getPropGetters } from './getPropGetters';
|
||||
import { getMetadata, injectMetadata } from './metadata';
|
||||
import { onInput } from './onInput';
|
||||
import { stateReducer } from './stateReducer';
|
||||
export function createAutocomplete(options) {
|
||||
checkOptions(options);
|
||||
var subscribers = [];
|
||||
var props = getDefaultProps(options, subscribers);
|
||||
var store = createStore(stateReducer, props, onStoreStateChange);
|
||||
var setters = getAutocompleteSetters({
|
||||
store: store
|
||||
});
|
||||
var propGetters = getPropGetters(_objectSpread({
|
||||
props: props,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
|
||||
function onStoreStateChange(_ref) {
|
||||
var prevState = _ref.prevState,
|
||||
state = _ref.state;
|
||||
props.onStateChange(_objectSpread({
|
||||
prevState: prevState,
|
||||
state: state,
|
||||
refresh: refresh
|
||||
}, setters));
|
||||
}
|
||||
|
||||
function refresh() {
|
||||
return onInput(_objectSpread({
|
||||
event: new Event('input'),
|
||||
nextState: {
|
||||
isOpen: store.getState().isOpen
|
||||
},
|
||||
props: props,
|
||||
query: store.getState().query,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
}
|
||||
|
||||
props.plugins.forEach(function (plugin) {
|
||||
var _plugin$subscribe;
|
||||
|
||||
return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {
|
||||
refresh: refresh,
|
||||
onSelect: function onSelect(fn) {
|
||||
subscribers.push({
|
||||
onSelect: fn
|
||||
});
|
||||
},
|
||||
onActive: function onActive(fn) {
|
||||
subscribers.push({
|
||||
onActive: fn
|
||||
});
|
||||
}
|
||||
}));
|
||||
});
|
||||
injectMetadata({
|
||||
metadata: getMetadata({
|
||||
plugins: props.plugins,
|
||||
options: options
|
||||
}),
|
||||
environment: props.environment
|
||||
});
|
||||
return _objectSpread(_objectSpread({
|
||||
refresh: refresh
|
||||
}, propGetters), setters);
|
||||
}
|
||||
7
node_modules/@algolia/autocomplete-core/dist/esm/createStore.d.ts
generated
vendored
Normal file
7
node_modules/@algolia/autocomplete-core/dist/esm/createStore.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { AutocompleteState, AutocompleteStore, BaseItem, InternalAutocompleteOptions, Reducer } from './types';
|
||||
declare type OnStoreStateChange<TItem extends BaseItem> = ({ prevState, state, }: {
|
||||
prevState: AutocompleteState<TItem>;
|
||||
state: AutocompleteState<TItem>;
|
||||
}) => void;
|
||||
export declare function createStore<TItem extends BaseItem>(reducer: Reducer, props: InternalAutocompleteOptions<TItem>, onStoreStateChange: OnStoreStateChange<TItem>): AutocompleteStore<TItem>;
|
||||
export {};
|
||||
29
node_modules/@algolia/autocomplete-core/dist/esm/createStore.js
generated
vendored
Normal file
29
node_modules/@algolia/autocomplete-core/dist/esm/createStore.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { createCancelablePromiseList } from './utils';
|
||||
export function createStore(reducer, props, onStoreStateChange) {
|
||||
var state = props.initialState;
|
||||
return {
|
||||
getState: function getState() {
|
||||
return state;
|
||||
},
|
||||
dispatch: function dispatch(action, payload) {
|
||||
var prevState = _objectSpread({}, state);
|
||||
|
||||
state = reducer(state, {
|
||||
type: action,
|
||||
props: props,
|
||||
payload: payload
|
||||
});
|
||||
onStoreStateChange({
|
||||
state: state,
|
||||
prevState: prevState
|
||||
});
|
||||
},
|
||||
pendingRequests: createCancelablePromiseList()
|
||||
};
|
||||
}
|
||||
13
node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.d.ts
generated
vendored
Normal file
13
node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import { AutocompleteCollection, AutocompleteStore, BaseItem } from './types';
|
||||
interface GetAutocompleteSettersOptions<TItem extends BaseItem> {
|
||||
store: AutocompleteStore<TItem>;
|
||||
}
|
||||
export declare function getAutocompleteSetters<TItem extends BaseItem>({ store, }: GetAutocompleteSettersOptions<TItem>): {
|
||||
setActiveItemId: import("./types").StateUpdater<number | null>;
|
||||
setQuery: import("./types").StateUpdater<string>;
|
||||
setCollections: import("./types").StateUpdater<(AutocompleteCollection<TItem> | import("./types").AutocompleteCollectionItemsArray<TItem>)[]>;
|
||||
setIsOpen: import("./types").StateUpdater<boolean>;
|
||||
setStatus: import("./types").StateUpdater<"idle" | "loading" | "stalled" | "error">;
|
||||
setContext: import("./types").StateUpdater<import("./types").AutocompleteContext>;
|
||||
};
|
||||
export {};
|
||||
55
node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js
generated
vendored
Normal file
55
node_modules/@algolia/autocomplete-core/dist/esm/getAutocompleteSetters.js
generated
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { flatten } from '@algolia/autocomplete-shared';
|
||||
export function getAutocompleteSetters(_ref) {
|
||||
var store = _ref.store;
|
||||
|
||||
var setActiveItemId = function setActiveItemId(value) {
|
||||
store.dispatch('setActiveItemId', value);
|
||||
};
|
||||
|
||||
var setQuery = function setQuery(value) {
|
||||
store.dispatch('setQuery', value);
|
||||
};
|
||||
|
||||
var setCollections = function setCollections(rawValue) {
|
||||
var baseItemId = 0;
|
||||
var value = rawValue.map(function (collection) {
|
||||
return _objectSpread(_objectSpread({}, collection), {}, {
|
||||
// We flatten the stored items to support calling `getAlgoliaResults`
|
||||
// from the source itself.
|
||||
items: flatten(collection.items).map(function (item) {
|
||||
return _objectSpread(_objectSpread({}, item), {}, {
|
||||
__autocomplete_id: baseItemId++
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
store.dispatch('setCollections', value);
|
||||
};
|
||||
|
||||
var setIsOpen = function setIsOpen(value) {
|
||||
store.dispatch('setIsOpen', value);
|
||||
};
|
||||
|
||||
var setStatus = function setStatus(value) {
|
||||
store.dispatch('setStatus', value);
|
||||
};
|
||||
|
||||
var setContext = function setContext(value) {
|
||||
store.dispatch('setContext', value);
|
||||
};
|
||||
|
||||
return {
|
||||
setActiveItemId: setActiveItemId,
|
||||
setQuery: setQuery,
|
||||
setCollections: setCollections,
|
||||
setIsOpen: setIsOpen,
|
||||
setStatus: setStatus,
|
||||
setContext: setContext
|
||||
};
|
||||
}
|
||||
6
node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.d.ts
generated
vendored
Normal file
6
node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { AutocompleteState, BaseItem } from './types';
|
||||
interface GetCompletionProps<TItem extends BaseItem> {
|
||||
state: AutocompleteState<TItem>;
|
||||
}
|
||||
export declare function getCompletion<TItem extends BaseItem>({ state, }: GetCompletionProps<TItem>): string | null;
|
||||
export {};
|
||||
12
node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js
generated
vendored
Normal file
12
node_modules/@algolia/autocomplete-core/dist/esm/getCompletion.js
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import { getActiveItem } from './utils';
|
||||
export function getCompletion(_ref) {
|
||||
var _getActiveItem;
|
||||
|
||||
var state = _ref.state;
|
||||
|
||||
if (state.isOpen === false || state.activeItemId === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;
|
||||
}
|
||||
2
node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.d.ts
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { AutocompleteOptions, AutocompleteSubscribers, BaseItem, InternalAutocompleteOptions } from './types';
|
||||
export declare function getDefaultProps<TItem extends BaseItem>(props: AutocompleteOptions<TItem>, pluginSubscribers: AutocompleteSubscribers<TItem>): InternalAutocompleteOptions<TItem>;
|
||||
136
node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js
generated
vendored
Normal file
136
node_modules/@algolia/autocomplete-core/dist/esm/getDefaultProps.js
generated
vendored
Normal file
@@ -0,0 +1,136 @@
|
||||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
||||
|
||||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||
|
||||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
||||
|
||||
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
||||
|
||||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
||||
|
||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';
|
||||
import { getNormalizedSources } from './utils';
|
||||
export function getDefaultProps(props, pluginSubscribers) {
|
||||
var _props$id;
|
||||
|
||||
/* eslint-disable no-restricted-globals */
|
||||
var environment = typeof window !== 'undefined' ? window : {};
|
||||
/* eslint-enable no-restricted-globals */
|
||||
|
||||
var plugins = props.plugins || [];
|
||||
return _objectSpread(_objectSpread({
|
||||
debug: false,
|
||||
openOnFocus: false,
|
||||
placeholder: '',
|
||||
autoFocus: false,
|
||||
defaultActiveItemId: null,
|
||||
stallThreshold: 300,
|
||||
environment: environment,
|
||||
shouldPanelOpen: function shouldPanelOpen(_ref) {
|
||||
var state = _ref.state;
|
||||
return getItemsCount(state) > 0;
|
||||
},
|
||||
reshape: function reshape(_ref2) {
|
||||
var sources = _ref2.sources;
|
||||
return sources;
|
||||
}
|
||||
}, props), {}, {
|
||||
// Since `generateAutocompleteId` triggers a side effect (it increments
|
||||
// an internal counter), we don't want to execute it if unnecessary.
|
||||
id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : generateAutocompleteId(),
|
||||
plugins: plugins,
|
||||
// The following props need to be deeply defaulted.
|
||||
initialState: _objectSpread({
|
||||
activeItemId: null,
|
||||
query: '',
|
||||
completion: null,
|
||||
collections: [],
|
||||
isOpen: false,
|
||||
status: 'idle',
|
||||
context: {}
|
||||
}, props.initialState),
|
||||
onStateChange: function onStateChange(params) {
|
||||
var _props$onStateChange;
|
||||
|
||||
(_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);
|
||||
plugins.forEach(function (x) {
|
||||
var _x$onStateChange;
|
||||
|
||||
return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);
|
||||
});
|
||||
},
|
||||
onSubmit: function onSubmit(params) {
|
||||
var _props$onSubmit;
|
||||
|
||||
(_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);
|
||||
plugins.forEach(function (x) {
|
||||
var _x$onSubmit;
|
||||
|
||||
return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);
|
||||
});
|
||||
},
|
||||
onReset: function onReset(params) {
|
||||
var _props$onReset;
|
||||
|
||||
(_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);
|
||||
plugins.forEach(function (x) {
|
||||
var _x$onReset;
|
||||
|
||||
return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);
|
||||
});
|
||||
},
|
||||
getSources: function getSources(params) {
|
||||
return Promise.all([].concat(_toConsumableArray(plugins.map(function (plugin) {
|
||||
return plugin.getSources;
|
||||
})), [props.getSources]).filter(Boolean).map(function (getSources) {
|
||||
return getNormalizedSources(getSources, params);
|
||||
})).then(function (nested) {
|
||||
return flatten(nested);
|
||||
}).then(function (sources) {
|
||||
return sources.map(function (source) {
|
||||
return _objectSpread(_objectSpread({}, source), {}, {
|
||||
onSelect: function onSelect(params) {
|
||||
source.onSelect(params);
|
||||
pluginSubscribers.forEach(function (x) {
|
||||
var _x$onSelect;
|
||||
|
||||
return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);
|
||||
});
|
||||
},
|
||||
onActive: function onActive(params) {
|
||||
source.onActive(params);
|
||||
pluginSubscribers.forEach(function (x) {
|
||||
var _x$onActive;
|
||||
|
||||
return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
navigator: _objectSpread({
|
||||
navigate: function navigate(_ref3) {
|
||||
var itemUrl = _ref3.itemUrl;
|
||||
environment.location.assign(itemUrl);
|
||||
},
|
||||
navigateNewTab: function navigateNewTab(_ref4) {
|
||||
var itemUrl = _ref4.itemUrl;
|
||||
var windowReference = environment.open(itemUrl, '_blank', 'noopener');
|
||||
windowReference === null || windowReference === void 0 ? void 0 : windowReference.focus();
|
||||
},
|
||||
navigateNewWindow: function navigateNewWindow(_ref5) {
|
||||
var itemUrl = _ref5.itemUrl;
|
||||
environment.open(itemUrl, '_blank', 'noopener');
|
||||
}
|
||||
}, props.navigator)
|
||||
});
|
||||
}
|
||||
16
node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.d.ts
generated
vendored
Normal file
16
node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.d.ts
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
import { AutocompleteScopeApi, AutocompleteStore, BaseItem, GetEnvironmentProps, GetFormProps, GetInputProps, GetItemProps, GetLabelProps, GetListProps, GetPanelProps, GetRootProps, InternalAutocompleteOptions } from './types';
|
||||
interface GetPropGettersOptions<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
store: AutocompleteStore<TItem>;
|
||||
props: InternalAutocompleteOptions<TItem>;
|
||||
}
|
||||
export declare function getPropGetters<TItem extends BaseItem, TEvent, TMouseEvent, TKeyboardEvent>({ props, refresh, store, ...setters }: GetPropGettersOptions<TItem>): {
|
||||
getEnvironmentProps: GetEnvironmentProps;
|
||||
getRootProps: GetRootProps;
|
||||
getFormProps: GetFormProps<TEvent>;
|
||||
getLabelProps: GetLabelProps;
|
||||
getInputProps: GetInputProps<TEvent, TMouseEvent, TKeyboardEvent>;
|
||||
getPanelProps: GetPanelProps<TMouseEvent>;
|
||||
getListProps: GetListProps;
|
||||
getItemProps: GetItemProps<any, TMouseEvent>;
|
||||
};
|
||||
export {};
|
||||
333
node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js
generated
vendored
Normal file
333
node_modules/@algolia/autocomplete-core/dist/esm/getPropGetters.js
generated
vendored
Normal file
@@ -0,0 +1,333 @@
|
||||
var _excluded = ["props", "refresh", "store"],
|
||||
_excluded2 = ["inputElement", "formElement", "panelElement"],
|
||||
_excluded3 = ["inputElement"],
|
||||
_excluded4 = ["inputElement", "maxLength"],
|
||||
_excluded5 = ["item", "source"];
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
import { onInput } from './onInput';
|
||||
import { onKeyDown as _onKeyDown } from './onKeyDown';
|
||||
import { getActiveItem, isOrContainsNode } from './utils';
|
||||
export function getPropGetters(_ref) {
|
||||
var props = _ref.props,
|
||||
refresh = _ref.refresh,
|
||||
store = _ref.store,
|
||||
setters = _objectWithoutProperties(_ref, _excluded);
|
||||
|
||||
var getEnvironmentProps = function getEnvironmentProps(providedProps) {
|
||||
var inputElement = providedProps.inputElement,
|
||||
formElement = providedProps.formElement,
|
||||
panelElement = providedProps.panelElement,
|
||||
rest = _objectWithoutProperties(providedProps, _excluded2);
|
||||
|
||||
return _objectSpread({
|
||||
// On touch devices, we do not rely on the native `blur` event of the
|
||||
// input to close the panel, but rather on a custom `touchstart` event
|
||||
// outside of the autocomplete elements.
|
||||
// This ensures a working experience on mobile because we blur the input
|
||||
// on touch devices when the user starts scrolling (`touchmove`).
|
||||
// @TODO: support cases where there are multiple Autocomplete instances.
|
||||
// Right now, a second instance makes this computation return false.
|
||||
onTouchStart: function onTouchStart(event) {
|
||||
// The `onTouchStart` event shouldn't trigger the `blur` handler when
|
||||
// it's not an interaction with Autocomplete. We detect it with the
|
||||
// following heuristics:
|
||||
// - the panel is closed AND there are no pending requests
|
||||
// (no interaction with the autocomplete, no future state updates)
|
||||
// - OR the touched target is the input element (should open the panel)
|
||||
var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();
|
||||
|
||||
if (!isAutocompleteInteraction || event.target === inputElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {
|
||||
return isOrContainsNode(contextNode, event.target);
|
||||
});
|
||||
|
||||
if (isTargetWithinAutocomplete === false) {
|
||||
store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they
|
||||
// could reopen the panel once they resolve.
|
||||
// We want to prevent any subsequent query from reopening the panel
|
||||
// because it would result in an unsolicited UI behavior.
|
||||
|
||||
if (!props.debug) {
|
||||
store.pendingRequests.cancelAll();
|
||||
}
|
||||
}
|
||||
},
|
||||
// When scrolling on touch devices (mobiles, tablets, etc.), we want to
|
||||
// mimic the native platform behavior where the input is blurred to
|
||||
// hide the virtual keyboard. This gives more vertical space to
|
||||
// discover all the suggestions showing up in the panel.
|
||||
onTouchMove: function onTouchMove(event) {
|
||||
if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
inputElement.blur();
|
||||
}
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getRootProps = function getRootProps(rest) {
|
||||
return _objectSpread({
|
||||
role: 'combobox',
|
||||
'aria-expanded': store.getState().isOpen,
|
||||
'aria-haspopup': 'listbox',
|
||||
'aria-owns': store.getState().isOpen ? "".concat(props.id, "-list") : undefined,
|
||||
'aria-labelledby': "".concat(props.id, "-label")
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getFormProps = function getFormProps(providedProps) {
|
||||
var inputElement = providedProps.inputElement,
|
||||
rest = _objectWithoutProperties(providedProps, _excluded3);
|
||||
|
||||
return _objectSpread({
|
||||
action: '',
|
||||
noValidate: true,
|
||||
role: 'search',
|
||||
onSubmit: function onSubmit(event) {
|
||||
var _providedProps$inputE;
|
||||
|
||||
event.preventDefault();
|
||||
props.onSubmit(_objectSpread({
|
||||
event: event,
|
||||
refresh: refresh,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
store.dispatch('submit', null);
|
||||
(_providedProps$inputE = providedProps.inputElement) === null || _providedProps$inputE === void 0 ? void 0 : _providedProps$inputE.blur();
|
||||
},
|
||||
onReset: function onReset(event) {
|
||||
var _providedProps$inputE2;
|
||||
|
||||
event.preventDefault();
|
||||
props.onReset(_objectSpread({
|
||||
event: event,
|
||||
refresh: refresh,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
store.dispatch('reset', null);
|
||||
(_providedProps$inputE2 = providedProps.inputElement) === null || _providedProps$inputE2 === void 0 ? void 0 : _providedProps$inputE2.focus();
|
||||
}
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getInputProps = function getInputProps(providedProps) {
|
||||
function onFocus(event) {
|
||||
// We want to trigger a query when `openOnFocus` is true
|
||||
// because the panel should open with the current query.
|
||||
if (props.openOnFocus || Boolean(store.getState().query)) {
|
||||
onInput(_objectSpread({
|
||||
event: event,
|
||||
props: props,
|
||||
query: store.getState().completion || store.getState().query,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
}
|
||||
|
||||
store.dispatch('focus', null);
|
||||
}
|
||||
|
||||
var isTouchDevice = ('ontouchstart' in props.environment);
|
||||
|
||||
var _ref2 = providedProps || {},
|
||||
inputElement = _ref2.inputElement,
|
||||
_ref2$maxLength = _ref2.maxLength,
|
||||
maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,
|
||||
rest = _objectWithoutProperties(_ref2, _excluded4);
|
||||
|
||||
var activeItem = getActiveItem(store.getState());
|
||||
return _objectSpread({
|
||||
'aria-autocomplete': 'both',
|
||||
'aria-activedescendant': store.getState().isOpen && store.getState().activeItemId !== null ? "".concat(props.id, "-item-").concat(store.getState().activeItemId) : undefined,
|
||||
'aria-controls': store.getState().isOpen ? "".concat(props.id, "-list") : undefined,
|
||||
'aria-labelledby': "".concat(props.id, "-label"),
|
||||
value: store.getState().completion || store.getState().query,
|
||||
id: "".concat(props.id, "-input"),
|
||||
autoComplete: 'off',
|
||||
autoCorrect: 'off',
|
||||
autoCapitalize: 'off',
|
||||
enterKeyHint: activeItem !== null && activeItem !== void 0 && activeItem.itemUrl ? 'go' : 'search',
|
||||
spellCheck: 'false',
|
||||
autoFocus: props.autoFocus,
|
||||
placeholder: props.placeholder,
|
||||
maxLength: maxLength,
|
||||
type: 'search',
|
||||
onChange: function onChange(event) {
|
||||
onInput(_objectSpread({
|
||||
event: event,
|
||||
props: props,
|
||||
query: event.currentTarget.value.slice(0, maxLength),
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
},
|
||||
onKeyDown: function onKeyDown(event) {
|
||||
_onKeyDown(_objectSpread({
|
||||
event: event,
|
||||
props: props,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
},
|
||||
onFocus: onFocus,
|
||||
onBlur: function onBlur() {
|
||||
// We do rely on the `blur` event on touch devices.
|
||||
// See explanation in `onTouchStart`.
|
||||
if (!isTouchDevice) {
|
||||
store.dispatch('blur', null); // If requests are still pending when the user closes the panel, they
|
||||
// could reopen the panel once they resolve.
|
||||
// We want to prevent any subsequent query from reopening the panel
|
||||
// because it would result in an unsolicited UI behavior.
|
||||
|
||||
if (!props.debug) {
|
||||
store.pendingRequests.cancelAll();
|
||||
}
|
||||
}
|
||||
},
|
||||
onClick: function onClick(event) {
|
||||
// When the panel is closed and you click on the input while
|
||||
// the input is focused, the `onFocus` event is not triggered
|
||||
// (default browser behavior).
|
||||
// In an autocomplete context, it makes sense to open the panel in this
|
||||
// case.
|
||||
// We mimic this event by catching the `onClick` event which
|
||||
// triggers the `onFocus` for the panel to open.
|
||||
if (providedProps.inputElement === props.environment.document.activeElement && !store.getState().isOpen) {
|
||||
onFocus(event);
|
||||
}
|
||||
}
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getLabelProps = function getLabelProps(rest) {
|
||||
return _objectSpread({
|
||||
htmlFor: "".concat(props.id, "-input"),
|
||||
id: "".concat(props.id, "-label")
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getListProps = function getListProps(rest) {
|
||||
return _objectSpread({
|
||||
role: 'listbox',
|
||||
'aria-labelledby': "".concat(props.id, "-label"),
|
||||
id: "".concat(props.id, "-list")
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getPanelProps = function getPanelProps(rest) {
|
||||
return _objectSpread({
|
||||
onMouseDown: function onMouseDown(event) {
|
||||
// Prevents the `activeElement` from being changed to the panel so
|
||||
// that the blur event is not triggered, otherwise it closes the
|
||||
// panel.
|
||||
event.preventDefault();
|
||||
},
|
||||
onMouseLeave: function onMouseLeave() {
|
||||
store.dispatch('mouseleave', null);
|
||||
}
|
||||
}, rest);
|
||||
};
|
||||
|
||||
var getItemProps = function getItemProps(providedProps) {
|
||||
var item = providedProps.item,
|
||||
source = providedProps.source,
|
||||
rest = _objectWithoutProperties(providedProps, _excluded5);
|
||||
|
||||
return _objectSpread({
|
||||
id: "".concat(props.id, "-item-").concat(item.__autocomplete_id),
|
||||
role: 'option',
|
||||
'aria-selected': store.getState().activeItemId === item.__autocomplete_id,
|
||||
onMouseMove: function onMouseMove(event) {
|
||||
if (item.__autocomplete_id === store.getState().activeItemId) {
|
||||
return;
|
||||
}
|
||||
|
||||
store.dispatch('mousemove', item.__autocomplete_id);
|
||||
var activeItem = getActiveItem(store.getState());
|
||||
|
||||
if (store.getState().activeItemId !== null && activeItem) {
|
||||
var _item = activeItem.item,
|
||||
itemInputValue = activeItem.itemInputValue,
|
||||
itemUrl = activeItem.itemUrl,
|
||||
_source = activeItem.source;
|
||||
|
||||
_source.onActive(_objectSpread({
|
||||
event: event,
|
||||
item: _item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: _source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
}
|
||||
},
|
||||
onMouseDown: function onMouseDown(event) {
|
||||
// Prevents the `activeElement` from being changed to the item so it
|
||||
// can remain with the current `activeElement`.
|
||||
event.preventDefault();
|
||||
},
|
||||
onClick: function onClick(event) {
|
||||
var itemInputValue = source.getItemInputValue({
|
||||
item: item,
|
||||
state: store.getState()
|
||||
});
|
||||
var itemUrl = source.getItemUrl({
|
||||
item: item,
|
||||
state: store.getState()
|
||||
}); // If `getItemUrl` is provided, it means that the suggestion
|
||||
// is a link, not plain text that aims at updating the query.
|
||||
// We can therefore skip the state change because it will update
|
||||
// the `activeItemId`, resulting in a UI flash, especially
|
||||
// noticeable on mobile.
|
||||
|
||||
var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({
|
||||
event: event,
|
||||
nextState: {
|
||||
isOpen: false
|
||||
},
|
||||
props: props,
|
||||
query: itemInputValue,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters));
|
||||
runPreCommand.then(function () {
|
||||
source.onSelect(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
});
|
||||
}
|
||||
}, rest);
|
||||
};
|
||||
|
||||
return {
|
||||
getEnvironmentProps: getEnvironmentProps,
|
||||
getRootProps: getRootProps,
|
||||
getFormProps: getFormProps,
|
||||
getLabelProps: getLabelProps,
|
||||
getInputProps: getInputProps,
|
||||
getPanelProps: getPanelProps,
|
||||
getListProps: getListProps,
|
||||
getItemProps: getItemProps
|
||||
};
|
||||
}
|
||||
3
node_modules/@algolia/autocomplete-core/dist/esm/index.d.ts
generated
vendored
Normal file
3
node_modules/@algolia/autocomplete-core/dist/esm/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './createAutocomplete';
|
||||
export * from './getDefaultProps';
|
||||
export * from './types';
|
||||
3
node_modules/@algolia/autocomplete-core/dist/esm/index.js
generated
vendored
Normal file
3
node_modules/@algolia/autocomplete-core/dist/esm/index.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './createAutocomplete';
|
||||
export * from './getDefaultProps';
|
||||
export * from './types';
|
||||
33
node_modules/@algolia/autocomplete-core/dist/esm/metadata.d.ts
generated
vendored
Normal file
33
node_modules/@algolia/autocomplete-core/dist/esm/metadata.d.ts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
import { UserAgent } from '@algolia/autocomplete-shared';
|
||||
import { AutocompleteEnvironment, AutocompleteOptionsWithMetadata, AutocompletePlugin, BaseItem } from '.';
|
||||
declare type AutocompleteMetadata = {
|
||||
plugins: Array<{
|
||||
name: string | undefined;
|
||||
options: string[];
|
||||
}>;
|
||||
options: Record<string, string[]>;
|
||||
ua: UserAgent[];
|
||||
};
|
||||
declare type GetMetadataParams<TItem extends BaseItem, TData = unknown> = {
|
||||
plugins: Array<AutocompletePlugin<TItem, TData>>;
|
||||
options: AutocompleteOptionsWithMetadata<TItem>;
|
||||
};
|
||||
export declare function getMetadata<TItem extends BaseItem, TData = unknown>({ plugins, options, }: GetMetadataParams<TItem, TData>): {
|
||||
plugins: {
|
||||
name: string | undefined;
|
||||
options: string[];
|
||||
}[];
|
||||
options: {
|
||||
'autocomplete-core': string[];
|
||||
};
|
||||
ua: {
|
||||
segment: string;
|
||||
version: string;
|
||||
}[];
|
||||
};
|
||||
declare type InlineMetadataParams = {
|
||||
metadata: AutocompleteMetadata;
|
||||
environment: AutocompleteEnvironment;
|
||||
};
|
||||
export declare function injectMetadata({ metadata, environment, }: InlineMetadataParams): void;
|
||||
export {};
|
||||
44
node_modules/@algolia/autocomplete-core/dist/esm/metadata.js
generated
vendored
Normal file
44
node_modules/@algolia/autocomplete-core/dist/esm/metadata.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { userAgents } from '@algolia/autocomplete-shared';
|
||||
export function getMetadata(_ref) {
|
||||
var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;
|
||||
|
||||
var plugins = _ref.plugins,
|
||||
options = _ref.options;
|
||||
var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;
|
||||
var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};
|
||||
return {
|
||||
plugins: plugins.map(function (plugin) {
|
||||
return {
|
||||
name: plugin.name,
|
||||
options: Object.keys(plugin.__autocomplete_pluginOptions || [])
|
||||
};
|
||||
}),
|
||||
options: _objectSpread({
|
||||
'autocomplete-core': Object.keys(options)
|
||||
}, extraOptions),
|
||||
ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])
|
||||
};
|
||||
}
|
||||
export function injectMetadata(_ref3) {
|
||||
var _environment$navigato;
|
||||
|
||||
var metadata = _ref3.metadata,
|
||||
environment = _ref3.environment;
|
||||
var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');
|
||||
|
||||
if (isMetadataEnabled) {
|
||||
var metadataContainer = environment.document.createElement('meta');
|
||||
var headRef = environment.document.querySelector('head');
|
||||
metadataContainer.name = 'algolia:metadata';
|
||||
setTimeout(function () {
|
||||
metadataContainer.content = JSON.stringify(metadata);
|
||||
headRef.appendChild(metadataContainer);
|
||||
}, 0);
|
||||
}
|
||||
}
|
||||
18
node_modules/@algolia/autocomplete-core/dist/esm/onInput.d.ts
generated
vendored
Normal file
18
node_modules/@algolia/autocomplete-core/dist/esm/onInput.d.ts
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { AutocompleteScopeApi, AutocompleteState, AutocompleteStore, BaseItem, InternalAutocompleteOptions } from './types';
|
||||
import { CancelablePromise } from './utils';
|
||||
interface OnInputParams<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
event: any;
|
||||
/**
|
||||
* The next partial state to apply after the function is called.
|
||||
*
|
||||
* This is useful when we call `onInput` in a different scenario than an
|
||||
* actual input. For example, we use `onInput` when we click on an item,
|
||||
* but we want to close the panel in that case.
|
||||
*/
|
||||
nextState?: Partial<AutocompleteState<TItem>>;
|
||||
props: InternalAutocompleteOptions<TItem>;
|
||||
query: string;
|
||||
store: AutocompleteStore<TItem>;
|
||||
}
|
||||
export declare function onInput<TItem extends BaseItem>({ event, nextState, props, query, refresh, store, ...setters }: OnInputParams<TItem>): CancelablePromise<void>;
|
||||
export {};
|
||||
134
node_modules/@algolia/autocomplete-core/dist/esm/onInput.js
generated
vendored
Normal file
134
node_modules/@algolia/autocomplete-core/dist/esm/onInput.js
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
var _excluded = ["event", "nextState", "props", "query", "refresh", "store"];
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
import { reshape } from './reshape';
|
||||
import { preResolve, resolve, postResolve } from './resolve';
|
||||
import { cancelable, createConcurrentSafePromise, getActiveItem } from './utils';
|
||||
var lastStalledId = null;
|
||||
var runConcurrentSafePromise = createConcurrentSafePromise();
|
||||
export function onInput(_ref) {
|
||||
var event = _ref.event,
|
||||
_ref$nextState = _ref.nextState,
|
||||
nextState = _ref$nextState === void 0 ? {} : _ref$nextState,
|
||||
props = _ref.props,
|
||||
query = _ref.query,
|
||||
refresh = _ref.refresh,
|
||||
store = _ref.store,
|
||||
setters = _objectWithoutProperties(_ref, _excluded);
|
||||
|
||||
if (lastStalledId) {
|
||||
props.environment.clearTimeout(lastStalledId);
|
||||
}
|
||||
|
||||
var setCollections = setters.setCollections,
|
||||
setIsOpen = setters.setIsOpen,
|
||||
setQuery = setters.setQuery,
|
||||
setActiveItemId = setters.setActiveItemId,
|
||||
setStatus = setters.setStatus;
|
||||
setQuery(query);
|
||||
setActiveItemId(props.defaultActiveItemId);
|
||||
|
||||
if (!query && props.openOnFocus === false) {
|
||||
var _nextState$isOpen;
|
||||
|
||||
var collections = store.getState().collections.map(function (collection) {
|
||||
return _objectSpread(_objectSpread({}, collection), {}, {
|
||||
items: []
|
||||
});
|
||||
});
|
||||
setStatus('idle');
|
||||
setCollections(collections);
|
||||
setIsOpen((_nextState$isOpen = nextState.isOpen) !== null && _nextState$isOpen !== void 0 ? _nextState$isOpen : props.shouldPanelOpen({
|
||||
state: store.getState()
|
||||
})); // We make sure to update the latest resolved value of the tracked
|
||||
// promises to keep late resolving promises from "cancelling" the state
|
||||
// updates performed in this code path.
|
||||
// We chain with a void promise to respect `onInput`'s expected return type.
|
||||
|
||||
var _request = cancelable(runConcurrentSafePromise(collections).then(function () {
|
||||
return Promise.resolve();
|
||||
}));
|
||||
|
||||
return store.pendingRequests.add(_request);
|
||||
}
|
||||
|
||||
setStatus('loading');
|
||||
lastStalledId = props.environment.setTimeout(function () {
|
||||
setStatus('stalled');
|
||||
}, props.stallThreshold); // We track the entire promise chain triggered by `onInput` before mutating
|
||||
// the Autocomplete state to make sure that any state manipulation is based on
|
||||
// fresh data regardless of when promises individually resolve.
|
||||
// We don't track nested promises and only rely on the full chain resolution,
|
||||
// meaning we should only ever manipulate the state once this concurrent-safe
|
||||
// promise is resolved.
|
||||
|
||||
var request = cancelable(runConcurrentSafePromise(props.getSources(_objectSpread({
|
||||
query: query,
|
||||
refresh: refresh,
|
||||
state: store.getState()
|
||||
}, setters)).then(function (sources) {
|
||||
return Promise.all(sources.map(function (source) {
|
||||
return Promise.resolve(source.getItems(_objectSpread({
|
||||
query: query,
|
||||
refresh: refresh,
|
||||
state: store.getState()
|
||||
}, setters))).then(function (itemsOrDescription) {
|
||||
return preResolve(itemsOrDescription, source.sourceId);
|
||||
});
|
||||
})).then(resolve).then(function (responses) {
|
||||
return postResolve(responses, sources);
|
||||
}).then(function (collections) {
|
||||
return reshape({
|
||||
collections: collections,
|
||||
props: props,
|
||||
state: store.getState()
|
||||
});
|
||||
});
|
||||
}))).then(function (collections) {
|
||||
var _nextState$isOpen2;
|
||||
|
||||
// Parameters passed to `onInput` could be stale when the following code
|
||||
// executes, because `onInput` calls may not resolve in order.
|
||||
// If it becomes a problem we'll need to save the last passed parameters.
|
||||
// See: https://codesandbox.io/s/agitated-cookies-y290z
|
||||
setStatus('idle');
|
||||
setCollections(collections);
|
||||
var isPanelOpen = props.shouldPanelOpen({
|
||||
state: store.getState()
|
||||
});
|
||||
setIsOpen((_nextState$isOpen2 = nextState.isOpen) !== null && _nextState$isOpen2 !== void 0 ? _nextState$isOpen2 : props.openOnFocus && !query && isPanelOpen || isPanelOpen);
|
||||
var highlightedItem = getActiveItem(store.getState());
|
||||
|
||||
if (store.getState().activeItemId !== null && highlightedItem) {
|
||||
var item = highlightedItem.item,
|
||||
itemInputValue = highlightedItem.itemInputValue,
|
||||
itemUrl = highlightedItem.itemUrl,
|
||||
source = highlightedItem.source;
|
||||
source.onActive(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
}
|
||||
}).finally(function () {
|
||||
setStatus('idle');
|
||||
|
||||
if (lastStalledId) {
|
||||
props.environment.clearTimeout(lastStalledId);
|
||||
}
|
||||
});
|
||||
return store.pendingRequests.add(request);
|
||||
}
|
||||
8
node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.d.ts
generated
vendored
Normal file
8
node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { AutocompleteScopeApi, AutocompleteStore, BaseItem, InternalAutocompleteOptions } from './types';
|
||||
interface OnKeyDownOptions<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
event: KeyboardEvent;
|
||||
props: InternalAutocompleteOptions<TItem>;
|
||||
store: AutocompleteStore<TItem>;
|
||||
}
|
||||
export declare function onKeyDown<TItem extends BaseItem>({ event, props, refresh, store, ...setters }: OnKeyDownOptions<TItem>): void;
|
||||
export {};
|
||||
190
node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js
generated
vendored
Normal file
190
node_modules/@algolia/autocomplete-core/dist/esm/onKeyDown.js
generated
vendored
Normal file
@@ -0,0 +1,190 @@
|
||||
var _excluded = ["event", "props", "refresh", "store"];
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
||||
|
||||
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
||||
|
||||
import { onInput } from './onInput';
|
||||
import { getActiveItem } from './utils';
|
||||
export function onKeyDown(_ref) {
|
||||
var event = _ref.event,
|
||||
props = _ref.props,
|
||||
refresh = _ref.refresh,
|
||||
store = _ref.store,
|
||||
setters = _objectWithoutProperties(_ref, _excluded);
|
||||
|
||||
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
||||
// eslint-disable-next-line no-inner-declarations
|
||||
var triggerScrollIntoView = function triggerScrollIntoView() {
|
||||
var nodeItem = props.environment.document.getElementById("".concat(props.id, "-item-").concat(store.getState().activeItemId));
|
||||
|
||||
if (nodeItem) {
|
||||
if (nodeItem.scrollIntoViewIfNeeded) {
|
||||
nodeItem.scrollIntoViewIfNeeded(false);
|
||||
} else {
|
||||
nodeItem.scrollIntoView(false);
|
||||
}
|
||||
}
|
||||
}; // eslint-disable-next-line no-inner-declarations
|
||||
|
||||
|
||||
var triggerOnActive = function triggerOnActive() {
|
||||
var highlightedItem = getActiveItem(store.getState());
|
||||
|
||||
if (store.getState().activeItemId !== null && highlightedItem) {
|
||||
var item = highlightedItem.item,
|
||||
itemInputValue = highlightedItem.itemInputValue,
|
||||
itemUrl = highlightedItem.itemUrl,
|
||||
source = highlightedItem.source;
|
||||
source.onActive(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
}
|
||||
}; // Default browser behavior changes the caret placement on ArrowUp and
|
||||
// ArrowDown.
|
||||
|
||||
|
||||
event.preventDefault(); // When re-opening the panel, we need to split the logic to keep the actions
|
||||
// synchronized as `onInput` returns a promise.
|
||||
|
||||
if (store.getState().isOpen === false && (props.openOnFocus || Boolean(store.getState().query))) {
|
||||
onInput(_objectSpread({
|
||||
event: event,
|
||||
props: props,
|
||||
query: store.getState().query,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters)).then(function () {
|
||||
store.dispatch(event.key, {
|
||||
nextActiveItemId: props.defaultActiveItemId
|
||||
});
|
||||
triggerOnActive(); // Since we rely on the DOM, we need to wait for all the micro tasks to
|
||||
// finish (which include re-opening the panel) to make sure all the
|
||||
// elements are available.
|
||||
|
||||
setTimeout(triggerScrollIntoView, 0);
|
||||
});
|
||||
} else {
|
||||
store.dispatch(event.key, {});
|
||||
triggerOnActive();
|
||||
triggerScrollIntoView();
|
||||
}
|
||||
} else if (event.key === 'Escape') {
|
||||
// This prevents the default browser behavior on `input[type="search"]`
|
||||
// from removing the query right away because we first want to close the
|
||||
// panel.
|
||||
event.preventDefault();
|
||||
store.dispatch(event.key, null); // Hitting the `Escape` key signals the end of a user interaction with the
|
||||
// autocomplete. At this point, we should ignore any requests that are still
|
||||
// pending and could reopen the panel once they resolve, because that would
|
||||
// result in an unsolicited UI behavior.
|
||||
|
||||
store.pendingRequests.cancelAll();
|
||||
} else if (event.key === 'Enter') {
|
||||
// No active item, so we let the browser handle the native `onSubmit` form
|
||||
// event.
|
||||
if (store.getState().activeItemId === null || store.getState().collections.every(function (collection) {
|
||||
return collection.items.length === 0;
|
||||
})) {
|
||||
return;
|
||||
} // This prevents the `onSubmit` event to be sent because an item is
|
||||
// highlighted.
|
||||
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var _ref2 = getActiveItem(store.getState()),
|
||||
item = _ref2.item,
|
||||
itemInputValue = _ref2.itemInputValue,
|
||||
itemUrl = _ref2.itemUrl,
|
||||
source = _ref2.source;
|
||||
|
||||
if (event.metaKey || event.ctrlKey) {
|
||||
if (itemUrl !== undefined) {
|
||||
source.onSelect(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
props.navigator.navigateNewTab({
|
||||
itemUrl: itemUrl,
|
||||
item: item,
|
||||
state: store.getState()
|
||||
});
|
||||
}
|
||||
} else if (event.shiftKey) {
|
||||
if (itemUrl !== undefined) {
|
||||
source.onSelect(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
props.navigator.navigateNewWindow({
|
||||
itemUrl: itemUrl,
|
||||
item: item,
|
||||
state: store.getState()
|
||||
});
|
||||
}
|
||||
} else if (event.altKey) {// Keep native browser behavior
|
||||
} else {
|
||||
if (itemUrl !== undefined) {
|
||||
source.onSelect(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
props.navigator.navigate({
|
||||
itemUrl: itemUrl,
|
||||
item: item,
|
||||
state: store.getState()
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
onInput(_objectSpread({
|
||||
event: event,
|
||||
nextState: {
|
||||
isOpen: false
|
||||
},
|
||||
props: props,
|
||||
query: itemInputValue,
|
||||
refresh: refresh,
|
||||
store: store
|
||||
}, setters)).then(function () {
|
||||
source.onSelect(_objectSpread({
|
||||
event: event,
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
refresh: refresh,
|
||||
source: source,
|
||||
state: store.getState()
|
||||
}, setters));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
11
node_modules/@algolia/autocomplete-core/dist/esm/reshape.d.ts
generated
vendored
Normal file
11
node_modules/@algolia/autocomplete-core/dist/esm/reshape.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import { AutocompleteCollection, AutocompleteState, BaseItem, InternalAutocompleteOptions } from './types';
|
||||
declare type ReshapeParams<TItem extends BaseItem> = {
|
||||
collections: Array<AutocompleteCollection<any>>;
|
||||
props: InternalAutocompleteOptions<TItem>;
|
||||
state: AutocompleteState<TItem>;
|
||||
};
|
||||
export declare function reshape<TItem extends BaseItem>({ collections, props, state, }: ReshapeParams<TItem>): {
|
||||
source: import("./types").AutocompleteReshapeSource<TItem>;
|
||||
items: TItem[];
|
||||
}[];
|
||||
export {};
|
||||
34
node_modules/@algolia/autocomplete-core/dist/esm/reshape.js
generated
vendored
Normal file
34
node_modules/@algolia/autocomplete-core/dist/esm/reshape.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { flatten } from '@algolia/autocomplete-shared';
|
||||
export function reshape(_ref) {
|
||||
var collections = _ref.collections,
|
||||
props = _ref.props,
|
||||
state = _ref.state;
|
||||
// Sources are grouped by `sourceId` to conveniently pick them via destructuring.
|
||||
// Example: `const { recentSearchesPlugin } = sourcesBySourceId`
|
||||
var sourcesBySourceId = collections.reduce(function (acc, collection) {
|
||||
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, collection.source.sourceId, _objectSpread(_objectSpread({}, collection.source), {}, {
|
||||
getItems: function getItems() {
|
||||
// We provide the resolved items from the collection to the `reshape` prop.
|
||||
return flatten(collection.items);
|
||||
}
|
||||
})));
|
||||
}, {});
|
||||
var reshapeSources = props.reshape({
|
||||
sources: Object.values(sourcesBySourceId),
|
||||
sourcesBySourceId: sourcesBySourceId,
|
||||
state: state
|
||||
}); // We reconstruct the collections with the items modified by the `reshape` prop.
|
||||
|
||||
return flatten(reshapeSources).filter(Boolean).map(function (source) {
|
||||
return {
|
||||
source: source,
|
||||
items: source.getItems()
|
||||
};
|
||||
});
|
||||
}
|
||||
42
node_modules/@algolia/autocomplete-core/dist/esm/resolve.d.ts
generated
vendored
Normal file
42
node_modules/@algolia/autocomplete-core/dist/esm/resolve.d.ts
generated
vendored
Normal file
@@ -0,0 +1,42 @@
|
||||
import type { ExecuteResponse, RequesterDescription, TransformResponse } from '@algolia/autocomplete-preset-algolia';
|
||||
import { MultipleQueriesQuery, SearchForFacetValuesResponse, SearchResponse } from '@algolia/client-search';
|
||||
import { BaseItem, InternalAutocompleteSource } from './types';
|
||||
declare type RequestDescriptionPreResolved<TItem extends BaseItem> = Pick<RequesterDescription<TItem>, 'execute' | 'searchClient' | 'transformResponse'> & {
|
||||
requests: Array<{
|
||||
query: MultipleQueriesQuery;
|
||||
sourceId: string;
|
||||
transformResponse: TransformResponse<TItem>;
|
||||
}>;
|
||||
};
|
||||
declare type RequestDescriptionPreResolvedCustom<TItem extends BaseItem> = {
|
||||
items: TItem[] | TItem[][];
|
||||
sourceId: string;
|
||||
transformResponse?: undefined;
|
||||
};
|
||||
export declare function preResolve<TItem extends BaseItem>(itemsOrDescription: TItem[] | TItem[][] | RequesterDescription<TItem>, sourceId: string): RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>;
|
||||
export declare function resolve<TItem extends BaseItem>(items: Array<RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>>): Promise<(RequestDescriptionPreResolvedCustom<TItem> | {
|
||||
items: SearchForFacetValuesResponse | SearchResponse<TItem>;
|
||||
sourceId: string;
|
||||
transformResponse: TransformResponse<TItem>;
|
||||
})[]>;
|
||||
export declare function postResolve<TItem extends BaseItem>(responses: Array<RequestDescriptionPreResolvedCustom<TItem> | ExecuteResponse<TItem>[0]>, sources: Array<InternalAutocompleteSource<TItem>>): {
|
||||
source: InternalAutocompleteSource<TItem>;
|
||||
items: {
|
||||
label: string;
|
||||
count: number;
|
||||
_highlightResult: {
|
||||
label: {
|
||||
value: string;
|
||||
};
|
||||
};
|
||||
}[][] | {
|
||||
label: string;
|
||||
count: number;
|
||||
_highlightResult: {
|
||||
label: {
|
||||
value: string;
|
||||
};
|
||||
};
|
||||
}[] | import("@algolia/client-search").Hit<TItem>[] | (SearchForFacetValuesResponse | SearchResponse<TItem> | TItem[] | TItem[][])[];
|
||||
}[];
|
||||
export {};
|
||||
117
node_modules/@algolia/autocomplete-core/dist/esm/resolve.js
generated
vendored
Normal file
117
node_modules/@algolia/autocomplete-core/dist/esm/resolve.js
generated
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
|
||||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
||||
|
||||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
||||
|
||||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
||||
|
||||
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
||||
|
||||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
||||
|
||||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
||||
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { decycle, flatten, invariant } from '@algolia/autocomplete-shared';
|
||||
import { mapToAlgoliaResponse } from './utils';
|
||||
|
||||
function isDescription(item) {
|
||||
return Boolean(item.execute);
|
||||
}
|
||||
|
||||
function isRequesterDescription(description) {
|
||||
return Boolean(description === null || description === void 0 ? void 0 : description.execute);
|
||||
}
|
||||
|
||||
export function preResolve(itemsOrDescription, sourceId) {
|
||||
if (isRequesterDescription(itemsOrDescription)) {
|
||||
return _objectSpread(_objectSpread({}, itemsOrDescription), {}, {
|
||||
requests: itemsOrDescription.queries.map(function (query) {
|
||||
return {
|
||||
query: query,
|
||||
sourceId: sourceId,
|
||||
transformResponse: itemsOrDescription.transformResponse
|
||||
};
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
items: itemsOrDescription,
|
||||
sourceId: sourceId
|
||||
};
|
||||
}
|
||||
export function resolve(items) {
|
||||
var packed = items.reduce(function (acc, current) {
|
||||
if (!isDescription(current)) {
|
||||
acc.push(current);
|
||||
return acc;
|
||||
}
|
||||
|
||||
var searchClient = current.searchClient,
|
||||
execute = current.execute,
|
||||
requests = current.requests;
|
||||
var container = acc.find(function (item) {
|
||||
return isDescription(current) && isDescription(item) && item.searchClient === searchClient && item.execute === execute;
|
||||
});
|
||||
|
||||
if (container) {
|
||||
var _container$items;
|
||||
|
||||
(_container$items = container.items).push.apply(_container$items, _toConsumableArray(requests));
|
||||
} else {
|
||||
var request = {
|
||||
execute: execute,
|
||||
items: requests,
|
||||
searchClient: searchClient
|
||||
};
|
||||
acc.push(request);
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, []);
|
||||
var values = packed.map(function (maybeDescription) {
|
||||
if (!isDescription(maybeDescription)) {
|
||||
return Promise.resolve(maybeDescription);
|
||||
}
|
||||
|
||||
var _ref = maybeDescription,
|
||||
execute = _ref.execute,
|
||||
items = _ref.items,
|
||||
searchClient = _ref.searchClient;
|
||||
return execute({
|
||||
searchClient: searchClient,
|
||||
requests: items
|
||||
});
|
||||
});
|
||||
return Promise.all(values).then(function (responses) {
|
||||
return flatten(responses);
|
||||
});
|
||||
}
|
||||
export function postResolve(responses, sources) {
|
||||
return sources.map(function (source) {
|
||||
var matches = responses.filter(function (response) {
|
||||
return response.sourceId === source.sourceId;
|
||||
});
|
||||
var results = matches.map(function (_ref2) {
|
||||
var items = _ref2.items;
|
||||
return items;
|
||||
});
|
||||
var transform = matches[0].transformResponse;
|
||||
var items = transform ? transform(mapToAlgoliaResponse(results)) : results;
|
||||
invariant(Array.isArray(items), function () {
|
||||
return "The `getItems` function from source \"".concat(source.sourceId, "\" must return an array of items but returned type ").concat(JSON.stringify(_typeof(items)), ":\n\n").concat(JSON.stringify(decycle(items), null, 2), ".\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems");
|
||||
});
|
||||
invariant(items.every(Boolean), "The `getItems` function from source \"".concat(source.sourceId, "\" must return an array of items but returned ").concat(JSON.stringify(undefined), ".\n\nDid you forget to return items?\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems"));
|
||||
return {
|
||||
source: source,
|
||||
items: items
|
||||
};
|
||||
});
|
||||
}
|
||||
2
node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.d.ts
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { Reducer } from './types';
|
||||
export declare const stateReducer: Reducer;
|
||||
161
node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js
generated
vendored
Normal file
161
node_modules/@algolia/autocomplete-core/dist/esm/stateReducer.js
generated
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
import { getItemsCount, invariant } from '@algolia/autocomplete-shared';
|
||||
import { getCompletion } from './getCompletion';
|
||||
import { getNextActiveItemId } from './utils';
|
||||
export var stateReducer = function stateReducer(state, action) {
|
||||
switch (action.type) {
|
||||
case 'setActiveItemId':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: action.payload
|
||||
});
|
||||
}
|
||||
|
||||
case 'setQuery':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
query: action.payload,
|
||||
completion: null
|
||||
});
|
||||
}
|
||||
|
||||
case 'setCollections':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
collections: action.payload
|
||||
});
|
||||
}
|
||||
|
||||
case 'setIsOpen':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
isOpen: action.payload
|
||||
});
|
||||
}
|
||||
|
||||
case 'setStatus':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
status: action.payload
|
||||
});
|
||||
}
|
||||
|
||||
case 'setContext':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
context: _objectSpread(_objectSpread({}, state.context), action.payload)
|
||||
});
|
||||
}
|
||||
|
||||
case 'ArrowDown':
|
||||
{
|
||||
var nextState = _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: action.payload.hasOwnProperty('nextActiveItemId') ? action.payload.nextActiveItemId : getNextActiveItemId(1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)
|
||||
});
|
||||
|
||||
return _objectSpread(_objectSpread({}, nextState), {}, {
|
||||
completion: getCompletion({
|
||||
state: nextState
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
case 'ArrowUp':
|
||||
{
|
||||
var _nextState = _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: getNextActiveItemId(-1, state.activeItemId, getItemsCount(state), action.props.defaultActiveItemId)
|
||||
});
|
||||
|
||||
return _objectSpread(_objectSpread({}, _nextState), {}, {
|
||||
completion: getCompletion({
|
||||
state: _nextState
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
case 'Escape':
|
||||
{
|
||||
if (state.isOpen) {
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: null,
|
||||
isOpen: false,
|
||||
completion: null
|
||||
});
|
||||
}
|
||||
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: null,
|
||||
query: '',
|
||||
status: 'idle',
|
||||
collections: []
|
||||
});
|
||||
}
|
||||
|
||||
case 'submit':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: null,
|
||||
isOpen: false,
|
||||
status: 'idle'
|
||||
});
|
||||
}
|
||||
|
||||
case 'reset':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: // Since we open the panel on reset when openOnFocus=true
|
||||
// we need to restore the highlighted index to the defaultActiveItemId. (DocSearch use-case)
|
||||
// Since we close the panel when openOnFocus=false
|
||||
// we lose track of the highlighted index. (Query-suggestions use-case)
|
||||
action.props.openOnFocus === true ? action.props.defaultActiveItemId : null,
|
||||
status: 'idle',
|
||||
query: ''
|
||||
});
|
||||
}
|
||||
|
||||
case 'focus':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: action.props.defaultActiveItemId,
|
||||
isOpen: (action.props.openOnFocus || Boolean(state.query)) && action.props.shouldPanelOpen({
|
||||
state: state
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
case 'blur':
|
||||
{
|
||||
if (action.props.debug) {
|
||||
return state;
|
||||
}
|
||||
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
isOpen: false,
|
||||
activeItemId: null
|
||||
});
|
||||
}
|
||||
|
||||
case 'mousemove':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: action.payload
|
||||
});
|
||||
}
|
||||
|
||||
case 'mouseleave':
|
||||
{
|
||||
return _objectSpread(_objectSpread({}, state), {}, {
|
||||
activeItemId: action.props.defaultActiveItemId
|
||||
});
|
||||
}
|
||||
|
||||
default:
|
||||
invariant(false, "The reducer action ".concat(JSON.stringify(action.type), " is not supported."));
|
||||
return state;
|
||||
}
|
||||
};
|
||||
10
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteApi.d.ts
generated
vendored
Normal file
10
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteApi.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { AutocompletePropGetters } from './AutocompletePropGetters';
|
||||
import { AutocompleteSetters } from './AutocompleteSetters';
|
||||
export declare type BaseItem = Record<string, unknown>;
|
||||
export interface AutocompleteScopeApi<TItem extends BaseItem> extends AutocompleteSetters<TItem> {
|
||||
/**
|
||||
* Triggers a search to refresh the state.
|
||||
*/
|
||||
refresh(): Promise<void>;
|
||||
}
|
||||
export declare type AutocompleteApi<TItem extends BaseItem, TEvent = Event, TMouseEvent = MouseEvent, TKeyboardEvent = KeyboardEvent> = AutocompleteScopeApi<TItem> & AutocompletePropGetters<TItem, TEvent, TMouseEvent, TKeyboardEvent>;
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteApi.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteApi.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
10
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteCollection.d.ts
generated
vendored
Normal file
10
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteCollection.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { InternalAutocompleteSource } from './AutocompleteSource';
|
||||
export interface AutocompleteCollection<TItem extends BaseItem> {
|
||||
source: InternalAutocompleteSource<TItem>;
|
||||
items: TItem[];
|
||||
}
|
||||
export interface AutocompleteCollectionItemsArray<TItem extends BaseItem> {
|
||||
source: InternalAutocompleteSource<TItem>;
|
||||
items: TItem[][];
|
||||
}
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteCollection.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteCollection.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
3
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteContext.d.ts
generated
vendored
Normal file
3
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteContext.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface AutocompleteContext {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteContext.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteContext.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
13
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteEnvironment.d.ts
generated
vendored
Normal file
13
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteEnvironment.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export declare type AutocompleteEnvironment = Window | {
|
||||
[prop: string]: unknown;
|
||||
addEventListener: Window['addEventListener'];
|
||||
removeEventListener: Window['removeEventListener'];
|
||||
setTimeout: Window['setTimeout'];
|
||||
clearTimeout: Window['clearTimeout'];
|
||||
document: Window['document'];
|
||||
location: {
|
||||
assign: Location['assign'];
|
||||
};
|
||||
open: Window['open'];
|
||||
navigator: Window['navigator'];
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteEnvironment.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteEnvironment.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
28
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteNavigator.d.ts
generated
vendored
Normal file
28
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteNavigator.d.ts
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export interface AutocompleteNavigator<TItem extends BaseItem> {
|
||||
/**
|
||||
* Called when a URL should be open in the current page.
|
||||
*/
|
||||
navigate(params: {
|
||||
itemUrl: string;
|
||||
item: TItem;
|
||||
state: AutocompleteState<TItem>;
|
||||
}): void;
|
||||
/**
|
||||
* Called when a URL should be open in a new tab.
|
||||
*/
|
||||
navigateNewTab(params: {
|
||||
itemUrl: string;
|
||||
item: TItem;
|
||||
state: AutocompleteState<TItem>;
|
||||
}): void;
|
||||
/**
|
||||
* Called when a URL should be open in a new window.
|
||||
*/
|
||||
navigateNewWindow(params: {
|
||||
itemUrl: string;
|
||||
item: TItem;
|
||||
state: AutocompleteState<TItem>;
|
||||
}): void;
|
||||
}
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteNavigator.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteNavigator.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
185
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteOptions.d.ts
generated
vendored
Normal file
185
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteOptions.d.ts
generated
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
import { MaybePromise } from '@algolia/autocomplete-shared';
|
||||
import { AutocompleteScopeApi, BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteEnvironment } from './AutocompleteEnvironment';
|
||||
import { AutocompleteNavigator } from './AutocompleteNavigator';
|
||||
import { AutocompletePlugin } from './AutocompletePlugin';
|
||||
import { Reshape } from './AutocompleteReshape';
|
||||
import { AutocompleteSource, InternalAutocompleteSource } from './AutocompleteSource';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export interface OnSubmitParams<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
state: AutocompleteState<TItem>;
|
||||
event: any;
|
||||
}
|
||||
export declare type OnResetParams<TItem extends BaseItem> = OnSubmitParams<TItem>;
|
||||
export interface OnInputParams<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
query: string;
|
||||
state: AutocompleteState<TItem>;
|
||||
}
|
||||
export declare type GetSourcesParams<TItem extends BaseItem> = OnInputParams<TItem>;
|
||||
export declare type GetSources<TItem extends BaseItem> = (params: GetSourcesParams<TItem>) => MaybePromise<Array<AutocompleteSource<TItem> | boolean | undefined>>;
|
||||
export declare type InternalGetSources<TItem extends BaseItem> = (params: GetSourcesParams<TItem>) => Promise<Array<InternalAutocompleteSource<TItem>>>;
|
||||
interface OnStateChangeProps<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
/**
|
||||
* The current Autocomplete state.
|
||||
*/
|
||||
state: AutocompleteState<TItem>;
|
||||
/**
|
||||
* The previous Autocomplete state.
|
||||
*/
|
||||
prevState: AutocompleteState<TItem>;
|
||||
}
|
||||
export interface AutocompleteOptions<TItem extends BaseItem> {
|
||||
/**
|
||||
* A flag to activate the debug mode.
|
||||
*
|
||||
* This is useful while developing because it keeps the panel open even when the blur event occurs. **Make sure to disable it in production.**
|
||||
*
|
||||
* See [**Debugging**](https://www.algolia.com/doc/ui-libraries/autocomplete/guides/debugging/) for more information.
|
||||
*
|
||||
* @default false
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-debug
|
||||
*/
|
||||
debug?: boolean;
|
||||
/**
|
||||
* An ID for the autocomplete to create accessible attributes.
|
||||
*
|
||||
* It is incremented by default when creating a new Autocomplete instance.
|
||||
*
|
||||
* @default "autocomplete-0"
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-id
|
||||
*/
|
||||
id?: string;
|
||||
/**
|
||||
* The function called when the internal state changes.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-onstatechange
|
||||
*/
|
||||
onStateChange?(props: OnStateChangeProps<TItem>): void;
|
||||
/**
|
||||
* The placeholder text to show in the search input when there's no query.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-placeholder
|
||||
*/
|
||||
placeholder?: string;
|
||||
/**
|
||||
* Whether to focus the search input or not when the page is loaded.
|
||||
*
|
||||
* @default false
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-autofocus
|
||||
*/
|
||||
autoFocus?: boolean;
|
||||
/**
|
||||
* The default item index to pre-select.
|
||||
*
|
||||
* We recommend using `0` when the autocomplete is used to open links, instead of triggering a search in an application.
|
||||
*
|
||||
* @default null
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-defaultactiveitemid
|
||||
*/
|
||||
defaultActiveItemId?: number | null;
|
||||
/**
|
||||
* Whether to open the panel on focus when there's no query.
|
||||
*
|
||||
* @default false
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-openonfocus
|
||||
*/
|
||||
openOnFocus?: boolean;
|
||||
/**
|
||||
* How many milliseconds must elapse before considering the autocomplete experience [stalled](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-status).
|
||||
*
|
||||
* @default 300
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-stallthreshold
|
||||
*/
|
||||
stallThreshold?: number;
|
||||
/**
|
||||
* The initial state to apply when autocomplete is created.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-initialstate
|
||||
*/
|
||||
initialState?: Partial<AutocompleteState<TItem>>;
|
||||
/**
|
||||
* The [sources](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/) to get the suggestions from.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-getsources
|
||||
*/
|
||||
getSources?: GetSources<TItem>;
|
||||
/**
|
||||
* The environment in which your application is running.
|
||||
*
|
||||
* This is useful if you're using autocomplete in a different context than `window`.
|
||||
*
|
||||
* @default window
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-environment
|
||||
*/
|
||||
environment?: AutocompleteEnvironment;
|
||||
/**
|
||||
* An implementation of Autocomplete's Navigator API to redirect the user when opening a link.
|
||||
*
|
||||
* Learn more on the [**Navigator API**](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/keyboard-navigation/) documentation.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-navigator
|
||||
*/
|
||||
navigator?: Partial<AutocompleteNavigator<TItem>>;
|
||||
/**
|
||||
* The function called to determine whether the panel should open or not.
|
||||
*
|
||||
* By default, the panel opens when there are items in the state.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-shouldpanelopen
|
||||
*/
|
||||
shouldPanelOpen?(params: {
|
||||
state: AutocompleteState<TItem>;
|
||||
}): boolean;
|
||||
/**
|
||||
* The function called when submitting the Autocomplete form.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-onsubmit
|
||||
*/
|
||||
onSubmit?(params: OnSubmitParams<TItem>): void;
|
||||
/**
|
||||
* The function called when resetting the Autocomplete form.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-onreset
|
||||
*/
|
||||
onReset?(params: OnResetParams<TItem>): void;
|
||||
/**
|
||||
* The plugins that encapsulate and distribute custom Autocomplete behaviors.
|
||||
*
|
||||
* See [**Plugins**](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/plugins/) for more information.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-plugins
|
||||
*/
|
||||
plugins?: Array<AutocompletePlugin<any, any>>;
|
||||
/**
|
||||
* The function called to reshape the sources after they're resolved.
|
||||
*
|
||||
* This is useful to transform sources before rendering them. You can group sources by attribute, remove duplicates, create shared limits between sources, etc.
|
||||
*
|
||||
* See [**Reshaping sources**](https://www.algolia.com/doc/ui-libraries/autocomplete/guides/reshaping-sources/) for more information.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-reshape
|
||||
*/
|
||||
reshape?: Reshape<TItem>;
|
||||
}
|
||||
export interface InternalAutocompleteOptions<TItem extends BaseItem> extends AutocompleteOptions<TItem> {
|
||||
debug: boolean;
|
||||
id: string;
|
||||
onStateChange(props: OnStateChangeProps<TItem>): void;
|
||||
placeholder: string;
|
||||
autoFocus: boolean;
|
||||
defaultActiveItemId: number | null;
|
||||
openOnFocus: boolean;
|
||||
stallThreshold: number;
|
||||
initialState: AutocompleteState<TItem>;
|
||||
getSources: InternalGetSources<TItem>;
|
||||
environment: AutocompleteEnvironment;
|
||||
navigator: AutocompleteNavigator<TItem>;
|
||||
plugins: Array<AutocompletePlugin<any, any>>;
|
||||
shouldPanelOpen(params: {
|
||||
state: AutocompleteState<TItem>;
|
||||
}): boolean;
|
||||
onSubmit(params: OnSubmitParams<TItem>): void;
|
||||
onReset(params: OnResetParams<TItem>): void;
|
||||
reshape: Reshape<TItem>;
|
||||
}
|
||||
export {};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteOptions.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteOptions.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
35
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePlugin.d.ts
generated
vendored
Normal file
35
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePlugin.d.ts
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
import { AutocompleteScopeApi, BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteOptions } from './AutocompleteOptions';
|
||||
import { OnSelectParams, OnActiveParams } from './AutocompleteSource';
|
||||
declare type PluginSubscriber<TParams> = (params: TParams) => void;
|
||||
export interface PluginSubscribeParams<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
onSelect(fn: PluginSubscriber<OnSelectParams<TItem>>): void;
|
||||
onActive(fn: PluginSubscriber<OnActiveParams<TItem>>): void;
|
||||
}
|
||||
export declare type AutocompletePlugin<TItem extends BaseItem, TData = unknown> = Partial<Pick<AutocompleteOptions<any>, 'onStateChange' | 'onSubmit' | 'onReset'> & Pick<AutocompleteOptions<TItem>, 'getSources'>> & {
|
||||
/**
|
||||
* The function called when Autocomplete starts.
|
||||
*
|
||||
* It lets you subscribe to lifecycle hooks and interact with the instance's state and context.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/plugins/#param-subscribe
|
||||
*/
|
||||
subscribe?(params: PluginSubscribeParams<any>): void;
|
||||
/**
|
||||
* An extra plugin object to expose properties and functions as APIs.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/plugins/#param-data
|
||||
*/
|
||||
data?: TData;
|
||||
/**
|
||||
* A name to identify the plugin.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/plugins/#param-name
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
__autocomplete_pluginOptions?: Record<string, any>;
|
||||
};
|
||||
export {};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePlugin.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePlugin.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
97
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePropGetters.d.ts
generated
vendored
Normal file
97
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePropGetters.d.ts
generated
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { InternalAutocompleteSource } from './AutocompleteSource';
|
||||
export interface AutocompletePropGetters<TItem extends BaseItem, TEvent = Event, TMouseEvent = MouseEvent, TKeyboardEvent = KeyboardEvent> {
|
||||
getEnvironmentProps: GetEnvironmentProps;
|
||||
getRootProps: GetRootProps;
|
||||
getFormProps: GetFormProps<TEvent>;
|
||||
getLabelProps: GetLabelProps;
|
||||
getInputProps: GetInputProps<TEvent, TMouseEvent, TKeyboardEvent>;
|
||||
getPanelProps: GetPanelProps<TMouseEvent>;
|
||||
getListProps: GetListProps;
|
||||
getItemProps: GetItemProps<TItem, TMouseEvent>;
|
||||
}
|
||||
export declare type GetEnvironmentProps = (props: {
|
||||
[key: string]: unknown;
|
||||
formElement: HTMLElement;
|
||||
inputElement: HTMLInputElement;
|
||||
panelElement: HTMLElement;
|
||||
}) => {
|
||||
onTouchStart(event: TouchEvent): void;
|
||||
onTouchMove(event: TouchEvent): void;
|
||||
};
|
||||
export declare type GetRootProps = (props?: {
|
||||
[key: string]: unknown;
|
||||
}) => {
|
||||
role: string;
|
||||
'aria-expanded': boolean;
|
||||
'aria-haspopup': boolean | 'dialog' | 'menu' | 'true' | 'false' | 'grid' | 'listbox' | 'tree' | undefined;
|
||||
'aria-owns': string | undefined;
|
||||
'aria-labelledby': string;
|
||||
};
|
||||
export declare type GetFormProps<TEvent = Event> = (props: {
|
||||
[key: string]: unknown;
|
||||
inputElement: HTMLInputElement | null;
|
||||
}) => {
|
||||
action: '';
|
||||
noValidate: true;
|
||||
role: 'search';
|
||||
onSubmit(event: TEvent): void;
|
||||
onReset(event: TEvent): void;
|
||||
};
|
||||
export declare type GetLabelProps = (props?: {
|
||||
[key: string]: unknown;
|
||||
}) => {
|
||||
htmlFor: string;
|
||||
id: string;
|
||||
};
|
||||
export declare type GetInputProps<TEvent, TMouseEvent, TKeyboardEvent> = (props: {
|
||||
[key: string]: unknown;
|
||||
inputElement: HTMLInputElement | null;
|
||||
maxLength?: number;
|
||||
}) => {
|
||||
id: string;
|
||||
value: string;
|
||||
autoFocus: boolean;
|
||||
placeholder: string;
|
||||
autoComplete: 'on' | 'off';
|
||||
autoCorrect: 'on' | 'off';
|
||||
autoCapitalize: 'on' | 'off';
|
||||
enterKeyHint: 'go' | 'search';
|
||||
spellCheck: 'false';
|
||||
maxLength: number;
|
||||
type: 'search';
|
||||
'aria-autocomplete': 'none' | 'inline' | 'list' | 'both';
|
||||
'aria-activedescendant': string | undefined;
|
||||
'aria-controls': string | undefined;
|
||||
'aria-labelledby': string;
|
||||
onChange(event: TEvent): void;
|
||||
onKeyDown(event: TKeyboardEvent): void;
|
||||
onFocus(event: TEvent): void;
|
||||
onBlur(): void;
|
||||
onClick(event: TMouseEvent): void;
|
||||
};
|
||||
export declare type GetPanelProps<TMouseEvent> = (props?: {
|
||||
[key: string]: unknown;
|
||||
}) => {
|
||||
onMouseDown(event: TMouseEvent): void;
|
||||
onMouseLeave(): void;
|
||||
};
|
||||
export declare type GetListProps = (props?: {
|
||||
[key: string]: unknown;
|
||||
}) => {
|
||||
role: string;
|
||||
'aria-labelledby': string;
|
||||
id: string;
|
||||
};
|
||||
export declare type GetItemProps<TItem extends BaseItem, TMouseEvent = MouseEvent> = (props: {
|
||||
[key: string]: unknown;
|
||||
item: TItem;
|
||||
source: InternalAutocompleteSource<TItem>;
|
||||
}) => {
|
||||
id: string;
|
||||
role: string;
|
||||
'aria-selected': boolean;
|
||||
onMouseMove(event: TMouseEvent): void;
|
||||
onMouseDown(event: TMouseEvent): void;
|
||||
onClick(event: TMouseEvent): void;
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePropGetters.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompletePropGetters.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
23
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteReshape.d.ts
generated
vendored
Normal file
23
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteReshape.d.ts
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteSource } from './AutocompleteSource';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export declare type AutocompleteReshapeSource<TItem extends BaseItem> = AutocompleteSource<TItem> & {
|
||||
getItems(): TItem[];
|
||||
};
|
||||
export declare type AutocompleteReshapeSourcesBySourceId<TItem extends BaseItem> = Record<string, AutocompleteReshapeSource<TItem>>;
|
||||
export declare type Reshape<TItem extends BaseItem, TState extends AutocompleteState<TItem> = AutocompleteState<TItem>> = (params: {
|
||||
/**
|
||||
* The resolved sources provided by [`getSources`](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getsources)
|
||||
*/
|
||||
sources: Array<AutocompleteReshapeSource<TItem>>;
|
||||
/**
|
||||
* The resolved sources grouped by [`sourceId`](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-sourceid)s
|
||||
*/
|
||||
sourcesBySourceId: AutocompleteReshapeSourcesBySourceId<TItem>;
|
||||
/**
|
||||
* The current Autocomplete state.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state
|
||||
*/
|
||||
state: TState;
|
||||
}) => Array<AutocompleteReshapeSource<TItem>>;
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteReshape.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteReshape.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
46
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSetters.d.ts
generated
vendored
Normal file
46
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSetters.d.ts
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteCollection, AutocompleteCollectionItemsArray } from './AutocompleteCollection';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export declare type StateUpdater<TState> = (value: TState) => void;
|
||||
export interface AutocompleteSetters<TItem extends BaseItem> {
|
||||
/**
|
||||
* Sets the highlighted item index.
|
||||
*
|
||||
* Pass `null` to unselect items.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setactiveitemid
|
||||
*/
|
||||
setActiveItemId: StateUpdater<AutocompleteState<TItem>['activeItemId']>;
|
||||
/**
|
||||
* Sets the query.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setquery
|
||||
*/
|
||||
setQuery: StateUpdater<AutocompleteState<TItem>['query']>;
|
||||
/**
|
||||
* Sets the collections.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setcollections
|
||||
*/
|
||||
setCollections: StateUpdater<Array<AutocompleteCollection<TItem> | AutocompleteCollectionItemsArray<TItem>>>;
|
||||
/**
|
||||
* Sets whether the panel is open or not.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setisopen
|
||||
*/
|
||||
setIsOpen: StateUpdater<AutocompleteState<TItem>['isOpen']>;
|
||||
/**
|
||||
* Sets the status of the autocomplete.
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setisopen
|
||||
*/
|
||||
setStatus: StateUpdater<AutocompleteState<TItem>['status']>;
|
||||
/**
|
||||
* Sets the context passed to lifecycle hooks.
|
||||
*
|
||||
* See more in [**Context**](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/context/).
|
||||
*
|
||||
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/state/#param-setcontext
|
||||
*/
|
||||
setContext: StateUpdater<AutocompleteState<TItem>['context']>;
|
||||
}
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSetters.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSetters.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
57
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSource.d.ts
generated
vendored
Normal file
57
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSource.d.ts
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
import type { RequesterDescription } from '@algolia/autocomplete-preset-algolia';
|
||||
import type { MaybePromise } from '@algolia/autocomplete-shared';
|
||||
import { AutocompleteScopeApi, BaseItem } from './AutocompleteApi';
|
||||
import { GetSourcesParams } from './AutocompleteOptions';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export interface OnSelectParams<TItem extends BaseItem> extends AutocompleteScopeApi<TItem> {
|
||||
state: AutocompleteState<TItem>;
|
||||
event: any;
|
||||
item: TItem;
|
||||
itemInputValue: ReturnType<InternalAutocompleteSource<TItem>['getItemInputValue']>;
|
||||
itemUrl: ReturnType<InternalAutocompleteSource<TItem>['getItemUrl']>;
|
||||
source: InternalAutocompleteSource<TItem>;
|
||||
}
|
||||
export declare type OnActiveParams<TItem extends BaseItem> = OnSelectParams<TItem>;
|
||||
export interface AutocompleteSource<TItem extends BaseItem> {
|
||||
/**
|
||||
* Unique identifier for the source.
|
||||
*/
|
||||
sourceId: string;
|
||||
/**
|
||||
* The function called to get the value of an item.
|
||||
*
|
||||
* The value is used to fill the search box.
|
||||
*/
|
||||
getItemInputValue?({ item, state, }: {
|
||||
item: TItem;
|
||||
state: AutocompleteState<TItem>;
|
||||
}): string;
|
||||
/**
|
||||
* The function called to get the URL of the item.
|
||||
*
|
||||
* The value is used to add [keyboard accessibility](https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/keyboard-navigation/) features to let users open items in the current tab, a new tab, or a new window.
|
||||
*/
|
||||
getItemUrl?({ item, state, }: {
|
||||
item: TItem;
|
||||
state: AutocompleteState<TItem>;
|
||||
}): string | undefined;
|
||||
/**
|
||||
* The function called when the input changes.
|
||||
*
|
||||
* You can use this function to filter the items based on the query.
|
||||
*/
|
||||
getItems(params: GetSourcesParams<TItem>): MaybePromise<TItem[] | TItem[][] | RequesterDescription<TItem>>;
|
||||
/**
|
||||
* The function called whenever an item is selected.
|
||||
*/
|
||||
onSelect?(params: OnSelectParams<TItem>): void;
|
||||
/**
|
||||
* The function called whenever an item is active.
|
||||
*
|
||||
* You can trigger different behaviors if the item is active depending on the triggering event using the `event` parameter.
|
||||
*/
|
||||
onActive?(params: OnActiveParams<TItem>): void;
|
||||
}
|
||||
export declare type InternalAutocompleteSource<TItem extends BaseItem> = {
|
||||
[KParam in keyof AutocompleteSource<TItem>]-?: AutocompleteSource<TItem>[KParam];
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSource.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSource.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
12
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteState.d.ts
generated
vendored
Normal file
12
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteState.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { AutocompleteCollection } from './AutocompleteCollection';
|
||||
import { AutocompleteContext } from './AutocompleteContext';
|
||||
export interface AutocompleteState<TItem extends BaseItem> {
|
||||
activeItemId: number | null;
|
||||
query: string;
|
||||
completion: string | null;
|
||||
collections: Array<AutocompleteCollection<TItem>>;
|
||||
isOpen: boolean;
|
||||
status: 'idle' | 'loading' | 'stalled' | 'error';
|
||||
context: AutocompleteContext;
|
||||
}
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteState.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteState.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
17
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteStore.d.ts
generated
vendored
Normal file
17
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteStore.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import { CancelablePromiseList } from '../utils';
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { InternalAutocompleteOptions } from './AutocompleteOptions';
|
||||
import { AutocompleteState } from './AutocompleteState';
|
||||
export interface AutocompleteStore<TItem extends BaseItem> {
|
||||
getState(): AutocompleteState<TItem>;
|
||||
dispatch(action: ActionType, payload: any): void;
|
||||
pendingRequests: CancelablePromiseList<void>;
|
||||
}
|
||||
export declare type Reducer = <TItem extends BaseItem>(state: AutocompleteState<TItem>, action: Action<TItem, any>) => AutocompleteState<TItem>;
|
||||
declare type Action<TItem extends BaseItem, TPayload> = {
|
||||
type: ActionType;
|
||||
props: InternalAutocompleteOptions<TItem>;
|
||||
payload: TPayload;
|
||||
};
|
||||
export declare type ActionType = 'setActiveItemId' | 'setQuery' | 'setCollections' | 'setIsOpen' | 'setStatus' | 'setContext' | 'ArrowUp' | 'ArrowDown' | 'Escape' | 'Enter' | 'submit' | 'reset' | 'focus' | 'blur' | 'mousemove' | 'mouseleave' | 'click';
|
||||
export {};
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteStore.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteStore.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
7
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSubscribers.d.ts
generated
vendored
Normal file
7
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSubscribers.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { BaseItem } from './AutocompleteApi';
|
||||
import { OnActiveParams, OnSelectParams } from './AutocompleteSource';
|
||||
export declare type AutocompleteSubscriber<TItem extends BaseItem> = {
|
||||
onSelect(params: OnSelectParams<TItem>): void;
|
||||
onActive(params: OnActiveParams<TItem>): void;
|
||||
};
|
||||
export declare type AutocompleteSubscribers<TItem extends BaseItem> = Array<Partial<AutocompleteSubscriber<TItem>>>;
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSubscribers.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/types/AutocompleteSubscribers.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
13
node_modules/@algolia/autocomplete-core/dist/esm/types/index.d.ts
generated
vendored
Normal file
13
node_modules/@algolia/autocomplete-core/dist/esm/types/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export * from './AutocompleteApi';
|
||||
export * from './AutocompleteCollection';
|
||||
export * from './AutocompleteContext';
|
||||
export * from './AutocompleteEnvironment';
|
||||
export * from './AutocompleteOptions';
|
||||
export * from './AutocompleteSource';
|
||||
export * from './AutocompletePropGetters';
|
||||
export * from './AutocompletePlugin';
|
||||
export * from './AutocompleteReshape';
|
||||
export * from './AutocompleteSetters';
|
||||
export * from './AutocompleteState';
|
||||
export * from './AutocompleteStore';
|
||||
export * from './AutocompleteSubscribers';
|
||||
13
node_modules/@algolia/autocomplete-core/dist/esm/types/index.js
generated
vendored
Normal file
13
node_modules/@algolia/autocomplete-core/dist/esm/types/index.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
export * from './AutocompleteApi';
|
||||
export * from './AutocompleteCollection';
|
||||
export * from './AutocompleteContext';
|
||||
export * from './AutocompleteEnvironment';
|
||||
export * from './AutocompleteOptions';
|
||||
export * from './AutocompleteSource';
|
||||
export * from './AutocompletePropGetters';
|
||||
export * from './AutocompletePlugin';
|
||||
export * from './AutocompleteReshape';
|
||||
export * from './AutocompleteSetters';
|
||||
export * from './AutocompleteState';
|
||||
export * from './AutocompleteStore';
|
||||
export * from './AutocompleteSubscribers';
|
||||
15
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.d.ts
generated
vendored
Normal file
15
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.d.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
declare type PromiseExecutor<TValue> = (resolve: (value: TValue | PromiseLike<TValue>) => void, reject: (reason?: any) => void) => void;
|
||||
export declare type CancelablePromise<TValue> = {
|
||||
then<TResultFulfilled = TValue, TResultRejected = never>(onfulfilled?: ((value: TValue) => TResultFulfilled | PromiseLike<TResultFulfilled> | CancelablePromise<TResultFulfilled>) | undefined | null, onrejected?: ((reason: any) => TResultRejected | PromiseLike<TResultRejected> | CancelablePromise<TResultRejected>) | undefined | null): CancelablePromise<TResultFulfilled | TResultRejected>;
|
||||
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult> | CancelablePromise<TResult>) | undefined | null): CancelablePromise<TValue | TResult>;
|
||||
finally(onfinally?: (() => void) | undefined | null): CancelablePromise<TValue>;
|
||||
cancel(): void;
|
||||
isCanceled(): boolean;
|
||||
};
|
||||
export declare function createCancelablePromise<TValue>(executor: PromiseExecutor<TValue>): CancelablePromise<TValue>;
|
||||
export declare namespace createCancelablePromise {
|
||||
var resolve: <TValue>(value?: TValue | PromiseLike<TValue> | CancelablePromise<TValue> | undefined) => CancelablePromise<TValue | CancelablePromise<TValue> | undefined>;
|
||||
var reject: (reason?: any) => CancelablePromise<never>;
|
||||
}
|
||||
export declare function cancelable<TValue>(promise: Promise<TValue>): CancelablePromise<TValue>;
|
||||
export {};
|
||||
70
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js
generated
vendored
Normal file
70
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromise.js
generated
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
function createInternalCancelablePromise(promise, initialState) {
|
||||
var state = initialState;
|
||||
return {
|
||||
then: function then(onfulfilled, onrejected) {
|
||||
return createInternalCancelablePromise(promise.then(createCallback(onfulfilled, state, promise), createCallback(onrejected, state, promise)), state);
|
||||
},
|
||||
catch: function _catch(onrejected) {
|
||||
return createInternalCancelablePromise(promise.catch(createCallback(onrejected, state, promise)), state);
|
||||
},
|
||||
finally: function _finally(onfinally) {
|
||||
if (onfinally) {
|
||||
state.onCancelList.push(onfinally);
|
||||
}
|
||||
|
||||
return createInternalCancelablePromise(promise.finally(createCallback(onfinally && function () {
|
||||
state.onCancelList = [];
|
||||
return onfinally();
|
||||
}, state, promise)), state);
|
||||
},
|
||||
cancel: function cancel() {
|
||||
state.isCanceled = true;
|
||||
var callbacks = state.onCancelList;
|
||||
state.onCancelList = [];
|
||||
callbacks.forEach(function (callback) {
|
||||
callback();
|
||||
});
|
||||
},
|
||||
isCanceled: function isCanceled() {
|
||||
return state.isCanceled === true;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export function createCancelablePromise(executor) {
|
||||
return createInternalCancelablePromise(new Promise(function (resolve, reject) {
|
||||
return executor(resolve, reject);
|
||||
}), {
|
||||
isCanceled: false,
|
||||
onCancelList: []
|
||||
});
|
||||
}
|
||||
|
||||
createCancelablePromise.resolve = function (value) {
|
||||
return cancelable(Promise.resolve(value));
|
||||
};
|
||||
|
||||
createCancelablePromise.reject = function (reason) {
|
||||
return cancelable(Promise.reject(reason));
|
||||
};
|
||||
|
||||
export function cancelable(promise) {
|
||||
return createInternalCancelablePromise(promise, {
|
||||
isCanceled: false,
|
||||
onCancelList: []
|
||||
});
|
||||
}
|
||||
|
||||
function createCallback(onResult, state, fallback) {
|
||||
if (!onResult) {
|
||||
return fallback;
|
||||
}
|
||||
|
||||
return function callback(arg) {
|
||||
if (state.isCanceled) {
|
||||
return arg;
|
||||
}
|
||||
|
||||
return onResult(arg);
|
||||
};
|
||||
}
|
||||
7
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.d.ts
generated
vendored
Normal file
7
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { CancelablePromise } from '.';
|
||||
export declare type CancelablePromiseList<TValue> = {
|
||||
add(cancelablePromise: CancelablePromise<TValue>): CancelablePromise<TValue>;
|
||||
cancelAll(): void;
|
||||
isEmpty(): boolean;
|
||||
};
|
||||
export declare function createCancelablePromiseList<TValue>(): CancelablePromiseList<TValue>;
|
||||
21
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js
generated
vendored
Normal file
21
node_modules/@algolia/autocomplete-core/dist/esm/utils/createCancelablePromiseList.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
export function createCancelablePromiseList() {
|
||||
var list = [];
|
||||
return {
|
||||
add: function add(cancelablePromise) {
|
||||
list.push(cancelablePromise);
|
||||
return cancelablePromise.finally(function () {
|
||||
list = list.filter(function (item) {
|
||||
return item !== cancelablePromise;
|
||||
});
|
||||
});
|
||||
},
|
||||
cancelAll: function cancelAll() {
|
||||
list.forEach(function (promise) {
|
||||
return promise.cancel();
|
||||
});
|
||||
},
|
||||
isEmpty: function isEmpty() {
|
||||
return list.length === 0;
|
||||
}
|
||||
};
|
||||
}
|
||||
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.d.ts
generated
vendored
Normal file
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { MaybePromise } from '@algolia/autocomplete-shared';
|
||||
/**
|
||||
* Creates a runner that executes promises in a concurrent-safe way.
|
||||
*
|
||||
* This is useful to prevent older promises to resolve after a newer promise,
|
||||
* otherwise resulting in stale resolved values.
|
||||
*/
|
||||
export declare function createConcurrentSafePromise(): <TValue>(promise: MaybePromise<TValue>) => Promise<TValue>;
|
||||
37
node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js
generated
vendored
Normal file
37
node_modules/@algolia/autocomplete-core/dist/esm/utils/createConcurrentSafePromise.js
generated
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* Creates a runner that executes promises in a concurrent-safe way.
|
||||
*
|
||||
* This is useful to prevent older promises to resolve after a newer promise,
|
||||
* otherwise resulting in stale resolved values.
|
||||
*/
|
||||
export function createConcurrentSafePromise() {
|
||||
var basePromiseId = -1;
|
||||
var latestResolvedId = -1;
|
||||
var latestResolvedValue = undefined;
|
||||
return function runConcurrentSafePromise(promise) {
|
||||
basePromiseId++;
|
||||
var currentPromiseId = basePromiseId;
|
||||
return Promise.resolve(promise).then(function (x) {
|
||||
// The promise might take too long to resolve and get outdated. This would
|
||||
// result in resolving stale values.
|
||||
// When this happens, we ignore the promise value and return the one
|
||||
// coming from the latest resolved value.
|
||||
//
|
||||
// +----------------------------------+
|
||||
// | 100ms |
|
||||
// | run(1) +---> R1 |
|
||||
// | 300ms |
|
||||
// | run(2) +-------------> R2 (SKIP) |
|
||||
// | 200ms |
|
||||
// | run(3) +--------> R3 |
|
||||
// +----------------------------------+
|
||||
if (latestResolvedValue && currentPromiseId < latestResolvedId) {
|
||||
return latestResolvedValue;
|
||||
}
|
||||
|
||||
latestResolvedId = currentPromiseId;
|
||||
latestResolvedValue = x;
|
||||
return x;
|
||||
});
|
||||
};
|
||||
}
|
||||
7
node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.d.ts
generated
vendored
Normal file
7
node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { AutocompleteState, BaseItem } from '../types';
|
||||
export declare function getActiveItem<TItem extends BaseItem>(state: AutocompleteState<TItem>): {
|
||||
item: TItem;
|
||||
itemInputValue: string;
|
||||
itemUrl: string | undefined;
|
||||
source: import("../types").InternalAutocompleteSource<TItem>;
|
||||
} | null;
|
||||
85
node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js
generated
vendored
Normal file
85
node_modules/@algolia/autocomplete-core/dist/esm/utils/getActiveItem.js
generated
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
// We don't have access to the autocomplete source when we call `onKeyDown`
|
||||
// or `onClick` because those are native browser events.
|
||||
// However, we can get the source from the suggestion index.
|
||||
function getCollectionFromActiveItemId(state) {
|
||||
// Given 3 sources with respectively 1, 2 and 3 suggestions: [1, 2, 3]
|
||||
// We want to get the accumulated counts:
|
||||
// [1, 1 + 2, 1 + 2 + 3] = [1, 3, 3 + 3] = [1, 3, 6]
|
||||
var accumulatedCollectionsCount = state.collections.map(function (collections) {
|
||||
return collections.items.length;
|
||||
}).reduce(function (acc, collectionsCount, index) {
|
||||
var previousValue = acc[index - 1] || 0;
|
||||
var nextValue = previousValue + collectionsCount;
|
||||
acc.push(nextValue);
|
||||
return acc;
|
||||
}, []); // Based on the accumulated counts, we can infer the index of the suggestion.
|
||||
|
||||
var collectionIndex = accumulatedCollectionsCount.reduce(function (acc, current) {
|
||||
if (current <= state.activeItemId) {
|
||||
return acc + 1;
|
||||
}
|
||||
|
||||
return acc;
|
||||
}, 0);
|
||||
return state.collections[collectionIndex];
|
||||
}
|
||||
/**
|
||||
* Gets the highlighted index relative to a suggestion object (not the absolute
|
||||
* highlighted index).
|
||||
*
|
||||
* Example:
|
||||
* [['a', 'b'], ['c', 'd', 'e'], ['f']]
|
||||
* ↑
|
||||
* (absolute: 3, relative: 1)
|
||||
*/
|
||||
|
||||
|
||||
function getRelativeActiveItemId(_ref) {
|
||||
var state = _ref.state,
|
||||
collection = _ref.collection;
|
||||
var isOffsetFound = false;
|
||||
var counter = 0;
|
||||
var previousItemsOffset = 0;
|
||||
|
||||
while (isOffsetFound === false) {
|
||||
var currentCollection = state.collections[counter];
|
||||
|
||||
if (currentCollection === collection) {
|
||||
isOffsetFound = true;
|
||||
break;
|
||||
}
|
||||
|
||||
previousItemsOffset += currentCollection.items.length;
|
||||
counter++;
|
||||
}
|
||||
|
||||
return state.activeItemId - previousItemsOffset;
|
||||
}
|
||||
|
||||
export function getActiveItem(state) {
|
||||
var collection = getCollectionFromActiveItemId(state);
|
||||
|
||||
if (!collection) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var item = collection.items[getRelativeActiveItemId({
|
||||
state: state,
|
||||
collection: collection
|
||||
})];
|
||||
var source = collection.source;
|
||||
var itemInputValue = source.getItemInputValue({
|
||||
item: item,
|
||||
state: state
|
||||
});
|
||||
var itemUrl = source.getItemUrl({
|
||||
item: item,
|
||||
state: state
|
||||
});
|
||||
return {
|
||||
item: item,
|
||||
itemInputValue: itemInputValue,
|
||||
itemUrl: itemUrl,
|
||||
source: source
|
||||
};
|
||||
}
|
||||
17
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.d.ts
generated
vendored
Normal file
17
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Returns the next active item ID from the current state.
|
||||
*
|
||||
* We allow circular keyboard navigation from the base index.
|
||||
* The base index can either be `null` (nothing is highlighted) or `0`
|
||||
* (the first item is highlighted).
|
||||
* The base index is allowed to get assigned `null` only if
|
||||
* `props.defaultActiveItemId` is `null`. This pattern allows to "stop"
|
||||
* by the actual query before navigating to other suggestions as seen on
|
||||
* Google or Amazon.
|
||||
*
|
||||
* @param moveAmount The offset to increment (or decrement) the last index
|
||||
* @param baseIndex The current index to compute the next index from
|
||||
* @param itemCount The number of items
|
||||
* @param defaultActiveItemId The default active index to fallback to
|
||||
*/
|
||||
export declare function getNextActiveItemId(moveAmount: number, baseIndex: number | null, itemCount: number, defaultActiveItemId: number | null): number | null;
|
||||
33
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js
generated
vendored
Normal file
33
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNextActiveItemId.js
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* Returns the next active item ID from the current state.
|
||||
*
|
||||
* We allow circular keyboard navigation from the base index.
|
||||
* The base index can either be `null` (nothing is highlighted) or `0`
|
||||
* (the first item is highlighted).
|
||||
* The base index is allowed to get assigned `null` only if
|
||||
* `props.defaultActiveItemId` is `null`. This pattern allows to "stop"
|
||||
* by the actual query before navigating to other suggestions as seen on
|
||||
* Google or Amazon.
|
||||
*
|
||||
* @param moveAmount The offset to increment (or decrement) the last index
|
||||
* @param baseIndex The current index to compute the next index from
|
||||
* @param itemCount The number of items
|
||||
* @param defaultActiveItemId The default active index to fallback to
|
||||
*/
|
||||
export function getNextActiveItemId(moveAmount, baseIndex, itemCount, defaultActiveItemId) {
|
||||
if (!itemCount) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (moveAmount < 0 && (baseIndex === null || defaultActiveItemId !== null && baseIndex === 0)) {
|
||||
return itemCount + moveAmount;
|
||||
}
|
||||
|
||||
var numericIndex = (baseIndex === null ? -1 : baseIndex) + moveAmount;
|
||||
|
||||
if (numericIndex <= -1 || numericIndex >= itemCount) {
|
||||
return defaultActiveItemId === null ? null : 0;
|
||||
}
|
||||
|
||||
return numericIndex;
|
||||
}
|
||||
2
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.d.ts
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { BaseItem, GetSources, GetSourcesParams, InternalGetSources } from '../types';
|
||||
export declare function getNormalizedSources<TItem extends BaseItem>(getSources: GetSources<TItem>, params: GetSourcesParams<TItem>): ReturnType<InternalGetSources<TItem>>;
|
||||
48
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js
generated
vendored
Normal file
48
node_modules/@algolia/autocomplete-core/dist/esm/utils/getNormalizedSources.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
||||
|
||||
import { invariant, decycle, noop } from '@algolia/autocomplete-shared';
|
||||
export function getNormalizedSources(getSources, params) {
|
||||
var seenSourceIds = [];
|
||||
return Promise.resolve(getSources(params)).then(function (sources) {
|
||||
invariant(Array.isArray(sources), function () {
|
||||
return "The `getSources` function must return an array of sources but returned type ".concat(JSON.stringify(_typeof(sources)), ":\n\n").concat(JSON.stringify(decycle(sources), null, 2));
|
||||
});
|
||||
return Promise.all(sources // We allow `undefined` and `false` sources to allow users to use
|
||||
// `Boolean(query) && source` (=> `false`).
|
||||
// We need to remove these values at this point.
|
||||
.filter(function (maybeSource) {
|
||||
return Boolean(maybeSource);
|
||||
}).map(function (source) {
|
||||
invariant(typeof source.sourceId === 'string', 'A source must provide a `sourceId` string.');
|
||||
|
||||
if (seenSourceIds.includes(source.sourceId)) {
|
||||
throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(source.sourceId), " is not unique."));
|
||||
}
|
||||
|
||||
seenSourceIds.push(source.sourceId);
|
||||
|
||||
var normalizedSource = _objectSpread({
|
||||
getItemInputValue: function getItemInputValue(_ref) {
|
||||
var state = _ref.state;
|
||||
return state.query;
|
||||
},
|
||||
getItemUrl: function getItemUrl() {
|
||||
return undefined;
|
||||
},
|
||||
onSelect: function onSelect(_ref2) {
|
||||
var setIsOpen = _ref2.setIsOpen;
|
||||
setIsOpen(false);
|
||||
},
|
||||
onActive: noop
|
||||
}, source);
|
||||
|
||||
return Promise.resolve(normalizedSource);
|
||||
}));
|
||||
});
|
||||
}
|
||||
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/index.d.ts
generated
vendored
Normal file
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export * from './createCancelablePromise';
|
||||
export * from './createCancelablePromiseList';
|
||||
export * from './createConcurrentSafePromise';
|
||||
export * from './getNextActiveItemId';
|
||||
export * from './getNormalizedSources';
|
||||
export * from './getActiveItem';
|
||||
export * from './isOrContainsNode';
|
||||
export * from './mapToAlgoliaResponse';
|
||||
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/index.js
generated
vendored
Normal file
8
node_modules/@algolia/autocomplete-core/dist/esm/utils/index.js
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
export * from './createCancelablePromise';
|
||||
export * from './createCancelablePromiseList';
|
||||
export * from './createConcurrentSafePromise';
|
||||
export * from './getNextActiveItemId';
|
||||
export * from './getNormalizedSources';
|
||||
export * from './getActiveItem';
|
||||
export * from './isOrContainsNode';
|
||||
export * from './mapToAlgoliaResponse';
|
||||
1
node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.d.ts
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export declare function isOrContainsNode(parent: Node, child: Node): boolean;
|
||||
3
node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js
generated
vendored
Normal file
3
node_modules/@algolia/autocomplete-core/dist/esm/utils/isOrContainsNode.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export function isOrContainsNode(parent, child) {
|
||||
return parent === child || parent.contains(child);
|
||||
}
|
||||
14
node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.d.ts
generated
vendored
Normal file
14
node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.d.ts
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
import type { SearchForFacetValuesResponse, SearchResponse } from '@algolia/client-search';
|
||||
export declare function mapToAlgoliaResponse<THit>(rawResults: Array<SearchResponse<THit> | SearchForFacetValuesResponse>): {
|
||||
results: (SearchForFacetValuesResponse | SearchResponse<THit>)[];
|
||||
hits: import("@algolia/client-search").Hit<THit>[][];
|
||||
facetHits: {
|
||||
label: string;
|
||||
count: number;
|
||||
_highlightResult: {
|
||||
label: {
|
||||
value: string;
|
||||
};
|
||||
};
|
||||
}[][];
|
||||
};
|
||||
43
node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js
generated
vendored
Normal file
43
node_modules/@algolia/autocomplete-core/dist/esm/utils/mapToAlgoliaResponse.js
generated
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
||||
|
||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
||||
|
||||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
||||
|
||||
export function mapToAlgoliaResponse(rawResults) {
|
||||
var results = rawResults.map(function (result) {
|
||||
var _hits;
|
||||
|
||||
return _objectSpread(_objectSpread({}, result), {}, {
|
||||
hits: (_hits = result.hits) === null || _hits === void 0 ? void 0 : _hits.map(function (hit) {
|
||||
// Bring support for the Insights plugin.
|
||||
return _objectSpread(_objectSpread({}, hit), {}, {
|
||||
__autocomplete_indexName: result.index,
|
||||
__autocomplete_queryID: result.queryID
|
||||
});
|
||||
})
|
||||
});
|
||||
});
|
||||
return {
|
||||
results: results,
|
||||
hits: results.map(function (result) {
|
||||
return result.hits;
|
||||
}).filter(Boolean),
|
||||
facetHits: results.map(function (result) {
|
||||
var _facetHits;
|
||||
|
||||
return (_facetHits = result.facetHits) === null || _facetHits === void 0 ? void 0 : _facetHits.map(function (facetHit) {
|
||||
// Bring support for the highlighting components.
|
||||
return {
|
||||
label: facetHit.value,
|
||||
count: facetHit.count,
|
||||
_highlightResult: {
|
||||
label: {
|
||||
value: facetHit.highlighted
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
}).filter(Boolean)
|
||||
};
|
||||
}
|
||||
1847
node_modules/@algolia/autocomplete-core/dist/umd/index.development.js
generated
vendored
Normal file
1847
node_modules/@algolia/autocomplete-core/dist/umd/index.development.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
node_modules/@algolia/autocomplete-core/dist/umd/index.development.js.map
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/umd/index.development.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
node_modules/@algolia/autocomplete-core/dist/umd/index.production.js
generated
vendored
Normal file
3
node_modules/@algolia/autocomplete-core/dist/umd/index.production.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1
node_modules/@algolia/autocomplete-core/dist/umd/index.production.js.map
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-core/dist/umd/index.production.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
41
node_modules/@algolia/autocomplete-core/package.json
generated
vendored
Normal file
41
node_modules/@algolia/autocomplete-core/package.json
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "@algolia/autocomplete-core",
|
||||
"description": "Core primitives for building autocomplete experiences.",
|
||||
"version": "1.5.2",
|
||||
"license": "MIT",
|
||||
"homepage": "https://github.com/algolia/autocomplete",
|
||||
"repository": "algolia/autocomplete",
|
||||
"author": {
|
||||
"name": "Algolia, Inc.",
|
||||
"url": "https://www.algolia.com"
|
||||
},
|
||||
"source": "src/index.ts",
|
||||
"types": "dist/esm/index.d.ts",
|
||||
"module": "dist/esm/index.js",
|
||||
"main": "dist/umd/index.production.js",
|
||||
"umd:main": "dist/umd/index.production.js",
|
||||
"unpkg": "dist/umd/index.production.js",
|
||||
"jsdelivr": "dist/umd/index.production.js",
|
||||
"sideEffects": false,
|
||||
"files": [
|
||||
"dist/"
|
||||
],
|
||||
"scripts": {
|
||||
"build:clean": "rm -rf ./dist",
|
||||
"build:esm": "babel src --root-mode upward --extensions '.ts,.tsx' --out-dir dist/esm --ignore '**/*/__tests__/'",
|
||||
"build:types": "tsc -p ./tsconfig.declaration.json --outDir ./dist/esm",
|
||||
"build:umd": "rollup --config",
|
||||
"build": "yarn build:clean && yarn build:umd && yarn build:esm && yarn build:types",
|
||||
"on:change": "concurrently \"yarn build:esm\" \"yarn build:types\"",
|
||||
"prepare": "yarn build:esm && yarn build:types",
|
||||
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@algolia/autocomplete-shared": "1.5.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@algolia/autocomplete-preset-algolia": "1.5.2",
|
||||
"@algolia/client-search": "4.9.1",
|
||||
"algoliasearch": "4.9.1"
|
||||
}
|
||||
}
|
||||
15
node_modules/@algolia/autocomplete-preset-algolia/README.md
generated
vendored
Normal file
15
node_modules/@algolia/autocomplete-preset-algolia/README.md
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# @algolia/autocomplete-preset-algolia
|
||||
|
||||
The Algolia preset provides fetching and highlighting utilities for usage with Algolia.
|
||||
|
||||
## Installation
|
||||
|
||||
```sh
|
||||
yarn add @algolia/autocomplete-preset-algolia
|
||||
# or
|
||||
npm install @algolia/autocomplete-preset-algolia
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
See [**Documentation**](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-preset-algolia).
|
||||
2
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.d.ts
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export declare const HIGHLIGHT_PRE_TAG = "__aa-highlight__";
|
||||
export declare const HIGHLIGHT_POST_TAG = "__/aa-highlight__";
|
||||
2
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js
generated
vendored
Normal file
2
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/constants/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export var HIGHLIGHT_PRE_TAG = '__aa-highlight__';
|
||||
export var HIGHLIGHT_POST_TAG = '__/aa-highlight__';
|
||||
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/HighlightedHit.d.ts
generated
vendored
Normal file
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/HighlightedHit.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { HighlightResult } from '@algolia/client-search';
|
||||
export declare type HighlightedHit<THit> = THit & {
|
||||
_highlightResult?: HighlightResult<THit>;
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/HighlightedHit.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/HighlightedHit.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParseAlgoliaHitParams.d.ts
generated
vendored
Normal file
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParseAlgoliaHitParams.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export declare type ParseAlgoliaHitParams<TItem> = {
|
||||
hit: TItem;
|
||||
attribute: keyof TItem | string[];
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParseAlgoliaHitParams.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParseAlgoliaHitParams.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParsedAttribute.d.ts
generated
vendored
Normal file
4
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParsedAttribute.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export declare type ParsedAttribute = {
|
||||
value: string;
|
||||
isHighlighted: boolean;
|
||||
};
|
||||
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParsedAttribute.js
generated
vendored
Normal file
1
node_modules/@algolia/autocomplete-preset-algolia/dist/esm/highlight/ParsedAttribute.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user