framework7-svelte 8.3.4 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion-content.d.ts +11 -5
- package/components/accordion-content.svelte +8 -6
- package/components/accordion-item.d.ts +23 -11
- package/components/accordion-item.svelte +27 -25
- package/components/accordion-toggle.d.ts +11 -5
- package/components/accordion-toggle.svelte +8 -6
- package/components/accordion.d.ts +11 -5
- package/components/accordion.svelte +11 -10
- package/components/actions-button.d.ts +14 -6
- package/components/actions-button.svelte +21 -19
- package/components/actions-group.d.ts +11 -5
- package/components/actions-group.svelte +4 -7
- package/components/actions-label.d.ts +11 -5
- package/components/actions-label.svelte +13 -23
- package/components/actions.d.ts +31 -21
- package/components/actions.svelte +50 -54
- package/components/app.d.ts +11 -5
- package/components/app.svelte +6 -7
- package/components/area-chart.d.ts +13 -6
- package/components/area-chart.svelte +42 -46
- package/components/badge.d.ts +11 -5
- package/components/badge.svelte +10 -9
- package/components/block-footer.d.ts +11 -5
- package/components/block-footer.svelte +8 -6
- package/components/block-header.d.ts +11 -5
- package/components/block-header.svelte +8 -6
- package/components/block-title.d.ts +11 -5
- package/components/block-title.svelte +12 -10
- package/components/block.d.ts +11 -5
- package/components/block.svelte +76 -76
- package/components/breadcrumbs-collapsed.d.ts +12 -6
- package/components/breadcrumbs-collapsed.svelte +10 -15
- package/components/breadcrumbs-item.d.ts +12 -6
- package/components/breadcrumbs-item.svelte +9 -8
- package/components/breadcrumbs-separator.d.ts +10 -5
- package/components/breadcrumbs-separator.svelte +9 -5
- package/components/breadcrumbs.d.ts +11 -6
- package/components/breadcrumbs.svelte +8 -6
- package/components/button.d.ts +44 -37
- package/components/button.svelte +107 -103
- package/components/card-content.d.ts +11 -5
- package/components/card-content.svelte +11 -10
- package/components/card-footer.d.ts +11 -5
- package/components/card-footer.svelte +8 -6
- package/components/card-header.d.ts +11 -5
- package/components/card-header.svelte +8 -6
- package/components/card.d.ts +43 -31
- package/components/card.svelte +78 -67
- package/components/checkbox.d.ts +20 -13
- package/components/checkbox.svelte +32 -30
- package/components/chip.d.ts +22 -15
- package/components/chip.svelte +54 -60
- package/components/fab-backdrop.d.ts +10 -5
- package/components/fab-backdrop.svelte +5 -7
- package/components/fab-button.d.ts +17 -11
- package/components/fab-button.svelte +20 -29
- package/components/fab-buttons.d.ts +11 -5
- package/components/fab-buttons.svelte +5 -12
- package/components/fab.d.ts +22 -13
- package/components/fab.svelte +55 -51
- package/components/gauge.d.ts +24 -19
- package/components/gauge.svelte +25 -25
- package/components/icon.d.ts +19 -13
- package/components/icon.svelte +65 -63
- package/components/input.d.ts +78 -61
- package/components/input.svelte +171 -154
- package/components/link.d.ts +28 -21
- package/components/link.svelte +67 -65
- package/components/list-button.d.ts +22 -15
- package/components/list-button.svelte +56 -44
- package/components/list-group.d.ts +16 -10
- package/components/list-group.svelte +38 -34
- package/components/list-index.d.ts +20 -13
- package/components/list-index.svelte +23 -24
- package/components/list-input.d.ts +91 -64
- package/components/list-input.svelte +254 -205
- package/components/list-item.d.ts +98 -63
- package/components/list-item.svelte +412 -439
- package/components/list.d.ts +72 -54
- package/components/list.svelte +151 -147
- package/components/login-screen-title.d.ts +11 -5
- package/components/login-screen-title.svelte +4 -6
- package/components/login-screen.d.ts +20 -10
- package/components/login-screen.svelte +39 -42
- package/components/message.d.ts +48 -29
- package/components/message.svelte +123 -88
- package/components/messagebar-attachment.d.ts +17 -9
- package/components/messagebar-attachment.svelte +16 -18
- package/components/messagebar-attachments.d.ts +11 -5
- package/components/messagebar-attachments.svelte +6 -6
- package/components/messagebar-sheet-image.d.ts +19 -10
- package/components/messagebar-sheet-image.svelte +30 -22
- package/components/messagebar-sheet-item.d.ts +11 -5
- package/components/messagebar-sheet-item.svelte +4 -6
- package/components/messagebar-sheet.d.ts +11 -5
- package/components/messagebar-sheet.svelte +4 -6
- package/components/messagebar.d.ts +53 -31
- package/components/messagebar.svelte +100 -77
- package/components/messages-title.d.ts +11 -5
- package/components/messages-title.svelte +4 -6
- package/components/messages.d.ts +26 -20
- package/components/messages.svelte +32 -32
- package/components/nav-left.d.ts +19 -12
- package/components/nav-left.svelte +23 -39
- package/components/nav-right.d.ts +11 -6
- package/components/nav-right.svelte +4 -15
- package/components/nav-title-large.d.ts +11 -5
- package/components/nav-title-large.svelte +4 -6
- package/components/nav-title.d.ts +13 -8
- package/components/nav-title.svelte +25 -20
- package/components/navbar.d.ts +47 -28
- package/components/navbar.svelte +100 -111
- package/components/page-content.d.ts +41 -29
- package/components/page-content.svelte +58 -50
- package/components/page.d.ts +71 -46
- package/components/page.svelte +102 -82
- package/components/panel.d.ts +51 -35
- package/components/panel.svelte +94 -99
- package/components/photo-browser.d.ts +50 -41
- package/components/photo-browser.svelte +48 -47
- package/components/pie-chart.d.ts +13 -6
- package/components/pie-chart.svelte +29 -27
- package/components/popover.d.ts +28 -19
- package/components/popover.svelte +45 -48
- package/components/popup.d.ts +37 -23
- package/components/popup.svelte +68 -57
- package/components/preloader.d.ts +10 -5
- package/components/preloader.svelte +30 -31
- package/components/progressbar.d.ts +11 -6
- package/components/progressbar.svelte +13 -17
- package/components/radio.d.ts +19 -12
- package/components/radio.svelte +19 -23
- package/components/range.d.ts +35 -27
- package/components/range.svelte +47 -44
- package/components/routable-modals.d.ts +9 -4
- package/components/routable-modals.svelte +9 -8
- package/components/router-context-provider.d.ts +11 -6
- package/components/router-context-provider.svelte +2 -4
- package/components/searchbar.d.ts +60 -43
- package/components/searchbar.svelte +115 -104
- package/components/segmented.d.ts +21 -15
- package/components/segmented.svelte +38 -35
- package/components/sheet.d.ts +47 -30
- package/components/sheet.svelte +94 -76
- package/components/snippet-render.d.ts +24 -0
- package/components/snippet-render.svelte +9 -0
- package/components/stepper.d.ts +53 -43
- package/components/stepper.svelte +83 -79
- package/components/subnavbar.d.ts +13 -8
- package/components/subnavbar.svelte +12 -20
- package/components/swipeout-actions.d.ts +14 -8
- package/components/swipeout-actions.svelte +14 -13
- package/components/swipeout-button.d.ts +20 -13
- package/components/swipeout-button.svelte +31 -31
- package/components/tab.d.ts +14 -8
- package/components/tab.svelte +20 -28
- package/components/tabs.d.ts +15 -9
- package/components/tabs.svelte +27 -26
- package/components/text-editor.d.ts +44 -24
- package/components/text-editor.svelte +56 -41
- package/components/toggle.d.ts +22 -15
- package/components/toggle.svelte +33 -37
- package/components/toolbar-pane.d.ts +24 -0
- package/components/toolbar-pane.svelte +14 -0
- package/components/toolbar.d.ts +30 -20
- package/components/toolbar.svelte +61 -53
- package/components/treeview-item.d.ts +36 -17
- package/components/treeview-item.svelte +101 -81
- package/components/treeview.d.ts +11 -5
- package/components/treeview.svelte +4 -6
- package/components/use-icon.d.ts +9 -4
- package/components/use-icon.svelte +1 -1
- package/components/view.d.ts +76 -65
- package/components/view.svelte +66 -48
- package/components/views.d.ts +11 -5
- package/components/views.svelte +12 -15
- package/framework7-svelte.d.ts +3 -1
- package/framework7-svelte.js +6 -4
- package/package.json +2 -2
- package/shared/components-router.js +28 -25
- package/shared/f7.js +1 -7
- package/shared/mixins.js +5 -5
- package/shared/modal-state-classes.js +4 -5
- package/shared/plugin.js +1 -4
- package/shared/rest-props.js +1 -4
- package/shared/use-icon.js +2 -5
- package/shared/use-store.js +9 -9
- package/shared/use-tab.js +3 -3
- package/shared/use-tooltip.js +3 -4
- package/shared/utils.js +2 -8
- package/shared/get-reactive-context.js +0 -16
- package/shared/list-context.js +0 -10
- package/shared/router-context.js +0 -8
- package/shared/set-reactive-context.js +0 -26
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script>
|
|
2
|
-
import {
|
|
2
|
+
import { onMount, onDestroy, getContext } from 'svelte';
|
|
3
3
|
import {
|
|
4
4
|
colorClasses,
|
|
5
5
|
routerClasses,
|
|
@@ -7,159 +7,171 @@
|
|
|
7
7
|
actionsClasses,
|
|
8
8
|
actionsAttrs,
|
|
9
9
|
} from '../shared/mixins.js';
|
|
10
|
-
|
|
11
|
-
import {
|
|
10
|
+
|
|
11
|
+
import { classNames, isStringProp } from '../shared/utils.js';
|
|
12
12
|
import { app, f7ready } from '../shared/f7.js';
|
|
13
13
|
import { useTooltip } from '../shared/use-tooltip.js';
|
|
14
14
|
import { useSmartSelect } from '../shared/use-smart-select.js';
|
|
15
15
|
import { useRouteProps } from '../shared/use-route-props.js';
|
|
16
|
-
import { getReactiveContext } from '../shared/get-reactive-context.js';
|
|
17
16
|
|
|
18
17
|
import Badge from './badge.svelte';
|
|
18
|
+
import SnippetRender from './snippet-render.svelte';
|
|
19
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
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// Inputs
|
|
67
|
-
export let checkbox = undefined;
|
|
68
|
-
export let checkboxIcon = undefined;
|
|
69
|
-
export let radio = undefined;
|
|
70
|
-
export let radioIcon = undefined;
|
|
71
|
-
export let checked = undefined;
|
|
72
|
-
export let indeterminate = undefined;
|
|
73
|
-
export let name = undefined;
|
|
74
|
-
export let value = undefined;
|
|
75
|
-
export let readonly = undefined;
|
|
76
|
-
export let required = undefined;
|
|
77
|
-
export let disabled = undefined;
|
|
78
|
-
export let virtualListIndex = undefined;
|
|
20
|
+
let {
|
|
21
|
+
class: className,
|
|
22
|
+
title = undefined,
|
|
23
|
+
text = undefined,
|
|
24
|
+
media = undefined,
|
|
25
|
+
subtitle = undefined,
|
|
26
|
+
header = undefined,
|
|
27
|
+
footer = undefined,
|
|
28
|
+
tooltip = undefined,
|
|
29
|
+
tooltipTrigger = undefined,
|
|
30
|
+
link = undefined,
|
|
31
|
+
tabLink = undefined,
|
|
32
|
+
tabLinkActive = false,
|
|
33
|
+
selected = false,
|
|
34
|
+
href = undefined,
|
|
35
|
+
target = undefined,
|
|
36
|
+
after = undefined,
|
|
37
|
+
badge = undefined,
|
|
38
|
+
badgeColor = undefined,
|
|
39
|
+
mediaItem = false,
|
|
40
|
+
mediaList = false,
|
|
41
|
+
groupTitle = false,
|
|
42
|
+
swipeout = false,
|
|
43
|
+
swipeoutOpened = false,
|
|
44
|
+
sortable = undefined,
|
|
45
|
+
sortableOpposite = undefined,
|
|
46
|
+
accordionItem = false,
|
|
47
|
+
accordionItemOpened = false,
|
|
48
|
+
smartSelect = false,
|
|
49
|
+
smartSelectParams = undefined,
|
|
50
|
+
noChevron = undefined,
|
|
51
|
+
chevronCenter = undefined,
|
|
52
|
+
checkbox = undefined,
|
|
53
|
+
checkboxIcon = undefined,
|
|
54
|
+
radio = undefined,
|
|
55
|
+
radioIcon = undefined,
|
|
56
|
+
checked = undefined,
|
|
57
|
+
indeterminate = undefined,
|
|
58
|
+
name = undefined,
|
|
59
|
+
value = undefined,
|
|
60
|
+
readonly = undefined,
|
|
61
|
+
required = undefined,
|
|
62
|
+
disabled = undefined,
|
|
63
|
+
virtualListIndex = undefined,
|
|
64
|
+
routeProps = undefined,
|
|
79
65
|
|
|
80
|
-
|
|
66
|
+
contentStart,
|
|
67
|
+
content,
|
|
68
|
+
contentEnd,
|
|
69
|
+
innerStart,
|
|
70
|
+
inner,
|
|
71
|
+
innerEnd,
|
|
72
|
+
root,
|
|
73
|
+
rootStart,
|
|
74
|
+
rootEnd,
|
|
75
|
+
beforeTitle,
|
|
76
|
+
afterTitle,
|
|
77
|
+
afterStart,
|
|
78
|
+
afterEnd,
|
|
79
|
+
children,
|
|
80
|
+
...restProps
|
|
81
|
+
} = $props();
|
|
81
82
|
|
|
82
|
-
let el;
|
|
83
|
-
let linkEl;
|
|
84
|
-
let innerEl;
|
|
83
|
+
let el = $state(undefined);
|
|
84
|
+
let linkEl = $state(undefined);
|
|
85
|
+
let innerEl = $state(undefined);
|
|
85
86
|
let inputEl;
|
|
86
87
|
|
|
87
|
-
let f7SmartSelect;
|
|
88
|
+
let f7SmartSelect = $state(undefined);
|
|
88
89
|
|
|
89
90
|
export function smartSelectInstance() {
|
|
90
91
|
return f7SmartSelect;
|
|
91
92
|
}
|
|
92
93
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
const ListContext =
|
|
95
|
+
getContext('ListContext') ||
|
|
96
|
+
(() => ({
|
|
97
|
+
value: {},
|
|
98
|
+
}));
|
|
97
99
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
const isMedia = $derived(mediaList || mediaItem || ListContext().value.listIsMedia);
|
|
101
|
+
const isSortable = $derived(
|
|
102
|
+
sortable === true || sortable === false ? sortable : ListContext().value.listIsSortable,
|
|
103
|
+
);
|
|
104
|
+
const isSortableOpposite = $derived(
|
|
105
|
+
sortableOpposite || ListContext().value.listIsSortableOpposite,
|
|
106
|
+
);
|
|
107
|
+
const isSimple = $derived(ListContext().value.listIsSimple);
|
|
102
108
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
109
|
+
const liClasses = $derived(
|
|
110
|
+
classNames(
|
|
111
|
+
className,
|
|
112
|
+
{
|
|
113
|
+
'list-group-title': groupTitle,
|
|
114
|
+
'media-item': isMedia,
|
|
115
|
+
swipeout,
|
|
116
|
+
'accordion-item': accordionItem,
|
|
117
|
+
'accordion-item-opened': accordionItemOpened,
|
|
118
|
+
disabled: disabled && !(radio || checkbox),
|
|
119
|
+
'no-chevron': noChevron,
|
|
120
|
+
'chevron-center': chevronCenter,
|
|
121
|
+
'disallow-sorting': sortable === false,
|
|
122
|
+
},
|
|
123
|
+
colorClasses(restProps),
|
|
124
|
+
),
|
|
117
125
|
);
|
|
118
126
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
const contentClasses = $derived(
|
|
128
|
+
classNames(
|
|
129
|
+
className,
|
|
130
|
+
'item-content',
|
|
131
|
+
{
|
|
132
|
+
'item-checkbox': checkbox,
|
|
133
|
+
'item-radio': radio,
|
|
134
|
+
'item-checkbox-icon-start': checkbox && checkboxIcon === 'start',
|
|
135
|
+
'item-checkbox-icon-end': checkbox && checkboxIcon === 'end',
|
|
136
|
+
'item-radio-icon-start': radio && radioIcon === 'start',
|
|
137
|
+
'item-radio-icon-end': radio && radioIcon === 'end',
|
|
138
|
+
},
|
|
139
|
+
colorClasses(restProps),
|
|
140
|
+
),
|
|
131
141
|
);
|
|
132
142
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
+
const linkClasses = $derived(
|
|
144
|
+
classNames(
|
|
145
|
+
{
|
|
146
|
+
'item-link': true,
|
|
147
|
+
'smart-select': smartSelect,
|
|
148
|
+
'tab-link': tabLink || tabLink === '',
|
|
149
|
+
'tab-link-active': tabLinkActive,
|
|
150
|
+
'item-selected': selected,
|
|
151
|
+
},
|
|
152
|
+
routerClasses(restProps),
|
|
153
|
+
actionsClasses(restProps),
|
|
154
|
+
),
|
|
143
155
|
);
|
|
144
156
|
|
|
145
|
-
|
|
157
|
+
const linkAttrs = $derived({
|
|
146
158
|
href: href === false ? undefined : link === true ? href || '' : link || href,
|
|
147
159
|
target,
|
|
148
160
|
'data-tab': (isStringProp(tabLink) && tabLink) || undefined,
|
|
149
|
-
...routerAttrs(
|
|
150
|
-
...actionsAttrs(
|
|
151
|
-
};
|
|
161
|
+
...routerAttrs(restProps),
|
|
162
|
+
...actionsAttrs(restProps),
|
|
163
|
+
});
|
|
152
164
|
|
|
153
|
-
|
|
165
|
+
const isLink = $derived(link || href || smartSelect || accordionItem);
|
|
154
166
|
|
|
155
167
|
/* eslint-disable no-undef */
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
168
|
+
const hasMedia = $derived(typeof media !== 'undefined');
|
|
169
|
+
const hasTitle = $derived(typeof title !== 'undefined');
|
|
170
|
+
const hasHeader = $derived(typeof header !== 'undefined');
|
|
171
|
+
const hasFooter = $derived(typeof footer !== 'undefined');
|
|
172
|
+
const hasSubtitle = $derived(typeof subtitle !== 'undefined');
|
|
173
|
+
const hasText = $derived(typeof text !== 'undefined');
|
|
174
|
+
const hasAfter = $derived(typeof after !== 'undefined' || typeof badge !== 'undefined');
|
|
163
175
|
/* eslint-enable no-undef */
|
|
164
176
|
|
|
165
177
|
let initialWatchedOpened = false;
|
|
@@ -175,84 +187,103 @@
|
|
|
175
187
|
app.f7.swipeout.close(el);
|
|
176
188
|
}
|
|
177
189
|
}
|
|
178
|
-
|
|
190
|
+
$effect(() => watchSwipeoutOpened(swipeoutOpened));
|
|
179
191
|
|
|
180
192
|
function onClick(event) {
|
|
181
193
|
if (event.target.tagName.toLowerCase() !== 'input') {
|
|
182
|
-
|
|
194
|
+
restProps.onClick?.(event);
|
|
195
|
+
restProps.onclick?.(event);
|
|
183
196
|
}
|
|
184
197
|
}
|
|
185
198
|
function onSwipeoutOverswipeEnter(eventEl) {
|
|
186
199
|
if (eventEl !== el) return;
|
|
187
|
-
|
|
200
|
+
restProps.onSwipeoutOverswipeEnter?.(event);
|
|
201
|
+
restProps.onswipeoutoverswipeenter?.(event);
|
|
188
202
|
}
|
|
189
203
|
function onSwipeoutOverswipeExit(eventEl) {
|
|
190
204
|
if (eventEl !== el) return;
|
|
191
|
-
|
|
205
|
+
restProps.onSwipeoutOverswipeExit?.(event);
|
|
206
|
+
restProps.onswipeoutoverswipeexit?.(event);
|
|
192
207
|
}
|
|
193
208
|
function onSwipeoutDeleted(eventEl) {
|
|
194
209
|
if (eventEl !== el) return;
|
|
195
|
-
|
|
210
|
+
restProps.onSwipeoutDeleted?.(event);
|
|
211
|
+
restProps.onswipeoutdeleted?.(event);
|
|
196
212
|
}
|
|
197
213
|
function onSwipeoutDelete(eventEl) {
|
|
198
214
|
if (eventEl !== el) return;
|
|
199
|
-
|
|
215
|
+
restProps.onSwipeoutDelete?.(event);
|
|
216
|
+
restProps.onswipeoutdelete?.(event);
|
|
200
217
|
}
|
|
201
218
|
function onSwipeoutClose(eventEl) {
|
|
202
219
|
if (eventEl !== el) return;
|
|
203
|
-
|
|
220
|
+
restProps.onSwipeoutClose?.(event);
|
|
221
|
+
restProps.onswipeoutclose?.(event);
|
|
204
222
|
}
|
|
205
223
|
function onSwipeoutClosed(eventEl) {
|
|
206
224
|
if (eventEl !== el) return;
|
|
207
|
-
|
|
225
|
+
restProps.onSwipeoutClosed?.(event);
|
|
226
|
+
restProps.onswipeoutclosed?.(event);
|
|
208
227
|
}
|
|
209
228
|
function onSwipeoutOpen(eventEl) {
|
|
210
229
|
if (eventEl !== el) return;
|
|
211
|
-
|
|
230
|
+
restProps.onSwipeoutOpen?.(event);
|
|
231
|
+
restProps.onswipeoutopen?.(event);
|
|
212
232
|
}
|
|
213
233
|
function onSwipeoutOpened(eventEl) {
|
|
214
234
|
if (eventEl !== el) return;
|
|
215
|
-
|
|
235
|
+
restProps.onSwipeoutOpened?.(event);
|
|
236
|
+
restProps.onswipeoutopened?.(event);
|
|
216
237
|
}
|
|
217
238
|
function onSwipeout(eventEl, progress) {
|
|
218
239
|
if (eventEl !== el) return;
|
|
219
|
-
|
|
240
|
+
restProps.onSwipeout?.(progress);
|
|
241
|
+
restProps.onswipeout?.(progress);
|
|
220
242
|
}
|
|
221
243
|
function onAccBeforeClose(eventEl, prevent) {
|
|
222
244
|
if (eventEl !== el) return;
|
|
223
|
-
|
|
245
|
+
restProps.onAccordionBeforeClose?.(prevent);
|
|
246
|
+
restProps.onaccordionbeforeclose?.(prevent);
|
|
224
247
|
}
|
|
225
248
|
function onAccClose(eventEl) {
|
|
226
249
|
if (eventEl !== el) return;
|
|
227
|
-
|
|
250
|
+
restProps.onAccordionClose?.(event);
|
|
251
|
+
restProps.onaccordionclose?.(event);
|
|
228
252
|
}
|
|
229
253
|
function onAccClosed(eventEl) {
|
|
230
254
|
if (eventEl !== el) return;
|
|
231
|
-
|
|
255
|
+
restProps.onAccordionClosed?.(event);
|
|
256
|
+
restProps.onaccordionclosed?.(event);
|
|
232
257
|
}
|
|
233
258
|
function onAccBeforeOpen(eventEl, prevent) {
|
|
234
259
|
if (eventEl !== el) return;
|
|
235
|
-
|
|
260
|
+
restProps.onAccordionBeforeOpen?.(prevent);
|
|
261
|
+
restProps.onaccordionbeforeopen?.(prevent);
|
|
236
262
|
}
|
|
237
263
|
function onAccOpen(eventEl) {
|
|
238
264
|
if (eventEl !== el) return;
|
|
239
|
-
|
|
265
|
+
restProps.onAccordionOpen?.(event);
|
|
266
|
+
restProps.onaccordionopen?.(event);
|
|
240
267
|
}
|
|
241
268
|
function onAccOpened(eventEl) {
|
|
242
269
|
if (eventEl !== el) return;
|
|
243
|
-
|
|
270
|
+
restProps.onAccordionOpened?.(event);
|
|
271
|
+
restProps.onaccordionopened?.(event);
|
|
244
272
|
}
|
|
245
273
|
function onChange(event) {
|
|
246
|
-
|
|
274
|
+
restProps.onChange?.(event);
|
|
275
|
+
restProps.onchange?.(event);
|
|
247
276
|
checked = event.target.checked;
|
|
248
277
|
}
|
|
249
278
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
279
|
+
$effect(() =>
|
|
280
|
+
useSmartSelect(
|
|
281
|
+
{ smartSelect, smartSelectParams },
|
|
282
|
+
(instance) => {
|
|
283
|
+
f7SmartSelect = instance;
|
|
284
|
+
},
|
|
285
|
+
() => linkEl,
|
|
286
|
+
),
|
|
256
287
|
);
|
|
257
288
|
|
|
258
289
|
onMount(() => {
|
|
@@ -285,7 +316,7 @@
|
|
|
285
316
|
});
|
|
286
317
|
});
|
|
287
318
|
|
|
288
|
-
|
|
319
|
+
$effect(() => {
|
|
289
320
|
if (inputEl) {
|
|
290
321
|
inputEl.indeterminate = indeterminate;
|
|
291
322
|
}
|
|
@@ -315,29 +346,36 @@
|
|
|
315
346
|
});
|
|
316
347
|
</script>
|
|
317
348
|
|
|
349
|
+
<!-- svelte-ignore a11y_click_events_have_key_events -->
|
|
350
|
+
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
|
|
351
|
+
<!-- svelte-ignore a11y_no_static_element_interactions -->
|
|
352
|
+
|
|
318
353
|
<!-- svelte-ignore a11y-missing-attribute -->
|
|
319
354
|
{#if groupTitle}
|
|
320
355
|
<li
|
|
321
|
-
|
|
356
|
+
onclick={onClick}
|
|
322
357
|
bind:this={el}
|
|
323
358
|
use:useTooltip={{ tooltip, tooltipTrigger }}
|
|
324
359
|
class={liClasses}
|
|
325
360
|
data-virtual-list-index={virtualListIndex}
|
|
326
|
-
{...restProps
|
|
361
|
+
{...restProps}
|
|
327
362
|
>
|
|
328
|
-
<span
|
|
363
|
+
<span>
|
|
364
|
+
<SnippetRender content={title} />
|
|
365
|
+
{@render children?.()}
|
|
366
|
+
</span>
|
|
329
367
|
</li>
|
|
330
368
|
{:else if isSimple}
|
|
331
369
|
<li
|
|
332
|
-
|
|
370
|
+
onclick={onClick}
|
|
333
371
|
bind:this={el}
|
|
334
372
|
use:useTooltip={{ tooltip, tooltipTrigger }}
|
|
335
373
|
class={liClasses}
|
|
336
374
|
data-virtual-list-index={virtualListIndex}
|
|
337
|
-
{...restProps
|
|
375
|
+
{...restProps}
|
|
338
376
|
>
|
|
339
|
-
{
|
|
340
|
-
|
|
377
|
+
<SnippetRender content={title} />
|
|
378
|
+
{@render children?.()}
|
|
341
379
|
</li>
|
|
342
380
|
{:else}
|
|
343
381
|
<li
|
|
@@ -345,9 +383,9 @@
|
|
|
345
383
|
use:useTooltip={{ tooltip, tooltipTrigger }}
|
|
346
384
|
class={liClasses}
|
|
347
385
|
data-virtual-list-index={virtualListIndex}
|
|
348
|
-
{...restProps
|
|
386
|
+
{...restProps}
|
|
349
387
|
>
|
|
350
|
-
<
|
|
388
|
+
<SnippetRender content={rootStart} />
|
|
351
389
|
{#if swipeout}
|
|
352
390
|
<div class="swipeout-content">
|
|
353
391
|
{#if isLink}
|
|
@@ -356,127 +394,117 @@
|
|
|
356
394
|
use:useRouteProps={routeProps}
|
|
357
395
|
class={linkClasses}
|
|
358
396
|
{...linkAttrs}
|
|
359
|
-
|
|
397
|
+
onclick={onClick}
|
|
360
398
|
>
|
|
361
399
|
<!-- Item content start -->
|
|
362
400
|
<div class={contentClasses}>
|
|
363
|
-
<
|
|
401
|
+
<SnippetRender content={contentStart} />
|
|
364
402
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
365
403
|
<div class="sortable-handler" />
|
|
366
404
|
{/if}
|
|
367
405
|
{#if hasMedia}
|
|
368
406
|
<div class="item-media">
|
|
369
|
-
{#if typeof media
|
|
407
|
+
{#if typeof media === 'function'}
|
|
408
|
+
{@render media?.()}
|
|
409
|
+
{:else if typeof media === 'string'}
|
|
370
410
|
<img src={media} />
|
|
371
411
|
{/if}
|
|
372
|
-
<slot name="media" />
|
|
373
412
|
</div>
|
|
374
413
|
{/if}
|
|
375
414
|
<div bind:this={innerEl} class="item-inner">
|
|
376
|
-
<
|
|
415
|
+
<SnippetRender content={innerStart} />
|
|
377
416
|
{#if isMedia}
|
|
378
417
|
{#if hasHeader}
|
|
379
418
|
<div class="item-header">
|
|
380
|
-
{
|
|
381
|
-
<slot name="header" />
|
|
419
|
+
<SnippetRender content={header} />
|
|
382
420
|
</div>
|
|
383
421
|
{/if}
|
|
384
422
|
<div class="item-title-row">
|
|
385
|
-
<
|
|
423
|
+
<SnippetRender content={beforeTitle} />
|
|
386
424
|
{#if hasTitle}
|
|
387
425
|
<div class="item-title">
|
|
388
|
-
{
|
|
389
|
-
<slot name="title" />
|
|
426
|
+
<SnippetRender content={title} />
|
|
390
427
|
</div>
|
|
391
428
|
{/if}
|
|
392
|
-
<
|
|
429
|
+
<SnippetRender content={afterTitle} />
|
|
393
430
|
{#if hasAfter}
|
|
394
431
|
<div class="item-after">
|
|
395
|
-
<
|
|
396
|
-
{
|
|
397
|
-
<span>{plainText(after)}</span>
|
|
398
|
-
{/if}
|
|
432
|
+
<SnippetRender content={afterStart} />
|
|
433
|
+
<SnippetRender content={after} />
|
|
399
434
|
{#if typeof badge !== 'undefined'}
|
|
400
|
-
<Badge color={badgeColor}
|
|
435
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
401
436
|
{/if}
|
|
402
|
-
|
|
403
|
-
<
|
|
437
|
+
|
|
438
|
+
<SnippetRender content={afterEnd} />
|
|
404
439
|
</div>
|
|
405
440
|
{/if}
|
|
406
441
|
</div>
|
|
407
442
|
{#if hasSubtitle}
|
|
408
443
|
<div class="item-subtitle">
|
|
409
|
-
{
|
|
410
|
-
<slot name="subtitle" />
|
|
444
|
+
<SnippetRender content={subtitle} />
|
|
411
445
|
</div>
|
|
412
446
|
{/if}
|
|
413
447
|
{#if hasText}
|
|
414
448
|
<div class="item-text">
|
|
415
|
-
{
|
|
416
|
-
<slot name="text" />
|
|
449
|
+
<SnippetRender content={text} />
|
|
417
450
|
</div>
|
|
418
451
|
{/if}
|
|
419
|
-
<
|
|
452
|
+
<SnippetRender content={inner} />
|
|
420
453
|
{#if !(swipeout || accordionItem)}
|
|
421
|
-
|
|
454
|
+
{@render children?.()}
|
|
422
455
|
{/if}
|
|
423
456
|
{#if hasFooter}
|
|
424
457
|
<div class="item-footer">
|
|
425
|
-
{
|
|
426
|
-
<slot name="footer" />
|
|
458
|
+
<SnippetRender content={footer} />
|
|
427
459
|
</div>
|
|
428
460
|
{/if}
|
|
429
461
|
{:else}
|
|
430
|
-
<
|
|
462
|
+
<SnippetRender content={beforeTitle} />
|
|
431
463
|
{#if hasTitle || hasHeader || hasFooter}
|
|
432
464
|
<div class="item-title">
|
|
433
465
|
{#if hasHeader}
|
|
434
466
|
<div class="item-header">
|
|
435
|
-
{
|
|
436
|
-
<slot name="header" />
|
|
467
|
+
<SnippetRender content={header} />
|
|
437
468
|
</div>
|
|
438
469
|
{/if}
|
|
439
|
-
{
|
|
440
|
-
<slot name="title" />
|
|
470
|
+
<SnippetRender content={title} />
|
|
441
471
|
{#if hasFooter}
|
|
442
472
|
<div class="item-footer">
|
|
443
|
-
{
|
|
444
|
-
<slot name="footer" />
|
|
473
|
+
<SnippetRender content={footer} />
|
|
445
474
|
</div>
|
|
446
475
|
{/if}
|
|
447
476
|
</div>
|
|
448
477
|
{/if}
|
|
449
|
-
<
|
|
478
|
+
<SnippetRender content={afterTitle} />
|
|
450
479
|
{#if hasAfter}
|
|
451
480
|
<div class="item-after">
|
|
452
|
-
<
|
|
453
|
-
{
|
|
454
|
-
<span>{plainText(after)}</span>
|
|
455
|
-
{/if}
|
|
481
|
+
<SnippetRender content={afterStart} />
|
|
482
|
+
<SnippetRender content={after} />
|
|
456
483
|
{#if typeof badge !== 'undefined'}
|
|
457
|
-
<Badge color={badgeColor}
|
|
484
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
458
485
|
{/if}
|
|
459
|
-
|
|
460
|
-
<
|
|
486
|
+
|
|
487
|
+
<SnippetRender content={afterEnd} />
|
|
461
488
|
</div>
|
|
462
489
|
{/if}
|
|
463
|
-
<
|
|
490
|
+
<SnippetRender content={inner} />
|
|
464
491
|
{#if !(swipeout || accordionItem)}
|
|
465
|
-
|
|
492
|
+
{@render children?.()}
|
|
466
493
|
{/if}
|
|
467
494
|
{/if}
|
|
468
|
-
<
|
|
495
|
+
<SnippetRender content={innerEnd} />
|
|
469
496
|
</div>
|
|
470
|
-
|
|
471
|
-
<
|
|
497
|
+
<!-- prettier-ignore -->
|
|
498
|
+
<SnippetRender content={content} />
|
|
499
|
+
<SnippetRender content={contentEnd} />
|
|
472
500
|
</div>
|
|
473
501
|
<!-- Item content end -->
|
|
474
502
|
</a>
|
|
475
503
|
{:else}
|
|
476
504
|
<!-- Item content start -->
|
|
477
505
|
{#if checkbox || radio}
|
|
478
|
-
<label class={contentClasses}
|
|
479
|
-
<
|
|
506
|
+
<label class={contentClasses} onclick={onClick}>
|
|
507
|
+
<SnippetRender content={contentStart} />
|
|
480
508
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
481
509
|
<div class="sortable-handler" />
|
|
482
510
|
{/if}
|
|
@@ -489,226 +517,204 @@
|
|
|
489
517
|
{disabled}
|
|
490
518
|
{required}
|
|
491
519
|
type={radio ? 'radio' : 'checkbox'}
|
|
492
|
-
|
|
520
|
+
onchange={onChange}
|
|
493
521
|
/>
|
|
494
522
|
<i class={`icon icon-${radio ? 'radio' : 'checkbox'}`} />
|
|
495
523
|
{#if hasMedia}
|
|
496
524
|
<div class="item-media">
|
|
497
|
-
{#if typeof media
|
|
525
|
+
{#if typeof media === 'function'}
|
|
526
|
+
{@render media?.()}
|
|
527
|
+
{:else if typeof media === 'string'}
|
|
498
528
|
<img src={media} />
|
|
499
529
|
{/if}
|
|
500
|
-
<slot name="media" />
|
|
501
530
|
</div>
|
|
502
531
|
{/if}
|
|
503
532
|
<div bind:this={innerEl} class="item-inner">
|
|
504
|
-
<
|
|
533
|
+
<SnippetRender content={innerStart} />
|
|
505
534
|
{#if isMedia}
|
|
506
535
|
{#if hasHeader}
|
|
507
536
|
<div class="item-header">
|
|
508
|
-
{
|
|
509
|
-
<slot name="header" />
|
|
537
|
+
<SnippetRender content={header} />
|
|
510
538
|
</div>
|
|
511
539
|
{/if}
|
|
512
540
|
<div class="item-title-row">
|
|
513
|
-
<
|
|
541
|
+
<SnippetRender content={beforeTitle} />
|
|
514
542
|
{#if hasTitle}
|
|
515
543
|
<div class="item-title">
|
|
516
|
-
{
|
|
517
|
-
<slot name="title" />
|
|
544
|
+
<SnippetRender content={title} />
|
|
518
545
|
</div>
|
|
519
546
|
{/if}
|
|
520
|
-
<
|
|
547
|
+
<SnippetRender content={afterTitle} />
|
|
521
548
|
{#if hasAfter}
|
|
522
549
|
<div class="item-after">
|
|
523
|
-
<
|
|
524
|
-
{
|
|
525
|
-
<span>{plainText(after)}</span>
|
|
526
|
-
{/if}
|
|
550
|
+
<SnippetRender content={afterStart} />
|
|
551
|
+
<SnippetRender content={after} />
|
|
527
552
|
{#if typeof badge !== 'undefined'}
|
|
528
|
-
<Badge color={badgeColor}
|
|
553
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
529
554
|
{/if}
|
|
530
|
-
|
|
531
|
-
<
|
|
555
|
+
|
|
556
|
+
<SnippetRender content={afterEnd} />
|
|
532
557
|
</div>
|
|
533
558
|
{/if}
|
|
534
559
|
</div>
|
|
535
560
|
{#if hasSubtitle}
|
|
536
561
|
<div class="item-subtitle">
|
|
537
|
-
{
|
|
538
|
-
<slot name="subtitle" />
|
|
562
|
+
<SnippetRender content={subtitle} />
|
|
539
563
|
</div>
|
|
540
564
|
{/if}
|
|
541
565
|
{#if hasText}
|
|
542
566
|
<div class="item-text">
|
|
543
|
-
{
|
|
544
|
-
<slot name="text" />
|
|
567
|
+
<SnippetRender content={text} />
|
|
545
568
|
</div>
|
|
546
569
|
{/if}
|
|
547
|
-
<
|
|
570
|
+
<SnippetRender content={inner} />
|
|
548
571
|
{#if !(swipeout || accordionItem)}
|
|
549
|
-
|
|
572
|
+
{@render children?.()}
|
|
550
573
|
{/if}
|
|
551
574
|
{#if hasFooter}
|
|
552
575
|
<div class="item-footer">
|
|
553
|
-
{
|
|
554
|
-
<slot name="footer" />
|
|
576
|
+
<SnippetRender content={footer} />
|
|
555
577
|
</div>
|
|
556
578
|
{/if}
|
|
557
579
|
{:else}
|
|
558
|
-
<
|
|
580
|
+
<SnippetRender content={beforeTitle} />
|
|
559
581
|
{#if hasTitle || hasHeader || hasFooter}
|
|
560
582
|
<div class="item-title">
|
|
561
583
|
{#if hasHeader}
|
|
562
584
|
<div class="item-header">
|
|
563
|
-
{
|
|
564
|
-
<slot name="header" />
|
|
585
|
+
<SnippetRender content={header} />
|
|
565
586
|
</div>
|
|
566
587
|
{/if}
|
|
567
|
-
{
|
|
568
|
-
<slot name="title" />
|
|
588
|
+
<SnippetRender content={title} />
|
|
569
589
|
{#if hasFooter}
|
|
570
590
|
<div class="item-footer">
|
|
571
|
-
{
|
|
572
|
-
<slot name="footer" />
|
|
591
|
+
<SnippetRender content={footer} />
|
|
573
592
|
</div>
|
|
574
593
|
{/if}
|
|
575
594
|
</div>
|
|
576
595
|
{/if}
|
|
577
|
-
<
|
|
596
|
+
<SnippetRender content={afterTitle} />
|
|
578
597
|
{#if hasAfter}
|
|
579
598
|
<div class="item-after">
|
|
580
|
-
<
|
|
581
|
-
{
|
|
582
|
-
<span>{plainText(after)}</span>
|
|
583
|
-
{/if}
|
|
599
|
+
<SnippetRender content={afterStart} />
|
|
600
|
+
<SnippetRender content={after} />
|
|
584
601
|
{#if typeof badge !== 'undefined'}
|
|
585
|
-
<Badge color={badgeColor}
|
|
602
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
586
603
|
{/if}
|
|
587
|
-
|
|
588
|
-
<
|
|
604
|
+
|
|
605
|
+
<SnippetRender content={afterEnd} />
|
|
589
606
|
</div>
|
|
590
607
|
{/if}
|
|
591
|
-
<
|
|
608
|
+
<SnippetRender content={inner} />
|
|
592
609
|
{#if !(swipeout || accordionItem)}
|
|
593
|
-
|
|
610
|
+
{@render children?.()}
|
|
594
611
|
{/if}
|
|
595
612
|
{/if}
|
|
596
|
-
<
|
|
613
|
+
<SnippetRender content={innerEnd} />
|
|
597
614
|
</div>
|
|
598
|
-
<
|
|
599
|
-
<
|
|
615
|
+
<SnippetRender {content} />
|
|
616
|
+
<SnippetRender content={contentEnd} />
|
|
600
617
|
</label>
|
|
601
618
|
{:else}
|
|
602
|
-
<div class={contentClasses}
|
|
603
|
-
<
|
|
619
|
+
<div class={contentClasses} onclick={onClick}>
|
|
620
|
+
<SnippetRender content={contentStart} />
|
|
604
621
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
605
622
|
<div class="sortable-handler" />
|
|
606
623
|
{/if}
|
|
607
624
|
{#if hasMedia}
|
|
608
625
|
<div class="item-media">
|
|
609
|
-
{#if typeof media
|
|
626
|
+
{#if typeof media === 'function'}
|
|
627
|
+
{@render media?.()}
|
|
628
|
+
{:else if typeof media === 'string'}
|
|
610
629
|
<img src={media} />
|
|
611
630
|
{/if}
|
|
612
|
-
<slot name="media" />
|
|
613
631
|
</div>
|
|
614
632
|
{/if}
|
|
615
633
|
<div bind:this={innerEl} class="item-inner">
|
|
616
|
-
<
|
|
634
|
+
<SnippetRender content={innerStart} />
|
|
617
635
|
{#if isMedia}
|
|
618
636
|
{#if hasHeader}
|
|
619
637
|
<div class="item-header">
|
|
620
|
-
{
|
|
621
|
-
<slot name="header" />
|
|
638
|
+
<SnippetRender content={header} />
|
|
622
639
|
</div>
|
|
623
640
|
{/if}
|
|
624
641
|
<div class="item-title-row">
|
|
625
|
-
<
|
|
642
|
+
<SnippetRender content={beforeTitle} />
|
|
626
643
|
{#if hasTitle}
|
|
627
644
|
<div class="item-title">
|
|
628
|
-
{
|
|
629
|
-
<slot name="title" />
|
|
645
|
+
<SnippetRender content={title} />
|
|
630
646
|
</div>
|
|
631
647
|
{/if}
|
|
632
|
-
<
|
|
648
|
+
<SnippetRender content={afterTitle} />
|
|
633
649
|
{#if hasAfter}
|
|
634
650
|
<div class="item-after">
|
|
635
|
-
<
|
|
636
|
-
{
|
|
637
|
-
<span>{plainText(after)}</span>
|
|
638
|
-
{/if}
|
|
651
|
+
<SnippetRender content={afterStart} />
|
|
652
|
+
<SnippetRender content={after} />
|
|
639
653
|
{#if typeof badge !== 'undefined'}
|
|
640
|
-
<Badge color={badgeColor}
|
|
654
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
641
655
|
{/if}
|
|
642
|
-
|
|
643
|
-
<
|
|
656
|
+
|
|
657
|
+
<SnippetRender content={afterEnd} />
|
|
644
658
|
</div>
|
|
645
659
|
{/if}
|
|
646
660
|
</div>
|
|
647
661
|
{#if hasSubtitle}
|
|
648
662
|
<div class="item-subtitle">
|
|
649
|
-
{
|
|
650
|
-
<slot name="subtitle" />
|
|
663
|
+
<SnippetRender content={subtitle} />
|
|
651
664
|
</div>
|
|
652
665
|
{/if}
|
|
653
666
|
{#if hasText}
|
|
654
667
|
<div class="item-text">
|
|
655
|
-
{
|
|
656
|
-
<slot name="text" />
|
|
668
|
+
<SnippetRender content={text} />
|
|
657
669
|
</div>
|
|
658
670
|
{/if}
|
|
659
|
-
<
|
|
671
|
+
<SnippetRender content={inner} />
|
|
660
672
|
{#if !(swipeout || accordionItem)}
|
|
661
|
-
|
|
673
|
+
{@render children?.()}
|
|
662
674
|
{/if}
|
|
663
675
|
{#if hasFooter}
|
|
664
676
|
<div class="item-footer">
|
|
665
|
-
{
|
|
666
|
-
<slot name="footer" />
|
|
677
|
+
<SnippetRender content={footer} />
|
|
667
678
|
</div>
|
|
668
679
|
{/if}
|
|
669
680
|
{:else}
|
|
670
|
-
<
|
|
681
|
+
<SnippetRender content={beforeTitle} />
|
|
671
682
|
{#if hasTitle || hasHeader || hasFooter}
|
|
672
683
|
<div class="item-title">
|
|
673
684
|
{#if hasHeader}
|
|
674
685
|
<div class="item-header">
|
|
675
|
-
{
|
|
676
|
-
<slot name="header" />
|
|
686
|
+
<SnippetRender content={header} />
|
|
677
687
|
</div>
|
|
678
688
|
{/if}
|
|
679
|
-
{
|
|
680
|
-
<slot name="title" />
|
|
689
|
+
<SnippetRender content={title} />
|
|
681
690
|
{#if hasFooter}
|
|
682
691
|
<div class="item-footer">
|
|
683
|
-
{
|
|
684
|
-
<slot name="footer" />
|
|
692
|
+
<SnippetRender content={footer} />
|
|
685
693
|
</div>
|
|
686
694
|
{/if}
|
|
687
695
|
</div>
|
|
688
696
|
{/if}
|
|
689
|
-
<
|
|
697
|
+
<SnippetRender content={afterTitle} />
|
|
690
698
|
{#if hasAfter}
|
|
691
699
|
<div class="item-after">
|
|
692
|
-
<
|
|
693
|
-
{
|
|
694
|
-
<span>{plainText(after)}</span>
|
|
695
|
-
{/if}
|
|
700
|
+
<SnippetRender content={afterStart} />
|
|
701
|
+
<SnippetRender content={after} />
|
|
696
702
|
{#if typeof badge !== 'undefined'}
|
|
697
|
-
<Badge color={badgeColor}
|
|
703
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
698
704
|
{/if}
|
|
699
|
-
|
|
700
|
-
<
|
|
705
|
+
|
|
706
|
+
<SnippetRender content={afterEnd} />
|
|
701
707
|
</div>
|
|
702
708
|
{/if}
|
|
703
|
-
<
|
|
709
|
+
<SnippetRender content={inner} />
|
|
704
710
|
{#if !(swipeout || accordionItem)}
|
|
705
|
-
|
|
711
|
+
{@render children?.()}
|
|
706
712
|
{/if}
|
|
707
713
|
{/if}
|
|
708
|
-
<
|
|
714
|
+
<SnippetRender content={innerEnd} />
|
|
709
715
|
</div>
|
|
710
|
-
<
|
|
711
|
-
<
|
|
716
|
+
<SnippetRender {content} />
|
|
717
|
+
<SnippetRender content={contentEnd} />
|
|
712
718
|
</div>
|
|
713
719
|
{/if}
|
|
714
720
|
<!-- Item content end -->
|
|
@@ -720,127 +726,116 @@
|
|
|
720
726
|
use:useRouteProps={routeProps}
|
|
721
727
|
class={linkClasses}
|
|
722
728
|
{...linkAttrs}
|
|
723
|
-
|
|
729
|
+
onclick={onClick}
|
|
724
730
|
>
|
|
725
731
|
<!-- Item content start -->
|
|
726
732
|
<div class={contentClasses}>
|
|
727
|
-
<
|
|
733
|
+
<SnippetRender content={contentStart} />
|
|
728
734
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
729
735
|
<div class="sortable-handler" />
|
|
730
736
|
{/if}
|
|
731
737
|
{#if hasMedia}
|
|
732
738
|
<div class="item-media">
|
|
733
|
-
{#if typeof media
|
|
739
|
+
{#if typeof media === 'function'}
|
|
740
|
+
{@render media?.()}
|
|
741
|
+
{:else if typeof media === 'string'}
|
|
734
742
|
<img src={media} />
|
|
735
743
|
{/if}
|
|
736
|
-
<slot name="media" />
|
|
737
744
|
</div>
|
|
738
745
|
{/if}
|
|
739
746
|
<div bind:this={innerEl} class="item-inner">
|
|
740
|
-
<
|
|
747
|
+
<SnippetRender content={innerStart} />
|
|
741
748
|
{#if isMedia}
|
|
742
749
|
{#if hasHeader}
|
|
743
750
|
<div class="item-header">
|
|
744
|
-
{
|
|
745
|
-
<slot name="header" />
|
|
751
|
+
<SnippetRender content={header} />
|
|
746
752
|
</div>
|
|
747
753
|
{/if}
|
|
748
754
|
<div class="item-title-row">
|
|
749
|
-
<
|
|
755
|
+
<SnippetRender content={beforeTitle} />
|
|
750
756
|
{#if hasTitle}
|
|
751
757
|
<div class="item-title">
|
|
752
|
-
{
|
|
753
|
-
<slot name="title" />
|
|
758
|
+
<SnippetRender content={title} />
|
|
754
759
|
</div>
|
|
755
760
|
{/if}
|
|
756
|
-
<
|
|
761
|
+
<SnippetRender content={afterTitle} />
|
|
757
762
|
{#if hasAfter}
|
|
758
763
|
<div class="item-after">
|
|
759
|
-
<
|
|
760
|
-
{
|
|
761
|
-
<span>{plainText(after)}</span>
|
|
762
|
-
{/if}
|
|
764
|
+
<SnippetRender content={afterStart} />
|
|
765
|
+
<SnippetRender content={after} />
|
|
763
766
|
{#if typeof badge !== 'undefined'}
|
|
764
|
-
<Badge color={badgeColor}
|
|
767
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
765
768
|
{/if}
|
|
766
|
-
|
|
767
|
-
<
|
|
769
|
+
|
|
770
|
+
<SnippetRender content={afterEnd} />
|
|
768
771
|
</div>
|
|
769
772
|
{/if}
|
|
770
773
|
</div>
|
|
771
774
|
{#if hasSubtitle}
|
|
772
775
|
<div class="item-subtitle">
|
|
773
|
-
{
|
|
774
|
-
<slot name="subtitle" />
|
|
776
|
+
<SnippetRender content={subtitle} />
|
|
775
777
|
</div>
|
|
776
778
|
{/if}
|
|
777
779
|
{#if hasText}
|
|
778
780
|
<div class="item-text">
|
|
779
|
-
{
|
|
780
|
-
<slot name="text" />
|
|
781
|
+
<SnippetRender content={text} />
|
|
781
782
|
</div>
|
|
782
783
|
{/if}
|
|
783
|
-
<
|
|
784
|
+
<SnippetRender content={inner} />
|
|
784
785
|
{#if !(swipeout || accordionItem)}
|
|
785
|
-
|
|
786
|
+
{@render children?.()}
|
|
786
787
|
{/if}
|
|
787
788
|
{#if hasFooter}
|
|
788
789
|
<div class="item-footer">
|
|
789
|
-
{
|
|
790
|
-
<slot name="footer" />
|
|
790
|
+
<SnippetRender content={footer} />
|
|
791
791
|
</div>
|
|
792
792
|
{/if}
|
|
793
793
|
{:else}
|
|
794
|
-
<
|
|
794
|
+
<SnippetRender content={beforeTitle} />
|
|
795
795
|
{#if hasTitle || hasHeader || hasFooter}
|
|
796
796
|
<div class="item-title">
|
|
797
797
|
{#if hasHeader}
|
|
798
798
|
<div class="item-header">
|
|
799
|
-
{
|
|
800
|
-
<slot name="header" />
|
|
799
|
+
<SnippetRender content={header} />
|
|
801
800
|
</div>
|
|
802
801
|
{/if}
|
|
803
|
-
{
|
|
804
|
-
<slot name="title" />
|
|
802
|
+
<SnippetRender content={title} />
|
|
805
803
|
{#if hasFooter}
|
|
806
804
|
<div class="item-footer">
|
|
807
|
-
{
|
|
808
|
-
<slot name="footer" />
|
|
805
|
+
<SnippetRender content={footer} />
|
|
809
806
|
</div>
|
|
810
807
|
{/if}
|
|
811
808
|
</div>
|
|
812
809
|
{/if}
|
|
813
|
-
<
|
|
810
|
+
<SnippetRender content={afterTitle} />
|
|
814
811
|
{#if hasAfter}
|
|
815
812
|
<div class="item-after">
|
|
816
|
-
<
|
|
817
|
-
{
|
|
818
|
-
<span>{plainText(after)}</span>
|
|
819
|
-
{/if}
|
|
813
|
+
<SnippetRender content={afterStart} />
|
|
814
|
+
<SnippetRender content={after} />
|
|
820
815
|
{#if typeof badge !== 'undefined'}
|
|
821
|
-
<Badge color={badgeColor}
|
|
816
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
822
817
|
{/if}
|
|
823
|
-
|
|
824
|
-
<
|
|
818
|
+
|
|
819
|
+
<SnippetRender content={afterEnd} />
|
|
825
820
|
</div>
|
|
826
821
|
{/if}
|
|
827
|
-
<
|
|
822
|
+
<SnippetRender content={inner} />
|
|
828
823
|
{#if !(swipeout || accordionItem)}
|
|
829
|
-
|
|
824
|
+
{@render children?.()}
|
|
830
825
|
{/if}
|
|
831
826
|
{/if}
|
|
832
|
-
<
|
|
827
|
+
<SnippetRender content={innerEnd} />
|
|
833
828
|
</div>
|
|
834
|
-
<
|
|
835
|
-
<
|
|
829
|
+
<SnippetRender {content} />
|
|
830
|
+
<SnippetRender content={contentEnd} />
|
|
836
831
|
</div>
|
|
837
832
|
<!-- Item content end -->
|
|
838
833
|
</a>
|
|
839
834
|
{:else}
|
|
840
835
|
<!-- Item content start -->
|
|
841
836
|
{#if checkbox || radio}
|
|
842
|
-
<label class={contentClasses}
|
|
843
|
-
<
|
|
837
|
+
<label class={contentClasses} onclick={onClick}>
|
|
838
|
+
<SnippetRender content={contentStart} />
|
|
844
839
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
845
840
|
<div class="sortable-handler" />
|
|
846
841
|
{/if}
|
|
@@ -853,226 +848,204 @@
|
|
|
853
848
|
{disabled}
|
|
854
849
|
{required}
|
|
855
850
|
type={radio ? 'radio' : 'checkbox'}
|
|
856
|
-
|
|
851
|
+
onchange={onChange}
|
|
857
852
|
/>
|
|
858
853
|
<i class={`icon icon-${radio ? 'radio' : 'checkbox'}`} />
|
|
859
854
|
{#if hasMedia}
|
|
860
855
|
<div class="item-media">
|
|
861
|
-
{#if typeof media
|
|
856
|
+
{#if typeof media === 'function'}
|
|
857
|
+
{@render media?.()}
|
|
858
|
+
{:else if typeof media === 'string'}
|
|
862
859
|
<img src={media} />
|
|
863
860
|
{/if}
|
|
864
|
-
<slot name="media" />
|
|
865
861
|
</div>
|
|
866
862
|
{/if}
|
|
867
863
|
<div bind:this={innerEl} class="item-inner">
|
|
868
|
-
<
|
|
864
|
+
<SnippetRender content={innerStart} />
|
|
869
865
|
{#if isMedia}
|
|
870
866
|
{#if hasHeader}
|
|
871
867
|
<div class="item-header">
|
|
872
|
-
{
|
|
873
|
-
<slot name="header" />
|
|
868
|
+
<SnippetRender content={header} />
|
|
874
869
|
</div>
|
|
875
870
|
{/if}
|
|
876
871
|
<div class="item-title-row">
|
|
877
|
-
<
|
|
872
|
+
<SnippetRender content={beforeTitle} />
|
|
878
873
|
{#if hasTitle}
|
|
879
874
|
<div class="item-title">
|
|
880
|
-
{
|
|
881
|
-
<slot name="title" />
|
|
875
|
+
<SnippetRender content={title} />
|
|
882
876
|
</div>
|
|
883
877
|
{/if}
|
|
884
|
-
<
|
|
878
|
+
<SnippetRender content={afterTitle} />
|
|
885
879
|
{#if hasAfter}
|
|
886
880
|
<div class="item-after">
|
|
887
|
-
<
|
|
888
|
-
{
|
|
889
|
-
<span>{plainText(after)}</span>
|
|
890
|
-
{/if}
|
|
881
|
+
<SnippetRender content={afterStart} />
|
|
882
|
+
<SnippetRender content={after} />
|
|
891
883
|
{#if typeof badge !== 'undefined'}
|
|
892
|
-
<Badge color={badgeColor}
|
|
884
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
893
885
|
{/if}
|
|
894
|
-
|
|
895
|
-
<
|
|
886
|
+
|
|
887
|
+
<SnippetRender content={afterEnd} />
|
|
896
888
|
</div>
|
|
897
889
|
{/if}
|
|
898
890
|
</div>
|
|
899
891
|
{#if hasSubtitle}
|
|
900
892
|
<div class="item-subtitle">
|
|
901
|
-
{
|
|
902
|
-
<slot name="subtitle" />
|
|
893
|
+
<SnippetRender content={subtitle} />
|
|
903
894
|
</div>
|
|
904
895
|
{/if}
|
|
905
896
|
{#if hasText}
|
|
906
897
|
<div class="item-text">
|
|
907
|
-
{
|
|
908
|
-
<slot name="text" />
|
|
898
|
+
<SnippetRender content={text} />
|
|
909
899
|
</div>
|
|
910
900
|
{/if}
|
|
911
|
-
<
|
|
901
|
+
<SnippetRender content={inner} />
|
|
912
902
|
{#if !(swipeout || accordionItem)}
|
|
913
|
-
|
|
903
|
+
{@render children?.()}
|
|
914
904
|
{/if}
|
|
915
905
|
{#if hasFooter}
|
|
916
906
|
<div class="item-footer">
|
|
917
|
-
{
|
|
918
|
-
<slot name="footer" />
|
|
907
|
+
<SnippetRender content={footer} />
|
|
919
908
|
</div>
|
|
920
909
|
{/if}
|
|
921
910
|
{:else}
|
|
922
|
-
<
|
|
911
|
+
<SnippetRender content={beforeTitle} />
|
|
923
912
|
{#if hasTitle || hasHeader || hasFooter}
|
|
924
913
|
<div class="item-title">
|
|
925
914
|
{#if hasHeader}
|
|
926
915
|
<div class="item-header">
|
|
927
|
-
{
|
|
928
|
-
<slot name="header" />
|
|
916
|
+
<SnippetRender content={header} />
|
|
929
917
|
</div>
|
|
930
918
|
{/if}
|
|
931
|
-
{
|
|
932
|
-
<slot name="title" />
|
|
919
|
+
<SnippetRender content={title} />
|
|
933
920
|
{#if hasFooter}
|
|
934
921
|
<div class="item-footer">
|
|
935
|
-
{
|
|
936
|
-
<slot name="footer" />
|
|
922
|
+
<SnippetRender content={footer} />
|
|
937
923
|
</div>
|
|
938
924
|
{/if}
|
|
939
925
|
</div>
|
|
940
926
|
{/if}
|
|
941
|
-
<
|
|
927
|
+
<SnippetRender content={afterTitle} />
|
|
942
928
|
{#if hasAfter}
|
|
943
929
|
<div class="item-after">
|
|
944
|
-
<
|
|
945
|
-
{
|
|
946
|
-
<span>{plainText(after)}</span>
|
|
947
|
-
{/if}
|
|
930
|
+
<SnippetRender content={afterStart} />
|
|
931
|
+
<SnippetRender content={after} />
|
|
948
932
|
{#if typeof badge !== 'undefined'}
|
|
949
|
-
<Badge color={badgeColor}
|
|
933
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
950
934
|
{/if}
|
|
951
|
-
|
|
952
|
-
<
|
|
935
|
+
|
|
936
|
+
<SnippetRender content={afterEnd} />
|
|
953
937
|
</div>
|
|
954
938
|
{/if}
|
|
955
|
-
<
|
|
939
|
+
<SnippetRender content={inner} />
|
|
956
940
|
{#if !(swipeout || accordionItem)}
|
|
957
|
-
|
|
941
|
+
{@render children?.()}
|
|
958
942
|
{/if}
|
|
959
943
|
{/if}
|
|
960
|
-
<
|
|
944
|
+
<SnippetRender content={innerEnd} />
|
|
961
945
|
</div>
|
|
962
|
-
<
|
|
963
|
-
<
|
|
946
|
+
<SnippetRender {content} />
|
|
947
|
+
<SnippetRender content={contentEnd} />
|
|
964
948
|
</label>
|
|
965
949
|
{:else}
|
|
966
|
-
<div class={contentClasses}
|
|
967
|
-
<
|
|
950
|
+
<div class={contentClasses} onclick={onClick}>
|
|
951
|
+
<SnippetRender content={contentStart} />
|
|
968
952
|
{#if isSortable && sortable !== false && isSortableOpposite}
|
|
969
953
|
<div class="sortable-handler" />
|
|
970
954
|
{/if}
|
|
971
955
|
{#if hasMedia}
|
|
972
956
|
<div class="item-media">
|
|
973
|
-
{#if typeof media
|
|
957
|
+
{#if typeof media === 'function'}
|
|
958
|
+
{@render media?.()}
|
|
959
|
+
{:else if typeof media === 'string'}
|
|
974
960
|
<img src={media} />
|
|
975
961
|
{/if}
|
|
976
|
-
<slot name="media" />
|
|
977
962
|
</div>
|
|
978
963
|
{/if}
|
|
979
964
|
<div bind:this={innerEl} class="item-inner">
|
|
980
|
-
<
|
|
965
|
+
<SnippetRender content={innerStart} />
|
|
981
966
|
{#if isMedia}
|
|
982
967
|
{#if hasHeader}
|
|
983
968
|
<div class="item-header">
|
|
984
|
-
{
|
|
985
|
-
<slot name="header" />
|
|
969
|
+
<SnippetRender content={header} />
|
|
986
970
|
</div>
|
|
987
971
|
{/if}
|
|
988
972
|
<div class="item-title-row">
|
|
989
|
-
<
|
|
973
|
+
<SnippetRender content={beforeTitle} />
|
|
990
974
|
{#if hasTitle}
|
|
991
975
|
<div class="item-title">
|
|
992
|
-
{
|
|
993
|
-
<slot name="title" />
|
|
976
|
+
<SnippetRender content={title} />
|
|
994
977
|
</div>
|
|
995
978
|
{/if}
|
|
996
|
-
<
|
|
979
|
+
<SnippetRender content={afterTitle} />
|
|
997
980
|
{#if hasAfter}
|
|
998
981
|
<div class="item-after">
|
|
999
|
-
<
|
|
1000
|
-
{
|
|
1001
|
-
<span>{plainText(after)}</span>
|
|
1002
|
-
{/if}
|
|
982
|
+
<SnippetRender content={afterStart} />
|
|
983
|
+
<SnippetRender content={after} />
|
|
1003
984
|
{#if typeof badge !== 'undefined'}
|
|
1004
|
-
<Badge color={badgeColor}
|
|
985
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
1005
986
|
{/if}
|
|
1006
|
-
|
|
1007
|
-
<
|
|
987
|
+
|
|
988
|
+
<SnippetRender content={afterEnd} />
|
|
1008
989
|
</div>
|
|
1009
990
|
{/if}
|
|
1010
991
|
</div>
|
|
1011
992
|
{#if hasSubtitle}
|
|
1012
993
|
<div class="item-subtitle">
|
|
1013
|
-
{
|
|
1014
|
-
<slot name="subtitle" />
|
|
994
|
+
<SnippetRender content={subtitle} />
|
|
1015
995
|
</div>
|
|
1016
996
|
{/if}
|
|
1017
997
|
{#if hasText}
|
|
1018
998
|
<div class="item-text">
|
|
1019
|
-
{
|
|
1020
|
-
<slot name="text" />
|
|
999
|
+
<SnippetRender content={text} />
|
|
1021
1000
|
</div>
|
|
1022
1001
|
{/if}
|
|
1023
|
-
<
|
|
1002
|
+
<SnippetRender content={inner} />
|
|
1024
1003
|
{#if !(swipeout || accordionItem)}
|
|
1025
|
-
|
|
1004
|
+
{@render children?.()}
|
|
1026
1005
|
{/if}
|
|
1027
1006
|
{#if hasFooter}
|
|
1028
1007
|
<div class="item-footer">
|
|
1029
|
-
{
|
|
1030
|
-
<slot name="footer" />
|
|
1008
|
+
<SnippetRender content={footer} />
|
|
1031
1009
|
</div>
|
|
1032
1010
|
{/if}
|
|
1033
1011
|
{:else}
|
|
1034
|
-
<
|
|
1012
|
+
<SnippetRender content={beforeTitle} />
|
|
1035
1013
|
{#if hasTitle || hasHeader || hasFooter}
|
|
1036
1014
|
<div class="item-title">
|
|
1037
1015
|
{#if hasHeader}
|
|
1038
1016
|
<div class="item-header">
|
|
1039
|
-
{
|
|
1040
|
-
<slot name="header" />
|
|
1017
|
+
<SnippetRender content={header} />
|
|
1041
1018
|
</div>
|
|
1042
1019
|
{/if}
|
|
1043
|
-
{
|
|
1044
|
-
<slot name="title" />
|
|
1020
|
+
<SnippetRender content={title} />
|
|
1045
1021
|
{#if hasFooter}
|
|
1046
1022
|
<div class="item-footer">
|
|
1047
|
-
{
|
|
1048
|
-
<slot name="footer" />
|
|
1023
|
+
<SnippetRender content={footer} />
|
|
1049
1024
|
</div>
|
|
1050
1025
|
{/if}
|
|
1051
1026
|
</div>
|
|
1052
1027
|
{/if}
|
|
1053
|
-
<
|
|
1028
|
+
<SnippetRender content={afterTitle} />
|
|
1054
1029
|
{#if hasAfter}
|
|
1055
1030
|
<div class="item-after">
|
|
1056
|
-
<
|
|
1057
|
-
{
|
|
1058
|
-
<span>{plainText(after)}</span>
|
|
1059
|
-
{/if}
|
|
1031
|
+
<SnippetRender content={afterStart} />
|
|
1032
|
+
<SnippetRender content={after} />
|
|
1060
1033
|
{#if typeof badge !== 'undefined'}
|
|
1061
|
-
<Badge color={badgeColor}
|
|
1034
|
+
<Badge color={badgeColor}><SnippetRender content={badge} /></Badge>
|
|
1062
1035
|
{/if}
|
|
1063
|
-
|
|
1064
|
-
<
|
|
1036
|
+
|
|
1037
|
+
<SnippetRender content={afterEnd} />
|
|
1065
1038
|
</div>
|
|
1066
1039
|
{/if}
|
|
1067
|
-
<
|
|
1040
|
+
<SnippetRender content={inner} />
|
|
1068
1041
|
{#if !(swipeout || accordionItem)}
|
|
1069
|
-
|
|
1042
|
+
{@render children?.()}
|
|
1070
1043
|
{/if}
|
|
1071
1044
|
{/if}
|
|
1072
|
-
<
|
|
1045
|
+
<SnippetRender content={innerEnd} />
|
|
1073
1046
|
</div>
|
|
1074
|
-
<
|
|
1075
|
-
<
|
|
1047
|
+
<SnippetRender {content} />
|
|
1048
|
+
<SnippetRender content={contentEnd} />
|
|
1076
1049
|
</div>
|
|
1077
1050
|
{/if}
|
|
1078
1051
|
<!-- Item content end -->
|
|
@@ -1081,9 +1054,9 @@
|
|
|
1081
1054
|
<div class="sortable-handler" />
|
|
1082
1055
|
{/if}
|
|
1083
1056
|
{#if swipeout || accordionItem}
|
|
1084
|
-
|
|
1057
|
+
{@render children?.()}
|
|
1085
1058
|
{/if}
|
|
1086
|
-
<
|
|
1087
|
-
<
|
|
1059
|
+
<SnippetRender content={root} />
|
|
1060
|
+
<SnippetRender content={rootStart} />
|
|
1088
1061
|
</li>
|
|
1089
1062
|
{/if}
|