@cloudparker/moldex.js 0.0.68 → 0.0.70
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/services/dialog/dialog-service.d.ts +3 -2
- package/dist/services/dialog/dialog-service.js +15 -7
- package/dist/views/core/button/components/button/button.svelte +3 -0
- package/dist/views/core/button/components/button/button.svelte.d.ts +1 -0
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte +5 -1
- package/dist/views/core/button/components/button-dropdown/button-dropdown.svelte.d.ts +3 -2
- package/dist/views/core/button/components/button-menu/button-menu.svelte +5 -1
- package/dist/views/core/button/components/button-menu/button-menu.svelte.d.ts +3 -2
- package/dist/views/core/button/components/button-search/button-search.svelte +10 -2
- package/dist/views/core/button/components/button-search/button-search.svelte.d.ts +2 -2
- package/dist/views/core/dialog/components/dialog/dialog.svelte +11 -11
- package/dist/views/core/dialog/components/dialog/dialog.svelte.d.ts +3 -0
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte +18 -3
- package/dist/views/core/dialog/components/picker-dialog/picker-dialog.svelte.d.ts +2 -6
- package/package.json +1 -1
|
@@ -23,10 +23,10 @@ export declare function openConfirmDialog(params?: DialogProps & {
|
|
|
23
23
|
export declare function openAlertDialog(params?: DialogProps & {
|
|
24
24
|
msg?: string;
|
|
25
25
|
}): Promise<unknown>;
|
|
26
|
-
export declare function openDeleteConfirmDialog(params?: DialogProps & {
|
|
26
|
+
export declare function openDeleteConfirmDialog({ msg, title, footerOkButtonLable, footerOkButtonClassName, ...params }?: DialogProps & {
|
|
27
27
|
msg?: string;
|
|
28
28
|
}): Promise<unknown>;
|
|
29
|
-
export declare function openPickerDialog<R>({ items, value, multiple, hasCheckbox, hasArrow, ...params }: DialogProps & PickerDialogProps): Promise<R>;
|
|
29
|
+
export declare function openPickerDialog<R>({ items, value, multiple, hasCheckbox, hasArrow, maxlength, maxlengthMsg, identityFieldName, titleFieldName, searchFieldName, subtitleFieldName, ...params }: DialogProps & PickerDialogProps): Promise<R>;
|
|
30
30
|
export declare function openTextFieldDialog({ title, value, label, name, maxlength, fieldClassName, autofocus, required, appearance, size, floatingLabel, ...params }?: DialogProps & InputFieldProps & {
|
|
31
31
|
fieldClassName?: string;
|
|
32
32
|
}): Promise<unknown>;
|
|
@@ -52,6 +52,7 @@ export declare function openLoadingDialog({ msg, loadingDialogContainerClassName
|
|
|
52
52
|
postData: (data: any) => void;
|
|
53
53
|
setHeaderSnippet: (snippet: import("svelte").Snippet) => void;
|
|
54
54
|
setFooterSnippet: (snippet: import("svelte").Snippet) => void;
|
|
55
|
+
setDialogTitle: (dialogTitle: string) => void;
|
|
55
56
|
} & {
|
|
56
57
|
$set?: any;
|
|
57
58
|
$on?: any;
|
|
@@ -62,15 +62,16 @@ export async function openAlertDialog(params = {}) {
|
|
|
62
62
|
footerCloseButtonLabel: 'OK'
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
export async function openDeleteConfirmDialog(params = {}) {
|
|
65
|
+
export async function openDeleteConfirmDialog({ msg = 'Are you sure to delete?', title = 'Delete', footerOkButtonLable = 'Delete', footerOkButtonClassName = 'bg-red-500 hover:bg-red-700 focus:bg-red-700', ...params } = {}) {
|
|
66
66
|
return await openConfirmDialog({
|
|
67
|
-
msg
|
|
68
|
-
title
|
|
69
|
-
footerOkButtonLable
|
|
70
|
-
footerOkButtonClassName
|
|
67
|
+
msg,
|
|
68
|
+
title,
|
|
69
|
+
footerOkButtonLable,
|
|
70
|
+
footerOkButtonClassName,
|
|
71
|
+
...params,
|
|
71
72
|
});
|
|
72
73
|
}
|
|
73
|
-
export async function openPickerDialog({ items, value, multiple, hasCheckbox = true, hasArrow, ...params }) {
|
|
74
|
+
export async function openPickerDialog({ items, value, multiple, hasCheckbox = true, hasArrow, maxlength, maxlengthMsg, identityFieldName, titleFieldName, searchFieldName, subtitleFieldName, ...params }) {
|
|
74
75
|
if (hasArrow) {
|
|
75
76
|
multiple = false;
|
|
76
77
|
hasCheckbox = false;
|
|
@@ -83,13 +84,20 @@ export async function openPickerDialog({ items, value, multiple, hasCheckbox = t
|
|
|
83
84
|
multiple,
|
|
84
85
|
hasCheckbox,
|
|
85
86
|
hasArrow,
|
|
87
|
+
maxlength,
|
|
88
|
+
maxlengthMsg,
|
|
89
|
+
identityFieldName,
|
|
90
|
+
titleFieldName,
|
|
91
|
+
searchFieldName,
|
|
92
|
+
subtitleFieldName,
|
|
86
93
|
},
|
|
87
94
|
hasHeader: true,
|
|
95
|
+
hasTitle: true,
|
|
88
96
|
hasHeaderBack: isMobileScreen(),
|
|
89
97
|
hasHeaderClose: !isMobileScreen(),
|
|
90
98
|
footerOkButtonLable: 'Select',
|
|
91
99
|
footerClassName: 'border-t',
|
|
92
|
-
title: '
|
|
100
|
+
title: 'Pick',
|
|
93
101
|
...params,
|
|
94
102
|
hasFooter: multiple,
|
|
95
103
|
hasFooterOkButton: multiple,
|
|
@@ -5,6 +5,7 @@ import { Icon, mdiOpenInNew } from "../../../icon";
|
|
|
5
5
|
import { Spinner } from "../../../spinner";
|
|
6
6
|
import "../../../../../tailwind.css";
|
|
7
7
|
let {
|
|
8
|
+
title,
|
|
8
9
|
appearance = "none",
|
|
9
10
|
id = "",
|
|
10
11
|
form = void 0,
|
|
@@ -117,6 +118,7 @@ function handleRipple(node, options) {
|
|
|
117
118
|
ondragenter={onDragEnter}
|
|
118
119
|
ondragleave={onDragLeave}
|
|
119
120
|
ondragover={onDragOver}
|
|
121
|
+
{title}
|
|
120
122
|
>
|
|
121
123
|
{#if children}
|
|
122
124
|
{@render children()}
|
|
@@ -132,6 +134,7 @@ function handleRipple(node, options) {
|
|
|
132
134
|
{id}
|
|
133
135
|
{type}
|
|
134
136
|
{form}
|
|
137
|
+
{title}
|
|
135
138
|
class="relative flex items-center justify-center gap-2 focus:outline-primary dark:focus:outline-primary rounded {btnSizeClassName} {btnAppearanceClassName} {className}"
|
|
136
139
|
{disabled}
|
|
137
140
|
use:handleRipple
|
|
@@ -2,6 +2,7 @@ export type ButtonAppearance = 'none' | 'primary' | 'base' | 'border' | 'border-
|
|
|
2
2
|
export type ButtonSize = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
3
3
|
export type ButtonType = 'button' | 'submit' | 'reset';
|
|
4
4
|
export type ButtonProps = {
|
|
5
|
+
title?: string;
|
|
5
6
|
id?: string;
|
|
6
7
|
type?: ButtonType;
|
|
7
8
|
appearance?: ButtonAppearance;
|
|
@@ -23,7 +23,9 @@ let {
|
|
|
23
23
|
containerClassName = "",
|
|
24
24
|
dropdownClassName = "",
|
|
25
25
|
dropdownCloseClassName = "",
|
|
26
|
-
dropdownOpenClassName = ""
|
|
26
|
+
dropdownOpenClassName = "",
|
|
27
|
+
disabled,
|
|
28
|
+
...others
|
|
27
29
|
} = $props();
|
|
28
30
|
let placement = $state(false);
|
|
29
31
|
let dropdownState = $state(3 /* CLOSED */);
|
|
@@ -59,6 +61,8 @@ function handleBackdropEvent(ev) {
|
|
|
59
61
|
onClick={handleToggleDropdown}
|
|
60
62
|
{label}
|
|
61
63
|
{children}
|
|
64
|
+
{disabled}
|
|
65
|
+
{...others}
|
|
62
66
|
/>
|
|
63
67
|
|
|
64
68
|
{#if placement}
|
|
@@ -12,10 +12,11 @@ export type ButtonDropdownProps = {
|
|
|
12
12
|
dropdownClassName?: string;
|
|
13
13
|
dropdownCloseClassName?: string;
|
|
14
14
|
dropdownOpenClassName?: string;
|
|
15
|
+
disabled?: boolean;
|
|
15
16
|
};
|
|
16
17
|
import '../../../../../tailwind.css';
|
|
17
18
|
import type { Snippet } from 'svelte';
|
|
18
|
-
import { type ButtonAppearance, type ButtonSize, type ButtonType } from '../button/button.svelte';
|
|
19
|
+
import { type ButtonAppearance, type ButtonProps, type ButtonSize, type ButtonType } from '../button/button.svelte';
|
|
19
20
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
20
21
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
21
22
|
$$bindings?: Bindings;
|
|
@@ -29,7 +30,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
29
30
|
};
|
|
30
31
|
z_$$bindings?: Bindings;
|
|
31
32
|
}
|
|
32
|
-
declare const ButtonDropdown: $$__sveltets_2_IsomorphicComponent<ButtonDropdownProps, {
|
|
33
|
+
declare const ButtonDropdown: $$__sveltets_2_IsomorphicComponent<ButtonProps & ButtonDropdownProps, {
|
|
33
34
|
[evt: string]: CustomEvent<any>;
|
|
34
35
|
}, {}, {
|
|
35
36
|
toggleDropdown: (ev: MouseEvent) => void;
|
|
@@ -15,7 +15,9 @@ let {
|
|
|
15
15
|
menus,
|
|
16
16
|
onMenu,
|
|
17
17
|
dropdownClassName,
|
|
18
|
-
menuIconClassName
|
|
18
|
+
menuIconClassName,
|
|
19
|
+
disabled,
|
|
20
|
+
...others
|
|
19
21
|
} = $props();
|
|
20
22
|
let buttonDropdownRef;
|
|
21
23
|
let items = $derived.by(() => {
|
|
@@ -63,6 +65,8 @@ function handleItemClick(ev, menuItem, index) {
|
|
|
63
65
|
{appearance}
|
|
64
66
|
{size}
|
|
65
67
|
{dropdownClassName}
|
|
68
|
+
{disabled}
|
|
69
|
+
{...others}
|
|
66
70
|
>
|
|
67
71
|
{#if children}
|
|
68
72
|
{@render children()}
|
|
@@ -9,7 +9,7 @@ export type Menu = {
|
|
|
9
9
|
checkboxClassName?: string;
|
|
10
10
|
isChecked?: boolean;
|
|
11
11
|
};
|
|
12
|
-
import { type ButtonAppearance, type ButtonSize } from '../../../../..';
|
|
12
|
+
import { type ButtonAppearance, type ButtonProps, type ButtonSize } from '../../../../..';
|
|
13
13
|
import type { Snippet } from 'svelte';
|
|
14
14
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
15
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -24,7 +24,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
24
24
|
};
|
|
25
25
|
z_$$bindings?: Bindings;
|
|
26
26
|
}
|
|
27
|
-
declare const ButtonMenu: $$__sveltets_2_IsomorphicComponent<{
|
|
27
|
+
declare const ButtonMenu: $$__sveltets_2_IsomorphicComponent<ButtonProps & {
|
|
28
28
|
label?: string;
|
|
29
29
|
className?: string;
|
|
30
30
|
appearance?: ButtonAppearance;
|
|
@@ -36,6 +36,7 @@ declare const ButtonMenu: $$__sveltets_2_IsomorphicComponent<{
|
|
|
36
36
|
onMenu?: (ev: MouseEvent, menu: string | Menu) => void;
|
|
37
37
|
dropdownClassName?: string;
|
|
38
38
|
menuIconClassName?: string;
|
|
39
|
+
disabled?: boolean;
|
|
39
40
|
}, {
|
|
40
41
|
[evt: string]: CustomEvent<any>;
|
|
41
42
|
}, {}, {}, "">;
|
|
@@ -14,7 +14,8 @@ let {
|
|
|
14
14
|
size,
|
|
15
15
|
children,
|
|
16
16
|
iconClassName,
|
|
17
|
-
dropdownClassName
|
|
17
|
+
dropdownClassName,
|
|
18
|
+
...others
|
|
18
19
|
} = $props();
|
|
19
20
|
</script>
|
|
20
21
|
|
|
@@ -30,7 +31,14 @@ let {
|
|
|
30
31
|
</div>
|
|
31
32
|
{/snippet}
|
|
32
33
|
|
|
33
|
-
<ButtonDropdown
|
|
34
|
+
<ButtonDropdown
|
|
35
|
+
dropdownSnippet={dropdownSearch}
|
|
36
|
+
{className}
|
|
37
|
+
{appearance}
|
|
38
|
+
{size}
|
|
39
|
+
{dropdownClassName}
|
|
40
|
+
{...others}
|
|
41
|
+
>
|
|
34
42
|
{#if children}
|
|
35
43
|
{@render children()}
|
|
36
44
|
{:else}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ButtonAppearance, type ButtonSize, type InputFieldAppearance, type InputFieldSize } from '../../../../..';
|
|
1
|
+
import { type ButtonAppearance, type ButtonProps, type ButtonSize, type InputFieldAppearance, type InputFieldSize } from '../../../../..';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
3
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
4
4
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -13,7 +13,7 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
|
|
|
13
13
|
};
|
|
14
14
|
z_$$bindings?: Bindings;
|
|
15
15
|
}
|
|
16
|
-
declare const ButtonSearch: $$__sveltets_2_IsomorphicComponent<{
|
|
16
|
+
declare const ButtonSearch: $$__sveltets_2_IsomorphicComponent<ButtonProps & {
|
|
17
17
|
searchAppearance?: InputFieldAppearance;
|
|
18
18
|
searchClassName?: string;
|
|
19
19
|
searchSize?: InputFieldSize;
|
|
@@ -12,6 +12,7 @@ let {
|
|
|
12
12
|
bodyClassName = "",
|
|
13
13
|
bodyComponent,
|
|
14
14
|
cancelable = true,
|
|
15
|
+
scrollable = true,
|
|
15
16
|
children,
|
|
16
17
|
className = "",
|
|
17
18
|
component,
|
|
@@ -64,14 +65,15 @@ let dialogExports = {
|
|
|
64
65
|
setOnOkClick,
|
|
65
66
|
setOnData,
|
|
66
67
|
setHeaderSnippet,
|
|
67
|
-
setFooterSnippet
|
|
68
|
+
setFooterSnippet,
|
|
69
|
+
setDialogTitle
|
|
68
70
|
};
|
|
69
71
|
let isPlaced = $state(false);
|
|
70
72
|
let isOpened = $state(false);
|
|
71
73
|
let headerSnippet = $state(null);
|
|
72
74
|
let footerSnippet = $state(null);
|
|
73
|
-
let CustomComponent = $
|
|
74
|
-
let BodyComponent = $
|
|
75
|
+
let CustomComponent = $derived(component);
|
|
76
|
+
let BodyComponent = $derived(bodyComponent);
|
|
75
77
|
let result;
|
|
76
78
|
let xsSizeClassName = "w-64";
|
|
77
79
|
let smSizeClassName = "w-96";
|
|
@@ -87,6 +89,7 @@ let screenSizeClassNameMap = {
|
|
|
87
89
|
xl: xlSizeClassName,
|
|
88
90
|
full: fullSizeClassName
|
|
89
91
|
};
|
|
92
|
+
let customTitle = $state("");
|
|
90
93
|
export function toggleDialog() {
|
|
91
94
|
if (isOpened) {
|
|
92
95
|
closeDialog();
|
|
@@ -138,6 +141,9 @@ export function setHeaderSnippet(snippet) {
|
|
|
138
141
|
export function setFooterSnippet(snippet) {
|
|
139
142
|
footerSnippet = snippet;
|
|
140
143
|
}
|
|
144
|
+
export function setDialogTitle(dialogTitle) {
|
|
145
|
+
customTitle = dialogTitle;
|
|
146
|
+
}
|
|
141
147
|
function handleBackdropClick() {
|
|
142
148
|
if (cancelable) {
|
|
143
149
|
closeDialog();
|
|
@@ -165,12 +171,6 @@ function handleOkClick(event) {
|
|
|
165
171
|
onOkClick(event, dialogExports);
|
|
166
172
|
}
|
|
167
173
|
}
|
|
168
|
-
$effect(() => {
|
|
169
|
-
BodyComponent = bodyComponent;
|
|
170
|
-
});
|
|
171
|
-
$effect(() => {
|
|
172
|
-
CustomComponent = component;
|
|
173
|
-
});
|
|
174
174
|
</script>
|
|
175
175
|
|
|
176
176
|
{#snippet dialogContent()}
|
|
@@ -209,7 +209,7 @@ $effect(() => {
|
|
|
209
209
|
<div class="py-2 flex-grow">
|
|
210
210
|
{#if hasTitle}
|
|
211
211
|
<div class="text-xl text-base-800 dark:text-base-300 {titleClassName}">
|
|
212
|
-
{title || ''}
|
|
212
|
+
{@html customTitle || title || ''}
|
|
213
213
|
</div>
|
|
214
214
|
{/if}
|
|
215
215
|
{#if hasSubtitle}
|
|
@@ -236,7 +236,7 @@ $effect(() => {
|
|
|
236
236
|
</div>
|
|
237
237
|
{/if}
|
|
238
238
|
|
|
239
|
-
<div class="flex-grow overflow-y-auto {bodyClassName}">
|
|
239
|
+
<div class="flex-grow {scrollable ? 'overflow-y-auto' : ''} {bodyClassName}">
|
|
240
240
|
{#if children}
|
|
241
241
|
{@render children()}
|
|
242
242
|
{:else if BodyComponent?.length == 2}
|
|
@@ -10,6 +10,7 @@ export type DialogProps = {
|
|
|
10
10
|
bodyClassName?: string;
|
|
11
11
|
bodyComponent?: any;
|
|
12
12
|
cancelable?: boolean;
|
|
13
|
+
scrollable?: boolean;
|
|
13
14
|
children?: Snippet;
|
|
14
15
|
className?: string;
|
|
15
16
|
component?: any;
|
|
@@ -63,6 +64,7 @@ export type DialogExports = {
|
|
|
63
64
|
setOnData: (listener: (data: any) => void) => void;
|
|
64
65
|
setHeaderSnippet: (snippet: Snippet) => void;
|
|
65
66
|
setFooterSnippet: (snippet: Snippet) => void;
|
|
67
|
+
setDialogTitle: (title: string) => void;
|
|
66
68
|
};
|
|
67
69
|
import { type Snippet } from 'svelte';
|
|
68
70
|
import '../../../../../tailwind.css';
|
|
@@ -94,6 +96,7 @@ declare const Dialog: $$__sveltets_2_IsomorphicComponent<DialogProps, {
|
|
|
94
96
|
postData: (data: any) => void;
|
|
95
97
|
setHeaderSnippet: (snippet: Snippet) => void;
|
|
96
98
|
setFooterSnippet: (snippet: Snippet) => void;
|
|
99
|
+
setDialogTitle: (dialogTitle: string) => void;
|
|
97
100
|
}, "">;
|
|
98
101
|
type Dialog = InstanceType<typeof Dialog>;
|
|
99
102
|
export default Dialog;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts" module></script>
|
|
2
2
|
|
|
3
|
-
<script lang="ts">import
|
|
3
|
+
<script lang="ts">import { showToast } from "../../../../../services";
|
|
4
|
+
import ButtonListItem from "../../../button/components/button-list-item/button-list-item.svelte";
|
|
4
5
|
import ButtonSearch from "../../../button/components/button-search/button-search.svelte";
|
|
5
6
|
let {
|
|
6
7
|
value,
|
|
@@ -12,10 +13,13 @@ let {
|
|
|
12
13
|
searchFieldName = "name",
|
|
13
14
|
hasCheckbox,
|
|
14
15
|
hasArrow,
|
|
16
|
+
maxlength = 0,
|
|
17
|
+
maxlengthMsg = "Selection limit reached!",
|
|
15
18
|
closeDialog,
|
|
16
19
|
setResult,
|
|
17
20
|
setOnOkClick,
|
|
18
|
-
setHeaderSnippet
|
|
21
|
+
setHeaderSnippet,
|
|
22
|
+
setDialogTitle
|
|
19
23
|
} = $props();
|
|
20
24
|
let selected = $state({ items: {} });
|
|
21
25
|
let searchText = $state("");
|
|
@@ -62,7 +66,18 @@ function handleItemClick(ev, item, index) {
|
|
|
62
66
|
if (selected.items[itemId]) {
|
|
63
67
|
delete selected.items[itemId];
|
|
64
68
|
} else {
|
|
65
|
-
selected.items
|
|
69
|
+
let itemLength2 = Object.keys(selected.items).length;
|
|
70
|
+
if (maxlength > 0 && itemLength2 >= maxlength) {
|
|
71
|
+
showToast({ msg: maxlengthMsg });
|
|
72
|
+
} else {
|
|
73
|
+
selected.items[itemId] = itemId;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
let itemLength = Object.keys(selected.items).length;
|
|
77
|
+
if (itemLength) {
|
|
78
|
+
setDialogTitle(`Selected (${itemLength})`);
|
|
79
|
+
} else {
|
|
80
|
+
setDialogTitle("");
|
|
66
81
|
}
|
|
67
82
|
}
|
|
68
83
|
}
|
|
@@ -7,13 +7,9 @@ export type PickerDialogProps = {
|
|
|
7
7
|
searchFieldName?: string;
|
|
8
8
|
subtitleFieldName?: string;
|
|
9
9
|
hasCheckbox?: boolean;
|
|
10
|
-
checkboxCheckIconPath?: string;
|
|
11
|
-
checkboxUncheckIconPath?: string;
|
|
12
|
-
checkboxCheckIconClassName?: string;
|
|
13
|
-
checkboxUncheckIconClassName?: string;
|
|
14
10
|
hasArrow?: boolean;
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
maxlength?: number;
|
|
12
|
+
maxlengthMsg?: string;
|
|
17
13
|
};
|
|
18
14
|
import type { DialogExports } from '../dialog/dialog.svelte';
|
|
19
15
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|