framework7-svelte 8.3.4 → 9.0.0-beta.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.
Files changed (194) hide show
  1. package/components/accordion-content.d.ts +11 -5
  2. package/components/accordion-content.svelte +8 -6
  3. package/components/accordion-item.d.ts +23 -11
  4. package/components/accordion-item.svelte +27 -25
  5. package/components/accordion-toggle.d.ts +11 -5
  6. package/components/accordion-toggle.svelte +8 -6
  7. package/components/accordion.d.ts +11 -5
  8. package/components/accordion.svelte +11 -10
  9. package/components/actions-button.d.ts +14 -6
  10. package/components/actions-button.svelte +21 -19
  11. package/components/actions-group.d.ts +11 -5
  12. package/components/actions-group.svelte +4 -7
  13. package/components/actions-label.d.ts +11 -5
  14. package/components/actions-label.svelte +13 -23
  15. package/components/actions.d.ts +31 -21
  16. package/components/actions.svelte +50 -54
  17. package/components/app.d.ts +11 -5
  18. package/components/app.svelte +6 -7
  19. package/components/area-chart.d.ts +13 -6
  20. package/components/area-chart.svelte +42 -46
  21. package/components/badge.d.ts +11 -5
  22. package/components/badge.svelte +10 -9
  23. package/components/block-footer.d.ts +11 -5
  24. package/components/block-footer.svelte +8 -6
  25. package/components/block-header.d.ts +11 -5
  26. package/components/block-header.svelte +8 -6
  27. package/components/block-title.d.ts +11 -5
  28. package/components/block-title.svelte +12 -10
  29. package/components/block.d.ts +11 -5
  30. package/components/block.svelte +76 -76
  31. package/components/breadcrumbs-collapsed.d.ts +12 -6
  32. package/components/breadcrumbs-collapsed.svelte +10 -15
  33. package/components/breadcrumbs-item.d.ts +12 -6
  34. package/components/breadcrumbs-item.svelte +9 -8
  35. package/components/breadcrumbs-separator.d.ts +10 -5
  36. package/components/breadcrumbs-separator.svelte +9 -5
  37. package/components/breadcrumbs.d.ts +11 -6
  38. package/components/breadcrumbs.svelte +8 -6
  39. package/components/button.d.ts +44 -37
  40. package/components/button.svelte +107 -103
  41. package/components/card-content.d.ts +11 -5
  42. package/components/card-content.svelte +11 -10
  43. package/components/card-footer.d.ts +11 -5
  44. package/components/card-footer.svelte +8 -6
  45. package/components/card-header.d.ts +11 -5
  46. package/components/card-header.svelte +8 -6
  47. package/components/card.d.ts +43 -31
  48. package/components/card.svelte +78 -67
  49. package/components/checkbox.d.ts +20 -13
  50. package/components/checkbox.svelte +32 -30
  51. package/components/chip.d.ts +22 -15
  52. package/components/chip.svelte +54 -60
  53. package/components/fab-backdrop.d.ts +10 -5
  54. package/components/fab-backdrop.svelte +5 -7
  55. package/components/fab-button.d.ts +17 -11
  56. package/components/fab-button.svelte +20 -29
  57. package/components/fab-buttons.d.ts +11 -5
  58. package/components/fab-buttons.svelte +5 -12
  59. package/components/fab.d.ts +22 -13
  60. package/components/fab.svelte +55 -51
  61. package/components/gauge.d.ts +24 -19
  62. package/components/gauge.svelte +25 -25
  63. package/components/icon.d.ts +19 -13
  64. package/components/icon.svelte +65 -63
  65. package/components/input.d.ts +78 -61
  66. package/components/input.svelte +171 -154
  67. package/components/link.d.ts +28 -21
  68. package/components/link.svelte +67 -65
  69. package/components/list-button.d.ts +22 -15
  70. package/components/list-button.svelte +56 -44
  71. package/components/list-group.d.ts +16 -10
  72. package/components/list-group.svelte +38 -34
  73. package/components/list-index.d.ts +20 -13
  74. package/components/list-index.svelte +23 -24
  75. package/components/list-input.d.ts +91 -64
  76. package/components/list-input.svelte +254 -205
  77. package/components/list-item.d.ts +98 -63
  78. package/components/list-item.svelte +412 -439
  79. package/components/list.d.ts +72 -54
  80. package/components/list.svelte +151 -147
  81. package/components/login-screen-title.d.ts +11 -5
  82. package/components/login-screen-title.svelte +4 -6
  83. package/components/login-screen.d.ts +20 -10
  84. package/components/login-screen.svelte +39 -42
  85. package/components/message.d.ts +48 -29
  86. package/components/message.svelte +123 -88
  87. package/components/messagebar-attachment.d.ts +17 -9
  88. package/components/messagebar-attachment.svelte +16 -18
  89. package/components/messagebar-attachments.d.ts +11 -5
  90. package/components/messagebar-attachments.svelte +6 -6
  91. package/components/messagebar-sheet-image.d.ts +19 -10
  92. package/components/messagebar-sheet-image.svelte +30 -22
  93. package/components/messagebar-sheet-item.d.ts +11 -5
  94. package/components/messagebar-sheet-item.svelte +4 -6
  95. package/components/messagebar-sheet.d.ts +11 -5
  96. package/components/messagebar-sheet.svelte +4 -6
  97. package/components/messagebar.d.ts +53 -31
  98. package/components/messagebar.svelte +100 -77
  99. package/components/messages-title.d.ts +11 -5
  100. package/components/messages-title.svelte +4 -6
  101. package/components/messages.d.ts +26 -20
  102. package/components/messages.svelte +32 -32
  103. package/components/nav-left.d.ts +19 -12
  104. package/components/nav-left.svelte +23 -39
  105. package/components/nav-right.d.ts +11 -6
  106. package/components/nav-right.svelte +4 -15
  107. package/components/nav-title-large.d.ts +11 -5
  108. package/components/nav-title-large.svelte +4 -6
  109. package/components/nav-title.d.ts +13 -8
  110. package/components/nav-title.svelte +25 -20
  111. package/components/navbar.d.ts +47 -28
  112. package/components/navbar.svelte +100 -111
  113. package/components/page-content.d.ts +41 -29
  114. package/components/page-content.svelte +58 -50
  115. package/components/page.d.ts +71 -46
  116. package/components/page.svelte +102 -82
  117. package/components/panel.d.ts +51 -35
  118. package/components/panel.svelte +94 -99
  119. package/components/photo-browser.d.ts +50 -41
  120. package/components/photo-browser.svelte +48 -47
  121. package/components/pie-chart.d.ts +13 -6
  122. package/components/pie-chart.svelte +29 -27
  123. package/components/popover.d.ts +28 -19
  124. package/components/popover.svelte +45 -48
  125. package/components/popup.d.ts +37 -23
  126. package/components/popup.svelte +68 -57
  127. package/components/preloader.d.ts +10 -5
  128. package/components/preloader.svelte +30 -31
  129. package/components/progressbar.d.ts +11 -6
  130. package/components/progressbar.svelte +13 -17
  131. package/components/radio.d.ts +19 -12
  132. package/components/radio.svelte +19 -23
  133. package/components/range.d.ts +35 -27
  134. package/components/range.svelte +47 -44
  135. package/components/routable-modals.d.ts +9 -4
  136. package/components/routable-modals.svelte +9 -8
  137. package/components/router-context-provider.d.ts +11 -6
  138. package/components/router-context-provider.svelte +2 -4
  139. package/components/searchbar.d.ts +60 -43
  140. package/components/searchbar.svelte +115 -104
  141. package/components/segmented.d.ts +21 -15
  142. package/components/segmented.svelte +38 -35
  143. package/components/sheet.d.ts +47 -30
  144. package/components/sheet.svelte +94 -76
  145. package/components/snippet-render.d.ts +24 -0
  146. package/components/snippet-render.svelte +9 -0
  147. package/components/stepper.d.ts +53 -43
  148. package/components/stepper.svelte +83 -79
  149. package/components/subnavbar.d.ts +13 -8
  150. package/components/subnavbar.svelte +12 -20
  151. package/components/swipeout-actions.d.ts +14 -8
  152. package/components/swipeout-actions.svelte +14 -13
  153. package/components/swipeout-button.d.ts +20 -13
  154. package/components/swipeout-button.svelte +31 -31
  155. package/components/tab.d.ts +14 -8
  156. package/components/tab.svelte +20 -28
  157. package/components/tabs.d.ts +15 -9
  158. package/components/tabs.svelte +27 -26
  159. package/components/text-editor.d.ts +44 -24
  160. package/components/text-editor.svelte +56 -41
  161. package/components/toggle.d.ts +22 -15
  162. package/components/toggle.svelte +33 -37
  163. package/components/toolbar-pane.d.ts +24 -0
  164. package/components/toolbar-pane.svelte +14 -0
  165. package/components/toolbar.d.ts +30 -20
  166. package/components/toolbar.svelte +61 -53
  167. package/components/treeview-item.d.ts +36 -17
  168. package/components/treeview-item.svelte +101 -81
  169. package/components/treeview.d.ts +11 -5
  170. package/components/treeview.svelte +4 -6
  171. package/components/use-icon.d.ts +9 -4
  172. package/components/use-icon.svelte +1 -1
  173. package/components/view.d.ts +76 -65
  174. package/components/view.svelte +66 -48
  175. package/components/views.d.ts +11 -5
  176. package/components/views.svelte +12 -15
  177. package/framework7-svelte.d.ts +3 -1
  178. package/framework7-svelte.js +6 -4
  179. package/package.json +2 -2
  180. package/shared/components-router.js +28 -25
  181. package/shared/f7.js +1 -7
  182. package/shared/mixins.js +5 -5
  183. package/shared/modal-state-classes.js +4 -5
  184. package/shared/plugin.js +1 -4
  185. package/shared/rest-props.js +1 -4
  186. package/shared/use-icon.js +2 -5
  187. package/shared/use-store.js +9 -9
  188. package/shared/use-tab.js +3 -3
  189. package/shared/use-tooltip.js +3 -4
  190. package/shared/utils.js +2 -8
  191. package/shared/get-reactive-context.js +0 -16
  192. package/shared/list-context.js +0 -10
  193. package/shared/router-context.js +0 -8
  194. package/shared/set-reactive-context.js +0 -26
@@ -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 MessagebarSheetImageProps {
7
- image ?: string;
8
- checked ?: boolean;
6
+ interface Props {
7
+ image?: string | Snippet;
8
+ checked?: boolean;
9
9
  color?: string;
10
10
  colorTheme?: string;
11
11
  textColor?: string;
@@ -13,17 +13,26 @@ interface MessagebarSheetImageProps {
13
13
  borderColor?: string;
14
14
  rippleColor?: string;
15
15
  dark?: boolean;
16
- onChecked ?: (event?: any) => void;
17
- onUnchecked ?: (event?: any) => void;
18
- onChange ?: (event?: any) => void;
16
+ onChecked?: (event?: any) => void;
17
+ onUnchecked?: (event?: any) => void;
18
+ onChange?: (event?: any) => void;
19
+ children?: Snippet;
20
+ onchecked?: () => void;
21
+ onunchecked?: () => void;
22
+ onchange?: () => void;
19
23
  }
20
24
 
25
+ interface MessagebarSheetImageProps {}
26
+ interface MessagebarSheetImageProps extends Props {}
27
+
28
+ interface MessagebarSheetImageEvents extends Record<'',{}>{}
29
+
21
30
 
22
31
 
23
32
  declare class MessagebarSheetImage extends SvelteComponent<
24
- MessagebarSheetImageProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof MessagebarSheetImageProps>,
25
- { checked: CustomEvent<void>; unchecked: CustomEvent<void>; change: CustomEvent<void>; },
26
- { 'default' : {}; }
33
+ MessagebarSheetImageProps,
34
+ MessagebarSheetImageEvents,
35
+ { }
27
36
  > {}
28
37
 
29
38
  export { MessagebarSheetImageProps };
@@ -1,36 +1,44 @@
1
1
  <script>
2
- import { createEventDispatcher } from 'svelte';
3
2
  import { colorClasses } from '../shared/mixins.js';
4
- import { classNames, createEmitter } from '../shared/utils.js';
5
- import { restProps } from '../shared/rest-props.js';
3
+ import { classNames } from '../shared/utils.js';
6
4
 
7
- const emit = createEmitter(createEventDispatcher, $$props);
5
+ let {
6
+ style = undefined,
7
+ class: className,
8
+ image = undefined,
9
+ checked = false,
10
+ children,
11
+ ...restProps
12
+ } = $props();
8
13
 
9
- export let style = undefined;
14
+ const classes = $derived(
15
+ classNames(className, 'messagebar-sheet-image', 'checkbox', colorClasses(restProps)),
16
+ );
10
17
 
11
- let className = undefined;
12
- export { className as class };
13
-
14
- export let image = undefined;
15
- export let checked = false;
16
-
17
- $: classes = classNames(className, 'messagebar-sheet-image', 'checkbox', colorClasses($$props));
18
-
19
- $: styles = `${style || ''}`;
18
+ const styles = $derived(`${style || ''}`);
20
19
 
21
20
  function onChange(event) {
22
- if (event.target.checked) emit('checked', [event]);
23
- else emit('unchecked', [event]);
24
- emit('change', [event]);
21
+ if (event.target.checked) {
22
+ restProps.onChecked?.(event);
23
+ restProps.onchecked?.(event);
24
+ } else {
25
+ restProps.onUnchecked?.(event);
26
+ restProps.onunchecked?.(event);
27
+ }
28
+ restProps.onChange?.(event);
29
+ restProps.onchange?.(event);
25
30
  checked = event.target.checked;
26
31
  }
27
32
  </script>
28
33
 
29
- <label class={classes} style={styles} {...restProps($$restProps)}>
30
- <input type="checkbox" {checked} on:change={onChange} />
31
- <i class="icon icon-checkbox" />
32
- {#if image}
34
+ <label class={classes} style={styles} {...restProps}>
35
+ <input type="checkbox" {checked} onchange={onChange} />
36
+ <i class="icon icon-checkbox"></i>
37
+ {#if image && typeof image === 'string'}
33
38
  <img src={image} alt="" />
34
39
  {/if}
35
- <slot />
40
+ {#if typeof image === 'function'}
41
+ {@render image?.()}
42
+ {/if}
43
+ {@render children?.()}
36
44
  </label>
@@ -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 MessagebarSheetItemProps {
6
+ interface Props {
7
7
  color?: string;
8
8
  colorTheme?: string;
9
9
  textColor?: string;
@@ -11,14 +11,20 @@ interface MessagebarSheetItemProps {
11
11
  borderColor?: string;
12
12
  rippleColor?: string;
13
13
  dark?: boolean;
14
+ children?: Snippet;
14
15
  }
15
16
 
17
+ interface MessagebarSheetItemProps {}
18
+ interface MessagebarSheetItemProps extends Props {}
19
+
20
+ interface MessagebarSheetItemEvents extends Record<'',{}>{}
21
+
16
22
 
17
23
 
18
24
  declare class MessagebarSheetItem extends SvelteComponent<
19
- MessagebarSheetItemProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof MessagebarSheetItemProps>,
20
- { },
21
- { 'default' : {}; }
25
+ MessagebarSheetItemProps,
26
+ MessagebarSheetItemEvents,
27
+ { }
22
28
  > {}
23
29
 
24
30
  export { MessagebarSheetItemProps };
@@ -1,14 +1,12 @@
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 = undefined;
7
- export { className as class };
5
+ let { class: className, children, ...restProps } = $props();
8
6
 
9
- $: classes = classNames(className, 'messagebar-sheet-item', colorClasses($$props));
7
+ const classes = $derived(classNames(className, 'messagebar-sheet-item', colorClasses(restProps)));
10
8
  </script>
11
9
 
12
- <div class={classes} {...restProps($$restProps)}>
13
- <slot />
10
+ <div class={classes} {...restProps}>
11
+ {@render children?.()}
14
12
  </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 MessagebarSheetProps {
6
+ interface Props {
7
7
  color?: string;
8
8
  colorTheme?: string;
9
9
  textColor?: string;
@@ -11,14 +11,20 @@ interface MessagebarSheetProps {
11
11
  borderColor?: string;
12
12
  rippleColor?: string;
13
13
  dark?: boolean;
14
+ children?: Snippet;
14
15
  }
15
16
 
17
+ interface MessagebarSheetProps {}
18
+ interface MessagebarSheetProps extends Props {}
19
+
20
+ interface MessagebarSheetEvents extends Record<'',{}>{}
21
+
16
22
 
17
23
 
18
24
  declare class MessagebarSheet extends SvelteComponent<
19
- MessagebarSheetProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof MessagebarSheetProps>,
20
- { },
21
- { 'default' : {}; }
25
+ MessagebarSheetProps,
26
+ MessagebarSheetEvents,
27
+ { }
22
28
  > {}
23
29
 
24
30
  export { MessagebarSheetProps };
@@ -1,14 +1,12 @@
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 = undefined;
7
- export { className as class };
5
+ let { class: className, children, ...restProps } = $props();
8
6
 
9
- $: classes = classNames(className, 'messagebar-sheet', colorClasses($$props));
7
+ const classes = $derived(classNames(className, 'messagebar-sheet', colorClasses(restProps)));
10
8
  </script>
11
9
 
12
- <div class={classes} {...restProps($$restProps)}>
13
- <slot />
10
+ <div class={classes} {...restProps}>
11
+ {@render children?.()}
14
12
  </div>
@@ -1,27 +1,27 @@
1
1
 
2
- import { SvelteComponent } from 'svelte';
2
+ import { SvelteComponent, Snippet } from 'svelte';
3
3
  import { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  import { Messagebar } from 'framework7/types';
6
6
 
7
7
 
8
- interface MessagebarProps {
9
- sheetVisible ?: boolean;
10
- attachmentsVisible ?: boolean;
11
- top ?: boolean;
12
- resizable ?: boolean;
13
- bottomOffset ?: number;
14
- topOffset ?: number;
15
- maxHeight ?: number;
16
- resizePage ?: boolean;
17
- sendLink ?: string;
18
- value ?: string | number | Array<any>;
19
- disabled ?: boolean;
20
- readonly ?: boolean;
21
- textareaId ?: number | string;
22
- name ?: string;
23
- placeholder ?: string;
24
- init ?: boolean;
8
+ interface Props {
9
+ sheetVisible?: boolean;
10
+ attachmentsVisible?: boolean;
11
+ top?: boolean;
12
+ resizable?: boolean;
13
+ bottomOffset?: number;
14
+ topOffset?: number;
15
+ maxHeight?: number;
16
+ resizePage?: boolean;
17
+ sendLink?: string | Snippet;
18
+ value?: string | number | Array<any>;
19
+ disabled?: boolean;
20
+ readonly?: boolean;
21
+ textareaId?: number | string;
22
+ name?: string;
23
+ placeholder?: string;
24
+ init?: boolean;
25
25
  color?: string;
26
26
  colorTheme?: string;
27
27
  textColor?: string;
@@ -29,24 +29,46 @@ interface MessagebarProps {
29
29
  borderColor?: string;
30
30
  rippleColor?: string;
31
31
  dark?: boolean;
32
- onChange ?: (event?: any) => void;
33
- onInput ?: (event?: any) => void;
34
- onFocus ?: (event?: any) => void;
35
- onBlur ?: (event?: any) => void;
36
- onSubmit ?: (value?: any, clear?: any) => void;
37
- onSend ?: (value?: any, clear?: any) => void;
38
- onClick ?: (event?: any) => void;
39
- onMessagebarAttachmentDelete ?: (instance?: Messagebar.Messagebar, attachmentEl?: HTMLElement, attachmentElIndex?: number) => void;
40
- onMessagebarAttachmentClick ?: (instance?: Messagebar.Messagebar, attachmentEl?: HTMLElement, attachmentElIndex?: number) => void;
41
- onMessagebarResizePage ?: (instance?: Messagebar.Messagebar) => void;
32
+ onChange?: (event?: any) => void;
33
+ onInput?: (event?: any) => void;
34
+ onFocus?: (event?: any) => void;
35
+ onBlur?: (event?: any) => void;
36
+ onSubmit?: (value?: any, clear?: any) => void;
37
+ onSend?: (value?: any, clear?: any) => void;
38
+ onClick?: (event?: any) => void;
39
+ onMessagebarAttachmentDelete?: (instance?: Messagebar.Messagebar, attachmentEl?: HTMLElement, attachmentElIndex?: number) => void;
40
+ onMessagebarAttachmentClick?: (instance?: Messagebar.Messagebar, attachmentEl?: HTMLElement, attachmentElIndex?: number) => void;
41
+ onMessagebarResizePage?: (instance?: Messagebar.Messagebar) => void;
42
+ beforeInner?: Snippet;
43
+ innerStart?: Snippet;
44
+ beforeArea?: Snippet;
45
+ afterArea?: Snippet;
46
+ innerEnd?: Snippet;
47
+ children?: Snippet;
48
+ afterInner?: Snippet;
49
+ onchange?: () => void;
50
+ oninput?: () => void;
51
+ onfocus?: () => void;
52
+ onblur?: () => void;
53
+ onsubmit?: () => void;
54
+ onsend?: () => void;
55
+ onclick?: () => void;
56
+ onmessagebarattachmentdelete?: () => void;
57
+ onmessagebarattachmentclick?: () => void;
58
+ onmessagebarresizepage?: () => void;
42
59
  }
43
60
 
61
+ interface MessagebarProps {}
62
+ interface MessagebarProps extends Props {}
63
+
64
+ interface MessagebarEvents extends Record<'',{}>{}
65
+
44
66
 
45
67
 
46
68
  declare class Messagebar extends SvelteComponent<
47
- MessagebarProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof MessagebarProps>,
48
- { change: CustomEvent<void>; input: CustomEvent<void>; focus: CustomEvent<void>; blur: CustomEvent<void>; submit: CustomEvent<void>; send: CustomEvent<void>; click: CustomEvent<void>; messagebarAttachmentDelete: CustomEvent<void>; messagebarAttachmentClick: CustomEvent<void>; messagebarResizePage: CustomEvent<void>; },
49
- { 'before-inner' : {}; 'inner-start' : {}; 'before-area' : {}; 'after-inner' : {}; 'send-link' : {}; 'inner-end' : {}; 'default' : {}; }
69
+ MessagebarProps,
70
+ MessagebarEvents,
71
+ { }
50
72
  > {}
51
73
 
52
74
  export { MessagebarProps };
@@ -1,61 +1,65 @@
1
1
  <script>
2
- import { createEventDispatcher, onMount, onDestroy, afterUpdate } from 'svelte';
2
+ import { onMount, onDestroy } from 'svelte';
3
3
  import { colorClasses } from '../shared/mixins.js';
4
- import { classNames, noUndefinedProps, createEmitter } from '../shared/utils.js';
5
- import { restProps } from '../shared/rest-props.js';
4
+ import { classNames, noUndefinedProps } from '../shared/utils.js';
6
5
  import { app, f7ready } from '../shared/f7.js';
7
6
 
8
7
  import Link from './link.svelte';
9
8
  import Input from './input.svelte';
10
-
11
- const emit = createEmitter(createEventDispatcher, $$props);
12
-
13
- let className = undefined;
14
- export { className as class };
15
-
16
- export let sheetVisible = false;
17
- export let attachmentsVisible = false;
18
- export let top = false;
19
- export let resizable = true;
20
- export let bottomOffset = 0;
21
- export let topOffset = 0;
22
- export let maxHeight = undefined;
23
- export let resizePage = true;
24
- export let sendLink = undefined;
25
- export let value = undefined;
26
- export let disabled = false;
27
- export let readonly = false;
28
- export let textareaId = undefined;
29
- export let name = undefined;
30
- export let placeholder = 'Message';
31
-
32
- export let init = true;
33
-
34
- export let f7Slot = 'fixed';
35
-
36
- let el;
37
- let f7Messagebar;
38
- let updateSheetVisible;
39
- let updateAttachmentsVisible;
9
+ import ToolbarPane from './toolbar-pane.svelte';
10
+
11
+ let {
12
+ class: className,
13
+ sheetVisible = false,
14
+ attachmentsVisible = false,
15
+ top = false,
16
+ resizable = true,
17
+ bottomOffset = 0,
18
+ topOffset = 0,
19
+ maxHeight = undefined,
20
+ resizePage = true,
21
+ sendLink = undefined,
22
+ value = undefined,
23
+ disabled = false,
24
+ readonly = false,
25
+ textareaId = undefined,
26
+ name = undefined,
27
+ placeholder = 'Message',
28
+ init = true,
29
+ f7Slot = 'fixed',
30
+ children,
31
+ beforeInner,
32
+ innerStart,
33
+ beforeArea,
34
+ afterArea,
35
+ innerEnd,
36
+ afterInner,
37
+ ...restProps
38
+ } = $props();
39
+
40
+ let el = $state(undefined);
41
+ let f7Messagebar = $state(undefined);
42
+ let updateSheetVisible = $state(false);
43
+ let updateAttachmentsVisible = $state(false);
40
44
 
41
45
  export function instance() {
42
46
  return f7Messagebar;
43
47
  }
44
48
 
45
- $: classes = classNames(
46
- className,
47
- 'toolbar',
48
- 'messagebar',
49
- {
50
- 'messagebar-attachments-visible': attachmentsVisible,
51
- 'messagebar-sheet-visible': sheetVisible,
52
- },
53
- colorClasses($$props),
49
+ const classes = $derived(
50
+ classNames(
51
+ className,
52
+ 'toolbar',
53
+ 'messagebar',
54
+ {
55
+ 'messagebar-attachments-visible': attachmentsVisible,
56
+ 'messagebar-sheet-visible': sheetVisible,
57
+ },
58
+ colorClasses(restProps),
59
+ ),
54
60
  );
55
61
 
56
- $: hasSendLinkSlots = $$slots['send-link'];
57
-
58
- let initialWatchedSheet = false;
62
+ let initialWatchedSheet = $state(false);
59
63
  function watchSheetVisible() {
60
64
  if (!initialWatchedSheet) {
61
65
  initialWatchedSheet = true;
@@ -64,7 +68,7 @@
64
68
  if (!resizable || !f7Messagebar) return;
65
69
  updateSheetVisible = true;
66
70
  }
67
- let initialWatchedAttachments;
71
+ let initialWatchedAttachments = $state(false);
68
72
  function watchAttachmentsVisible() {
69
73
  if (!initialWatchedAttachments) {
70
74
  initialWatchedAttachments = true;
@@ -74,24 +78,28 @@
74
78
  updateAttachmentsVisible = true;
75
79
  }
76
80
 
77
- $: watchSheetVisible(sheetVisible);
78
- $: watchAttachmentsVisible(attachmentsVisible);
81
+ $effect(() => watchSheetVisible(sheetVisible));
82
+ $effect(() => watchAttachmentsVisible(attachmentsVisible));
79
83
 
80
84
  function onChange(event) {
81
- emit('change', [...event.detail]);
85
+ restProps.onChange?.(event);
86
+ restProps.onchange?.(event);
82
87
  }
83
88
 
84
89
  function onInput(event) {
85
- emit('input', [...event.detail]);
90
+ restProps.onInput?.(event);
91
+ restProps.oninput?.(event);
86
92
  value = event.detail[0].target.value;
87
93
  }
88
94
 
89
95
  function onFocus(event) {
90
- emit('focus', [...event.detail]);
96
+ restProps.onFocus?.(event);
97
+ restProps.onfocus?.(event);
91
98
  }
92
99
 
93
100
  function onBlur(event) {
94
- emit('blur', [...event.detail]);
101
+ restProps.onBlur?.(event);
102
+ restProps.onblur?.(event);
95
103
  }
96
104
 
97
105
  function onClick(event) {
@@ -101,22 +109,27 @@
101
109
  f7Messagebar.clear();
102
110
  }
103
111
  : () => {};
104
-
105
- emit('submit', [inputValue, clear]);
106
- emit('send', [inputValue, clear]);
107
- emit('click', [event]);
112
+ restProps.onSubmit?.(inputValue, clear);
113
+ restProps.onsubmit?.(inputValue, clear);
114
+ restProps.onSend?.(inputValue, clear);
115
+ restProps.onsend?.(inputValue, clear);
116
+ restProps.onClick?.(event);
117
+ restProps.onclick?.(event);
108
118
  }
109
119
 
110
120
  function onAttachmentDelete(inst, attachmentEl, attachmentElIndex) {
111
- emit('messagebarAttachmentDelete', [inst, attachmentEl, attachmentElIndex]);
121
+ restProps.onMessagebarAttachmentDelete?.(inst, attachmentEl, attachmentElIndex);
122
+ restProps.onmessagebarattachmentdelete?.(inst, attachmentEl, attachmentElIndex);
112
123
  }
113
124
 
114
125
  function onAttachmentClick(inst, attachmentEl, attachmentElIndex) {
115
- emit('messagebarAttachmentClick', [inst, attachmentEl, attachmentElIndex]);
126
+ restProps.onMessagebarAttachmentClick?.(inst, attachmentEl, attachmentElIndex);
127
+ restProps.onmessagebarattachmentclick?.(inst, attachmentEl, attachmentElIndex);
116
128
  }
117
129
 
118
130
  function onResizePage(inst) {
119
- emit('messagebarResizePage', [inst]);
131
+ restProps.onMessagebarResizePage?.(inst);
132
+ restProps.onmessagebarresizepage?.(inst);
120
133
  }
121
134
 
122
135
  onMount(() => {
@@ -148,7 +161,7 @@
148
161
  });
149
162
  });
150
163
 
151
- afterUpdate(() => {
164
+ $effect(() => {
152
165
  if (!f7Messagebar) return;
153
166
  if (el && app.f7) {
154
167
  const dom7 = app.f7.$;
@@ -178,12 +191,17 @@
178
191
  });
179
192
  </script>
180
193
 
181
- <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps($$restProps)}>
182
- <slot messagebar={f7Messagebar} name="before-inner" />
194
+ <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps}>
195
+ {@render beforeInner?.(f7Messagebar)}
196
+
183
197
  <div class="toolbar-inner">
184
- <slot messagebar={f7Messagebar} name="inner-start" />
198
+ {#if innerStart}
199
+ <ToolbarPane>
200
+ {@render innerStart?.(f7Messagebar)}
201
+ </ToolbarPane>
202
+ {/if}
185
203
  <div class="messagebar-area">
186
- <slot messagebar={f7Messagebar} name="before-area" />
204
+ {@render beforeArea?.(f7Messagebar)}
187
205
  <Input
188
206
  inputId={textareaId}
189
207
  type="textarea"
@@ -194,21 +212,26 @@
194
212
  {readonly}
195
213
  {resizable}
196
214
  value={typeof value === 'undefined' ? '' : value}
197
- on:input={onInput}
198
- on:change={onChange}
199
- on:focus={onFocus}
200
- on:blur={onBlur}
215
+ oninput={onInput}
216
+ onchange={onChange}
217
+ onfocus={onFocus}
218
+ onblur={onBlur}
201
219
  />
202
- <slot messagebar={f7Messagebar} name="after-inner" />
220
+ {@render afterArea?.(f7Messagebar)}
203
221
  </div>
204
- {#if (sendLink && sendLink.length > 0) || hasSendLinkSlots}
205
- <Link {onClick}>
206
- <slot messagebar={f7Messagebar} name="send-link" />
207
- {sendLink}
208
- </Link>
222
+ {#if sendLink || innerEnd}
223
+ <ToolbarPane>
224
+ {#if sendLink}
225
+ <Link onclick={onClick}>
226
+ {@render sendLink?.(f7Messagebar)}
227
+ {sendLink}
228
+ </Link>
229
+ {/if}
230
+ {@render innerEnd?.(f7Messagebar)}
231
+ </ToolbarPane>
209
232
  {/if}
210
- <slot messagebar={f7Messagebar} name="inner-end" />
211
- <slot messagebar={f7Messagebar} />
233
+
234
+ {@render children?.(f7Messagebar)}
212
235
  </div>
213
- <slot messagebar={f7Messagebar} name="after-inner" />
236
+ {@render afterInner?.(f7Messagebar)}
214
237
  </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 MessagesTitleProps {
6
+ interface Props {
7
7
  color?: string;
8
8
  colorTheme?: string;
9
9
  textColor?: string;
@@ -11,14 +11,20 @@ interface MessagesTitleProps {
11
11
  borderColor?: string;
12
12
  rippleColor?: string;
13
13
  dark?: boolean;
14
+ children?: Snippet;
14
15
  }
15
16
 
17
+ interface MessagesTitleProps {}
18
+ interface MessagesTitleProps extends Props {}
19
+
20
+ interface MessagesTitleEvents extends Record<'',{}>{}
21
+
16
22
 
17
23
 
18
24
  declare class MessagesTitle extends SvelteComponent<
19
- MessagesTitleProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof MessagesTitleProps>,
20
- { },
21
- { 'default' : {}; }
25
+ MessagesTitleProps,
26
+ MessagesTitleEvents,
27
+ { }
22
28
  > {}
23
29
 
24
30
  export { MessagesTitleProps };
@@ -1,14 +1,12 @@
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 = undefined;
7
- export { className as class };
5
+ let { class: className, children, ...restProps } = $props();
8
6
 
9
- $: classes = classNames(className, 'messages-title', colorClasses($$props));
7
+ const classes = $derived(classNames(className, 'messages-title', colorClasses(restProps)));
10
8
  </script>
11
9
 
12
- <div class={classes} {...restProps($$restProps)}>
13
- <slot />
10
+ <div class={classes} {...restProps}>
11
+ {@render children?.()}
14
12
  </div>