framework7-svelte 8.3.4 → 9.0.0
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/components/accordion-content.d.ts +11 -5
- package/components/accordion-content.svelte +8 -6
- package/components/accordion-item.d.ts +23 -11
- package/components/accordion-item.svelte +27 -25
- package/components/accordion-toggle.d.ts +11 -5
- package/components/accordion-toggle.svelte +8 -6
- package/components/accordion.d.ts +11 -5
- package/components/accordion.svelte +11 -10
- package/components/actions-button.d.ts +14 -6
- package/components/actions-button.svelte +21 -19
- package/components/actions-group.d.ts +11 -5
- package/components/actions-group.svelte +4 -7
- package/components/actions-label.d.ts +11 -5
- package/components/actions-label.svelte +13 -23
- package/components/actions.d.ts +31 -21
- package/components/actions.svelte +50 -54
- package/components/app.d.ts +11 -5
- package/components/app.svelte +6 -7
- package/components/area-chart.d.ts +13 -6
- package/components/area-chart.svelte +42 -46
- package/components/badge.d.ts +11 -5
- package/components/badge.svelte +10 -9
- package/components/block-footer.d.ts +11 -5
- package/components/block-footer.svelte +8 -6
- package/components/block-header.d.ts +11 -5
- package/components/block-header.svelte +8 -6
- package/components/block-title.d.ts +11 -5
- package/components/block-title.svelte +12 -10
- package/components/block.d.ts +11 -5
- package/components/block.svelte +76 -76
- package/components/breadcrumbs-collapsed.d.ts +12 -6
- package/components/breadcrumbs-collapsed.svelte +10 -15
- package/components/breadcrumbs-item.d.ts +12 -6
- package/components/breadcrumbs-item.svelte +9 -8
- package/components/breadcrumbs-separator.d.ts +10 -5
- package/components/breadcrumbs-separator.svelte +9 -5
- package/components/breadcrumbs.d.ts +11 -6
- package/components/breadcrumbs.svelte +8 -6
- package/components/button.d.ts +44 -37
- package/components/button.svelte +107 -103
- package/components/card-content.d.ts +11 -5
- package/components/card-content.svelte +11 -10
- package/components/card-footer.d.ts +11 -5
- package/components/card-footer.svelte +8 -6
- package/components/card-header.d.ts +11 -5
- package/components/card-header.svelte +8 -6
- package/components/card.d.ts +43 -31
- package/components/card.svelte +78 -67
- package/components/checkbox.d.ts +20 -13
- package/components/checkbox.svelte +32 -30
- package/components/chip.d.ts +22 -15
- package/components/chip.svelte +54 -60
- package/components/fab-backdrop.d.ts +10 -5
- package/components/fab-backdrop.svelte +5 -7
- package/components/fab-button.d.ts +17 -11
- package/components/fab-button.svelte +20 -29
- package/components/fab-buttons.d.ts +11 -5
- package/components/fab-buttons.svelte +5 -12
- package/components/fab.d.ts +22 -13
- package/components/fab.svelte +55 -51
- package/components/gauge.d.ts +24 -19
- package/components/gauge.svelte +25 -25
- package/components/icon.d.ts +19 -13
- package/components/icon.svelte +65 -63
- package/components/input.d.ts +78 -61
- package/components/input.svelte +171 -154
- package/components/link.d.ts +28 -21
- package/components/link.svelte +67 -65
- package/components/list-button.d.ts +22 -15
- package/components/list-button.svelte +56 -44
- package/components/list-group.d.ts +16 -10
- package/components/list-group.svelte +38 -34
- package/components/list-index.d.ts +20 -13
- package/components/list-index.svelte +23 -24
- package/components/list-input.d.ts +91 -64
- package/components/list-input.svelte +254 -205
- package/components/list-item.d.ts +98 -63
- package/components/list-item.svelte +412 -439
- package/components/list.d.ts +72 -54
- package/components/list.svelte +151 -147
- package/components/login-screen-title.d.ts +11 -5
- package/components/login-screen-title.svelte +4 -6
- package/components/login-screen.d.ts +20 -10
- package/components/login-screen.svelte +39 -42
- package/components/message.d.ts +48 -29
- package/components/message.svelte +123 -88
- package/components/messagebar-attachment.d.ts +17 -9
- package/components/messagebar-attachment.svelte +16 -18
- package/components/messagebar-attachments.d.ts +11 -5
- package/components/messagebar-attachments.svelte +6 -6
- package/components/messagebar-sheet-image.d.ts +19 -10
- package/components/messagebar-sheet-image.svelte +30 -22
- package/components/messagebar-sheet-item.d.ts +11 -5
- package/components/messagebar-sheet-item.svelte +4 -6
- package/components/messagebar-sheet.d.ts +11 -5
- package/components/messagebar-sheet.svelte +4 -6
- package/components/messagebar.d.ts +53 -31
- package/components/messagebar.svelte +100 -77
- package/components/messages-title.d.ts +11 -5
- package/components/messages-title.svelte +4 -6
- package/components/messages.d.ts +26 -20
- package/components/messages.svelte +32 -32
- package/components/nav-left.d.ts +19 -12
- package/components/nav-left.svelte +23 -39
- package/components/nav-right.d.ts +11 -6
- package/components/nav-right.svelte +4 -15
- package/components/nav-title-large.d.ts +11 -5
- package/components/nav-title-large.svelte +4 -6
- package/components/nav-title.d.ts +13 -8
- package/components/nav-title.svelte +25 -20
- package/components/navbar.d.ts +47 -28
- package/components/navbar.svelte +100 -111
- package/components/page-content.d.ts +41 -29
- package/components/page-content.svelte +58 -50
- package/components/page.d.ts +71 -46
- package/components/page.svelte +102 -82
- package/components/panel.d.ts +51 -35
- package/components/panel.svelte +94 -99
- package/components/photo-browser.d.ts +50 -41
- package/components/photo-browser.svelte +48 -47
- package/components/pie-chart.d.ts +13 -6
- package/components/pie-chart.svelte +29 -27
- package/components/popover.d.ts +28 -19
- package/components/popover.svelte +45 -48
- package/components/popup.d.ts +37 -23
- package/components/popup.svelte +68 -57
- package/components/preloader.d.ts +10 -5
- package/components/preloader.svelte +30 -31
- package/components/progressbar.d.ts +11 -6
- package/components/progressbar.svelte +13 -17
- package/components/radio.d.ts +19 -12
- package/components/radio.svelte +19 -23
- package/components/range.d.ts +35 -27
- package/components/range.svelte +47 -44
- package/components/routable-modals.d.ts +9 -4
- package/components/routable-modals.svelte +9 -8
- package/components/router-context-provider.d.ts +11 -6
- package/components/router-context-provider.svelte +2 -4
- package/components/searchbar.d.ts +60 -43
- package/components/searchbar.svelte +115 -104
- package/components/segmented.d.ts +21 -15
- package/components/segmented.svelte +38 -35
- package/components/sheet.d.ts +47 -30
- package/components/sheet.svelte +94 -76
- package/components/snippet-render.d.ts +24 -0
- package/components/snippet-render.svelte +9 -0
- package/components/stepper.d.ts +53 -43
- package/components/stepper.svelte +83 -79
- package/components/subnavbar.d.ts +13 -8
- package/components/subnavbar.svelte +12 -20
- package/components/swipeout-actions.d.ts +14 -8
- package/components/swipeout-actions.svelte +14 -13
- package/components/swipeout-button.d.ts +20 -13
- package/components/swipeout-button.svelte +31 -31
- package/components/tab.d.ts +14 -8
- package/components/tab.svelte +20 -28
- package/components/tabs.d.ts +15 -9
- package/components/tabs.svelte +27 -26
- package/components/text-editor.d.ts +44 -24
- package/components/text-editor.svelte +56 -41
- package/components/toggle.d.ts +22 -15
- package/components/toggle.svelte +33 -37
- package/components/toolbar-pane.d.ts +24 -0
- package/components/toolbar-pane.svelte +14 -0
- package/components/toolbar.d.ts +30 -20
- package/components/toolbar.svelte +61 -53
- package/components/treeview-item.d.ts +36 -17
- package/components/treeview-item.svelte +101 -81
- package/components/treeview.d.ts +11 -5
- package/components/treeview.svelte +4 -6
- package/components/use-icon.d.ts +9 -4
- package/components/use-icon.svelte +1 -1
- package/components/view.d.ts +76 -65
- package/components/view.svelte +66 -48
- package/components/views.d.ts +11 -5
- package/components/views.svelte +12 -15
- package/framework7-svelte.d.ts +3 -1
- package/framework7-svelte.js +6 -4
- package/package.json +2 -2
- package/shared/components-router.js +28 -25
- package/shared/f7.js +1 -7
- package/shared/mixins.js +5 -5
- package/shared/modal-state-classes.js +4 -5
- package/shared/plugin.js +1 -4
- package/shared/rest-props.js +1 -4
- package/shared/use-icon.js +2 -5
- package/shared/use-store.js +9 -9
- package/shared/use-tab.js +3 -3
- package/shared/use-tooltip.js +3 -4
- package/shared/utils.js +2 -8
- package/shared/get-reactive-context.js +0 -16
- package/shared/list-context.js +0 -10
- package/shared/router-context.js +0 -8
- package/shared/set-reactive-context.js +0 -26
|
@@ -1,63 +1,60 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import {
|
|
2
|
+
import { onMount, onDestroy } from 'svelte';
|
|
3
3
|
import { colorClasses } from '../shared/mixins.js';
|
|
4
|
-
import { classNames
|
|
5
|
-
import { restProps } from '../shared/rest-props.js';
|
|
4
|
+
import { classNames } from '../shared/utils.js';
|
|
6
5
|
import { app, f7ready } from '../shared/f7.js';
|
|
7
6
|
import { modalStateClasses } from '../shared/modal-state-classes.js';
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
let {
|
|
9
|
+
class: className,
|
|
10
|
+
style = '',
|
|
11
|
+
opened = undefined,
|
|
12
|
+
animate = undefined,
|
|
13
|
+
containerEl = undefined,
|
|
14
|
+
children,
|
|
15
|
+
...restProps
|
|
16
|
+
} = $props();
|
|
10
17
|
|
|
11
|
-
let
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export let opened = undefined;
|
|
16
|
-
export let animate = undefined;
|
|
17
|
-
export let containerEl = undefined;
|
|
18
|
-
|
|
19
|
-
let el;
|
|
20
|
-
let f7LoginScreen;
|
|
21
|
-
|
|
22
|
-
const state = {
|
|
23
|
-
isOpened: opened,
|
|
24
|
-
isClosing: false,
|
|
25
|
-
};
|
|
18
|
+
let el = $state(null);
|
|
19
|
+
let f7LoginScreen = $state(null);
|
|
20
|
+
let isOpened = $state(opened);
|
|
21
|
+
let isClosing = $state(false);
|
|
26
22
|
|
|
27
23
|
export function instance() {
|
|
28
24
|
return f7LoginScreen;
|
|
29
25
|
}
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
const classes = $derived(
|
|
28
|
+
classNames(
|
|
29
|
+
className,
|
|
30
|
+
'login-screen',
|
|
31
|
+
modalStateClasses({ isOpened, isClosing }),
|
|
32
|
+
colorClasses(restProps),
|
|
33
|
+
),
|
|
36
34
|
);
|
|
37
35
|
|
|
38
36
|
function onOpen(instance) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
emit('loginscreenOpen loginScreenOpen', [instance]);
|
|
37
|
+
isOpened = true;
|
|
38
|
+
isClosing = false;
|
|
39
|
+
restProps.onLoginScreenOpen?.(instance);
|
|
40
|
+
restProps.onloginscreenopen?.();
|
|
44
41
|
opened = true;
|
|
45
42
|
}
|
|
46
43
|
function onOpened(instance) {
|
|
47
|
-
|
|
44
|
+
restProps.onLoginScreenOpened?.(instance);
|
|
45
|
+
restProps.onloginscreenopened?.();
|
|
48
46
|
}
|
|
49
47
|
function onClose(instance) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
isOpened = false;
|
|
49
|
+
isClosing = true;
|
|
50
|
+
restProps.onLoginScreenClose?.(instance);
|
|
51
|
+
restProps.onloginscreenclose?.();
|
|
52
|
+
opened = false;
|
|
55
53
|
}
|
|
56
54
|
function onClosed(instance) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
emit('loginscreenClosed loginScreenClosed', [instance]);
|
|
55
|
+
isClosing = false;
|
|
56
|
+
restProps.onLoginScreenClosed?.(instance);
|
|
57
|
+
restProps.onloginscreenclosed?.();
|
|
61
58
|
opened = false;
|
|
62
59
|
}
|
|
63
60
|
|
|
@@ -72,7 +69,7 @@
|
|
|
72
69
|
else f7LoginScreen.close();
|
|
73
70
|
}
|
|
74
71
|
|
|
75
|
-
|
|
72
|
+
$effect(() => watchOpened(opened));
|
|
76
73
|
|
|
77
74
|
onMount(() => {
|
|
78
75
|
const params = {
|
|
@@ -100,6 +97,6 @@
|
|
|
100
97
|
});
|
|
101
98
|
</script>
|
|
102
99
|
|
|
103
|
-
<div class={classes} bind:this={el} {style} {...restProps
|
|
104
|
-
|
|
100
|
+
<div class={classes} bind:this={el} {style} {...restProps}>
|
|
101
|
+
{@render children?.(f7LoginScreen)}
|
|
105
102
|
</div>
|
package/components/message.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
|
|
2
|
-
import { SvelteComponent } from 'svelte';
|
|
2
|
+
import { SvelteComponent, Snippet } from 'svelte';
|
|
3
3
|
import { HTMLAttributes } from 'svelte/elements';
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
interface
|
|
7
|
-
text
|
|
8
|
-
name
|
|
9
|
-
avatar
|
|
10
|
-
type
|
|
11
|
-
image
|
|
12
|
-
header
|
|
13
|
-
footer
|
|
14
|
-
textHeader
|
|
15
|
-
textFooter
|
|
16
|
-
first
|
|
17
|
-
last
|
|
18
|
-
tail
|
|
19
|
-
sameName
|
|
20
|
-
sameHeader
|
|
21
|
-
sameFooter
|
|
22
|
-
sameAvatar
|
|
23
|
-
typing
|
|
6
|
+
interface Props {
|
|
7
|
+
text?: string | Snippet;
|
|
8
|
+
name?: string | Snippet;
|
|
9
|
+
avatar?: string | Snippet;
|
|
10
|
+
type?: string;
|
|
11
|
+
image?: string | Snippet;
|
|
12
|
+
header?: string | Snippet;
|
|
13
|
+
footer?: string | Snippet;
|
|
14
|
+
textHeader?: string | Snippet;
|
|
15
|
+
textFooter?: string | Snippet;
|
|
16
|
+
first?: boolean;
|
|
17
|
+
last?: boolean;
|
|
18
|
+
tail?: boolean;
|
|
19
|
+
sameName?: boolean;
|
|
20
|
+
sameHeader?: boolean;
|
|
21
|
+
sameFooter?: boolean;
|
|
22
|
+
sameAvatar?: boolean;
|
|
23
|
+
typing?: boolean;
|
|
24
24
|
color?: string;
|
|
25
25
|
colorTheme?: string;
|
|
26
26
|
textColor?: string;
|
|
@@ -28,21 +28,40 @@ interface MessageProps {
|
|
|
28
28
|
borderColor?: string;
|
|
29
29
|
rippleColor?: string;
|
|
30
30
|
dark?: boolean;
|
|
31
|
-
onClick
|
|
32
|
-
onClickName
|
|
33
|
-
onClickText
|
|
34
|
-
onClickAvatar
|
|
35
|
-
onClickHeader
|
|
36
|
-
onClickFooter
|
|
37
|
-
onClickBubble
|
|
31
|
+
onClick?: (event?: any) => void;
|
|
32
|
+
onClickName?: (event?: any) => void;
|
|
33
|
+
onClickText?: (event?: any) => void;
|
|
34
|
+
onClickAvatar?: (event?: any) => void;
|
|
35
|
+
onClickHeader?: (event?: any) => void;
|
|
36
|
+
onClickFooter?: (event?: any) => void;
|
|
37
|
+
onClickBubble?: (event?: any) => void;
|
|
38
|
+
start?: Snippet;
|
|
39
|
+
contentStart?: Snippet;
|
|
40
|
+
bubbleStart?: Snippet;
|
|
41
|
+
bubbleEnd?: Snippet;
|
|
42
|
+
children?: Snippet;
|
|
43
|
+
contentEnd?: Snippet;
|
|
44
|
+
end?: Snippet;
|
|
45
|
+
onclick?: () => void;
|
|
46
|
+
onclickname?: () => void;
|
|
47
|
+
onclicktext?: () => void;
|
|
48
|
+
onclickavatar?: () => void;
|
|
49
|
+
onclickheader?: () => void;
|
|
50
|
+
onclickfooter?: () => void;
|
|
51
|
+
onclickbubble?: () => void;
|
|
38
52
|
}
|
|
39
53
|
|
|
54
|
+
interface MessageProps {}
|
|
55
|
+
interface MessageProps extends Props {}
|
|
56
|
+
|
|
57
|
+
interface MessageEvents extends Record<'',{}>{}
|
|
58
|
+
|
|
40
59
|
|
|
41
60
|
|
|
42
61
|
declare class Message extends SvelteComponent<
|
|
43
|
-
MessageProps
|
|
44
|
-
|
|
45
|
-
{
|
|
62
|
+
MessageProps,
|
|
63
|
+
MessageEvents,
|
|
64
|
+
{ }
|
|
46
65
|
> {}
|
|
47
66
|
|
|
48
67
|
export { MessageProps };
|
|
@@ -1,137 +1,166 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
/* eslint-disable no-undef */
|
|
3
|
-
import { createEventDispatcher } from 'svelte';
|
|
4
3
|
import { colorClasses } from '../shared/mixins.js';
|
|
5
|
-
import { classNames, plainText
|
|
6
|
-
import { restProps } from '../shared/rest-props.js';
|
|
4
|
+
import { classNames, plainText } from '../shared/utils.js';
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
let {
|
|
7
|
+
class: className,
|
|
8
|
+
text = undefined,
|
|
9
|
+
htmlText = undefined,
|
|
10
|
+
name = undefined,
|
|
11
|
+
avatar = undefined,
|
|
12
|
+
type = 'sent',
|
|
13
|
+
image = undefined,
|
|
14
|
+
header = undefined,
|
|
15
|
+
footer = undefined,
|
|
16
|
+
textHeader = undefined,
|
|
17
|
+
textFooter = undefined,
|
|
18
|
+
first = undefined,
|
|
19
|
+
last = undefined,
|
|
20
|
+
tail = undefined,
|
|
21
|
+
sameName = undefined,
|
|
22
|
+
sameHeader = undefined,
|
|
23
|
+
sameFooter = undefined,
|
|
24
|
+
sameAvatar = undefined,
|
|
25
|
+
typing = undefined,
|
|
26
|
+
start = undefined,
|
|
27
|
+
contentStart = undefined,
|
|
28
|
+
contentEnd = undefined,
|
|
29
|
+
end = undefined,
|
|
30
|
+
bubbleStart = undefined,
|
|
31
|
+
bubbleEnd = undefined,
|
|
32
|
+
children,
|
|
33
|
+
...restProps
|
|
34
|
+
} = $props();
|
|
9
35
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
export let sameFooter = undefined;
|
|
29
|
-
export let sameAvatar = undefined;
|
|
30
|
-
export let typing = undefined;
|
|
31
|
-
|
|
32
|
-
$: classes = classNames(
|
|
33
|
-
className,
|
|
34
|
-
'message',
|
|
35
|
-
{
|
|
36
|
-
'message-sent': type === 'sent' || !type,
|
|
37
|
-
'message-received': type === 'received',
|
|
38
|
-
'message-typing': typing,
|
|
39
|
-
'message-first': first,
|
|
40
|
-
'message-last': last,
|
|
41
|
-
'message-tail': tail,
|
|
42
|
-
'message-same-name': sameName,
|
|
43
|
-
'message-same-header': sameHeader,
|
|
44
|
-
'message-same-footer': sameFooter,
|
|
45
|
-
'message-same-avatar': sameAvatar,
|
|
46
|
-
},
|
|
47
|
-
colorClasses($$props),
|
|
36
|
+
const classes = $derived(
|
|
37
|
+
classNames(
|
|
38
|
+
className,
|
|
39
|
+
'message',
|
|
40
|
+
{
|
|
41
|
+
'message-sent': type === 'sent' || !type,
|
|
42
|
+
'message-received': type === 'received',
|
|
43
|
+
'message-typing': typing,
|
|
44
|
+
'message-first': first,
|
|
45
|
+
'message-last': last,
|
|
46
|
+
'message-tail': tail,
|
|
47
|
+
'message-same-name': sameName,
|
|
48
|
+
'message-same-header': sameHeader,
|
|
49
|
+
'message-same-footer': sameFooter,
|
|
50
|
+
'message-same-avatar': sameAvatar,
|
|
51
|
+
},
|
|
52
|
+
colorClasses(restProps),
|
|
53
|
+
),
|
|
48
54
|
);
|
|
49
55
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
const hasAvatarSlots = $derived(avatar);
|
|
57
|
+
const hasNameSlots = $derived(name);
|
|
58
|
+
const hasHeaderSlots = $derived(header);
|
|
59
|
+
const hasImageSlots = $derived(image);
|
|
60
|
+
const hasTextHeaderSlots = $derived(textHeader);
|
|
61
|
+
const hasTextFooterSlots = $derived(textFooter);
|
|
62
|
+
const hasTextSlots = $derived(text);
|
|
63
|
+
const hasFooterSlots = $derived(footer);
|
|
58
64
|
|
|
59
65
|
function onClick() {
|
|
60
|
-
|
|
66
|
+
restProps.onclick?.();
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
function onNameClick() {
|
|
64
|
-
|
|
70
|
+
restProps.onclickname?.();
|
|
71
|
+
restProps.onClickName?.();
|
|
65
72
|
}
|
|
66
73
|
|
|
67
74
|
function onTextClick() {
|
|
68
|
-
|
|
75
|
+
restProps.onclicktext?.();
|
|
76
|
+
restProps.onClickText?.();
|
|
69
77
|
}
|
|
70
78
|
|
|
71
79
|
function onAvatarClick() {
|
|
72
|
-
|
|
80
|
+
restProps.onclickavatar?.();
|
|
81
|
+
restProps.onClickAvatar?.();
|
|
73
82
|
}
|
|
74
83
|
|
|
75
84
|
function onHeaderClick() {
|
|
76
|
-
|
|
85
|
+
restProps.onclickheader?.();
|
|
86
|
+
restProps.onClickHeader?.();
|
|
77
87
|
}
|
|
78
88
|
|
|
79
89
|
function onFooterClick() {
|
|
80
|
-
|
|
90
|
+
restProps.onclickfooter?.();
|
|
91
|
+
restProps.onClickFooter?.();
|
|
81
92
|
}
|
|
82
93
|
|
|
83
94
|
function onBubbleClick() {
|
|
84
|
-
|
|
95
|
+
restProps.onclickbubble?.();
|
|
96
|
+
restProps.onClickBubble?.();
|
|
85
97
|
}
|
|
86
98
|
</script>
|
|
87
99
|
|
|
88
|
-
<!-- svelte-ignore
|
|
89
|
-
|
|
90
|
-
|
|
100
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
101
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
102
|
+
<div class={classes} onclick={onClick} {...restProps}>
|
|
103
|
+
{@render start?.()}
|
|
91
104
|
{#if avatar || hasAvatarSlots}
|
|
92
105
|
<div
|
|
93
|
-
|
|
106
|
+
onclick={onAvatarClick}
|
|
94
107
|
class="message-avatar"
|
|
95
|
-
style={avatar ? `background-image: url(${avatar})` : undefined}
|
|
108
|
+
style={avatar && typeof avatar === 'string' ? `background-image: url(${avatar})` : undefined}
|
|
96
109
|
>
|
|
97
|
-
|
|
110
|
+
{#if typeof avatar === 'function'}
|
|
111
|
+
{@render avatar?.()}
|
|
112
|
+
{/if}
|
|
98
113
|
</div>
|
|
99
114
|
{/if}
|
|
100
115
|
<div class="message-content">
|
|
101
|
-
|
|
116
|
+
{@render contentStart?.()}
|
|
102
117
|
{#if hasNameSlots || name}
|
|
103
|
-
<div class="message-name"
|
|
104
|
-
{
|
|
105
|
-
|
|
118
|
+
<div class="message-name" onclick={onNameClick}>
|
|
119
|
+
{#if typeof name === 'function'}
|
|
120
|
+
{@render name?.()}
|
|
121
|
+
{:else}
|
|
122
|
+
{name}
|
|
123
|
+
{/if}
|
|
106
124
|
</div>
|
|
107
125
|
{/if}
|
|
108
126
|
{#if hasHeaderSlots || header}
|
|
109
|
-
<div class="message-header"
|
|
110
|
-
{
|
|
111
|
-
|
|
127
|
+
<div class="message-header" onclick={onHeaderClick}>
|
|
128
|
+
{#if typeof header === 'function'}
|
|
129
|
+
{@render header?.()}
|
|
130
|
+
{:else}
|
|
131
|
+
{header}
|
|
132
|
+
{/if}
|
|
112
133
|
</div>
|
|
113
134
|
{/if}
|
|
114
|
-
<div class="message-bubble"
|
|
115
|
-
|
|
135
|
+
<div class="message-bubble" onclick={onBubbleClick}>
|
|
136
|
+
{@render bubbleStart?.()}
|
|
116
137
|
{#if hasImageSlots || image}
|
|
117
138
|
<div class="message-image">
|
|
118
|
-
{#if image}
|
|
139
|
+
{#if typeof image === 'function'}
|
|
140
|
+
{@render image?.()}
|
|
141
|
+
{:else if typeof image === 'string' && image}
|
|
119
142
|
<img src={image} />
|
|
120
143
|
{/if}
|
|
121
|
-
<slot name="image" />
|
|
122
144
|
</div>
|
|
123
145
|
{/if}
|
|
124
146
|
{#if hasTextHeaderSlots || textHeader}
|
|
125
147
|
<div class="message-text-header">
|
|
126
|
-
{
|
|
127
|
-
|
|
148
|
+
{#if typeof textHeader === 'function'}
|
|
149
|
+
{@render textHeader?.()}
|
|
150
|
+
{:else}
|
|
151
|
+
{textHeader}
|
|
152
|
+
{/if}
|
|
128
153
|
</div>
|
|
129
154
|
{/if}
|
|
130
155
|
{#if hasTextSlots || text || htmlText || typing}
|
|
131
|
-
<div class="message-text"
|
|
132
|
-
{
|
|
156
|
+
<div class="message-text" onclick={onTextClick}>
|
|
157
|
+
{#if typeof text === 'function'}
|
|
158
|
+
{@render text?.()}
|
|
159
|
+
{:else}
|
|
160
|
+
{text}
|
|
161
|
+
{/if}
|
|
133
162
|
{#if htmlText}{@html htmlText}{/if}
|
|
134
|
-
|
|
163
|
+
|
|
135
164
|
{#if typing}
|
|
136
165
|
<div class="message-typing-indicator">
|
|
137
166
|
<div />
|
|
@@ -143,20 +172,26 @@
|
|
|
143
172
|
{/if}
|
|
144
173
|
{#if hasTextFooterSlots || textFooter}
|
|
145
174
|
<div class="message-text-footer">
|
|
146
|
-
{
|
|
147
|
-
|
|
175
|
+
{#if typeof textFooter === 'function'}
|
|
176
|
+
{@render textFooter?.()}
|
|
177
|
+
{:else}
|
|
178
|
+
{textFooter}
|
|
179
|
+
{/if}
|
|
148
180
|
</div>
|
|
149
181
|
{/if}
|
|
150
|
-
|
|
151
|
-
|
|
182
|
+
{@render bubbleEnd?.()}
|
|
183
|
+
{@render children?.()}
|
|
152
184
|
</div>
|
|
153
185
|
{#if hasFooterSlots || footer}
|
|
154
|
-
<div class="message-footer"
|
|
155
|
-
{
|
|
156
|
-
|
|
186
|
+
<div class="message-footer" onclick={onFooterClick}>
|
|
187
|
+
{#if typeof footer === 'function'}
|
|
188
|
+
{@render footer?.()}
|
|
189
|
+
{:else}
|
|
190
|
+
{footer}
|
|
191
|
+
{/if}
|
|
157
192
|
</div>
|
|
158
193
|
{/if}
|
|
159
|
-
|
|
194
|
+
{@render contentEnd?.()}
|
|
160
195
|
</div>
|
|
161
|
-
|
|
196
|
+
{@render end?.()}
|
|
162
197
|
</div>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import { SvelteComponent } from 'svelte';
|
|
2
|
+
import { SvelteComponent, Snippet } from 'svelte';
|
|
3
3
|
import { HTMLAttributes } from 'svelte/elements';
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
interface
|
|
7
|
-
image
|
|
8
|
-
deletable
|
|
6
|
+
interface Props {
|
|
7
|
+
image?: string | Snippet;
|
|
8
|
+
deletable?: boolean;
|
|
9
9
|
color?: string;
|
|
10
10
|
colorTheme?: string;
|
|
11
11
|
textColor?: string;
|
|
@@ -13,16 +13,24 @@ interface MessagebarAttachmentProps {
|
|
|
13
13
|
borderColor?: string;
|
|
14
14
|
rippleColor?: string;
|
|
15
15
|
dark?: boolean;
|
|
16
|
-
onAttachmentClick
|
|
17
|
-
onAttachmentDelete
|
|
16
|
+
onAttachmentClick?: (event?: any) => void;
|
|
17
|
+
onAttachmentDelete?: (event?: any) => void;
|
|
18
|
+
children?: Snippet;
|
|
19
|
+
onattachmentclick?: () => void;
|
|
20
|
+
onattachmentdelete?: () => void;
|
|
18
21
|
}
|
|
19
22
|
|
|
23
|
+
interface MessagebarAttachmentProps {}
|
|
24
|
+
interface MessagebarAttachmentProps extends Props {}
|
|
25
|
+
|
|
26
|
+
interface MessagebarAttachmentEvents extends Record<'',{}>{}
|
|
27
|
+
|
|
20
28
|
|
|
21
29
|
|
|
22
30
|
declare class MessagebarAttachment extends SvelteComponent<
|
|
23
|
-
MessagebarAttachmentProps
|
|
24
|
-
|
|
25
|
-
{
|
|
31
|
+
MessagebarAttachmentProps,
|
|
32
|
+
MessagebarAttachmentEvents,
|
|
33
|
+
{ }
|
|
26
34
|
> {}
|
|
27
35
|
|
|
28
36
|
export { MessagebarAttachmentProps };
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import { createEventDispatcher } from 'svelte';
|
|
3
2
|
import { colorClasses } from '../shared/mixins.js';
|
|
4
|
-
import { classNames
|
|
5
|
-
import { restProps } from '../shared/rest-props.js';
|
|
3
|
+
import { classNames } from '../shared/utils.js';
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
let { class: className, image = undefined, deletable = true, children, ...restProps } = $props();
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
export { className as class };
|
|
11
|
-
|
|
12
|
-
export let image = undefined;
|
|
13
|
-
export let deletable = true;
|
|
14
|
-
|
|
15
|
-
$: classes = classNames(className, 'messagebar-attachment', colorClasses($$props));
|
|
7
|
+
const classes = $derived(classNames(className, 'messagebar-attachment', colorClasses(restProps)));
|
|
16
8
|
|
|
17
9
|
function onClick(event) {
|
|
18
|
-
|
|
10
|
+
restProps.onAttachmentClick?.();
|
|
11
|
+
restProps.onattachmentclick?.();
|
|
19
12
|
}
|
|
20
13
|
|
|
21
14
|
function onDeleteClick(event) {
|
|
22
|
-
|
|
15
|
+
restProps.onAttachmentDelete?.();
|
|
16
|
+
restProps.onattachmentdelete?.();
|
|
23
17
|
}
|
|
24
18
|
</script>
|
|
25
19
|
|
|
26
|
-
<!-- svelte-ignore
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
21
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
22
|
+
<div onclick={onClick} class={classes} {...restProps}>
|
|
23
|
+
{#if image && typeof image === 'string'}
|
|
29
24
|
<img src={image} />
|
|
30
25
|
{/if}
|
|
26
|
+
{#if typeof image === 'function'}
|
|
27
|
+
{@render image?.()}
|
|
28
|
+
{/if}
|
|
31
29
|
{#if deletable}
|
|
32
|
-
<span
|
|
30
|
+
<span onclick={onDeleteClick} class="messagebar-attachment-delete"></span>
|
|
33
31
|
{/if}
|
|
34
|
-
|
|
32
|
+
{@render children?.()}
|
|
35
33
|
</div>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
import { SvelteComponent } from 'svelte';
|
|
2
|
+
import { SvelteComponent, Snippet } from 'svelte';
|
|
3
3
|
import { HTMLAttributes } from 'svelte/elements';
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
interface
|
|
6
|
+
interface Props {
|
|
7
7
|
color?: string;
|
|
8
8
|
colorTheme?: string;
|
|
9
9
|
textColor?: string;
|
|
@@ -11,14 +11,20 @@ interface MessagebarAttachmentsProps {
|
|
|
11
11
|
borderColor?: string;
|
|
12
12
|
rippleColor?: string;
|
|
13
13
|
dark?: boolean;
|
|
14
|
+
children?: Snippet;
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
interface MessagebarAttachmentsProps {}
|
|
18
|
+
interface MessagebarAttachmentsProps extends Props {}
|
|
19
|
+
|
|
20
|
+
interface MessagebarAttachmentsEvents extends Record<'',{}>{}
|
|
21
|
+
|
|
16
22
|
|
|
17
23
|
|
|
18
24
|
declare class MessagebarAttachments extends SvelteComponent<
|
|
19
|
-
MessagebarAttachmentsProps
|
|
20
|
-
|
|
21
|
-
{
|
|
25
|
+
MessagebarAttachmentsProps,
|
|
26
|
+
MessagebarAttachmentsEvents,
|
|
27
|
+
{ }
|
|
22
28
|
> {}
|
|
23
29
|
|
|
24
30
|
export { MessagebarAttachmentsProps };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import { colorClasses } from '../shared/mixins.js';
|
|
3
3
|
import { classNames } from '../shared/utils.js';
|
|
4
|
-
import { restProps } from '../shared/rest-props.js';
|
|
5
4
|
|
|
6
|
-
let className =
|
|
7
|
-
export { className as class };
|
|
5
|
+
let { class: className, children, ...restProps } = $props();
|
|
8
6
|
|
|
9
|
-
|
|
7
|
+
const classes = $derived(
|
|
8
|
+
classNames(className, 'messagebar-attachments', colorClasses(restProps)),
|
|
9
|
+
);
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
|
-
<div class={classes} {...restProps
|
|
13
|
-
|
|
12
|
+
<div class={classes} {...restProps}>
|
|
13
|
+
{@render children?.()}
|
|
14
14
|
</div>
|