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.
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,76 +1,72 @@
1
1
  <script>
2
- import { onMount, onDestroy, createEventDispatcher } from 'svelte';
3
- import { restProps } from '../shared/rest-props.js';
2
+ import { onMount, onDestroy } from 'svelte';
4
3
  import { colorClasses } from '../shared/mixins.js';
5
- import { classNames, noUndefinedProps, createEmitter } from '../shared/utils.js';
4
+ import { classNames, noUndefinedProps } from '../shared/utils.js';
6
5
  import { app, f7ready } from '../shared/f7.js';
7
6
 
8
- const emit = createEmitter(createEventDispatcher, $$props);
9
-
10
- let className = undefined;
11
- export { className as class };
12
-
13
- export let side = undefined;
14
- export let effect = undefined;
15
- // svelte-ignore unused-export-let
16
- export let cover = false;
17
- export let reveal = false;
18
- export let push = false;
19
- export let floating = false;
20
- export let left = false;
21
- export let right = false;
22
- export let opened = false;
23
- export let resizable = false;
24
-
25
- export let backdrop = true;
26
- export let backdropEl = undefined;
27
- export let containerEl = undefined;
28
- export let closeByBackdropClick = undefined;
29
- export let visibleBreakpoint = undefined;
30
- export let collapsedBreakpoint = undefined;
31
- export let swipe = false;
32
- export let swipeNoFollow = false;
33
- export let swipeOnlyClose = false;
34
- export let swipeActiveArea = 0;
35
- export let swipeThreshold = 0;
36
-
37
- export let f7Slot = 'fixed';
38
-
39
- let el;
40
- let f7Panel;
41
-
42
- const state = {
43
- isOpened: false,
44
- isClosing: false,
45
- isCollapsed: false,
46
- isBreakpoint: false,
47
- };
7
+ let {
8
+ class: className,
9
+ side = undefined,
10
+ effect: effectProp = undefined,
11
+ cover = false,
12
+ reveal = false,
13
+ push = false,
14
+ floating = false,
15
+ left = false,
16
+ right = false,
17
+ opened = false,
18
+ resizable = false,
19
+ backdrop = true,
20
+ backdropEl = undefined,
21
+ containerEl = undefined,
22
+ closeByBackdropClick = undefined,
23
+ visibleBreakpoint = undefined,
24
+ collapsedBreakpoint = undefined,
25
+ swipe = false,
26
+ swipeNoFollow = false,
27
+ swipeOnlyClose = false,
28
+ swipeActiveArea = 0,
29
+ swipeThreshold = 0,
30
+ f7Slot = 'fixed',
31
+ children,
32
+ ...restProps
33
+ } = $props();
34
+
35
+ let el = $state(null);
36
+ let f7Panel = $state(null);
37
+
38
+ let isOpened = $state(false);
39
+ let isClosing = $state(false);
40
+ let isCollapsed = $state(false);
41
+ let isBreakpoint = $state(false);
48
42
 
49
43
  export function instance() {
50
44
  return f7Panel;
51
45
  }
52
46
 
53
- // eslint-disable-next-line
54
- $: sideComputed = side || (left ? 'left' : right ? 'right' : 'left');
55
- // eslint-disable-next-line
56
- $: effectComputed =
57
- effect || (reveal ? 'reveal' : push ? 'push' : floating ? 'floating' : 'cover');
58
- $: classes = classNames(
59
- className,
60
- 'panel',
61
- {
62
- 'panel-in': state.isOpened && !state.isClosing && !state.isBreakpoint,
63
- 'panel-in-breakpoint': state.isBreakpoint,
64
- 'panel-in-collapsed': state.isCollapsed,
65
- 'panel-resizable': resizable,
66
- [`panel-${sideComputed}`]: sideComputed,
67
- [`panel-${effectComputed}`]: effectComputed,
68
- },
69
- colorClasses($$props),
47
+ const sideComputed = $derived(side || (left ? 'left' : right ? 'right' : 'left'));
48
+ const effectComputed = $derived(
49
+ effectProp || (reveal ? 'reveal' : push ? 'push' : floating ? 'floating' : 'cover'),
50
+ );
51
+ const classes = $derived(
52
+ classNames(
53
+ className,
54
+ 'panel',
55
+ {
56
+ 'panel-in': isOpened && !isClosing && !isBreakpoint,
57
+ 'panel-out': isClosing,
58
+ 'panel-in-breakpoint': isBreakpoint,
59
+ 'panel-in-collapsed': isCollapsed,
60
+ 'panel-resizable': resizable,
61
+ [`panel-${sideComputed}`]: sideComputed,
62
+ [`panel-${effectComputed}`]: effectComputed,
63
+ },
64
+ colorClasses(restProps),
65
+ ),
70
66
  );
71
67
 
72
- let resizableOld = resizable;
73
- let initialWatchedResizable = false;
68
+ let resizableOld = $state(resizable);
69
+ let initialWatchedResizable = $state(false);
74
70
  function watchResizable(r) {
75
71
  if (!initialWatchedResizable) {
76
72
  initialWatchedResizable = true;
@@ -83,10 +79,10 @@
83
79
  }
84
80
  resizableOld = r;
85
81
  }
86
- $: watchResizable(resizable);
82
+ $effect(() => watchResizable(resizable));
87
83
 
88
- let openedOld = opened;
89
- let initialWatchedOpened = false;
84
+ let openedOld = $state(opened);
85
+ let initialWatchedOpened = $state(false);
90
86
  function watchOpened(o) {
91
87
  if (!initialWatchedOpened) {
92
88
  initialWatchedOpened = true;
@@ -99,59 +95,58 @@
99
95
  }
100
96
  openedOld = o;
101
97
  }
102
- $: watchOpened(opened);
98
+ $effect(() => watchOpened(opened));
103
99
 
104
100
  function onOpen(...args) {
105
- Object.assign(state, {
106
- isOpened: true,
107
- isClosing: false,
108
- });
109
-
110
- emit('panelOpen', args);
101
+ isOpened = true;
102
+ isClosing = false;
103
+ restProps.onPanelOpen?.(args);
104
+ restProps.onpanelopen?.(args);
111
105
  opened = true;
112
106
  }
113
107
  function onOpened(...args) {
114
- emit('panelOpened', args);
108
+ restProps.onPanelOpened?.(args);
109
+ restProps.onpanelopened?.(args);
115
110
  }
116
111
  function onClose(...args) {
117
- Object.assign(state, {
118
- isOpened: false,
119
- isClosing: true,
120
- });
121
- emit('panelClose', args);
112
+ isOpened = false;
113
+ isClosing = true;
114
+ restProps.onPanelClose?.(args);
115
+ restProps.onpanelclose?.(args);
122
116
  }
123
117
  function onClosed(...args) {
124
- Object.assign(state, {
125
- isClosing: false,
126
- });
127
- emit('panelClosed', args);
118
+ isClosing = false;
119
+ restProps.onPanelClosed?.(args);
120
+ restProps.onpanelclosed?.(args);
128
121
  opened = false;
129
122
  }
130
123
  function onBackdropClick(...args) {
131
- emit('panelBackdropClick', args);
124
+ restProps.onPanelBackdropClick?.(args);
125
+ restProps.onpanelbackdropclick?.(args);
132
126
  }
133
127
  function onSwipe(...args) {
134
- emit('panelSwipe', args);
128
+ restProps.onPanelSwipe?.(args);
129
+ restProps.onpanelswipe?.(args);
135
130
  }
136
131
  function onSwipeOpen(...args) {
137
- emit('panelSwipeOpen', args);
132
+ restProps.onPanelSwipeOpen?.(args);
133
+ restProps.onpanelswipeopen?.(args);
138
134
  }
139
135
  function onBreakpoint(...args) {
140
- Object.assign(state, {
141
- isBreakpoint: true,
142
- isCollapsed: false,
143
- });
144
- emit('panelBreakpoint', args);
136
+ isBreakpoint = true;
137
+ isCollapsed = false;
138
+ restProps.onPanelBreakpoint?.(args);
139
+ restProps.onpanelbreakpoint?.(args);
145
140
  }
146
141
  function onCollapsedBreakpoint(...args) {
147
- Object.assign(state, {
148
- isBreakpoint: false,
149
- isCollapsed: true,
150
- });
151
- emit('panelCollapsedBreakpoint', args);
142
+ isBreakpoint = false;
143
+ isCollapsed = true;
144
+ restProps.onPanelCollapsedBreakpoint?.(args);
145
+ restProps.onpanelcollapsedbreakpoint?.(args);
152
146
  }
153
147
  function onResize(...args) {
154
- emit('panelResize', args);
148
+ restProps.onPanelResize?.(args);
149
+ restProps.onpanelresize?.(args);
155
150
  }
156
151
 
157
152
  onMount(() => {
@@ -202,9 +197,9 @@
202
197
  });
203
198
  </script>
204
199
 
205
- <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps($$restProps)}>
206
- <slot panel={f7Panel} />
200
+ <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps}>
201
+ {@render children?.(f7Panel)}
207
202
  {#if resizable}
208
- <div class="panel-resize-handler" />
203
+ <div class="panel-resize-handler"></div>
209
204
  {/if}
210
205
  </div>
@@ -1,56 +1,65 @@
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 { PhotoBrowser } from 'framework7/types';
6
6
 
7
7
 
8
- interface PhotoBrowserProps {
9
- init ?: boolean;
10
- params ?: Object;
11
- photos ?: Array<any>;
12
- thumbs ?: Array<any>;
13
- exposition ?: boolean;
14
- expositionHideCaptions ?: boolean;
15
- type ?: string;
16
- navbar ?: boolean;
17
- toolbar ?: boolean;
18
- theme ?: string;
19
- captionsTheme ?: string;
20
- iconsColor ?: string;
21
- swipeToClose ?: boolean;
22
- pageBackLinkText ?: string;
23
- popupCloseLinkIcon ?: boolean;
24
- popupCloseLinkText ?: string;
25
- navbarOfText ?: string;
26
- navbarShowCount ?: boolean;
27
- swiper ?: Object;
28
- url ?: string;
29
- routableModals ?: boolean;
30
- virtualSlides ?: boolean;
31
- view ?: string | object;
32
- renderNavbar ?: Function;
33
- renderToolbar ?: Function;
34
- renderCaption ?: Function;
35
- renderObject ?: Function;
36
- renderLazyPhoto ?: Function;
37
- renderPhoto ?: Function;
38
- renderPage ?: Function;
39
- renderPopup ?: Function;
40
- renderStandalone ?: Function;
8
+ interface Props {
9
+ init?: boolean;
10
+ params?: Object;
11
+ photos?: Array<any>;
12
+ thumbs?: Array<any>;
13
+ exposition?: boolean;
14
+ expositionHideCaptions?: boolean;
15
+ type?: string;
16
+ navbar?: boolean;
17
+ toolbar?: boolean;
18
+ theme?: string;
19
+ captionsTheme?: string;
20
+ iconsColor?: string;
21
+ swipeToClose?: boolean;
22
+ pageBackLinkText?: string;
23
+ popupCloseLinkText?: string;
24
+ navbarOfText?: string;
25
+ navbarShowCount?: boolean;
26
+ swiper?: Object;
27
+ url?: string;
28
+ routableModals?: boolean;
29
+ virtualSlides?: boolean;
30
+ view?: string | object;
31
+ renderNavbar?: Function;
32
+ renderToolbar?: Function;
33
+ renderCaption?: Function;
34
+ renderObject?: Function;
35
+ renderLazyPhoto?: Function;
36
+ renderPhoto?: Function;
37
+ renderPage?: Function;
38
+ renderPopup?: Function;
39
+ renderStandalone?: Function;
41
40
  renderThumb?: Function;
42
- onPhotoBrowserOpen ?: (...args: any[]) => void;
43
- onPhotoBrowserClose ?: (...args: any[]) => void;
44
- onPhotoBrowserOpened ?: (...args: any[]) => void;
45
- onPhotoBrowserClosed ?: (...args: any[]) => void;
46
- onPhotoBrowserSwipeToClose ?: (...args: any[]) => void;
41
+ onPhotoBrowserOpen?: (...args: any[]) => void;
42
+ onPhotoBrowserClose?: (...args: any[]) => void;
43
+ onPhotoBrowserOpened?: (...args: any[]) => void;
44
+ onPhotoBrowserClosed?: (...args: any[]) => void;
45
+ onPhotoBrowserSwipeToClose?: (...args: any[]) => void;
46
+ onphotobrowseropen?: () => void;
47
+ onphotobrowserclose?: () => void;
48
+ onphotobrowseropened?: () => void;
49
+ onphotobrowserclosed?: () => void;
50
+ onphotobrowserswipetoclose?: () => void;
47
51
  }
48
52
 
53
+ interface PhotoBrowserProps {}
54
+ interface PhotoBrowserProps extends Props {}
55
+
56
+ interface PhotoBrowserEvents extends Record<'',{}>{}
57
+
49
58
 
50
59
 
51
60
  declare class PhotoBrowser extends SvelteComponent<
52
- PhotoBrowserProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof PhotoBrowserProps>,
53
- { photoBrowserOpen: CustomEvent<void>; photoBrowserClose: CustomEvent<void>; photoBrowserOpened: CustomEvent<void>; photoBrowserClosed: CustomEvent<void>; photoBrowserSwipeToClose: CustomEvent<void>; },
61
+ PhotoBrowserProps,
62
+ PhotoBrowserEvents,
54
63
  { }
55
64
  > {}
56
65
 
@@ -1,44 +1,42 @@
1
1
  <script>
2
- import { createEventDispatcher, onMount, onDestroy } from 'svelte';
2
+ import { onMount, onDestroy } from 'svelte';
3
3
 
4
- import { extend, createEmitter } from '../shared/utils.js';
4
+ import { extend } from '../shared/utils.js';
5
5
  import { app, f7ready } from '../shared/f7.js';
6
-
7
- const emit = createEmitter(createEventDispatcher, $$props);
8
-
9
- export let init = true;
10
- export let params = undefined;
11
- export let photos = undefined;
12
- export let thumbs = undefined;
13
- export let exposition = true;
14
- export let expositionHideCaptions = false;
15
- export let type = undefined;
16
- export let navbar = true;
17
- export let toolbar = true;
18
- export let theme = undefined;
19
- export let captionsTheme = undefined;
20
- export let iconsColor = undefined;
21
- export let swipeToClose = true;
22
- export let pageBackLinkText = undefined;
23
- export let popupCloseLinkIcon = undefined;
24
- export let popupCloseLinkText = undefined;
25
- export let navbarOfText = undefined;
26
- export let navbarShowCount = undefined;
27
- export let swiper = undefined;
28
- export let url = undefined;
29
- export let routableModals = false;
30
- export let virtualSlides = true;
31
- export let view = undefined;
32
- export let renderNavbar = undefined;
33
- export let renderToolbar = undefined;
34
- export let renderCaption = undefined;
35
- export let renderObject = undefined;
36
- export let renderLazyPhoto = undefined;
37
- export let renderPhoto = undefined;
38
- export let renderPage = undefined;
39
- export let renderPopup = undefined;
40
- export let renderStandalone = undefined;
41
- export let renderThumb = undefined;
6
+ let {
7
+ init = true,
8
+ params = undefined,
9
+ photos = undefined,
10
+ thumbs = undefined,
11
+ exposition = true,
12
+ expositionHideCaptions = false,
13
+ type = undefined,
14
+ navbar = true,
15
+ toolbar = true,
16
+ theme = undefined,
17
+ captionsTheme = undefined,
18
+ iconsColor = undefined,
19
+ swipeToClose = true,
20
+ pageBackLinkText = undefined,
21
+ navbarOfText = undefined,
22
+ navbarShowCount = undefined,
23
+ swiper = undefined,
24
+ url = undefined,
25
+ routableModals = false,
26
+ virtualSlides = true,
27
+ view = undefined,
28
+ renderNavbar = undefined,
29
+ renderToolbar = undefined,
30
+ renderCaption = undefined,
31
+ renderObject = undefined,
32
+ renderLazyPhoto = undefined,
33
+ renderPhoto = undefined,
34
+ renderPage = undefined,
35
+ renderPopup = undefined,
36
+ renderStandalone = undefined,
37
+ renderThumb = undefined,
38
+ ...restProps
39
+ } = $props();
42
40
 
43
41
  let f7PhotoBrowser;
44
42
 
@@ -62,7 +60,7 @@
62
60
  return f7PhotoBrowser.expositionDisable();
63
61
  }
64
62
 
65
- let initialWatched = false;
63
+ let initialWatched = $state(false);
66
64
  function watchPhotos(newValue) {
67
65
  if (!initialWatched) {
68
66
  initialWatched = true;
@@ -75,7 +73,7 @@
75
73
  }
76
74
  }
77
75
 
78
- $: watchPhotos(photos);
76
+ $effect(() => watchPhotos(photos));
79
77
 
80
78
  onMount(() => {
81
79
  if (!init) return;
@@ -97,8 +95,6 @@
97
95
  iconsColor,
98
96
  swipeToClose,
99
97
  pageBackLinkText,
100
- popupCloseLinkIcon,
101
- popupCloseLinkText,
102
98
  navbarOfText,
103
99
  navbarShowCount,
104
100
  swiper,
@@ -127,19 +123,24 @@
127
123
  pbParams = extend({}, pbParams, {
128
124
  on: {
129
125
  open() {
130
- emit('photoBrowserOpen');
126
+ restProps.onPhotoBrowserOpen?.();
127
+ restProps.onphotobrowseropen?.();
131
128
  },
132
129
  close() {
133
- emit('photoBrowserClose');
130
+ restProps.onPhotoBrowserClose?.();
131
+ restProps.onphotobrowserclose?.();
134
132
  },
135
133
  opened() {
136
- emit('photoBrowserOpened');
134
+ restProps.onPhotoBrowserOpened?.();
135
+ restProps.onphotobrowseropened?.();
137
136
  },
138
137
  closed() {
139
- emit('photoBrowserClosed');
138
+ restProps.onPhotoBrowserClosed?.();
139
+ restProps.onphotobrowserclosed?.();
140
140
  },
141
141
  swipeToClose() {
142
- emit('photoBrowserSwipeToClose');
142
+ restProps.onPhotoBrowserSwipeToClose?.();
143
+ restProps.onphotobrowserswipetoclose?.();
143
144
  },
144
145
  },
145
146
  });
@@ -1,22 +1,29 @@
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 PieChartProps {
6
+ interface Props {
7
7
  size?: number;
8
8
  tooltip?: boolean;
9
9
  datasets?: {value: number; color?: string; label?: string}[];
10
10
  formatTooltip?: (data: {index: number; value: number; label: string; color: string; percentage: number}) => void;
11
- onSelect ?: (index: number | null, item: {value: number; label: string; color: string}) => void;
11
+ onSelect?: (index: number | null, item: {value: number; label: string; color: string}) => void;
12
+ children?: Snippet;
13
+ onselect?: () => void;
12
14
  }
13
15
 
16
+ interface PieChartProps {}
17
+ interface PieChartProps extends Props {}
18
+
19
+ interface PieChartEvents extends Record<'',{}>{}
20
+
14
21
 
15
22
 
16
23
  declare class PieChart extends SvelteComponent<
17
- PieChartProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof PieChartProps>,
18
- { select: CustomEvent<void>; },
19
- { 'default' : {}; }
24
+ PieChartProps,
25
+ PieChartEvents,
26
+ { }
20
27
  > {}
21
28
 
22
29
  export { PieChartProps };
@@ -1,24 +1,23 @@
1
1
  <script>
2
- import { createEventDispatcher, onDestroy } from 'svelte';
3
- import { classNames, createEmitter } from '../shared/utils.js';
4
- import { restProps } from '../shared/rest-props.js';
2
+ import { onDestroy } from 'svelte';
3
+ import { classNames } from '../shared/utils.js';
5
4
  import { app } from '../shared/f7.js';
6
5
 
7
- const emit = createEmitter(createEventDispatcher, $$props);
8
-
9
- let className = undefined;
10
- export { className as class };
11
-
12
- export let size = 320;
13
- export let tooltip = false;
14
- export let datasets = [];
15
- export let formatTooltip = undefined;
16
-
17
- let el;
18
- let currentIndex = null;
19
- let previousIndex = null;
6
+ let {
7
+ class: className,
8
+ size = 320,
9
+ tooltip = false,
10
+ datasets = [],
11
+ formatTooltip = undefined,
12
+ children,
13
+ ...restProps
14
+ } = $props();
15
+
16
+ let el = $state(null);
17
+ let currentIndex = $state(null);
18
+ let previousIndex = $state(null);
20
19
  let f7Tooltip = null;
21
- let timeout = null;
20
+ let timeout = $state(null);
22
21
 
23
22
  const setCurrentIndex = (index) => {
24
23
  if (index === null) {
@@ -132,14 +131,15 @@
132
131
 
133
132
  const watchCurrentIndex = () => {
134
133
  if (currentIndex === previousIndex) return;
135
- emit('select', [currentIndex, datasets[currentIndex]]);
134
+ restProps.onSelect?.(currentIndex, datasets[currentIndex]);
135
+ restProps.onselect?.(currentIndex, datasets[currentIndex]);
136
136
  setTooltip();
137
137
  };
138
138
 
139
- $: classes = classNames('pie-chart', className);
140
- $: paths = getPaths(datasets);
139
+ const classes = $derived(classNames('pie-chart', className));
140
+ const paths = $derived(getPaths(datasets));
141
141
 
142
- $: watchCurrentIndex(currentIndex);
142
+ $effect(() => watchCurrentIndex(currentIndex));
143
143
 
144
144
  onDestroy(() => {
145
145
  if (f7Tooltip && f7Tooltip.destroy) {
@@ -149,7 +149,7 @@
149
149
  });
150
150
  </script>
151
151
 
152
- <div bind:this={el} class={classes} {...restProps($$restProps)}>
152
+ <div bind:this={el} class={classes} {...restProps}>
153
153
  <svg
154
154
  xmlns="http://www.w3.org/2000/svg"
155
155
  width={size}
@@ -158,16 +158,18 @@
158
158
  style="transform: rotate(-90deg)"
159
159
  >
160
160
  {#each paths as path, index (index)}
161
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
162
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
161
163
  <path
162
164
  d={path.points}
163
165
  fill={path.color}
164
166
  data-index={index}
165
167
  class={classNames({ 'pie-chart-hidden': currentIndex !== null && currentIndex !== index })}
166
- on:click={() => setCurrentIndex(index)}
167
- on:mouseenter={() => setCurrentIndex(index)}
168
- on:mouseleave={() => setCurrentIndex(null)}
169
- />
168
+ onclick={() => setCurrentIndex(index)}
169
+ onmouseenter={() => setCurrentIndex(index)}
170
+ onmouseleave={() => setCurrentIndex(null)}
171
+ ></path>
170
172
  {/each}
171
173
  </svg>
172
- <slot />
174
+ {@render children?.()}
173
175
  </div>