fuma 0.1.4 → 0.1.6
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/server/sse.d.ts +2 -0
- package/dist/ui/Slot.svelte +21 -0
- package/dist/ui/index.d.ts +2 -1
- package/dist/ui/index.js +2 -1
- package/dist/ui/input/InputRelation.svelte +10 -4
- package/dist/ui/input/InputRelation.svelte.d.ts +4 -1
- package/dist/ui/input/InputRelations.svelte +12 -4
- package/dist/ui/input/InputRelations.svelte.d.ts +5 -2
- package/package.json +2 -1
package/dist/server/sse.d.ts
CHANGED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<script>export let slot = void 0;
|
|
2
|
+
export let args = void 0;
|
|
3
|
+
function getComponentAndProps(_slot) {
|
|
4
|
+
if (typeof _slot === "object")
|
|
5
|
+
return _slot;
|
|
6
|
+
if (!args) {
|
|
7
|
+
console.error("args prop is required with slot as function");
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return _slot(args);
|
|
11
|
+
}
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
{#if slot}
|
|
15
|
+
{@const s = getComponentAndProps(slot)}
|
|
16
|
+
{#if s !== null}
|
|
17
|
+
<svelte:component this={s.component} {...s.props} />
|
|
18
|
+
{/if}
|
|
19
|
+
{:else}
|
|
20
|
+
<slot />
|
|
21
|
+
{/if}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export { default as Placeholder } from './Placeholder.svelte';
|
|
|
14
14
|
export { default as PlaceholderImage } from './PlaceholderImage.svelte';
|
|
15
15
|
export { default as Login } from './Login.svelte';
|
|
16
16
|
export { default as ToggleMode } from './ToggleMode.svelte';
|
|
17
|
-
export
|
|
17
|
+
export { default as Slot } from './Slot.svelte';
|
|
18
|
+
export { mode, setMode, resetMode, toggleMode, userPrefersMode, systemPrefersMode } from 'mode-watcher';
|
package/dist/ui/index.js
CHANGED
|
@@ -14,4 +14,5 @@ export { default as Placeholder } from './Placeholder.svelte';
|
|
|
14
14
|
export { default as PlaceholderImage } from './PlaceholderImage.svelte';
|
|
15
15
|
export { default as Login } from './Login.svelte';
|
|
16
16
|
export { default as ToggleMode } from './ToggleMode.svelte';
|
|
17
|
-
export
|
|
17
|
+
export { default as Slot } from './Slot.svelte';
|
|
18
|
+
export { mode, setMode, resetMode, toggleMode, userPrefersMode, systemPrefersMode } from 'mode-watcher';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import debounce from "debounce";
|
|
3
3
|
import { toast } from "svelte-sonner";
|
|
4
4
|
import { mdiClose } from "@mdi/js";
|
|
5
|
-
import { FormControl, DropDown, Icon, SelectorList } from "../index.js";
|
|
5
|
+
import { FormControl, DropDown, Icon, SelectorList, Slot } from "../index.js";
|
|
6
6
|
import RelationAfter from "./RelationAfter.svelte";
|
|
7
7
|
export let key = "";
|
|
8
8
|
export let label = "";
|
|
@@ -14,6 +14,8 @@ export let error = "";
|
|
|
14
14
|
export let placeholder = "";
|
|
15
15
|
export let tippyProps = {};
|
|
16
16
|
export let flatMode = false;
|
|
17
|
+
export let slotItem = null;
|
|
18
|
+
export let slotSuggestion = null;
|
|
17
19
|
let klass = "";
|
|
18
20
|
export { klass as class };
|
|
19
21
|
export let classList = "";
|
|
@@ -85,7 +87,9 @@ async function handleBlur() {
|
|
|
85
87
|
<div class="flex h-12 items-center gap-2 rounded-lg border pl-4 pr-2">
|
|
86
88
|
<div class="grow">
|
|
87
89
|
<slot name="item" {item}>
|
|
88
|
-
{item
|
|
90
|
+
<Slot slot={slotItem} args={item}>
|
|
91
|
+
{item.id}
|
|
92
|
+
</Slot>
|
|
89
93
|
</slot>
|
|
90
94
|
</div>
|
|
91
95
|
<button type="button" on:click={() => clear()} class="btn btn-square btn-sm">
|
|
@@ -107,8 +111,10 @@ async function handleBlur() {
|
|
|
107
111
|
class="w-full {classList}"
|
|
108
112
|
on:select={({ detail }) => select(detail)}
|
|
109
113
|
>
|
|
110
|
-
<slot name="
|
|
111
|
-
{proposedItems[index]
|
|
114
|
+
<slot name="suggestion" item={proposedItems[index]}>
|
|
115
|
+
<Slot slot={slotSuggestion} args={proposedItems[index]}>
|
|
116
|
+
{proposedItems[index].id}
|
|
117
|
+
</Slot>
|
|
112
118
|
</slot>
|
|
113
119
|
</SelectorList>
|
|
114
120
|
</DropDown>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
import type { TippyProps } from '../../utils/tippy.js';
|
|
3
|
+
import type { ComponentAndProps } from '../../index.js';
|
|
3
4
|
declare class __sveltets_Render<RelationItem extends {
|
|
4
5
|
id: string;
|
|
5
6
|
}> {
|
|
@@ -14,6 +15,8 @@ declare class __sveltets_Render<RelationItem extends {
|
|
|
14
15
|
placeholder?: string | undefined;
|
|
15
16
|
tippyProps?: Partial<TippyProps> | undefined;
|
|
16
17
|
flatMode?: boolean | undefined;
|
|
18
|
+
slotItem?: ((item: RelationItem) => ComponentAndProps) | null | undefined;
|
|
19
|
+
slotSuggestion?: ((item: RelationItem) => ComponentAndProps) | null | undefined;
|
|
17
20
|
class?: string | undefined;
|
|
18
21
|
classList?: string | undefined;
|
|
19
22
|
clear?: (() => Promise<void>) | undefined;
|
|
@@ -30,7 +33,7 @@ declare class __sveltets_Render<RelationItem extends {
|
|
|
30
33
|
item: {
|
|
31
34
|
item: RelationItem | null;
|
|
32
35
|
};
|
|
33
|
-
|
|
36
|
+
suggestion: {
|
|
34
37
|
item: RelationItem;
|
|
35
38
|
};
|
|
36
39
|
};
|
|
@@ -3,7 +3,7 @@ import { slide } from "svelte/transition";
|
|
|
3
3
|
import { toast } from "svelte-sonner";
|
|
4
4
|
import { mdiClose } from "@mdi/js";
|
|
5
5
|
import debounce from "debounce";
|
|
6
|
-
import { FormControl, Icon, DropDown, SelectorList } from "../index.js";
|
|
6
|
+
import { FormControl, Icon, DropDown, SelectorList, Slot } from "../index.js";
|
|
7
7
|
import RelationAfter from "./RelationAfter.svelte";
|
|
8
8
|
export let key = "";
|
|
9
9
|
export let label = "";
|
|
@@ -13,6 +13,8 @@ export let createTitle = "";
|
|
|
13
13
|
export let error = "";
|
|
14
14
|
export let placeholder = "";
|
|
15
15
|
export let flatMode = false;
|
|
16
|
+
export let slotItem = null;
|
|
17
|
+
export let slotSuggestion = null;
|
|
16
18
|
let klass = "";
|
|
17
19
|
export { klass as class };
|
|
18
20
|
export let classList = "";
|
|
@@ -81,7 +83,11 @@ async function handleBlur() {
|
|
|
81
83
|
transition:slide|local={{ axis: 'x', duration: 200 }}
|
|
82
84
|
class="badge badge-outline badge-lg items-center whitespace-nowrap pr-0 text-right"
|
|
83
85
|
>
|
|
84
|
-
<slot {item} name="
|
|
86
|
+
<slot {item} name="item">
|
|
87
|
+
<Slot slot={slotItem} args={item}>
|
|
88
|
+
{item.id}
|
|
89
|
+
</Slot>
|
|
90
|
+
</slot>
|
|
85
91
|
<div
|
|
86
92
|
class="btn btn-circle btn-ghost btn-xs ml-1 mr-[2px] h-[18px] min-h-[18px] w-[18px]"
|
|
87
93
|
role="button"
|
|
@@ -131,8 +137,10 @@ async function handleBlur() {
|
|
|
131
137
|
class="w-full {classList}"
|
|
132
138
|
on:select={({ detail }) => select(detail)}
|
|
133
139
|
>
|
|
134
|
-
<slot name="
|
|
135
|
-
{proposedItems[index]
|
|
140
|
+
<slot name="suggestion" item={proposedItems[index]}>
|
|
141
|
+
<Slot slot={slotSuggestion} args={proposedItems[index]}>
|
|
142
|
+
{proposedItems[index].id}
|
|
143
|
+
</Slot>
|
|
136
144
|
</slot>
|
|
137
145
|
</SelectorList>
|
|
138
146
|
</DropDown>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
|
+
import type { ComponentAndProps } from '../../index.js';
|
|
2
3
|
declare class __sveltets_Render<RelationItem extends {
|
|
3
4
|
id: string;
|
|
4
5
|
}> {
|
|
@@ -11,6 +12,8 @@ declare class __sveltets_Render<RelationItem extends {
|
|
|
11
12
|
error?: string | undefined;
|
|
12
13
|
placeholder?: string | undefined;
|
|
13
14
|
flatMode?: boolean | undefined;
|
|
15
|
+
slotItem?: ((item: RelationItem) => ComponentAndProps) | null | undefined;
|
|
16
|
+
slotSuggestion?: ((item: RelationItem) => ComponentAndProps) | null | undefined;
|
|
14
17
|
class?: string | undefined;
|
|
15
18
|
classList?: string | undefined;
|
|
16
19
|
items?: RelationItem[] | null | undefined;
|
|
@@ -24,11 +27,11 @@ declare class __sveltets_Render<RelationItem extends {
|
|
|
24
27
|
[evt: string]: CustomEvent<any>;
|
|
25
28
|
};
|
|
26
29
|
slots(): {
|
|
27
|
-
|
|
30
|
+
item: {
|
|
28
31
|
item: RelationItem;
|
|
29
32
|
};
|
|
30
33
|
append: {};
|
|
31
|
-
|
|
34
|
+
suggestion: {
|
|
32
35
|
item: RelationItem;
|
|
33
36
|
};
|
|
34
37
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fuma",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "My fullstack material build with sveltekit, daisyui, zod and more",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Jonas Voisard",
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"@sveltejs/vite-plugin-svelte": "^3.0.0",
|
|
36
36
|
"@types/debounce": "^1.2.4",
|
|
37
37
|
"@types/eslint": "^8.56.0",
|
|
38
|
+
"@types/node": "^20.12.7",
|
|
38
39
|
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
|
39
40
|
"@typescript-eslint/parser": "^7.0.0",
|
|
40
41
|
"autoprefixer": "^10.4.16",
|