framework7-svelte 8.3.4 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/components/accordion-content.d.ts +11 -5
  2. package/components/accordion-content.svelte +8 -6
  3. package/components/accordion-item.d.ts +23 -11
  4. package/components/accordion-item.svelte +27 -25
  5. package/components/accordion-toggle.d.ts +11 -5
  6. package/components/accordion-toggle.svelte +8 -6
  7. package/components/accordion.d.ts +11 -5
  8. package/components/accordion.svelte +11 -10
  9. package/components/actions-button.d.ts +14 -6
  10. package/components/actions-button.svelte +21 -19
  11. package/components/actions-group.d.ts +11 -5
  12. package/components/actions-group.svelte +4 -7
  13. package/components/actions-label.d.ts +11 -5
  14. package/components/actions-label.svelte +13 -23
  15. package/components/actions.d.ts +31 -21
  16. package/components/actions.svelte +50 -54
  17. package/components/app.d.ts +11 -5
  18. package/components/app.svelte +6 -7
  19. package/components/area-chart.d.ts +13 -6
  20. package/components/area-chart.svelte +42 -46
  21. package/components/badge.d.ts +11 -5
  22. package/components/badge.svelte +10 -9
  23. package/components/block-footer.d.ts +11 -5
  24. package/components/block-footer.svelte +8 -6
  25. package/components/block-header.d.ts +11 -5
  26. package/components/block-header.svelte +8 -6
  27. package/components/block-title.d.ts +11 -5
  28. package/components/block-title.svelte +12 -10
  29. package/components/block.d.ts +11 -5
  30. package/components/block.svelte +76 -76
  31. package/components/breadcrumbs-collapsed.d.ts +12 -6
  32. package/components/breadcrumbs-collapsed.svelte +10 -15
  33. package/components/breadcrumbs-item.d.ts +12 -6
  34. package/components/breadcrumbs-item.svelte +9 -8
  35. package/components/breadcrumbs-separator.d.ts +10 -5
  36. package/components/breadcrumbs-separator.svelte +9 -5
  37. package/components/breadcrumbs.d.ts +11 -6
  38. package/components/breadcrumbs.svelte +8 -6
  39. package/components/button.d.ts +44 -37
  40. package/components/button.svelte +107 -103
  41. package/components/card-content.d.ts +11 -5
  42. package/components/card-content.svelte +11 -10
  43. package/components/card-footer.d.ts +11 -5
  44. package/components/card-footer.svelte +8 -6
  45. package/components/card-header.d.ts +11 -5
  46. package/components/card-header.svelte +8 -6
  47. package/components/card.d.ts +43 -31
  48. package/components/card.svelte +78 -67
  49. package/components/checkbox.d.ts +20 -13
  50. package/components/checkbox.svelte +32 -30
  51. package/components/chip.d.ts +22 -15
  52. package/components/chip.svelte +54 -60
  53. package/components/fab-backdrop.d.ts +10 -5
  54. package/components/fab-backdrop.svelte +5 -7
  55. package/components/fab-button.d.ts +17 -11
  56. package/components/fab-button.svelte +20 -29
  57. package/components/fab-buttons.d.ts +11 -5
  58. package/components/fab-buttons.svelte +5 -12
  59. package/components/fab.d.ts +22 -13
  60. package/components/fab.svelte +55 -51
  61. package/components/gauge.d.ts +24 -19
  62. package/components/gauge.svelte +25 -25
  63. package/components/icon.d.ts +19 -13
  64. package/components/icon.svelte +65 -63
  65. package/components/input.d.ts +78 -61
  66. package/components/input.svelte +171 -154
  67. package/components/link.d.ts +28 -21
  68. package/components/link.svelte +67 -65
  69. package/components/list-button.d.ts +22 -15
  70. package/components/list-button.svelte +56 -44
  71. package/components/list-group.d.ts +16 -10
  72. package/components/list-group.svelte +38 -34
  73. package/components/list-index.d.ts +20 -13
  74. package/components/list-index.svelte +23 -24
  75. package/components/list-input.d.ts +91 -64
  76. package/components/list-input.svelte +254 -205
  77. package/components/list-item.d.ts +98 -63
  78. package/components/list-item.svelte +412 -439
  79. package/components/list.d.ts +72 -54
  80. package/components/list.svelte +151 -147
  81. package/components/login-screen-title.d.ts +11 -5
  82. package/components/login-screen-title.svelte +4 -6
  83. package/components/login-screen.d.ts +20 -10
  84. package/components/login-screen.svelte +39 -42
  85. package/components/message.d.ts +48 -29
  86. package/components/message.svelte +123 -88
  87. package/components/messagebar-attachment.d.ts +17 -9
  88. package/components/messagebar-attachment.svelte +16 -18
  89. package/components/messagebar-attachments.d.ts +11 -5
  90. package/components/messagebar-attachments.svelte +6 -6
  91. package/components/messagebar-sheet-image.d.ts +19 -10
  92. package/components/messagebar-sheet-image.svelte +30 -22
  93. package/components/messagebar-sheet-item.d.ts +11 -5
  94. package/components/messagebar-sheet-item.svelte +4 -6
  95. package/components/messagebar-sheet.d.ts +11 -5
  96. package/components/messagebar-sheet.svelte +4 -6
  97. package/components/messagebar.d.ts +53 -31
  98. package/components/messagebar.svelte +100 -77
  99. package/components/messages-title.d.ts +11 -5
  100. package/components/messages-title.svelte +4 -6
  101. package/components/messages.d.ts +26 -20
  102. package/components/messages.svelte +32 -32
  103. package/components/nav-left.d.ts +19 -12
  104. package/components/nav-left.svelte +23 -39
  105. package/components/nav-right.d.ts +11 -6
  106. package/components/nav-right.svelte +4 -15
  107. package/components/nav-title-large.d.ts +11 -5
  108. package/components/nav-title-large.svelte +4 -6
  109. package/components/nav-title.d.ts +13 -8
  110. package/components/nav-title.svelte +25 -20
  111. package/components/navbar.d.ts +47 -28
  112. package/components/navbar.svelte +100 -111
  113. package/components/page-content.d.ts +41 -29
  114. package/components/page-content.svelte +58 -50
  115. package/components/page.d.ts +71 -46
  116. package/components/page.svelte +102 -82
  117. package/components/panel.d.ts +51 -35
  118. package/components/panel.svelte +94 -99
  119. package/components/photo-browser.d.ts +50 -41
  120. package/components/photo-browser.svelte +48 -47
  121. package/components/pie-chart.d.ts +13 -6
  122. package/components/pie-chart.svelte +29 -27
  123. package/components/popover.d.ts +28 -19
  124. package/components/popover.svelte +45 -48
  125. package/components/popup.d.ts +37 -23
  126. package/components/popup.svelte +68 -57
  127. package/components/preloader.d.ts +10 -5
  128. package/components/preloader.svelte +30 -31
  129. package/components/progressbar.d.ts +11 -6
  130. package/components/progressbar.svelte +13 -17
  131. package/components/radio.d.ts +19 -12
  132. package/components/radio.svelte +19 -23
  133. package/components/range.d.ts +35 -27
  134. package/components/range.svelte +47 -44
  135. package/components/routable-modals.d.ts +9 -4
  136. package/components/routable-modals.svelte +9 -8
  137. package/components/router-context-provider.d.ts +11 -6
  138. package/components/router-context-provider.svelte +2 -4
  139. package/components/searchbar.d.ts +60 -43
  140. package/components/searchbar.svelte +115 -104
  141. package/components/segmented.d.ts +21 -15
  142. package/components/segmented.svelte +38 -35
  143. package/components/sheet.d.ts +47 -30
  144. package/components/sheet.svelte +94 -76
  145. package/components/snippet-render.d.ts +24 -0
  146. package/components/snippet-render.svelte +9 -0
  147. package/components/stepper.d.ts +53 -43
  148. package/components/stepper.svelte +83 -79
  149. package/components/subnavbar.d.ts +13 -8
  150. package/components/subnavbar.svelte +12 -20
  151. package/components/swipeout-actions.d.ts +14 -8
  152. package/components/swipeout-actions.svelte +14 -13
  153. package/components/swipeout-button.d.ts +20 -13
  154. package/components/swipeout-button.svelte +31 -31
  155. package/components/tab.d.ts +14 -8
  156. package/components/tab.svelte +20 -28
  157. package/components/tabs.d.ts +15 -9
  158. package/components/tabs.svelte +27 -26
  159. package/components/text-editor.d.ts +44 -24
  160. package/components/text-editor.svelte +56 -41
  161. package/components/toggle.d.ts +22 -15
  162. package/components/toggle.svelte +33 -37
  163. package/components/toolbar-pane.d.ts +24 -0
  164. package/components/toolbar-pane.svelte +14 -0
  165. package/components/toolbar.d.ts +30 -20
  166. package/components/toolbar.svelte +61 -53
  167. package/components/treeview-item.d.ts +36 -17
  168. package/components/treeview-item.svelte +101 -81
  169. package/components/treeview.d.ts +11 -5
  170. package/components/treeview.svelte +4 -6
  171. package/components/use-icon.d.ts +9 -4
  172. package/components/use-icon.svelte +1 -1
  173. package/components/view.d.ts +76 -65
  174. package/components/view.svelte +66 -48
  175. package/components/views.d.ts +11 -5
  176. package/components/views.svelte +12 -15
  177. package/framework7-svelte.d.ts +3 -1
  178. package/framework7-svelte.js +6 -4
  179. package/package.json +2 -2
  180. package/shared/components-router.js +28 -25
  181. package/shared/f7.js +1 -7
  182. package/shared/mixins.js +5 -5
  183. package/shared/modal-state-classes.js +4 -5
  184. package/shared/plugin.js +1 -4
  185. package/shared/rest-props.js +1 -4
  186. package/shared/use-icon.js +2 -5
  187. package/shared/use-store.js +9 -9
  188. package/shared/use-tab.js +3 -3
  189. package/shared/use-tooltip.js +3 -4
  190. package/shared/utils.js +2 -8
  191. package/shared/get-reactive-context.js +0 -16
  192. package/shared/list-context.js +0 -10
  193. package/shared/router-context.js +0 -8
  194. package/shared/set-reactive-context.js +0 -26
@@ -1,54 +1,55 @@
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, 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);
7
+ let {
8
+ class: className,
9
+ outline = true,
10
+ form = true,
11
+ placeholder = 'Search',
12
+ autocomplete = undefined,
13
+ autocorrect = undefined,
14
+ autocapitalize = undefined,
15
+ spellcheck = undefined,
16
+ disableButton = true,
17
+ disableButtonText = '',
18
+ clearButton = true,
19
+ value = undefined,
20
+ inputEvents = 'change input compositionend',
21
+ expandable = false,
22
+ inline = false,
23
+ searchContainer = undefined,
24
+ searchIn = '.item-title',
25
+ searchItem = 'li',
26
+ searchGroup = '.list-group',
27
+ searchGroupTitle = '.list-group-title',
28
+ foundEl = '.searchbar-found',
29
+ notFoundEl = '.searchbar-not-found',
30
+ backdrop = undefined,
31
+ backdropEl = undefined,
32
+ hideOnEnableEl = '.searchbar-hide-on-enable',
33
+ hideOnSearchEl = '.searchbar-hide-on-search',
34
+ ignore = '.searchbar-ignore',
35
+ customSearch = false,
36
+ removeDiacritics = false,
37
+ hideGroupTitles = true,
38
+ hideGroups = true,
39
+ init = true,
40
+ f7Slot = 'fixed',
41
+ beforeInner,
42
+ innerStart,
43
+ inputWrapStart,
44
+ inputWrapEnd,
45
+ innerEnd,
46
+ afterInner,
47
+ children,
48
+ ...restProps
49
+ } = $props();
9
50
 
10
- let className = undefined;
11
- export { className as class };
12
-
13
- export let outline = true;
14
- export let form = true;
15
- export let placeholder = 'Search';
16
- export let autocomplete = undefined;
17
- export let autocorrect = undefined;
18
- export let autocapitalize = undefined;
19
- export let spellcheck = undefined;
20
- export let disableButton = true;
21
- export let disableButtonText = 'Cancel';
22
- export let clearButton = true;
23
- // Input Value
24
- export let value = undefined;
25
-
26
- // SB Params
27
- export let inputEvents = 'change input compositionend';
28
- export let expandable = false;
29
- export let inline = false;
30
- export let searchContainer = undefined;
31
- export let searchIn = '.item-title';
32
- export let searchItem = 'li';
33
- export let searchGroup = '.list-group';
34
- export let searchGroupTitle = '.list-group-title';
35
- export let foundEl = '.searchbar-found';
36
- export let notFoundEl = '.searchbar-not-found';
37
- export let backdrop = undefined;
38
- export let backdropEl = undefined;
39
- export let hideOnEnableEl = '.searchbar-hide-on-enable';
40
- export let hideOnSearchEl = '.searchbar-hide-on-search';
41
- export let ignore = '.searchbar-ignore';
42
- export let customSearch = false;
43
- export let removeDiacritics = false;
44
- export let hideGroupTitles = true;
45
- export let hideGroups = true;
46
- export let init = true;
47
-
48
- export let f7Slot = 'fixed';
49
-
50
- let el;
51
- let f7Searchbar;
51
+ let el = $state(null);
52
+ let f7Searchbar = $state(null);
52
53
 
53
54
  export function instance() {
54
55
  return f7Searchbar;
@@ -74,44 +75,53 @@
74
75
  return f7Searchbar.clear();
75
76
  }
76
77
 
77
- $: classes = classNames(
78
- className,
79
- 'searchbar',
80
- {
81
- 'searchbar-inline': inline,
82
- 'no-outline': !outline,
83
- 'searchbar-expandable': expandable,
84
- },
85
- colorClasses($$props),
78
+ const classes = $derived(
79
+ classNames(
80
+ className,
81
+ 'searchbar',
82
+ {
83
+ 'searchbar-inline': inline,
84
+ 'no-outline': !outline,
85
+ 'searchbar-expandable': expandable,
86
+ },
87
+ colorClasses(restProps),
88
+ ),
86
89
  );
87
90
 
88
91
  function onChange(event) {
89
- emit('change', [event]);
92
+ restProps.onChange?.(event);
93
+ restProps.onchange?.(event);
90
94
  }
91
95
 
92
96
  function onInput(event) {
93
- emit('input', [event]);
97
+ restProps.onInput?.(event);
98
+ restProps.oninput?.(event);
94
99
  value = event.target.value;
95
100
  }
96
101
 
97
102
  function onFocus(event) {
98
- emit('focus', [event]);
103
+ restProps.onFocus?.(event);
104
+ restProps.onfocus?.(event);
99
105
  }
100
106
 
101
107
  function onBlur(event) {
102
- emit('blur', [event]);
108
+ restProps.onBlur?.(event);
109
+ restProps.onblur?.(event);
103
110
  }
104
111
 
105
112
  function onSubmit(event) {
106
- emit('submit', [event]);
113
+ restProps.onSubmit?.(event);
114
+ restProps.onsubmit?.(event);
107
115
  }
108
116
 
109
117
  function onClearButtonClick(event) {
110
- emit('click:clear', [event]);
118
+ restProps.onClickClear?.(event);
119
+ restProps.onclickclear?.(event);
111
120
  }
112
121
 
113
122
  function onDisableButtonClick(event) {
114
- emit('click:disable', [event]);
123
+ restProps.onClickDisable?.(event);
124
+ restProps.onclickdisable?.(event);
115
125
  }
116
126
 
117
127
  onMount(() => {
@@ -141,16 +151,20 @@
141
151
  inline,
142
152
  on: {
143
153
  search(searchbar, query, previousQuery) {
144
- emit('searchbarSearch', [searchbar, query, previousQuery]);
154
+ restProps.onSearchbarSearch?.(searchbar, query, previousQuery);
155
+ restProps.onsearchbarsearch?.(searchbar, query, previousQuery);
145
156
  },
146
157
  clear(searchbar, previousQuery) {
147
- emit('searchbarClear', [searchbar, previousQuery]);
158
+ restProps.onSearchbarClear?.(searchbar, previousQuery);
159
+ restProps.onsearchbarclear?.(searchbar, previousQuery);
148
160
  },
149
161
  enable(searchbar) {
150
- emit('searchbarEnable', [searchbar]);
162
+ restProps.onSearchbarEnable?.(searchbar);
163
+ restProps.onsearchbarenable?.(searchbar);
151
164
  },
152
165
  disable(searchbar) {
153
- emit('searchbarDisable', [searchbar]);
166
+ restProps.onSearchbarDisable?.(searchbar);
167
+ restProps.onsearchbardisable?.(searchbar);
154
168
  },
155
169
  },
156
170
  });
@@ -172,18 +186,12 @@
172
186
  </script>
173
187
 
174
188
  {#if form}
175
- <form
176
- bind:this={el}
177
- class={classes}
178
- on:submit={onSubmit}
179
- data-f7-slot={f7Slot}
180
- {...restProps($$restProps)}
181
- >
182
- <slot searchbar={f7Searchbar} name="before-inner" />
189
+ <form bind:this={el} class={classes} onsubmit={onSubmit} data-f7-slot={f7Slot} {...restProps}>
190
+ {@render restProps.beforeInner?.(f7Searchbar)}
183
191
  <div class="searchbar-inner">
184
- <slot searchbar={f7Searchbar} name="inner-start" />
192
+ {@render restProps.innerStart?.(f7Searchbar)}
185
193
  <div class="searchbar-input-wrap">
186
- <slot searchbar={f7Searchbar} name="input-wrap-start" />
194
+ {@render restProps.inputWrapStart?.(f7Searchbar)}
187
195
  <input
188
196
  value={typeof value === 'undefined' ? '' : value}
189
197
  {placeholder}
@@ -192,32 +200,35 @@
192
200
  {autocapitalize}
193
201
  {spellcheck}
194
202
  type="search"
195
- on:input={onInput}
196
- on:change={onChange}
197
- on:focus={onFocus}
198
- on:blur={onBlur}
203
+ oninput={onInput}
204
+ onchange={onChange}
205
+ onfocus={onFocus}
206
+ onblur={onBlur}
199
207
  />
200
- <i class="searchbar-icon" />
201
- {#if clearButton}<span on:click={onClearButtonClick} class="input-clear-button" />{/if}
202
- <slot searchbar={f7Searchbar} name="input-wrap-end" />
208
+ <i class="searchbar-icon"></i>
209
+ {#if clearButton}<span onclick={onClearButtonClick} class="input-clear-button" />{/if}
210
+ {@render restProps.inputWrapEnd?.(f7Searchbar)}
203
211
  </div>
204
212
  {#if disableButton}
205
- <span on:click={onDisableButtonClick} class="searchbar-disable-button"
206
- >{disableButtonText}</span
207
- >
213
+ <span onclick={onDisableButtonClick} class="searchbar-disable-button">
214
+ <i class="icon icon-close"></i>
215
+ {#if disableButtonText}
216
+ <span>{disableButtonText}</span>
217
+ {/if}
218
+ </span>
208
219
  {/if}
209
- <slot searchbar={f7Searchbar} name="inner-end" />
210
- <slot searchbar={f7Searchbar} />
220
+ {@render restProps.innerEnd?.(f7Searchbar)}
221
+ {@render restProps.children?.(f7Searchbar)}
211
222
  </div>
212
- <slot searchbar={f7Searchbar} name="after-inner" />
223
+ {@render restProps.afterInner?.(f7Searchbar)}
213
224
  </form>
214
225
  {:else}
215
- <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps($$restProps)}>
216
- <slot searchbar={f7Searchbar} name="before-inner" />
226
+ <div bind:this={el} class={classes} data-f7-slot={f7Slot} {...restProps}>
227
+ {@render restProps.beforeInner?.(f7Searchbar)}
217
228
  <div class="searchbar-inner">
218
- <slot searchbar={f7Searchbar} name="inner-start" />
229
+ {@render restProps.innerStart?.(f7Searchbar)}
219
230
  <div class="searchbar-input-wrap">
220
- <slot searchbar={f7Searchbar} name="input-wrap-start" />
231
+ {@render restProps.inputWrapStart?.(f7Searchbar)}
221
232
  <input
222
233
  value={typeof value === 'undefined' ? '' : value}
223
234
  {placeholder}
@@ -226,23 +237,23 @@
226
237
  {autocapitalize}
227
238
  {spellcheck}
228
239
  type="search"
229
- on:input={onInput}
230
- on:change={onChange}
231
- on:focus={onFocus}
232
- on:blur={onBlur}
240
+ oninput={onInput}
241
+ onchange={onChange}
242
+ onfocus={onFocus}
243
+ onblur={onBlur}
233
244
  />
234
- <i class="searchbar-icon" />
235
- {#if clearButton}<span on:click={onClearButtonClick} class="input-clear-button" />{/if}
236
- <slot searchbar={f7Searchbar} name="input-wrap-end" />
245
+ <i class="searchbar-icon"></i>
246
+ {#if clearButton}<span onclick={onClearButtonClick} class="input-clear-button" />{/if}
247
+ {@render restProps.inputWrapEnd?.(f7Searchbar)}
237
248
  </div>
238
249
  {#if disableButton}
239
- <span on:click={onDisableButtonClick} class="searchbar-disable-button"
250
+ <span onclick={onDisableButtonClick} class="searchbar-disable-button"
240
251
  >{disableButtonText}</span
241
252
  >
242
253
  {/if}
243
- <slot searchbar={f7Searchbar} name="inner-end" />
244
- <slot searchbar={f7Searchbar} />
254
+ {@render restProps.innerEnd?.(f7Searchbar)}
255
+ {@render restProps.children?.(f7Searchbar)}
245
256
  </div>
246
- <slot searchbar={f7Searchbar} name="after-inner" />
257
+ {@render restProps.afterInner?.(f7Searchbar)}
247
258
  </div>
248
259
  {/if}
@@ -1,19 +1,19 @@
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 SegmentedProps {
7
- raised ?: boolean;
8
- raisedIos ?: boolean;
9
- raisedMd ?: boolean;
10
- round ?: boolean;
11
- roundIos ?: boolean;
12
- roundMd ?: boolean;
13
- strong ?: boolean;
14
- strongIos ?: boolean;
15
- strongMd ?: boolean;
16
- tag ?: string;
6
+ interface Props {
7
+ raised?: boolean;
8
+ raisedIos?: boolean;
9
+ raisedMd?: boolean;
10
+ round?: boolean;
11
+ roundIos?: boolean;
12
+ roundMd?: boolean;
13
+ strong?: boolean;
14
+ strongIos?: boolean;
15
+ strongMd?: boolean;
16
+ tag?: string;
17
17
  color?: string;
18
18
  colorTheme?: string;
19
19
  textColor?: string;
@@ -21,14 +21,20 @@ interface SegmentedProps {
21
21
  borderColor?: string;
22
22
  rippleColor?: string;
23
23
  dark?: boolean;
24
+ children?: Snippet;
24
25
  }
25
26
 
27
+ interface SegmentedProps {}
28
+ interface SegmentedProps extends Props {}
29
+
30
+ interface SegmentedEvents extends Record<'',{}>{}
31
+
26
32
 
27
33
 
28
34
  declare class Segmented extends SvelteComponent<
29
- SegmentedProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof SegmentedProps>,
30
- { },
31
- { 'default' : {}; }
35
+ SegmentedProps,
36
+ SegmentedEvents,
37
+ { }
32
38
  > {}
33
39
 
34
40
  export { SegmentedProps };
@@ -1,48 +1,51 @@
1
1
  <script>
2
2
  import { colorClasses } from '../shared/mixins.js';
3
3
  import { classNames } from '../shared/utils.js';
4
- import { restProps } from '../shared/rest-props.js';
5
4
 
6
- let className = undefined;
7
- export { className as class };
5
+ let {
6
+ class: className,
7
+ raised = false,
8
+ raisedIos = false,
9
+ raisedMd = false,
10
+ round = false,
11
+ roundIos = false,
12
+ roundMd = false,
13
+ strong = false,
14
+ strongIos = false,
15
+ strongMd = false,
16
+ tag = 'div',
17
+ children,
18
+ ...restProps
19
+ } = $props();
8
20
 
9
- export let raised = false;
10
- export let raisedIos = false;
11
- export let raisedMd = false;
12
- export let round = false;
13
- export let roundIos = false;
14
- export let roundMd = false;
15
- export let strong = false;
16
- export let strongIos = false;
17
- export let strongMd = false;
18
- export let tag = 'div';
19
-
20
- $: classes = classNames(
21
- className,
22
- {
23
- segmented: true,
24
- 'segmented-raised': raised,
25
- 'segmented-raised-ios': raisedIos,
26
- 'segmented-raised-md': raisedMd,
27
- 'segmented-round': round,
28
- 'segmented-round-ios': roundIos,
29
- 'segmented-round-md': roundMd,
30
- 'segmented-strong': strong,
31
- 'segmented-strong-ios': strongIos,
32
- 'segmented-strong-md': strongMd,
33
- },
34
- colorClasses($$props),
21
+ const classes = $derived(
22
+ classNames(
23
+ className,
24
+ {
25
+ segmented: true,
26
+ 'segmented-raised': raised,
27
+ 'segmented-raised-ios': raisedIos,
28
+ 'segmented-raised-md': raisedMd,
29
+ 'segmented-round': round,
30
+ 'segmented-round-ios': roundIos,
31
+ 'segmented-round-md': roundMd,
32
+ 'segmented-strong': strong,
33
+ 'segmented-strong-ios': strongIos,
34
+ 'segmented-strong-md': strongMd,
35
+ },
36
+ colorClasses(restProps),
37
+ ),
35
38
  );
36
39
  </script>
37
40
 
38
41
  {#if tag === 'div'}
39
- <div class={classes} {...restProps($$restProps)}>
40
- <slot />
41
- {#if strong || strongIos || strongMd}<span class="segmented-highlight" />{/if}
42
+ <div class={classes} {...restProps}>
43
+ {@render children?.()}
44
+ {#if strong || strongIos || strongMd}<span class="segmented-highlight"></span>{/if}
42
45
  </div>
43
46
  {:else if tag === 'p'}
44
- <p class={classes} {...restProps($$restProps)}>
45
- <slot />
46
- {#if strong || strongIos || strongMd}<span class="segmented-highlight" />{/if}
47
+ <p class={classes} {...restProps}>
48
+ {@render children?.()}
49
+ {#if strong || strongIos || strongMd}<span class="segmented-highlight"></span>{/if}
47
50
  </p>
48
51
  {/if}
@@ -1,29 +1,29 @@
1
1
 
2
- import { SvelteComponent } from 'svelte';
2
+ import { SvelteComponent, Snippet } from 'svelte';
3
3
  import { HTMLAttributes } from 'svelte/elements';
4
4
 
5
5
  import { Sheet } from 'framework7/types';
6
6
 
7
7
 
8
- interface SheetProps {
9
- opened ?: boolean;
10
- animate ?: boolean;
11
- top ?: boolean;
12
- bottom ?: boolean;
13
- position ?: string;
14
- backdrop ?: boolean;
15
- backdropEl ?: string | object;
16
- closeByBackdropClick ?: boolean;
17
- closeByOutsideClick ?: boolean;
18
- closeOnEscape ?: boolean;
19
- push ?: boolean;
20
- swipeToClose ?: boolean;
21
- swipeToStep ?: boolean;
22
- swipeHandler ?: string | object;
23
- containerEl ?: string | object;
24
- breakpoints ?: number[];
25
- backdropBreakpoint ?: number;
26
- pushBreakpoint ?: number;
8
+ interface Props {
9
+ opened?: boolean;
10
+ animate?: boolean;
11
+ top?: boolean;
12
+ bottom?: boolean;
13
+ position?: string;
14
+ backdrop?: boolean;
15
+ backdropEl?: string | object;
16
+ closeByBackdropClick?: boolean;
17
+ closeByOutsideClick?: boolean;
18
+ closeOnEscape?: boolean;
19
+ push?: boolean;
20
+ swipeToClose?: boolean;
21
+ swipeToStep?: boolean;
22
+ swipeHandler?: string | object;
23
+ containerEl?: string | object;
24
+ breakpoints?: number[];
25
+ backdropBreakpoint?: number;
26
+ pushBreakpoint?: number;
27
27
  color?: string;
28
28
  colorTheme?: string;
29
29
  textColor?: string;
@@ -31,21 +31,38 @@ interface SheetProps {
31
31
  borderColor?: string;
32
32
  rippleColor?: string;
33
33
  dark?: boolean;
34
- onSheetStepProgress ?: (instance?: Sheet.Sheet, progress?: any) => void;
35
- onSheetStepOpen ?: (instance?: Sheet.Sheet) => void;
36
- onSheetStepClose ?: (instance?: Sheet.Sheet) => void;
37
- onSheetOpen ?: (instance?: Sheet.Sheet) => void;
38
- onSheetOpened ?: (instance?: Sheet.Sheet) => void;
39
- onSheetClose ?: (instance?: Sheet.Sheet) => void;
40
- onSheetClosed ?: (instance?: Sheet.Sheet) => void;
34
+ onSheetStepProgress?: (instance?: Sheet.Sheet, progress?: any) => void;
35
+ onSheetStepOpen?: (instance?: Sheet.Sheet) => void;
36
+ onSheetStepClose?: (instance?: Sheet.Sheet) => void;
37
+ onSheetOpen?: (instance?: Sheet.Sheet) => void;
38
+ onSheetOpened?: (instance?: Sheet.Sheet) => void;
39
+ onSheetClose?: (instance?: Sheet.Sheet) => void;
40
+ onSheetClosed?: (instance?: Sheet.Sheet) => void;
41
+ fixedContent?: Snippet;
42
+ children?: Snippet;
43
+ staticContent?: Snippet;
44
+ onsheetopen?: () => void;
45
+ onsheetopened?: () => void;
46
+ onsheetclose?: () => void;
47
+ onsheetclosed?: () => void;
48
+ onSheetBreakpoint?: () => void;
49
+ onsheetbreakpoint?: () => void;
50
+ onsheetstepprogress?: () => void;
51
+ onsheetstepopen?: () => void;
52
+ onsheetstepclose?: () => void;
41
53
  }
42
54
 
55
+ interface SheetProps {}
56
+ interface SheetProps extends Props {}
57
+
58
+ interface SheetEvents extends Record<'',{}>{}
59
+
43
60
 
44
61
 
45
62
  declare class Sheet extends SvelteComponent<
46
- SheetProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof SheetProps>,
47
- { sheetOpen: CustomEvent<void>; sheetOpened: CustomEvent<void>; sheetClose: CustomEvent<void>; sheetClosed: CustomEvent<void>; sheetBreakpoint: CustomEvent<void>; sheetStepProgress: CustomEvent<void>; sheetStepOpen: CustomEvent<void>; sheetStepClose: CustomEvent<void>; },
48
- { 'fixed' : {}; 'default' : {}; 'static' : {}; }
63
+ SheetProps,
64
+ SheetEvents,
65
+ { }
49
66
  > {}
50
67
 
51
68
  export { SheetProps };