svelte-multiselect 11.5.0 → 11.5.1
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/dist/CircleSpinner.svelte +29 -0
- package/dist/CircleSpinner.svelte.d.ts +8 -0
- package/dist/CmdPalette.svelte +74 -0
- package/dist/CmdPalette.svelte.d.ts +76 -0
- package/dist/CodeExample.svelte +85 -0
- package/dist/CodeExample.svelte.d.ts +25 -0
- package/dist/CopyButton.svelte +67 -0
- package/dist/CopyButton.svelte.d.ts +25 -0
- package/dist/FileDetails.svelte +65 -0
- package/dist/FileDetails.svelte.d.ts +22 -0
- package/dist/GitHubCorner.svelte +82 -0
- package/dist/GitHubCorner.svelte.d.ts +13 -0
- package/dist/Icon.svelte +23 -0
- package/dist/Icon.svelte.d.ts +8 -0
- package/dist/MultiSelect.svelte +1675 -0
- package/dist/MultiSelect.svelte.d.ts +25 -0
- package/dist/Nav.svelte +444 -0
- package/dist/Nav.svelte.d.ts +42 -0
- package/dist/PrevNext.svelte +105 -0
- package/dist/PrevNext.svelte.d.ts +56 -0
- package/dist/Toggle.svelte +77 -0
- package/dist/Toggle.svelte.d.ts +11 -0
- package/dist/Wiggle.svelte +15 -0
- package/dist/Wiggle.svelte.d.ts +15 -0
- package/dist/attachments.d.ts +68 -0
- package/dist/attachments.js +645 -0
- package/dist/icons.d.ts +55 -0
- package/dist/icons.js +54 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +42 -0
- package/dist/types.d.ts +216 -0
- package/dist/types.js +1 -0
- package/dist/utils.d.ts +8 -0
- package/dist/utils.js +63 -0
- package/package.json +4 -2
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<script lang="ts">let { checked = $bindable(false), onkeydown, children, input_props, ...rest } = $props();
|
|
2
|
+
// normally input type=checkbox toggles on space bar, this handler also responds to enter
|
|
3
|
+
function handle_keydown(event) {
|
|
4
|
+
onkeydown?.(event);
|
|
5
|
+
if (event.key === `Enter`) {
|
|
6
|
+
event.preventDefault();
|
|
7
|
+
const target = event.target;
|
|
8
|
+
target.click(); // simulate real user toggle so 'change' is dispatched
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<label {...rest}>
|
|
15
|
+
{@render children?.()}
|
|
16
|
+
<input
|
|
17
|
+
type="checkbox"
|
|
18
|
+
bind:checked
|
|
19
|
+
{...input_props}
|
|
20
|
+
onkeydown={handle_keydown}
|
|
21
|
+
/>
|
|
22
|
+
<span></span>
|
|
23
|
+
</label>
|
|
24
|
+
|
|
25
|
+
<style>
|
|
26
|
+
label {
|
|
27
|
+
display: var(--toggle-label-display, inline-flex);
|
|
28
|
+
align-items: var(--toggle-label-align-items, center);
|
|
29
|
+
width: var(--toggle-label-width, max-content);
|
|
30
|
+
vertical-align: var(--toggle-label-vertical-align, middle);
|
|
31
|
+
}
|
|
32
|
+
span {
|
|
33
|
+
box-sizing: border-box;
|
|
34
|
+
height: var(--toggle-knob-height, 1.5em);
|
|
35
|
+
width: var(--toggle-knob-width, 3em);
|
|
36
|
+
padding: var(--toggle-knob-padding, 0.1em);
|
|
37
|
+
border: var(--toggle-knob-border, 1px solid light-dark(lightgray, #555));
|
|
38
|
+
border-radius: var(--toggle-knob-border-radius, 0.75em);
|
|
39
|
+
transition: var(--toggle-knob-transition, 0.3s);
|
|
40
|
+
}
|
|
41
|
+
input:checked + span {
|
|
42
|
+
background: var(--toggle-background, light-dark(#222, #555));
|
|
43
|
+
}
|
|
44
|
+
input {
|
|
45
|
+
position: absolute;
|
|
46
|
+
opacity: 0;
|
|
47
|
+
width: var(--toggle-input-width, 1em);
|
|
48
|
+
}
|
|
49
|
+
input + span::after {
|
|
50
|
+
content: '';
|
|
51
|
+
display: var(--toggle-knob-after-display, block);
|
|
52
|
+
height: var(--toggle-knob-after-height, 1.2em);
|
|
53
|
+
width: var(--toggle-knob-after-width, 1.2em);
|
|
54
|
+
border-radius: var(--toggle-knob-after-border-radius, 50%);
|
|
55
|
+
background: var(--toggle-knob-after-background, light-dark(gray, #888));
|
|
56
|
+
transition: var(--toggle-knob-after-transition, 0.3s);
|
|
57
|
+
}
|
|
58
|
+
input:checked + span::after {
|
|
59
|
+
background: var(--toggle-knob-after-background, light-dark(green, #4ade80));
|
|
60
|
+
transform: var(
|
|
61
|
+
--toggle-knob-after-transform,
|
|
62
|
+
translate(
|
|
63
|
+
calc(
|
|
64
|
+
var(--toggle-knob-width, 3em) - var(--toggle-knob-height, 1.5em)
|
|
65
|
+
+ var(--toggle-knob-padding, 0.1em)
|
|
66
|
+
- var(--toggle-knob-border, 2px)
|
|
67
|
+
)
|
|
68
|
+
)
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
input:focus + span {
|
|
72
|
+
border: var(
|
|
73
|
+
--toggle-knob-focus-border,
|
|
74
|
+
1px solid light-dark(cornflowerblue, #6495ed)
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLLabelElement> & {
|
|
4
|
+
checked?: boolean;
|
|
5
|
+
onkeydown?: (event: KeyboardEvent) => void;
|
|
6
|
+
children?: Snippet<[]>;
|
|
7
|
+
input_props?: HTMLAttributes<HTMLInputElement>;
|
|
8
|
+
};
|
|
9
|
+
declare const Toggle: import("svelte").Component<$$ComponentProps, {}, "checked">;
|
|
10
|
+
type Toggle = ReturnType<typeof Toggle>;
|
|
11
|
+
export default Toggle;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script lang="ts">import { Spring } from 'svelte/motion';
|
|
2
|
+
let { wiggle = $bindable(false), angle = 0, scale = 1, dx = 0, dy = 0, duration = 200, stiffness = 0.05, damping = 0.1, children, } = $props();
|
|
3
|
+
const store = Spring.of(() => (wiggle ? { scale, angle, dx, dy } : { angle: 0, scale: 1, dx: 0, dy: 0 }), { stiffness, damping });
|
|
4
|
+
$effect.pre(() => {
|
|
5
|
+
if (wiggle)
|
|
6
|
+
setTimeout(() => (wiggle = false), duration);
|
|
7
|
+
});
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<span
|
|
11
|
+
style:transform="rotate({store.current.angle}deg) scale({store.current.scale})
|
|
12
|
+
translate({store.current.dx}px, {store.current.dy}px)"
|
|
13
|
+
>
|
|
14
|
+
{@render children?.()}
|
|
15
|
+
</span>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
wiggle?: boolean;
|
|
4
|
+
angle?: number;
|
|
5
|
+
scale?: number;
|
|
6
|
+
dx?: number;
|
|
7
|
+
dy?: number;
|
|
8
|
+
duration?: number;
|
|
9
|
+
stiffness?: number;
|
|
10
|
+
damping?: number;
|
|
11
|
+
children?: Snippet;
|
|
12
|
+
};
|
|
13
|
+
declare const Wiggle: import("svelte").Component<$$ComponentProps, {}, "wiggle">;
|
|
14
|
+
type Wiggle = ReturnType<typeof Wiggle>;
|
|
15
|
+
export default Wiggle;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type Attachment } from 'svelte/attachments';
|
|
2
|
+
declare global {
|
|
3
|
+
interface CSS {
|
|
4
|
+
highlights: HighlightRegistry;
|
|
5
|
+
}
|
|
6
|
+
interface HighlightRegistry extends Map<string, Highlight> {
|
|
7
|
+
clear(): void;
|
|
8
|
+
delete(key: string): boolean;
|
|
9
|
+
set(key: string, value: Highlight): this;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export interface DraggableOptions {
|
|
13
|
+
handle_selector?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
on_drag_start?: (event: MouseEvent) => void;
|
|
16
|
+
on_drag?: (event: MouseEvent) => void;
|
|
17
|
+
on_drag_end?: (event: MouseEvent) => void;
|
|
18
|
+
}
|
|
19
|
+
export type Dimensions = {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
};
|
|
23
|
+
export type ResizeCallback = (event: MouseEvent, dimensions: Dimensions) => void;
|
|
24
|
+
export interface ResizableOptions {
|
|
25
|
+
edges?: (`top` | `right` | `bottom` | `left`)[];
|
|
26
|
+
min_width?: number;
|
|
27
|
+
min_height?: number;
|
|
28
|
+
max_width?: number;
|
|
29
|
+
max_height?: number;
|
|
30
|
+
handle_size?: number;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
on_resize_start?: ResizeCallback;
|
|
33
|
+
on_resize?: ResizeCallback;
|
|
34
|
+
on_resize_end?: ResizeCallback;
|
|
35
|
+
}
|
|
36
|
+
export declare const draggable: (options?: DraggableOptions) => Attachment;
|
|
37
|
+
export declare const resizable: (options?: ResizableOptions) => Attachment;
|
|
38
|
+
export declare function get_html_sort_value(element: HTMLElement): string;
|
|
39
|
+
export interface SortableOptions {
|
|
40
|
+
header_selector?: string;
|
|
41
|
+
asc_class?: string;
|
|
42
|
+
desc_class?: string;
|
|
43
|
+
sorted_style?: Partial<CSSStyleDeclaration>;
|
|
44
|
+
disabled?: boolean;
|
|
45
|
+
}
|
|
46
|
+
export declare const sortable: (options?: SortableOptions) => (node: HTMLElement) => (() => void) | undefined;
|
|
47
|
+
export type HighlightOptions = {
|
|
48
|
+
query?: string;
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
fuzzy?: boolean;
|
|
51
|
+
node_filter?: (node: Node) => number;
|
|
52
|
+
css_class?: string;
|
|
53
|
+
};
|
|
54
|
+
export declare const highlight_matches: (ops: HighlightOptions) => (node: HTMLElement) => (() => boolean) | undefined;
|
|
55
|
+
export interface TooltipOptions {
|
|
56
|
+
content?: string;
|
|
57
|
+
placement?: `top` | `bottom` | `left` | `right`;
|
|
58
|
+
delay?: number;
|
|
59
|
+
disabled?: boolean;
|
|
60
|
+
style?: string;
|
|
61
|
+
}
|
|
62
|
+
export declare const tooltip: (options?: TooltipOptions) => Attachment;
|
|
63
|
+
export type ClickOutsideConfig<T extends HTMLElement> = {
|
|
64
|
+
enabled?: boolean;
|
|
65
|
+
exclude?: string[];
|
|
66
|
+
callback?: (node: T, config: ClickOutsideConfig<T>) => void;
|
|
67
|
+
};
|
|
68
|
+
export declare const click_outside: <T extends HTMLElement>(config?: ClickOutsideConfig<T>) => (node: T) => (() => void) | undefined;
|