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
package/components/sheet.svelte
CHANGED
|
@@ -1,108 +1,120 @@
|
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
67
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
88
|
+
restProps.onSheetOpened?.(instance);
|
|
89
|
+
restProps.onsheetopened?.(instance);
|
|
80
90
|
}
|
|
81
91
|
function onClose(instance) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
104
|
+
restProps.onSheetBreakpoint?.(instance, breakpoint);
|
|
105
|
+
restProps.onsheetbreakpoint?.(instance, breakpoint);
|
|
97
106
|
}
|
|
98
107
|
function onStepProgress(instance, progress) {
|
|
99
|
-
|
|
108
|
+
restProps.onSheetStepProgress?.(instance, progress);
|
|
109
|
+
restProps.onsheetstepprogress?.(instance, progress);
|
|
100
110
|
}
|
|
101
111
|
function onStepOpen(instance) {
|
|
102
|
-
|
|
112
|
+
restProps.onSheetStepOpen?.(instance);
|
|
113
|
+
restProps.onsheetstepopen?.(instance);
|
|
103
114
|
}
|
|
104
115
|
function onStepClose(instance) {
|
|
105
|
-
|
|
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
|
-
|
|
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
|
-
|
|
146
|
+
breakpoint = true;
|
|
135
147
|
} else {
|
|
136
|
-
|
|
148
|
+
breakpoint = false;
|
|
137
149
|
}
|
|
138
150
|
onBreakpoint(s, value);
|
|
139
151
|
},
|
|
140
152
|
// eslint-disable-next-line
|
|
141
153
|
_swipeStep(isSwipeStep) {
|
|
142
|
-
|
|
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
|
|
184
|
-
|
|
201
|
+
<div class={classes} bind:this={el} {style} {...restProps}>
|
|
202
|
+
{@render fixedContent?.(f7Sheet)}
|
|
185
203
|
<div class="sheet-modal-inner" bind:this={innerEl}>
|
|
186
|
-
|
|
187
|
-
|
|
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;
|
package/components/stepper.d.ts
CHANGED
|
@@ -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
|
|
9
|
-
init
|
|
10
|
-
value
|
|
11
|
-
min
|
|
12
|
-
max
|
|
13
|
-
step
|
|
14
|
-
formatValue
|
|
15
|
-
name
|
|
16
|
-
inputId
|
|
17
|
-
input
|
|
18
|
-
inputType
|
|
19
|
-
inputReadonly
|
|
20
|
-
autorepeat
|
|
21
|
-
autorepeatDynamic
|
|
22
|
-
wraps
|
|
23
|
-
manualInputMode
|
|
24
|
-
decimalPoint
|
|
25
|
-
buttonsEndInputMode
|
|
26
|
-
disabled
|
|
27
|
-
buttonsOnly
|
|
28
|
-
round
|
|
29
|
-
roundMd
|
|
30
|
-
roundIos
|
|
31
|
-
fill
|
|
32
|
-
fillMd
|
|
33
|
-
fillIos
|
|
34
|
-
large
|
|
35
|
-
largeMd
|
|
36
|
-
largeIos
|
|
37
|
-
small
|
|
38
|
-
smallMd
|
|
39
|
-
smallIos
|
|
40
|
-
raised
|
|
41
|
-
raisedMd
|
|
42
|
-
raisedIos
|
|
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
|
|
51
|
-
onInput
|
|
52
|
-
onChange
|
|
53
|
-
onStepperMinusClick
|
|
54
|
-
onStepperPlusClick
|
|
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
|
|
61
|
-
|
|
70
|
+
StepperProps,
|
|
71
|
+
StepperEvents,
|
|
62
72
|
{ }
|
|
63
73
|
> {}
|
|
64
74
|
|
|
@@ -1,80 +1,79 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import {
|
|
2
|
+
import { onMount, onDestroy } from 'svelte';
|
|
3
3
|
import { colorClasses } from '../shared/mixins.js';
|
|
4
|
-
import { classNames, noUndefinedProps
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
84
|
+
$effect(() => watchValue(value));
|
|
86
85
|
|
|
87
86
|
function onInput(event) {
|
|
88
|
-
|
|
87
|
+
restProps.onInput?.(event, f7Stepper);
|
|
88
|
+
restProps.oninput?.(event, f7Stepper);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
function onChange(event) {
|
|
92
|
-
|
|
92
|
+
restProps.onChange?.(event, f7Stepper);
|
|
93
|
+
restProps.onchange?.(event, f7Stepper);
|
|
93
94
|
}
|
|
94
95
|
|
|
95
96
|
function onMinusClick(event) {
|
|
96
|
-
|
|
97
|
+
restProps.onStepperMinusClick?.(event, f7Stepper);
|
|
98
|
+
restProps.onstepperminusclick?.(event, f7Stepper);
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
function onPlusClick(event) {
|
|
100
|
-
|
|
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
|
-
|
|
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
|
|
140
|
-
<div
|
|
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
|
-
|
|
151
|
-
|
|
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">{
|
|
162
|
+
<div class="stepper-value">{value}</div>
|
|
159
163
|
{/if}
|
|
160
|
-
<div
|
|
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
|
|
7
|
-
|
|
8
|
-
|
|
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
|
|
23
|
-
|
|
24
|
-
{
|
|
27
|
+
SubnavbarProps,
|
|
28
|
+
SubnavbarEvents,
|
|
29
|
+
{ }
|
|
25
30
|
> {}
|
|
26
31
|
|
|
27
32
|
export { SubnavbarProps };
|