Skip to content
This repository was archived by the owner on Dec 16, 2022. It is now read-only.

Commit 5c72d05

Browse files
feat(autocomplete): add Autocomplete v1 template (#528)
1 parent 502e776 commit 5c72d05

33 files changed

+515
-20
lines changed

.circleci/config.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ jobs:
9797
- run: *run_yarn_install
9898
- save_cache: *save_yarn_cache
9999
- build_app:
100-
template: 'Autocomplete.js'
100+
template: 'Autocomplete.js 0'
101101
app: 'autocomplete.js'
102102
- build_app:
103103
template: 'InstantSearch.js'
@@ -127,8 +127,11 @@ jobs:
127127
template: 'Angular InstantSearch'
128128
app: 'angular-instantsearch'
129129
- build_app:
130-
template: 'Autocomplete.js'
130+
template: 'Autocomplete.js 0'
131131
app: 'autocomplete.js'
132+
- build_app:
133+
template: 'Autocomplete'
134+
app: 'autocomplete'
132135
- build_app:
133136
template: 'InstantSearch.js'
134137
app: 'instantsearch.js'

.nvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
12.14.1
1+
14.15.0
43.1 KB
Loading

e2e/__snapshots__/templates.test.js.snap

Lines changed: 268 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -672,7 +672,7 @@ Array [
672672
]
673673
`;
674674
675-
exports[`Templates Autocomplete.js File content: .editorconfig 1`] = `
675+
exports[`Templates Autocomplete File content: .editorconfig 1`] = `
676676
"root = true
677677
678678
[*]
@@ -684,19 +684,274 @@ insert_final_newline = true
684684
trim_trailing_whitespace = true"
685685
`;
686686
687-
exports[`Templates Autocomplete.js File content: .eslintignore 1`] = `
687+
exports[`Templates Autocomplete File content: .eslintignore 1`] = `
688688
"/node_modules
689689
/dist
690690
/.cache"
691691
`;
692692
693-
exports[`Templates Autocomplete.js File content: .eslintrc.js 1`] = `
693+
exports[`Templates Autocomplete File content: .eslintrc.js 1`] = `
694+
"/* eslint-disable import/no-commonjs */
695+
696+
module.exports = {
697+
extends: ['algolia', 'algolia/react'],
698+
settings: {
699+
react: {
700+
pragma: 'React',
701+
version: 'preact',
702+
},
703+
},
704+
rules: {
705+
'jsdoc/check-tag-names': [
706+
'error',
707+
{
708+
jsxTags: true,
709+
},
710+
],
711+
'react/jsx-filename-extension': 'off',
712+
},
713+
};"
714+
`;
715+
716+
exports[`Templates Autocomplete File content: .gitignore 1`] = `
717+
"# See https://help.github.com/ignore-files/ for more about ignoring files.
718+
719+
# dependencies
720+
/node_modules
721+
722+
# testing
723+
/coverage
724+
725+
# production
726+
/dist
727+
/.cache
728+
729+
# misc
730+
.DS_Store
731+
.env.local
732+
.env.development.local
733+
.env.test.local
734+
.env.production.local
735+
736+
npm-debug.log*
737+
yarn-debug.log*
738+
yarn-error.log*"
739+
`;
740+
741+
exports[`Templates Autocomplete File content: .prettierrc 1`] = `
742+
"{
743+
\\"singleQuote\\": true,
744+
\\"proseWrap\\": \\"never\\",
745+
\\"trailingComma\\": \\"es5\\"
746+
}"
747+
`;
748+
749+
exports[`Templates Autocomplete File content: README.md 1`] = `
750+
"# autocomplete-app
751+
752+
_This project was generated with [create-instantsearch-app](https://github.com/algolia/create-instantsearch-app) by [Algolia](https://algolia.com)._
753+
754+
## Get started
755+
756+
To run this project locally, install the dependencies and run the local server:
757+
758+
\`\`\`sh
759+
npm install
760+
npm start
761+
\`\`\`
762+
763+
Alternatively, you may use [Yarn](https://http://yarnpkg.com/):
764+
765+
\`\`\`sh
766+
yarn
767+
yarn start
768+
\`\`\`
769+
770+
Open http://localhost:3000 to see your app."
771+
`;
772+
773+
exports[`Templates Autocomplete File content: app.js 1`] = `
774+
"/** @jsx h */
775+
import { autocomplete, getAlgoliaResults } from '@algolia/autocomplete-js';
776+
import algoliasearch from 'algoliasearch';
777+
import { h } from 'preact';
778+
779+
import '@algolia/autocomplete-theme-classic';
780+
781+
const searchClient = algoliasearch('appId', 'apiKey');
782+
783+
autocomplete({
784+
container: '#autocomplete',
785+
placeholder: '',
786+
debug: true,
787+
getSources({ query }) {
788+
return [
789+
{
790+
sourceId: 'items',
791+
getItems() {
792+
return getAlgoliaResults({
793+
searchClient,
794+
queries: [
795+
{
796+
indexName: 'indexName',
797+
query,
798+
},
799+
],
800+
});
801+
},
802+
templates: {
803+
item({ item, components }) {
804+
return (
805+
<div className=\\"aa-ItemWrapper\\">
806+
<div className=\\"aa-ItemContent\\">
807+
<div className=\\"aa-ItemContentBody\\">
808+
<div className=\\"aa-ItemContentTitle\\">
809+
<components.Highlight
810+
hit={item}
811+
attribute=\\"attribute1\\"
812+
/>
813+
</div>
814+
</div>
815+
</div>
816+
</div>
817+
);
818+
},
819+
noResults() {
820+
return 'No matching items.';
821+
},
822+
},
823+
},
824+
];
825+
},
826+
});"
827+
`;
828+
829+
exports[`Templates Autocomplete File content: index.html 1`] = `
830+
"<html lang=\\"en\\">
831+
<head>
832+
<meta charset=\\"UTF-8\\" />
833+
<meta name=\\"viewport\\" content=\\"width=device-width, initial-scale=1.0\\" />
834+
835+
<link rel=\\"shortcut icon\\" href=\\"favicon.png\\" type=\\"image/x-icon\\" />
836+
<link rel=\\"stylesheet\\" href=\\"style.css\\" />
837+
838+
<title>autocomplete-app</title>
839+
</head>
840+
841+
<body>
842+
<div class=\\"container\\">
843+
<div id=\\"autocomplete\\"></div>
844+
</div>
845+
846+
<script src=\\"app.js\\"></script>
847+
</body>
848+
</html>"
849+
`;
850+
851+
exports[`Templates Autocomplete File content: manifest.webmanifest 1`] = `
852+
"{
853+
\\"short_name\\": \\"autocomplete-app\\",
854+
\\"name\\": \\"autocomplete-app Sample\\",
855+
\\"icons\\": [
856+
{
857+
\\"src\\": \\"favicon.png\\",
858+
\\"sizes\\": \\"64x64 32x32 24x24 16x16\\",
859+
\\"type\\": \\"image/x-icon\\"
860+
}
861+
],
862+
\\"start_url\\": \\"./index.html\\",
863+
\\"display\\": \\"standalone\\",
864+
\\"theme_color\\": \\"#000000\\",
865+
\\"background_color\\": \\"#ffffff\\"
866+
}"
867+
`;
868+
869+
exports[`Templates Autocomplete File content: package.json 1`] = `
870+
"{
871+
\\"name\\": \\"autocomplete-app\\",
872+
\\"version\\": \\"1.0.0\\",
873+
\\"private\\": true,
874+
\\"scripts\\": {
875+
\\"build\\": \\"parcel build index.html\\",
876+
\\"start\\": \\"parcel index.html --port 3000\\",
877+
\\"lint\\": \\"eslint .\\"
878+
},
879+
\\"keywords\\": [
880+
\\"algolia\\",
881+
\\"autocomplete\\",
882+
\\"javascript\\"
883+
],
884+
\\"partialDependencies\\": {
885+
\\"@algolia/autocomplete-js\\": \\"1.0.0\\"
886+
}
887+
}"
888+
`;
889+
890+
exports[`Templates Autocomplete File content: style.css 1`] = `
891+
"* {
892+
box-sizing: border-box;
893+
}
894+
895+
body {
896+
background-color: rgb(244, 244, 249);
897+
color: rgb(65, 65, 65);
898+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
899+
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
900+
sans-serif;
901+
-webkit-font-smoothing: antialiased;
902+
-moz-osx-font-smoothing: grayscale;
903+
padding: 1rem;
904+
}
905+
906+
.container {
907+
margin: 0 auto;
908+
max-width: 640px;
909+
width: 100%;
910+
}"
911+
`;
912+
913+
exports[`Templates Autocomplete Folder structure: contains the right files 1`] = `
914+
Array [
915+
".editorconfig",
916+
".eslintignore",
917+
".eslintrc.js",
918+
".gitignore",
919+
".prettierrc",
920+
"README.md",
921+
"app.js",
922+
"favicon.png",
923+
"index.html",
924+
"manifest.webmanifest",
925+
"package.json",
926+
"style.css",
927+
]
928+
`;
929+
930+
exports[`Templates Autocomplete.js 0 File content: .editorconfig 1`] = `
931+
"root = true
932+
933+
[*]
934+
charset = utf-8
935+
indent_style = space
936+
indent_size = 2
937+
end_of_line = lf
938+
insert_final_newline = true
939+
trim_trailing_whitespace = true"
940+
`;
941+
942+
exports[`Templates Autocomplete.js 0 File content: .eslintignore 1`] = `
943+
"/node_modules
944+
/dist
945+
/.cache"
946+
`;
947+
948+
exports[`Templates Autocomplete.js 0 File content: .eslintrc.js 1`] = `
694949
"module.exports = {
695950
extends: 'algolia',
696951
};"
697952
`;
698953
699-
exports[`Templates Autocomplete.js File content: .gitignore 1`] = `
954+
exports[`Templates Autocomplete.js 0 File content: .gitignore 1`] = `
700955
"# See https://help.github.com/ignore-files/ for more about ignoring files.
701956
702957
# dependencies
@@ -721,15 +976,15 @@ yarn-debug.log*
721976
yarn-error.log*"
722977
`;
723978
724-
exports[`Templates Autocomplete.js File content: .prettierrc 1`] = `
979+
exports[`Templates Autocomplete.js 0 File content: .prettierrc 1`] = `
725980
"{
726981
\\"singleQuote\\": true,
727982
\\"proseWrap\\": \\"never\\",
728983
\\"trailingComma\\": \\"es5\\"
729984
}"
730985
`;
731986
732-
exports[`Templates Autocomplete.js File content: README.md 1`] = `
987+
exports[`Templates Autocomplete.js 0 File content: README.md 1`] = `
733988
"# autocomplete.js-app
734989
735990
_This project was generated with [create-instantsearch-app](https://github.com/algolia/create-instantsearch-app) by [Algolia](https://algolia.com)._
@@ -753,7 +1008,7 @@ yarn start
7531008
Open http://localhost:3000 to see your app."
7541009
`;
7551010
756-
exports[`Templates Autocomplete.js File content: index.html 1`] = `
1011+
exports[`Templates Autocomplete.js 0 File content: index.html 1`] = `
7571012
"<!DOCTYPE html>
7581013
<html lang=\\"en\\">
7591014
@@ -802,7 +1057,7 @@ exports[`Templates Autocomplete.js File content: index.html 1`] = `
8021057
</html>"
8031058
`;
8041059
805-
exports[`Templates Autocomplete.js File content: manifest.webmanifest 1`] = `
1060+
exports[`Templates Autocomplete.js 0 File content: manifest.webmanifest 1`] = `
8061061
"{
8071062
\\"short_name\\": \\"autocomplete.js-app\\",
8081063
\\"name\\": \\"autocomplete.js-app Sample\\",
@@ -820,7 +1075,7 @@ exports[`Templates Autocomplete.js File content: manifest.webmanifest 1`] = `
8201075
}"
8211076
`;
8221077
823-
exports[`Templates Autocomplete.js File content: package.json 1`] = `
1078+
exports[`Templates Autocomplete.js 0 File content: package.json 1`] = `
8241079
"{
8251080
\\"name\\": \\"autocomplete.js-app\\",
8261081
\\"version\\": \\"1.0.0\\",
@@ -837,7 +1092,7 @@ exports[`Templates Autocomplete.js File content: package.json 1`] = `
8371092
}"
8381093
`;
8391094
840-
exports[`Templates Autocomplete.js File content: src/app.css 1`] = `
1095+
exports[`Templates Autocomplete.js 0 File content: src/app.css 1`] = `
8411096
".header {
8421097
align-items: center;
8431098
background-image: linear-gradient(73deg, #3369e7, #1cc7d0);
@@ -925,7 +1180,7 @@ exports[`Templates Autocomplete.js File content: src/app.css 1`] = `
9251180
}"
9261181
`;
9271182
928-
exports[`Templates Autocomplete.js File content: src/app.js 1`] = `
1183+
exports[`Templates Autocomplete.js 0 File content: src/app.js 1`] = `
9291184
"import algoliasearch from 'algoliasearch';
9301185
import autocomplete from 'autocomplete.js';
9311186
@@ -955,7 +1210,7 @@ autocomplete(
9551210
});"
9561211
`;
9571212
958-
exports[`Templates Autocomplete.js File content: src/index.css 1`] = `
1213+
exports[`Templates Autocomplete.js 0 File content: src/index.css 1`] = `
9591214
"body {
9601215
background-color: #fcfcfd;
9611216
color: #333;
@@ -965,7 +1220,7 @@ exports[`Templates Autocomplete.js File content: src/index.css 1`] = `
9651220
}"
9661221
`;
9671222
968-
exports[`Templates Autocomplete.js Folder structure: contains the right files 1`] = `
1223+
exports[`Templates Autocomplete.js 0 Folder structure: contains the right files 1`] = `
9691224
Array [
9701225
".editorconfig",
9711226
".eslintignore",

0 commit comments

Comments
 (0)