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,108 +1,120 @@
1
1
  <script>
2
- import { createEventDispatcher, onMount, onDestroy } from 'svelte';
2
+ import { onMount, onDestroy } from 'svelte';
3
3
  import { colorClasses } from '../shared/mixins.js';
4
- import { classNames, createEmitter } from '../shared/utils.js';
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
- const emit = createEmitter(createEventDispatcher, $$props);
10
-
11
- let className = undefined;
12
- export { className as class };
13
-
14
- export let style = '';
15
- export let opened = undefined;
16
- export let animate = undefined;
17
- export let top = undefined;
18
- export let bottom = undefined;
19
- export let position = undefined;
20
- export let backdrop = undefined;
21
- export let backdropEl = undefined;
22
- export let closeByBackdropClick = undefined;
23
- export let closeByOutsideClick = undefined;
24
- export let closeOnEscape = undefined;
25
- export let push = undefined;
26
- export let swipeToClose = undefined;
27
- export let swipeToStep = undefined;
28
- export let swipeHandler = undefined;
29
- export let containerEl = undefined;
30
- export let breakpoints = undefined;
31
- export let backdropBreakpoint = undefined;
32
- export let pushBreakpoint = undefined;
33
-
34
- let el;
35
- let innerEl;
8
+ let {
9
+ class: className,
10
+ style = '',
11
+ opened = undefined,
12
+ animate = undefined,
13
+ top = undefined,
14
+ bottom = undefined,
15
+ position = undefined,
16
+ backdrop = undefined,
17
+ backdropEl = undefined,
18
+ closeByBackdropClick = undefined,
19
+ closeByOutsideClick = undefined,
20
+ closeOnEscape = undefined,
21
+ push = undefined,
22
+ swipeToClose = undefined,
23
+ swipeToStep = undefined,
24
+ swipeHandler = undefined,
25
+ containerEl = undefined,
26
+ breakpoints = undefined,
27
+ backdropBreakpoint = undefined,
28
+ pushBreakpoint = undefined,
29
+ children,
30
+ fixedContent,
31
+ staticContent,
32
+ ...restProps
33
+ } = $props();
34
+
35
+ let el = $state(null);
36
+ let innerEl = $state(null);
36
37
  let f7Sheet;
37
38
 
38
- const state = {
39
- isOpened: opened,
40
- isClosing: false,
41
- swipeStep: false,
42
- breakpoint: false,
43
- };
39
+ let isOpened = $state(false);
40
+ let isClosing = $state(false);
41
+ let swipeStep = $state(false);
42
+ let breakpoint = $state(false);
43
+ let isPushIn = $state(false);
44
+ let isPushClosing = $state(false);
44
45
 
45
46
  export function instance() {
46
47
  return f7Sheet;
47
48
  }
48
49
 
49
- $: positionComputed = (() => {
50
+ const positionComputed = $derived.by(() => {
50
51
  if (position) return position;
51
52
  if (top) return 'top';
52
53
  if (bottom) return 'bottom';
53
54
  return 'bottom';
54
- })();
55
+ });
55
56
 
56
- $: classes = classNames(
57
- className,
58
- 'sheet-modal',
59
- `sheet-modal-${positionComputed}`,
60
- {
61
- 'sheet-modal-push': push,
62
- 'modal-in-swipe-step': state.swipeStep,
63
- 'modal-in-breakpoint': state.breakpoint,
64
- },
57
+ const classes = $derived(
58
+ classNames(
59
+ className,
60
+ 'sheet-modal',
61
+ `sheet-modal-${positionComputed}`,
62
+ {
63
+ 'sheet-modal-push': push,
64
+ 'modal-in-swipe-step': swipeStep,
65
+ 'modal-in-breakpoint': breakpoint,
66
+ 'sheet-modal-push-in': !isClosing && push && isPushIn,
67
+ 'sheet-modal-push-closing': isClosing && push && isPushClosing,
68
+ },
65
69
 
66
- modalStateClasses(state),
67
- colorClasses($$props),
70
+ modalStateClasses({
71
+ isOpened,
72
+ isClosing,
73
+ swipeStep,
74
+ breakpoint,
75
+ }),
76
+ colorClasses(restProps),
77
+ ),
68
78
  );
69
79
 
70
80
  function onOpen(instance) {
71
- Object.assign(state, {
72
- isOpened: true,
73
- isClosing: false,
74
- });
75
- emit('sheetOpen', [instance]);
81
+ isOpened = true;
82
+ isClosing = false;
83
+ restProps.onSheetOpen?.(instance);
84
+ restProps.onsheetopen?.(instance);
76
85
  opened = true;
77
86
  }
78
87
  function onOpened(instance) {
79
- emit('sheetOpened', [instance]);
88
+ restProps.onSheetOpened?.(instance);
89
+ restProps.onsheetopened?.(instance);
80
90
  }
81
91
  function onClose(instance) {
82
- Object.assign(state, {
83
- isOpened: false,
84
- isClosing: true,
85
- });
86
- emit('sheetClose', [instance]);
92
+ isOpened = false;
93
+ isClosing = true;
94
+ restProps.onSheetClose?.(instance);
95
+ restProps.onsheetclose?.(instance);
87
96
  }
88
97
  function onClosed(instance) {
89
- Object.assign(state, {
90
- isClosing: false,
91
- });
92
- emit('sheetClosed', [instance]);
98
+ isClosing = false;
99
+ restProps.onSheetClosed?.(instance);
100
+ restProps.onsheetclosed?.(instance);
93
101
  opened = false;
94
102
  }
95
103
  function onBreakpoint(instance, breakpoint) {
96
- emit('sheetBreakpoint', [instance, breakpoint]);
104
+ restProps.onSheetBreakpoint?.(instance, breakpoint);
105
+ restProps.onsheetbreakpoint?.(instance, breakpoint);
97
106
  }
98
107
  function onStepProgress(instance, progress) {
99
- emit('sheetStepProgress', [instance, progress]);
108
+ restProps.onSheetStepProgress?.(instance, progress);
109
+ restProps.onsheetstepprogress?.(instance, progress);
100
110
  }
101
111
  function onStepOpen(instance) {
102
- emit('sheetStepOpen', [instance]);
112
+ restProps.onSheetStepOpen?.(instance);
113
+ restProps.onsheetstepopen?.(instance);
103
114
  }
104
115
  function onStepClose(instance) {
105
- emit('sheetStepClose', [instance]);
116
+ restProps.onSheetStepClose?.(instance);
117
+ restProps.onsheetstepclose?.(instance);
106
118
  }
107
119
 
108
120
  let initialWatched = false;
@@ -116,7 +128,7 @@
116
128
  else f7Sheet.close();
117
129
  }
118
130
 
119
- $: watchOpened(opened);
131
+ $effect(() => watchOpened(opened));
120
132
 
121
133
  onMount(() => {
122
134
  const params = {
@@ -131,15 +143,21 @@
131
143
  stepProgress: onStepProgress,
132
144
  breakpoint: (s, value) => {
133
145
  if (value > 0 && value < 1) {
134
- state.breakpoint = true;
146
+ breakpoint = true;
135
147
  } else {
136
- state.breakpoint = false;
148
+ breakpoint = false;
137
149
  }
138
150
  onBreakpoint(s, value);
139
151
  },
140
152
  // eslint-disable-next-line
141
153
  _swipeStep(isSwipeStep) {
142
- state.swipeStep = isSwipeStep;
154
+ swipeStep = isSwipeStep;
155
+ },
156
+ pushIn(s, v) {
157
+ isPushIn = v;
158
+ },
159
+ pushClosing(s, v) {
160
+ isPushClosing = v;
143
161
  },
144
162
  },
145
163
  };
@@ -180,10 +198,10 @@
180
198
  });
181
199
  </script>
182
200
 
183
- <div class={classes} bind:this={el} {style} {...restProps($$restProps)}>
184
- <slot sheet={f7Sheet} name="fixed" />
201
+ <div class={classes} bind:this={el} {style} {...restProps}>
202
+ {@render fixedContent?.(f7Sheet)}
185
203
  <div class="sheet-modal-inner" bind:this={innerEl}>
186
- <slot sheet={f7Sheet} />
187
- <slot sheet={f7Sheet} name="static" />
204
+ {@render children?.(f7Sheet)}
205
+ {@render staticContent?.(f7Sheet)}
188
206
  </div>
189
207
  </div>
@@ -0,0 +1,24 @@
1
+
2
+ import { SvelteComponent, Snippet } from 'svelte';
3
+ import { HTMLAttributes } from 'svelte/elements';
4
+
5
+
6
+ interface Props {
7
+ content?: Snippet;
8
+ }
9
+
10
+ interface SnippetRenderProps {}
11
+ interface SnippetRenderProps extends Props {}
12
+
13
+ interface SnippetRenderEvents extends Record<'',{}>{}
14
+
15
+
16
+
17
+ declare class SnippetRender extends SvelteComponent<
18
+ SnippetRenderProps,
19
+ SnippetRenderEvents,
20
+ { }
21
+ > {}
22
+
23
+ export { SnippetRenderProps };
24
+ export default SnippetRender;
@@ -0,0 +1,9 @@
1
+ <script>
2
+ let { content } = $props();
3
+ </script>
4
+
5
+ {#if typeof content === 'function'}
6
+ {@render content?.()}
7
+ {:else if typeof content !== 'undefined'}
8
+ {content}
9
+ {/if}
@@ -1,45 +1,45 @@
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 { Stepper } from 'framework7/types';
6
6
 
7
7
 
8
- interface StepperProps {
9
- init ?: boolean;
10
- value ?: number;
11
- min ?: number;
12
- max ?: number;
13
- step ?: number;
14
- formatValue ?: Function;
15
- name ?: string;
16
- inputId ?: string;
17
- input ?: boolean;
18
- inputType ?: string;
19
- inputReadonly ?: boolean;
20
- autorepeat ?: boolean;
21
- autorepeatDynamic ?: boolean;
22
- wraps ?: boolean;
23
- manualInputMode ?: boolean;
24
- decimalPoint ?: number;
25
- buttonsEndInputMode ?: boolean;
26
- disabled ?: boolean;
27
- buttonsOnly ?: boolean;
28
- round ?: boolean;
29
- roundMd ?: boolean;
30
- roundIos ?: boolean;
31
- fill ?: boolean;
32
- fillMd ?: boolean;
33
- fillIos ?: boolean;
34
- large ?: boolean;
35
- largeMd ?: boolean;
36
- largeIos ?: boolean;
37
- small ?: boolean;
38
- smallMd ?: boolean;
39
- smallIos ?: boolean;
40
- raised ?: boolean;
41
- raisedMd ?: boolean;
42
- raisedIos ?: boolean;
8
+ interface Props {
9
+ init?: boolean;
10
+ value?: number;
11
+ min?: number;
12
+ max?: number;
13
+ step?: number;
14
+ formatValue?: Function;
15
+ name?: string;
16
+ inputId?: string;
17
+ input?: boolean;
18
+ inputType?: string;
19
+ inputReadonly?: boolean;
20
+ autorepeat?: boolean;
21
+ autorepeatDynamic?: boolean;
22
+ wraps?: boolean;
23
+ manualInputMode?: boolean;
24
+ decimalPoint?: number;
25
+ buttonsEndInputMode?: boolean;
26
+ disabled?: boolean;
27
+ buttonsOnly?: boolean;
28
+ round?: boolean;
29
+ roundMd?: boolean;
30
+ roundIos?: boolean;
31
+ fill?: boolean;
32
+ fillMd?: boolean;
33
+ fillIos?: boolean;
34
+ large?: boolean;
35
+ largeMd?: boolean;
36
+ largeIos?: boolean;
37
+ small?: boolean;
38
+ smallMd?: boolean;
39
+ smallIos?: boolean;
40
+ raised?: boolean;
41
+ raisedMd?: boolean;
42
+ raisedIos?: boolean;
43
43
  color?: string;
44
44
  colorTheme?: string;
45
45
  textColor?: string;
@@ -47,18 +47,28 @@ interface StepperProps {
47
47
  borderColor?: string;
48
48
  rippleColor?: string;
49
49
  dark?: boolean;
50
- onStepperChange ?: (newValue?: any) => void;
51
- onInput ?: (event?: any, stepper?: Stepper.Stepper) => void;
52
- onChange ?: (event?: any, stepper?: Stepper.Stepper) => void;
53
- onStepperMinusClick ?: (event?: any, stepper?: Stepper.Stepper) => void;
54
- onStepperPlusClick ?: (event?: any, stepper?: Stepper.Stepper) => void;
50
+ onStepperChange?: (newValue?: any) => void;
51
+ onInput?: (event?: any, stepper?: Stepper.Stepper) => void;
52
+ onChange?: (event?: any, stepper?: Stepper.Stepper) => void;
53
+ onStepperMinusClick?: (event?: any, stepper?: Stepper.Stepper) => void;
54
+ onStepperPlusClick?: (event?: any, stepper?: Stepper.Stepper) => void;
55
+ oninput?: () => void;
56
+ onchange?: () => void;
57
+ onstepperminusclick?: () => void;
58
+ onstepperplusclick?: () => void;
59
+ onstepperchange?: () => void;
55
60
  }
56
61
 
62
+ interface StepperProps {}
63
+ interface StepperProps extends Props {}
64
+
65
+ interface StepperEvents extends Record<'',{}>{}
66
+
57
67
 
58
68
 
59
69
  declare class Stepper extends SvelteComponent<
60
- StepperProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof StepperProps>,
61
- { input: CustomEvent<void>; change: CustomEvent<void>; stepperMinusClick: CustomEvent<void>; stepperPlusClick: CustomEvent<void>; stepperChange: CustomEvent<void>; },
70
+ StepperProps,
71
+ StepperEvents,
62
72
  { }
63
73
  > {}
64
74
 
@@ -1,80 +1,79 @@
1
1
  <script>
2
- import { createEventDispatcher, onMount, onDestroy } from 'svelte';
2
+ import { onMount, onDestroy } from 'svelte';
3
3
  import { colorClasses } from '../shared/mixins.js';
4
- import { classNames, noUndefinedProps, plainText, 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
- const emit = createEmitter(createEventDispatcher, $$props);
9
-
10
- let className = undefined;
11
- export { className as class };
12
-
13
- export let init = true;
14
- export let value = 0;
15
- export let min = 0;
16
- export let max = 100;
17
- export let step = 1;
18
- export let formatValue = undefined;
19
- export let name = undefined;
20
- export let inputId = undefined;
21
- export let input = true;
22
- export let inputType = 'text';
23
- export let inputReadonly = false;
24
- export let autorepeat = false;
25
- export let autorepeatDynamic = false;
26
- export let wraps = false;
27
- export let manualInputMode = false;
28
- export let decimalPoint = 4;
29
- export let buttonsEndInputMode = true;
30
- export let disabled = undefined;
31
- export let buttonsOnly = undefined;
32
-
33
- export let round = false;
34
- export let roundMd = false;
35
- export let roundIos = false;
36
- export let fill = false;
37
- export let fillMd = false;
38
- export let fillIos = false;
39
- export let large = false;
40
- export let largeMd = false;
41
- export let largeIos = false;
42
- export let small = false;
43
- export let smallMd = false;
44
- export let smallIos = false;
45
- export let raised = false;
46
- export let raisedMd = false;
47
- export let raisedIos = false;
48
-
49
- let el;
7
+ let {
8
+ class: className,
9
+ init = true,
10
+ value = 0,
11
+ min = 0,
12
+ max = 100,
13
+ step = 1,
14
+ formatValue = undefined,
15
+ name = undefined,
16
+ inputId = undefined,
17
+ input = true,
18
+ inputType = 'text',
19
+ inputReadonly = false,
20
+ autorepeat = false,
21
+ autorepeatDynamic = false,
22
+ wraps = false,
23
+ manualInputMode = false,
24
+ decimalPoint = 4,
25
+ buttonsEndInputMode = true,
26
+ disabled = undefined,
27
+ buttonsOnly = undefined,
28
+ round = false,
29
+ roundMd = false,
30
+ roundIos = false,
31
+ fill = false,
32
+ fillMd = false,
33
+ fillIos = false,
34
+ large = false,
35
+ largeMd = false,
36
+ largeIos = false,
37
+ small = false,
38
+ smallMd = false,
39
+ smallIos = false,
40
+ raised = false,
41
+ raisedMd = false,
42
+ raisedIos = false,
43
+ ...restProps
44
+ } = $props();
45
+
46
+ let el = $state(null);
50
47
  let f7Stepper;
51
48
 
52
49
  export function instance() {
53
50
  return f7Stepper;
54
51
  }
55
52
 
56
- $: classes = classNames(
57
- className,
58
- 'stepper',
59
- {
60
- disabled,
61
- 'stepper-round': round,
62
- 'stepper-round-ios': roundIos,
63
- 'stepper-round-md': roundMd,
64
- 'stepper-fill': fill,
65
- 'stepper-fill-ios': fillIos,
66
- 'stepper-fill-md': fillMd,
67
- 'stepper-large': large,
68
- 'stepper-large-ios': largeIos,
69
- 'stepper-large-md': largeMd,
70
- 'stepper-small': small,
71
- 'stepper-small-ios': smallIos,
72
- 'stepper-small-md': smallMd,
73
- 'stepper-raised': raised,
74
- 'stepper-raised-ios': raisedIos,
75
- 'stepper-raised-md': raisedMd,
76
- },
77
- colorClasses($$props),
53
+ const classes = $derived(
54
+ classNames(
55
+ className,
56
+ 'stepper',
57
+ {
58
+ disabled,
59
+ 'stepper-round': round,
60
+ 'stepper-round-ios': roundIos,
61
+ 'stepper-round-md': roundMd,
62
+ 'stepper-fill': fill,
63
+ 'stepper-fill-ios': fillIos,
64
+ 'stepper-fill-md': fillMd,
65
+ 'stepper-large': large,
66
+ 'stepper-large-ios': largeIos,
67
+ 'stepper-large-md': largeMd,
68
+ 'stepper-small': small,
69
+ 'stepper-small-ios': smallIos,
70
+ 'stepper-small-md': smallMd,
71
+ 'stepper-raised': raised,
72
+ 'stepper-raised-ios': raisedIos,
73
+ 'stepper-raised-md': raisedMd,
74
+ },
75
+ colorClasses(restProps),
76
+ ),
78
77
  );
79
78
 
80
79
  function watchValue(newValue) {
@@ -82,22 +81,26 @@
82
81
  f7Stepper.setValue(newValue);
83
82
  }
84
83
 
85
- $: watchValue(value);
84
+ $effect(() => watchValue(value));
86
85
 
87
86
  function onInput(event) {
88
- emit('input', [event, f7Stepper]);
87
+ restProps.onInput?.(event, f7Stepper);
88
+ restProps.oninput?.(event, f7Stepper);
89
89
  }
90
90
 
91
91
  function onChange(event) {
92
- emit('change', [event, f7Stepper]);
92
+ restProps.onChange?.(event, f7Stepper);
93
+ restProps.onchange?.(event, f7Stepper);
93
94
  }
94
95
 
95
96
  function onMinusClick(event) {
96
- emit('stepperMinusClick', [event, f7Stepper]);
97
+ restProps.onStepperMinusClick?.(event, f7Stepper);
98
+ restProps.onstepperminusclick?.(event, f7Stepper);
97
99
  }
98
100
 
99
101
  function onPlusClick(event) {
100
- emit('stepperPlusClick', [event, f7Stepper]);
102
+ restProps.onStepperPlusClick?.(event, f7Stepper);
103
+ restProps.onstepperplusclick?.(event, f7Stepper);
101
104
  }
102
105
 
103
106
  onMount(() => {
@@ -119,7 +122,8 @@
119
122
  buttonsEndInputMode,
120
123
  on: {
121
124
  change(stepper, newValue) {
122
- emit('stepperChange', [newValue]);
125
+ restProps.onStepperChange?.(newValue);
126
+ restProps.onstepperchange?.(newValue);
123
127
  value = newValue;
124
128
  },
125
129
  },
@@ -136,8 +140,8 @@
136
140
  });
137
141
  </script>
138
142
 
139
- <div bind:this={el} class={classes} {...restProps($$restProps)}>
140
- <div on:click={onMinusClick} class="stepper-button-minus" />
143
+ <div bind:this={el} class={classes} {...restProps}>
144
+ <div onclick={onMinusClick} class="stepper-button-minus" />
141
145
  {#if input && !buttonsOnly}
142
146
  <div class="stepper-input-wrap">
143
147
  <input
@@ -147,15 +151,15 @@
147
151
  min={inputType === 'number' ? min : undefined}
148
152
  max={inputType === 'number' ? max : undefined}
149
153
  step={inputType === 'number' ? step : undefined}
150
- on:input={onInput}
151
- on:change={onChange}
154
+ oninput={onInput}
155
+ onchange={onChange}
152
156
  value={typeof value === 'undefined' ? '' : value}
153
157
  readonly={inputReadonly}
154
158
  />
155
159
  </div>
156
160
  {/if}
157
161
  {#if !input && !buttonsOnly}
158
- <div class="stepper-value">{plainText(value)}</div>
162
+ <div class="stepper-value">{value}</div>
159
163
  {/if}
160
- <div on:click={onPlusClick} class="stepper-button-plus" />
164
+ <div onclick={onPlusClick} class="stepper-button-plus" />
161
165
  </div>
@@ -1,12 +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 SubnavbarProps {
7
- sliding ?: boolean;
8
- title ?: string;
9
- inner ?: boolean;
6
+ interface Props {
7
+ title?: string;
8
+ inner?: boolean;
10
9
  color?: string;
11
10
  colorTheme?: string;
12
11
  textColor?: string;
@@ -14,14 +13,20 @@ interface SubnavbarProps {
14
13
  borderColor?: string;
15
14
  rippleColor?: string;
16
15
  dark?: boolean;
16
+ children?: Snippet;
17
17
  }
18
18
 
19
+ interface SubnavbarProps {}
20
+ interface SubnavbarProps extends Props {}
21
+
22
+ interface SubnavbarEvents extends Record<'',{}>{}
23
+
19
24
 
20
25
 
21
26
  declare class Subnavbar extends SvelteComponent<
22
- SubnavbarProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof SubnavbarProps>,
23
- { },
24
- { 'default' : {}; }
27
+ SubnavbarProps,
28
+ SubnavbarEvents,
29
+ { }
25
30
  > {}
26
31
 
27
32
  export { SubnavbarProps };