@constructor-io/constructorio-ui-autocomplete 1.25.3 â 1.25.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +220 -176
- package/dist/constructorio-ui-autocomplete-bundled.js +10 -10
- package/lib/cjs/components/Autocomplete/SearchInput/SearchInput.js +9 -1
- package/lib/cjs/hooks/useCioAutocomplete.js +17 -3
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/components/Autocomplete/SearchInput/SearchInput.js +8 -1
- package/lib/mjs/hooks/useCioAutocomplete.js +15 -0
- package/lib/mjs/version.js +1 -1
- package/lib/styles.css +0 -3
- package/lib/types/types.d.ts +50 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,231 +1,275 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://constructor.com/hubfs/constructor-favicon-2024-1.svg" alt="constructor logo" title="constructor logo" width="220px" height="220px">
|
|
3
|
+
|
|
4
|
+
<h1>Autocomplete UI</h1>
|
|
2
5
|
|
|
3
|
-
|
|
4
|
-
[](https://github.com/Constructor-io/constructorio-ui-autocomplete/blob/main/LICENSE)
|
|
6
|
+
<p align="center" style="font-size: 1.2rem;">Lightweight, minimalistic, and fully customizable autocomplete component for fast, accessible, and flexible search experiences with <a href='https://constructor.com/solutions/search'>Constructor.io's autosuggest services</a>. đ</p>
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
[**Read The Docs**](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component--docs)
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
</div>
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
<hr />
|
|
13
|
+
<div align="center">
|
|
11
14
|
|
|
12
|
-

|
|
16
|
+
[](https://www.npmjs.com/package/@constructor-io/constructorio-ui-autocomplete)
|
|
17
|
+
[](https://github.com/Constructor-io/constructorio-ui-autocomplete/blob/main/LICENSE)
|
|
13
18
|
|
|
14
|
-
|
|
19
|
+
<img src="assets/autocomplete-ui-demonstration.gif" alt="Autocomplete UI demonstration" height="500">
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
|
24
|
+
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
|
25
|
+
## đ Table of Contents
|
|
26
|
+
|
|
27
|
+
- [Features](#features)
|
|
28
|
+
- [React](#react)
|
|
29
|
+
- [⥠Installation & Quick Start](#-installation--quick-start)
|
|
30
|
+
- [Shopify](#shopify)
|
|
31
|
+
- [⥠Installation & Quick Start](#-installation--quick-start-1)
|
|
32
|
+
- [Bundle (Vanilla JS)](#bundle-vanilla-js)
|
|
33
|
+
- [⥠Installation & Quick Start](#-installation--quick-start-2)
|
|
34
|
+
- [đĄ Code Examples](#-code-examples)
|
|
35
|
+
- [đ¨ Customization](#-customization)
|
|
36
|
+
- [đ Advanced Features](#-advanced-features)
|
|
37
|
+
- [đ Troubleshooting](#-troubleshooting)
|
|
38
|
+
- [đ API Reference](#-api-reference)
|
|
39
|
+
- [đ Complementary Resources](#-complementary-resources)
|
|
40
|
+
- [đ¤ Contributing](#-contributing)
|
|
41
|
+
- [đ License](#-license)
|
|
42
|
+
|
|
43
|
+
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
|
44
|
+
|
|
45
|
+
## Features
|
|
46
|
+
|
|
47
|
+
- đ Easy Integration â Quickly integrate with your app as a plug-and-play React component
|
|
48
|
+
- ⥠Lightweight & Fast â Tiny bundle size, optimized for speed
|
|
49
|
+
- đ¨ Customizable UI â With minmal styles, and supports for custom markup
|
|
50
|
+
- â¨ī¸ Keyboard Navigation â Fully supports accessible keyboard naviagation
|
|
51
|
+
- âŋ Accessible (a11y) â Built-in ARIA support for screen readers
|
|
52
|
+
- đĄ Written in TypeScript with type safety
|
|
19
53
|
|
|
20
|
-
## Usage
|
|
21
54
|
|
|
22
|
-
|
|
55
|
+
## React
|
|
23
56
|
|
|
24
|
-
|
|
57
|
+
### ⥠Installation & Quick Start
|
|
58
|
+
Install the library
|
|
25
59
|
|
|
26
|
-
```
|
|
60
|
+
```sh
|
|
61
|
+
npm i @constructor-io/constructorio-ui-autocomplete
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Import and use the `CioAutocomplete` component
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
27
67
|
import { CioAutocomplete } from '@constructor-io/constructorio-ui-autocomplete';
|
|
68
|
+
import '@constructor-io/constructorio-ui-autocomplete/styles.css';
|
|
28
69
|
|
|
29
70
|
function YourComponent() {
|
|
30
71
|
return (
|
|
31
72
|
<div>
|
|
32
|
-
<CioAutocomplete
|
|
73
|
+
<CioAutocomplete
|
|
74
|
+
apiKey="key_M57QS8SMPdLdLx4x"
|
|
75
|
+
onSubmit={(e) => {console.log(e)}}
|
|
33
76
|
</div>
|
|
34
77
|
);
|
|
35
78
|
```
|
|
36
79
|
|
|
37
|
-
|
|
80
|
+
## Shopify
|
|
38
81
|
|
|
39
|
-
|
|
82
|
+
### ⥠Installation & Quick Start
|
|
40
83
|
|
|
41
|
-
|
|
42
|
-
- data fetching
|
|
43
|
-
- keyboard navigation
|
|
44
|
-
- mouse interactions
|
|
45
|
-
- focus and submit event handling
|
|
84
|
+
The Constructor autocomplete component is available as part of the [Constructor.io Shopify App](https://apps.shopify.com/constructor-connect)
|
|
46
85
|
|
|
47
|
-
|
|
86
|
+
After installing the app, you can use the Constructor autocomplete component by clicking 'Add Section' in your theme editor and adding the Constructor autocomplete liquid component
|
|
48
87
|
|
|
49
|
-
|
|
50
|
-
import { useCioAutocomplete } from '@constructor-io/constructorio-ui-autocomplete';
|
|
88
|
+

|
|
51
89
|
|
|
52
|
-
|
|
53
|
-
"apiKey": "key_M57QS8SMPdLdLx4x",
|
|
54
|
-
"onSubmit": (submitEvent) => console.dir(submitEvent)
|
|
55
|
-
};
|
|
90
|
+
For more in depth instructions, check out the [Shopify documentation](https://docs.constructor.com/docs/integrating-with-constructor-platform-connectors-frontend-connectors-shopify-ui).
|
|
56
91
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
isOpen,
|
|
60
|
-
sections,
|
|
61
|
-
getFormProps,
|
|
62
|
-
getLabelProps,
|
|
63
|
-
getInputProps,
|
|
64
|
-
getMenuProps,
|
|
65
|
-
getItemProps,
|
|
66
|
-
autocompleteClassName,
|
|
67
|
-
} = useCioAutocomplete(args);
|
|
92
|
+
## Bundle (Vanilla JS)
|
|
93
|
+
This is a framework agnostic method that can be used in any JavaScript project. The CioAutocomplete function provides a simple interface to inject an entire Autocomplete UI into the provided selector. In addition to Autocomplete component props, this function also accepts a selector and includeCSS.
|
|
68
94
|
|
|
69
|
-
|
|
70
|
-
<div className={autocompleteClassName}>
|
|
71
|
-
<form {...getFormProps()}>
|
|
72
|
-
<label {...getLabelProps()} hidden>
|
|
73
|
-
Search
|
|
74
|
-
</label>
|
|
75
|
-
<input {...getInputProps()} />
|
|
76
|
-
</form>
|
|
77
|
-
<div {...getMenuProps()}>
|
|
78
|
-
{isOpen && (
|
|
79
|
-
<>
|
|
80
|
-
{sections?.map((section) => (
|
|
81
|
-
<div key={section.indexSectionName} className={section.indexSectionName}>
|
|
82
|
-
<div className='cio-section'>
|
|
83
|
-
<div className='cio-section-name'>
|
|
84
|
-
{section?.displayName || section.indexSectionName}
|
|
85
|
-
</div>
|
|
86
|
-
<div className='cio-items'>
|
|
87
|
-
{section?.data?.map((item) => (
|
|
88
|
-
<div {...getItemProps(item)} key={item?.id}>
|
|
89
|
-
<div>
|
|
90
|
-
{item.data?.image_url && (
|
|
91
|
-
<img
|
|
92
|
-
width='100%'
|
|
93
|
-
src={item.data?.image_url}
|
|
94
|
-
alt=''
|
|
95
|
-
data-testid='cio-img'
|
|
96
|
-
/>
|
|
97
|
-
)}
|
|
98
|
-
{item.groupName ? (
|
|
99
|
-
<p className='cio-term-in-group'>in {item.groupName}</p>
|
|
100
|
-
) : (
|
|
101
|
-
<p>{item.value}</p>
|
|
102
|
-
)}
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
))}
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
))}
|
|
110
|
-
</>
|
|
111
|
-
)}
|
|
112
|
-
</div>
|
|
113
|
-
</div>
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
```
|
|
95
|
+
### ⥠Installation & Quick Start
|
|
117
96
|
|
|
118
|
-
|
|
97
|
+
Install the library
|
|
119
98
|
|
|
120
|
-
|
|
121
|
-
|
|
99
|
+
```sh
|
|
100
|
+
npm i @constructor-io/constructorio-ui-autocomplete
|
|
101
|
+
```
|
|
122
102
|
|
|
123
|
-
|
|
103
|
+
Import and use the `CioAutocomplete` component
|
|
104
|
+
```javascript
|
|
124
105
|
import CioAutocomplete from '@constructor-io/constructorio-ui-autocomplete/constructorio-ui-autocomplete-bundled';
|
|
125
106
|
|
|
126
107
|
CioAutocomplete({
|
|
127
108
|
selector: '#autocomplete-container',
|
|
128
109
|
includeCSS: true, // Include the default CSS styles. Defaults to true.
|
|
129
|
-
apiKey: '
|
|
110
|
+
apiKey: 'key_M57QS8SMPdLdLx4x',
|
|
130
111
|
onSubmit: (submitEvent) => console.dir(submitEvent),
|
|
131
112
|
// ... additional arguments
|
|
132
113
|
});
|
|
114
|
+
</script>
|
|
133
115
|
```
|
|
134
116
|
|
|
135
|
-
##
|
|
136
|
-
|
|
137
|
-
### Library defaults
|
|
138
|
-
|
|
139
|
-
By default, importing react components or hooks from this library does not pull any css into your project.
|
|
140
|
-
|
|
141
|
-
If you wish to use some starter styles from this library, add an import statement similar to the example import statement below:
|
|
142
|
-
|
|
143
|
-
```js
|
|
144
|
-
import '@constructor-io/constructorio-ui-autocomplete/styles.css';
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
> Note: the path and syntax in this example may change slightly depending on your module bundling strategy
|
|
148
|
-
|
|
149
|
-
- These starter styles can be used as a foundation to build on top of, or just as a reference for you to replace completely.
|
|
150
|
-
- To opt out of all default styling, do not import the `styles.css` stylesheet.
|
|
151
|
-
- All starter styles in this library are scoped within the `.cio-autocomplete` css selector.
|
|
152
|
-
- These starter styles are intended to be extended by layering in your own css rules
|
|
153
|
-
- If you like, you can override the container's className like so:
|
|
154
|
-
`autocompleteClassName='custom-autocomplete-container'`
|
|
155
|
-
- If you like, you can pass additional className(s) of your choosing like so:
|
|
156
|
-
`autocompleteClassName='cio-autocomplete custom-autocomplete-container'`
|
|
117
|
+
## đĄ Code Examples
|
|
157
118
|
|
|
158
|
-
|
|
119
|
+
Ready-to-use, copy-paste examples with explanations.
|
|
159
120
|
|
|
160
|
-
|
|
121
|
+
- [Full Featured example](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component--docs#full-featured-and-styled-example)
|
|
122
|
+
- [Render Search Suggestions](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-sections--docs#render-search-suggestions)
|
|
123
|
+
- [Render Product Suggestions](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-sections--docs#render-suggested-products)
|
|
161
124
|
|
|
162
|
-
|
|
125
|
+
đš For more examples check the [full examples](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component--docs)
|
|
163
126
|
|
|
164
|
-
|
|
127
|
+
## đ¨ Customization
|
|
165
128
|
|
|
166
|
-
|
|
167
|
-
If that's the case and your environment is using an older Javascript version like ES6 (ES2015), you might get this error.
|
|
129
|
+
CSS styles are not imported by default. Add this to your code to import basic styles
|
|
168
130
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
To solve this you can import the CommonJS (cjs) build which supports ES6 (ES2015) syntax:
|
|
173
|
-
|
|
174
|
-
`import CioAutocomplete from '@constructor-io/constructorio-ui-autocomplete/cjs'`
|
|
175
|
-
|
|
176
|
-
**ESLint**
|
|
177
|
-
|
|
178
|
-
There is a known issue with ESLint where it fails to resolve the paths exposed in the `exports` statement of NPM packages. If you are receiving the following error, you can safely disable ESLint using `// eslint-disable-line` for that line.
|
|
179
|
-
|
|
180
|
-
`Unable to resolve path to module '@constructor-io/constructorio-ui-autocomplete/styles.css'`
|
|
181
|
-
|
|
182
|
-
Relevant open issues:
|
|
183
|
-
|
|
184
|
-
[Issue 1868](https://github.com/import-js/eslint-plugin-import/issues/1868)
|
|
185
|
-
|
|
186
|
-
[Issue 1810](https://github.com/import-js/eslint-plugin-import/issues/1810)
|
|
187
|
-
|
|
188
|
-
## Local Development
|
|
189
|
-
|
|
190
|
-
### Development scripts
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
npm ci # install dependencies for local dev
|
|
194
|
-
npm run dev # start a local dev server for Storybook
|
|
195
|
-
npm run lint # run linter
|
|
131
|
+
```tsx
|
|
132
|
+
import '@constructor-io/constructorio-ui-autocomplete/styles.css';
|
|
196
133
|
```
|
|
197
134
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
Dispatch the [Publish](https://github.com/Constructor-io/constructorio-ui-autocomplete/actions/workflows/publish.yml) workflow in GitHub Actions. You're required to provide two arguments:
|
|
201
|
-
- **Version Strategy**: `major`, `minor`, or `patch`.
|
|
202
|
-
- **Title**: A title for the release.
|
|
203
|
-
|
|
204
|
-
This workflow will automatically:
|
|
205
|
-
1. Bump the library version using the provided strategy.
|
|
206
|
-
2. Create a new git tag.
|
|
207
|
-
3. Create a new GitHub release.
|
|
208
|
-
4. Compile the library.
|
|
209
|
-
5. Publish the new version to NPM.
|
|
210
|
-
6. Publish the new version to our public CDN.
|
|
211
|
-
7. Deploy the Storybook docs to GitHub Pages.
|
|
212
|
-
8. Report the progress on the [relevant Slack channel](https://constructor.slack.com/archives/C061D3CFVR9).
|
|
135
|
+
All styles are scoped under .cio-autocomplete. You can extend them by targeting that selector.
|
|
213
136
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
137
|
+
```css
|
|
138
|
+
/* Custom Style Sheet */
|
|
139
|
+
.cio-autocomplete .cio-submit-btn {
|
|
140
|
+
border-radius: 10px;
|
|
141
|
+
border: 1px solid red;
|
|
142
|
+
}
|
|
143
|
+
```
|
|
218
144
|
|
|
219
|
-
|
|
145
|
+
If you'd like to override or extend the base `className`, you can do so with the `autocompleteClassName` argument
|
|
220
146
|
|
|
221
|
-
|
|
147
|
+
```tsx
|
|
148
|
+
import { CioAutocomplete } from '@constructor-io/constructorio-ui-autocomplete';
|
|
149
|
+
import '@constructor-io/constructorio-ui-autocomplete/styles.css';
|
|
222
150
|
|
|
151
|
+
function YourComponent() {
|
|
152
|
+
return (
|
|
153
|
+
<div>
|
|
154
|
+
<CioAutocomplete
|
|
155
|
+
apiKey="key_M57QS8SMPdLdLx4x"
|
|
156
|
+
onSubmit={(e) => { console.log(e)}}
|
|
157
|
+
autocompleteClassName="cio-autocomplete custom-autocomplete-container"
|
|
158
|
+
/>
|
|
159
|
+
</div>
|
|
160
|
+
);
|
|
161
|
+
```
|
|
223
162
|
|
|
224
|
-
|
|
163
|
+
Then you can modify styles like so
|
|
225
164
|
|
|
226
|
-
|
|
227
|
-
|
|
165
|
+
```css
|
|
166
|
+
/* Custom Style Sheet */
|
|
167
|
+
.cio-autocomplete.custom-autocomplete-styles .cio-input {
|
|
168
|
+
font-weight: bold;
|
|
169
|
+
}
|
|
170
|
+
```
|
|
228
171
|
|
|
229
|
-
##
|
|
230
|
-
|
|
231
|
-
- [
|
|
172
|
+
## đ Advanced Features
|
|
173
|
+
|
|
174
|
+
- [Terms With Group Suggestions](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-advanced-parameters--docs#terms-with-group-suggestions)
|
|
175
|
+
- [Filtered Suggestions](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-advanced-parameters--docs#filtered-suggestions)
|
|
176
|
+
- [Terms With Images And Counts](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-advanced-parameters--docs#terms-with-images-and-counts)
|
|
177
|
+
|
|
178
|
+
đš For more advanced use cases check the [full documentation](https://constructor-io.github.io/constructorio-ui-autocomplete/?path=/docs/autocomplete-component-advanced-parameters--docs)
|
|
179
|
+
|
|
180
|
+
## đ Troubleshooting
|
|
181
|
+
|
|
182
|
+
Common issues and solutions.
|
|
183
|
+
|
|
184
|
+
<table>
|
|
185
|
+
<thead>
|
|
186
|
+
<tr>
|
|
187
|
+
<th>Problem</th>
|
|
188
|
+
<th>Description</th>
|
|
189
|
+
<th>Solution</th>
|
|
190
|
+
</tr>
|
|
191
|
+
</thead>
|
|
192
|
+
<tbody>
|
|
193
|
+
<tr>
|
|
194
|
+
<td>Older JavaScript environments</td>
|
|
195
|
+
<td>
|
|
196
|
+
The library provides two different builds. CommonJS (cjs) and ECMAScript Modules (mjs)
|
|
197
|
+
<br>
|
|
198
|
+
<br>
|
|
199
|
+
For ECMAScript Modules (mjs) build, the JavaScript version is ESNext which might not be supported by your environment. If that's the case and your environment is using an older Javascript version like ES6 (ES2015), you might get this error.
|
|
200
|
+
<br>
|
|
201
|
+
<br>
|
|
202
|
+
<code>Module parse failed: Unexpected token (15:32) You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file</code>
|
|
203
|
+
</td>
|
|
204
|
+
<td>
|
|
205
|
+
To solve this you can import the CommonJS (cjs) build which supports ES6 (ES2015) syntax:
|
|
206
|
+
<br>
|
|
207
|
+
<br>
|
|
208
|
+
<code>import CioAutocomplete from '@constructor-io/constructorio-ui-autocomplete/cjs'</code>
|
|
209
|
+
</td>
|
|
210
|
+
</tr>
|
|
211
|
+
<tr>
|
|
212
|
+
<td>ESLint</td>
|
|
213
|
+
<td>
|
|
214
|
+
There is a known issue with ESLint where it fails to resolve the paths exposed in the exports statement of NPM packages.
|
|
215
|
+
<br>
|
|
216
|
+
<br>
|
|
217
|
+
For ECMAScript Modules (mjs) build. The Javascript version is ESNext which might not be supported by your environment. If that's the case and your environment is using an older Javascript version like ES6 (ES2015), you might get this error.
|
|
218
|
+
<br>
|
|
219
|
+
<br>
|
|
220
|
+
<code>Unable to resolve path to module '@constructor-io/constructorio-ui-autocomplete/styles.css'</code>
|
|
221
|
+
<br>
|
|
222
|
+
<br>
|
|
223
|
+
Relevant open issues:
|
|
224
|
+
<ul>
|
|
225
|
+
<li><a href='https://github.com/import-js/eslint-plugin-import/issues/1868'>Issue 1868</a>
|
|
226
|
+
<li><a href='https://github.com/import-js/eslint-plugin-import/issues/1810'>Issue 1810</a>
|
|
227
|
+
</td>
|
|
228
|
+
<td>
|
|
229
|
+
If you are receiving the following error, you can safely disable ESLint using <code>// eslint-disable-line</code> for that line.
|
|
230
|
+
</td>
|
|
231
|
+
</tr>
|
|
232
|
+
<tr>
|
|
233
|
+
<td>Peer Dependencies</td>
|
|
234
|
+
<td>
|
|
235
|
+
The library requires a couple of peer dependencies to be installed, so ensure they're installed if not already.
|
|
236
|
+
<br />
|
|
237
|
+
<br />
|
|
238
|
+
<ol>
|
|
239
|
+
<li><a href="https://github.com/Constructor-io/constructorio-client-javascript">constructorio-client-javascript</a></li>
|
|
240
|
+
<li><a href="https://github.com/downshift-js/downshift">downshift</a></li>
|
|
241
|
+
</ol>
|
|
242
|
+
</td>
|
|
243
|
+
<td>
|
|
244
|
+
Run <code>npm i downshift @constructor-io/constructorio-client-javascript</code>
|
|
245
|
+
</td>
|
|
246
|
+
</tr>
|
|
247
|
+
</tbody>
|
|
248
|
+
</table>
|
|
249
|
+
|
|
250
|
+
đŦ Need help? Join our [GitHub Discussions](https://github.com/Constructor-io/constructorio-ui-autocomplete/discussions)
|
|
251
|
+
|
|
252
|
+
## đ API Reference
|
|
253
|
+
|
|
254
|
+
<!-- TODO: reference the API docs from storybook -->
|
|
255
|
+
- Full API docs: Click here
|
|
256
|
+
|
|
257
|
+
## đ Complementary Resources
|
|
258
|
+
|
|
259
|
+
- đ Full Documentation: [Storybook](https://constructor-io.github.io/constructorio-ui-autocomplete/)
|
|
260
|
+
- đĻ JS Client: [SDK Documentation](https://constructor-io.github.io/constructorio-client-javascript/module-autocomplete.html#~getAutocompleteResults)
|
|
261
|
+
- đ Shopify App: [App Store Link](https://apps.shopify.com/constructor-connect)
|
|
262
|
+
- đ Constructor's REST API: [Autocomplete](https://docs.constructor.com/reference/v1-autocomplete-get-autocomplete-results)
|
|
263
|
+
|
|
264
|
+
## đ¤ Contributing
|
|
265
|
+
|
|
266
|
+
1. Fork the repo & create a new branch.
|
|
267
|
+
2. Run `npm install` to install dependencies.
|
|
268
|
+
3. After making the desired changes, run `npm run tests && npm run lint` locally.
|
|
269
|
+
4. Submit a PR for review.
|
|
270
|
+
|
|
271
|
+
## đ License
|
|
272
|
+
|
|
273
|
+
[MIT License](./LICENSE)
|
|
274
|
+
|
|
275
|
+
Copyright (c) 2022-present Constructor.io Corporation
|