svelte-headless-components
Advanced tools
Comparing version 2.1.0 to 2.1.1
@@ -84,3 +84,3 @@ import type { ComputeConfig } from 'svelte-floating-ui'; | ||
selectOption(id: string): OptionSelect | null; | ||
addOption(id: string): null | undefined; | ||
addOption(id: string): Promise<null | undefined>; | ||
getMenuOptions(): OptionMenu[]; | ||
@@ -116,3 +116,3 @@ getOption(id: string): OptionItem | null; | ||
onKeyDown(event: KeyboardEvent): void; | ||
onKeyUp(event: KeyboardEvent): void; | ||
onKeyUp(event: KeyboardEvent): Promise<void>; | ||
private setUpFloatingUi; | ||
@@ -119,0 +119,0 @@ } |
@@ -105,6 +105,6 @@ import { BROWSER } from 'esm-env'; | ||
option.dataset.eventListenersAdded = 'true'; | ||
option.addEventListener('mouseup', () => { | ||
option.addEventListener('mouseup', async () => { | ||
const id = option.dataset.id ?? ''; | ||
if (this.isAddOptionId(id)) { | ||
this.addOption(id); | ||
await this.addOption(id); | ||
} | ||
@@ -185,3 +185,3 @@ else { | ||
} | ||
addOption(id) { | ||
async addOption(id) { | ||
const option = this.getSelectOption(id); | ||
@@ -191,3 +191,3 @@ if (option === null) { | ||
} | ||
if (this.config.validateAddition && !this.config.validateAddition(get(this.state.search))) { | ||
if (this.config.validateAddition && !(await this.config.validateAddition(get(this.state.search)))) { | ||
this.events.onAdd.set({ err: true, id: option.id, searchText: get(this.state.search) }); | ||
@@ -492,3 +492,3 @@ } | ||
} | ||
onKeyUp(event) { | ||
async onKeyUp(event) { | ||
const isOpen = get(this.state.isOpen); | ||
@@ -513,3 +513,3 @@ if (!isOpen && event.code === 'Enter' && document.activeElement === get(this.elements.trigger)) { | ||
if (isActiveAdd) { | ||
this.addOption(activeOption.id); | ||
await this.addOption(activeOption.id); | ||
} | ||
@@ -516,0 +516,0 @@ else { |
{ | ||
"name": "svelte-headless-components", | ||
"version": "2.1.0", | ||
"version": "2.1.1", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
49119