svelte-multiselect
Advanced tools
Comparing version 8.6.1 to 8.6.2
@@ -5,53 +5,3 @@ export { default as CircleSpinner } from './CircleSpinner.svelte'; | ||
export { default as Wiggle } from './Wiggle.svelte'; | ||
export type Option = string | number | ObjectOption; | ||
export type ObjectOption = { | ||
label: string | number; | ||
value?: unknown; | ||
title?: string; | ||
disabled?: boolean; | ||
preselected?: boolean; | ||
disabledTitle?: string; | ||
selectedTitle?: string; | ||
[key: string]: unknown; | ||
}; | ||
export type DispatchEvents<T = Option> = { | ||
add: { | ||
option: T; | ||
}; | ||
create: { | ||
option: T; | ||
}; | ||
remove: { | ||
option: T; | ||
}; | ||
removeAll: { | ||
options: T[]; | ||
}; | ||
change: { | ||
option?: T; | ||
options?: T[]; | ||
type: 'add' | 'remove' | 'removeAll'; | ||
}; | ||
open: { | ||
event: Event; | ||
}; | ||
close: { | ||
event: Event; | ||
}; | ||
}; | ||
export type MultiSelectEvents = { | ||
[key in keyof DispatchEvents]: CustomEvent<DispatchEvents[key]>; | ||
} & { | ||
blur: FocusEvent; | ||
click: MouseEvent; | ||
focus: FocusEvent; | ||
keydown: KeyboardEvent; | ||
keyup: KeyboardEvent; | ||
mouseenter: MouseEvent; | ||
mouseleave: MouseEvent; | ||
touchcancel: TouchEvent; | ||
touchend: TouchEvent; | ||
touchmove: TouchEvent; | ||
touchstart: TouchEvent; | ||
}; | ||
export * from './types'; | ||
export declare function scroll_into_view_if_needed_polyfill(centerIfNeeded?: boolean): IntersectionObserver; |
@@ -5,2 +5,3 @@ export { default as CircleSpinner } from './CircleSpinner.svelte'; | ||
export { default as Wiggle } from './Wiggle.svelte'; | ||
export * from './types'; | ||
// Firefox lacks support for scrollIntoViewIfNeeded (https://caniuse.com/scrollintoviewifneeded). | ||
@@ -7,0 +8,0 @@ // See https://github.com/janosh/svelte-multiselect/issues/87 |
import { SvelteComponentTyped } from "svelte"; | ||
import type { Option as GenericOption, MultiSelectEvents } from './'; | ||
declare class __sveltets_Render<Option extends GenericOption> { | ||
import type { MultiSelectEvents, Option as T } from './types'; | ||
declare class __sveltets_Render<Option extends T> { | ||
props(): { | ||
activeIndex?: number | null | undefined; | ||
activeOption?: Option | null | undefined; | ||
createOptionMsg?: string | undefined; | ||
createOptionMsg?: string | null | undefined; | ||
allowUserOptions?: boolean | "append" | undefined; | ||
@@ -16,3 +16,3 @@ allowEmpty?: boolean | undefined; | ||
disabledInputTitle?: string | undefined; | ||
duplicateFunc?: ((op1: GenericOption, op2: GenericOption) => boolean) | undefined; | ||
duplicateFunc?: ((op1: T, op2: T) => boolean) | undefined; | ||
duplicateOptionMsg?: string | undefined; | ||
@@ -58,2 +58,3 @@ duplicates?: boolean | undefined; | ||
value?: Option | Option[] | null | undefined; | ||
get_label?: ((op: T) => string | number) | undefined; | ||
}; | ||
@@ -78,7 +79,8 @@ events(): MultiSelectEvents; | ||
} | ||
export type MultiSelectProps<Option extends GenericOption> = ReturnType<__sveltets_Render<Option>['props']>; | ||
export type MultiSelectEvents<Option extends GenericOption> = ReturnType<__sveltets_Render<Option>['events']>; | ||
export type MultiSelectSlots<Option extends GenericOption> = ReturnType<__sveltets_Render<Option>['slots']>; | ||
export default class MultiSelect<Option extends GenericOption> extends SvelteComponentTyped<MultiSelectProps<Option>, MultiSelectEvents<Option>, MultiSelectSlots<Option>> { | ||
export type MultiSelectProps<Option extends T> = ReturnType<__sveltets_Render<Option>['props']>; | ||
export type MultiSelectEvents<Option extends T> = ReturnType<__sveltets_Render<Option>['events']>; | ||
export type MultiSelectSlots<Option extends T> = ReturnType<__sveltets_Render<Option>['slots']>; | ||
export default class MultiSelect<Option extends T> extends SvelteComponentTyped<MultiSelectProps<Option>, MultiSelectEvents<Option>, MultiSelectSlots<Option>> { | ||
get get_label(): (op: T) => string | number; | ||
} | ||
export {}; |
@@ -8,3 +8,3 @@ { | ||
"license": "MIT", | ||
"version": "8.6.1", | ||
"version": "8.6.2", | ||
"type": "module", | ||
@@ -27,3 +27,3 @@ "svelte": "./dist/index.js", | ||
"dependencies": { | ||
"svelte": "^3.58.0" | ||
"svelte": "^3.59.1" | ||
}, | ||
@@ -34,13 +34,13 @@ "devDependencies": { | ||
"@sveltejs/adapter-static": "^2.0.2", | ||
"@sveltejs/kit": "^1.15.9", | ||
"@sveltejs/kit": "^1.16.3", | ||
"@sveltejs/package": "2.0.2", | ||
"@sveltejs/vite-plugin-svelte": "^2.1.1", | ||
"@typescript-eslint/eslint-plugin": "^5.59.1", | ||
"@typescript-eslint/parser": "^5.59.1", | ||
"@vitest/coverage-c8": "^0.30.1", | ||
"eslint": "^8.39.0", | ||
"@sveltejs/vite-plugin-svelte": "^2.2.0", | ||
"@typescript-eslint/eslint-plugin": "^5.59.5", | ||
"@typescript-eslint/parser": "^5.59.5", | ||
"@vitest/coverage-c8": "^0.31.0", | ||
"eslint": "^8.40.0", | ||
"eslint-plugin-svelte3": "^4.0.0", | ||
"hastscript": "^7.2.0", | ||
"highlight.js": "^11.8.0", | ||
"jsdom": "^21.1.1", | ||
"jsdom": "^22.0.0", | ||
"mdsvex": "^0.10.6", | ||
@@ -52,10 +52,10 @@ "mdsvexamples": "^0.3.3", | ||
"rehype-slug": "^5.1.0", | ||
"svelte-check": "^3.2.0", | ||
"svelte-check": "^3.3.2", | ||
"svelte-preprocess": "^5.0.3", | ||
"svelte-toc": "^0.5.5", | ||
"svelte-zoo": "^0.4.5", | ||
"svelte2tsx": "^0.6.11", | ||
"svelte2tsx": "^0.6.14", | ||
"typescript": "5.0.4", | ||
"vite": "^4.3.3", | ||
"vitest": "^0.30.1" | ||
"vite": "^4.3.6", | ||
"vitest": "^0.31.0" | ||
}, | ||
@@ -62,0 +62,0 @@ "keywords": [ |
@@ -54,3 +54,3 @@ <h1 align="center"> | ||
npm install --dev svelte-multiselect | ||
pnpm add --dev svelte-multiselect | ||
pnpm add -D svelte-multiselect | ||
yarn add --dev svelte-multiselect | ||
@@ -94,6 +94,6 @@ ``` | ||
1. ```ts | ||
createOptionMsg: string = `Create this option...` | ||
createOptionMsg: string | null = `Create this option...` | ||
``` | ||
Message shown to users after entering text when no options match their query and `allowUserOptions` is truthy. | ||
The message shown to users when `allowUserOptions` is truthy and they entered text that doesn't match any existing options to suggest creating a new option from the entered text. Emits `console.error` if `allowUserOptions` is `true` or `'append'` and `createOptionMsg=''` to since users might be unaware they can create new option. The error can be silenced by setting `createOptionMsg=null` indicating developer intent is to e.g. use MultiSelect as a tagging component where a user message might be unwanted. | ||
@@ -151,3 +151,3 @@ 1. ```ts | ||
1. ```ts | ||
duplicateFunc: (op1: GenericOption, op2: GenericOption) => boolean = (op1, op2) => | ||
duplicateFunc: (op1: T, op2: T) => boolean = (op1, op2) => | ||
`${get_label(op1)}`.toLowerCase() === `${get_label(op2)}`.toLowerCase() | ||
@@ -154,0 +154,0 @@ ``` |
Sorry, the diff of this file is not supported yet
82543
25
347
Updatedsvelte@^3.59.1