Skip to content

Commit 5fbae0d

Browse files
authored
fix(autocomplete-js): avoid warning when renderer is not specified at all (#947)
1 parent 4c812c8 commit 5fbae0d

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

packages/autocomplete-js/src/__tests__/renderer.test.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,41 @@ describe('renderer', () => {
440440
);
441441
});
442442

443+
test('does not warn at all when only passing a `render` option', () => {
444+
const container = document.createElement('div');
445+
const panelContainer = document.createElement('div');
446+
447+
document.body.appendChild(panelContainer);
448+
449+
expect(() => {
450+
autocomplete<{ label: string }>({
451+
container,
452+
panelContainer,
453+
initialState: {
454+
isOpen: true,
455+
},
456+
getSources() {
457+
return [
458+
{
459+
sourceId: 'testSource',
460+
getItems() {
461+
return [{ label: '1' }];
462+
},
463+
templates: {
464+
item({ item }) {
465+
return item.label;
466+
},
467+
},
468+
},
469+
];
470+
},
471+
render({ children, render }, root) {
472+
render(children, root);
473+
},
474+
});
475+
}).not.toWarnDev();
476+
});
477+
443478
test('does not warn at all when not passing a custom renderer', () => {
444479
const container = document.createElement('div');
445480
const panelContainer = document.createElement('div');

packages/autocomplete-js/src/getDefaultOptions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export function getDefaultOptions<TItem extends BaseItem>(
102102
);
103103

104104
warn(
105-
Boolean(!render || renderer?.render),
105+
!(render && renderer && !renderer?.render),
106106
`You provided the \`render\` option but did not provide a \`renderer.render\`. Since v1.6.0, you can provide a \`render\` function directly in \`renderer\`.` +
107107
`\nTo get rid of this warning, do any of the following depending on your use case.` +
108108
"\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option." +

0 commit comments

Comments
 (0)