framework7-svelte 8.3.4 → 9.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/components/accordion-content.d.ts +11 -5
  2. package/components/accordion-content.svelte +8 -6
  3. package/components/accordion-item.d.ts +23 -11
  4. package/components/accordion-item.svelte +27 -25
  5. package/components/accordion-toggle.d.ts +11 -5
  6. package/components/accordion-toggle.svelte +8 -6
  7. package/components/accordion.d.ts +11 -5
  8. package/components/accordion.svelte +11 -10
  9. package/components/actions-button.d.ts +14 -6
  10. package/components/actions-button.svelte +21 -19
  11. package/components/actions-group.d.ts +11 -5
  12. package/components/actions-group.svelte +4 -7
  13. package/components/actions-label.d.ts +11 -5
  14. package/components/actions-label.svelte +13 -23
  15. package/components/actions.d.ts +31 -21
  16. package/components/actions.svelte +50 -54
  17. package/components/app.d.ts +11 -5
  18. package/components/app.svelte +6 -7
  19. package/components/area-chart.d.ts +13 -6
  20. package/components/area-chart.svelte +42 -46
  21. package/components/badge.d.ts +11 -5
  22. package/components/badge.svelte +10 -9
  23. package/components/block-footer.d.ts +11 -5
  24. package/components/block-footer.svelte +8 -6
  25. package/components/block-header.d.ts +11 -5
  26. package/components/block-header.svelte +8 -6
  27. package/components/block-title.d.ts +11 -5
  28. package/components/block-title.svelte +12 -10
  29. package/components/block.d.ts +11 -5
  30. package/components/block.svelte +76 -76
  31. package/components/breadcrumbs-collapsed.d.ts +12 -6
  32. package/components/breadcrumbs-collapsed.svelte +10 -15
  33. package/components/breadcrumbs-item.d.ts +12 -6
  34. package/components/breadcrumbs-item.svelte +9 -8
  35. package/components/breadcrumbs-separator.d.ts +10 -5
  36. package/components/breadcrumbs-separator.svelte +9 -5
  37. package/components/breadcrumbs.d.ts +11 -6
  38. package/components/breadcrumbs.svelte +8 -6
  39. package/components/button.d.ts +44 -37
  40. package/components/button.svelte +107 -103
  41. package/components/card-content.d.ts +11 -5
  42. package/components/card-content.svelte +11 -10
  43. package/components/card-footer.d.ts +11 -5
  44. package/components/card-footer.svelte +8 -6
  45. package/components/card-header.d.ts +11 -5
  46. package/components/card-header.svelte +8 -6
  47. package/components/card.d.ts +43 -31
  48. package/components/card.svelte +78 -67
  49. package/components/checkbox.d.ts +20 -13
  50. package/components/checkbox.svelte +32 -30
  51. package/components/chip.d.ts +22 -15
  52. package/components/chip.svelte +54 -60
  53. package/components/fab-backdrop.d.ts +10 -5
  54. package/components/fab-backdrop.svelte +5 -7
  55. package/components/fab-button.d.ts +17 -11
  56. package/components/fab-button.svelte +20 -29
  57. package/components/fab-buttons.d.ts +11 -5
  58. package/components/fab-buttons.svelte +5 -12
  59. package/components/fab.d.ts +22 -13
  60. package/components/fab.svelte +55 -51
  61. package/components/gauge.d.ts +24 -19
  62. package/components/gauge.svelte +25 -25
  63. package/components/icon.d.ts +19 -13
  64. package/components/icon.svelte +65 -63
  65. package/components/input.d.ts +78 -61
  66. package/components/input.svelte +171 -154
  67. package/components/link.d.ts +28 -21
  68. package/components/link.svelte +67 -65
  69. package/components/list-button.d.ts +22 -15
  70. package/components/list-button.svelte +56 -44
  71. package/components/list-group.d.ts +16 -10
  72. package/components/list-group.svelte +38 -34
  73. package/components/list-index.d.ts +20 -13
  74. package/components/list-index.svelte +23 -24
  75. package/components/list-input.d.ts +91 -64
  76. package/components/list-input.svelte +254 -205
  77. package/components/list-item.d.ts +98 -63
  78. package/components/list-item.svelte +412 -439
  79. package/components/list.d.ts +72 -54
  80. package/components/list.svelte +151 -147
  81. package/components/login-screen-title.d.ts +11 -5
  82. package/components/login-screen-title.svelte +4 -6
  83. package/components/login-screen.d.ts +20 -10
  84. package/components/login-screen.svelte +39 -42
  85. package/components/message.d.ts +48 -29
  86. package/components/message.svelte +123 -88
  87. package/components/messagebar-attachment.d.ts +17 -9
  88. package/components/messagebar-attachment.svelte +16 -18
  89. package/components/messagebar-attachments.d.ts +11 -5
  90. package/components/messagebar-attachments.svelte +6 -6
  91. package/components/messagebar-sheet-image.d.ts +19 -10
  92. package/components/messagebar-sheet-image.svelte +30 -22
  93. package/components/messagebar-sheet-item.d.ts +11 -5
  94. package/components/messagebar-sheet-item.svelte +4 -6
  95. package/components/messagebar-sheet.d.ts +11 -5
  96. package/components/messagebar-sheet.svelte +4 -6
  97. package/components/messagebar.d.ts +53 -31
  98. package/components/messagebar.svelte +100 -77
  99. package/components/messages-title.d.ts +11 -5
  100. package/components/messages-title.svelte +4 -6
  101. package/components/messages.d.ts +26 -20
  102. package/components/messages.svelte +32 -32
  103. package/components/nav-left.d.ts +19 -12
  104. package/components/nav-left.svelte +23 -39
  105. package/components/nav-right.d.ts +11 -6
  106. package/components/nav-right.svelte +4 -15
  107. package/components/nav-title-large.d.ts +11 -5
  108. package/components/nav-title-large.svelte +4 -6
  109. package/components/nav-title.d.ts +13 -8
  110. package/components/nav-title.svelte +25 -20
  111. package/components/navbar.d.ts +47 -28
  112. package/components/navbar.svelte +100 -111
  113. package/components/page-content.d.ts +41 -29
  114. package/components/page-content.svelte +58 -50
  115. package/components/page.d.ts +71 -46
  116. package/components/page.svelte +102 -82
  117. package/components/panel.d.ts +51 -35
  118. package/components/panel.svelte +94 -99
  119. package/components/photo-browser.d.ts +50 -41
  120. package/components/photo-browser.svelte +48 -47
  121. package/components/pie-chart.d.ts +13 -6
  122. package/components/pie-chart.svelte +29 -27
  123. package/components/popover.d.ts +28 -19
  124. package/components/popover.svelte +45 -48
  125. package/components/popup.d.ts +37 -23
  126. package/components/popup.svelte +68 -57
  127. package/components/preloader.d.ts +10 -5
  128. package/components/preloader.svelte +30 -31
  129. package/components/progressbar.d.ts +11 -6
  130. package/components/progressbar.svelte +13 -17
  131. package/components/radio.d.ts +19 -12
  132. package/components/radio.svelte +19 -23
  133. package/components/range.d.ts +35 -27
  134. package/components/range.svelte +47 -44
  135. package/components/routable-modals.d.ts +9 -4
  136. package/components/routable-modals.svelte +9 -8
  137. package/components/router-context-provider.d.ts +11 -6
  138. package/components/router-context-provider.svelte +2 -4
  139. package/components/searchbar.d.ts +60 -43
  140. package/components/searchbar.svelte +115 -104
  141. package/components/segmented.d.ts +21 -15
  142. package/components/segmented.svelte +38 -35
  143. package/components/sheet.d.ts +47 -30
  144. package/components/sheet.svelte +94 -76
  145. package/components/snippet-render.d.ts +24 -0
  146. package/components/snippet-render.svelte +9 -0
  147. package/components/stepper.d.ts +53 -43
  148. package/components/stepper.svelte +83 -79
  149. package/components/subnavbar.d.ts +13 -8
  150. package/components/subnavbar.svelte +12 -20
  151. package/components/swipeout-actions.d.ts +14 -8
  152. package/components/swipeout-actions.svelte +14 -13
  153. package/components/swipeout-button.d.ts +20 -13
  154. package/components/swipeout-button.svelte +31 -31
  155. package/components/tab.d.ts +14 -8
  156. package/components/tab.svelte +20 -28
  157. package/components/tabs.d.ts +15 -9
  158. package/components/tabs.svelte +27 -26
  159. package/components/text-editor.d.ts +44 -24
  160. package/components/text-editor.svelte +56 -41
  161. package/components/toggle.d.ts +22 -15
  162. package/components/toggle.svelte +33 -37
  163. package/components/toolbar-pane.d.ts +24 -0
  164. package/components/toolbar-pane.svelte +14 -0
  165. package/components/toolbar.d.ts +30 -20
  166. package/components/toolbar.svelte +61 -53
  167. package/components/treeview-item.d.ts +36 -17
  168. package/components/treeview-item.svelte +101 -81
  169. package/components/treeview.d.ts +11 -5
  170. package/components/treeview.svelte +4 -6
  171. package/components/use-icon.d.ts +9 -4
  172. package/components/use-icon.svelte +1 -1
  173. package/components/view.d.ts +76 -65
  174. package/components/view.svelte +66 -48
  175. package/components/views.d.ts +11 -5
  176. package/components/views.svelte +12 -15
  177. package/framework7-svelte.d.ts +3 -1
  178. package/framework7-svelte.js +6 -4
  179. package/package.json +2 -2
  180. package/shared/components-router.js +28 -25
  181. package/shared/f7.js +1 -7
  182. package/shared/mixins.js +5 -5
  183. package/shared/modal-state-classes.js +4 -5
  184. package/shared/plugin.js +1 -4
  185. package/shared/rest-props.js +1 -4
  186. package/shared/use-icon.js +2 -5
  187. package/shared/use-store.js +9 -9
  188. package/shared/use-tab.js +3 -3
  189. package/shared/use-tooltip.js +3 -4
  190. package/shared/utils.js +2 -8
  191. package/shared/get-reactive-context.js +0 -16
  192. package/shared/list-context.js +0 -10
  193. package/shared/router-context.js +0 -8
  194. package/shared/set-reactive-context.js +0 -26
@@ -1,5 +1,4 @@
1
1
  <script>
2
- import { createEventDispatcher } from 'svelte';
3
2
  import {
4
3
  colorClasses,
5
4
  routerAttrs,
@@ -7,8 +6,7 @@
7
6
  actionsAttrs,
8
7
  actionsClasses,
9
8
  } from '../shared/mixins.js';
10
- import { classNames, extend, isStringProp, plainText, createEmitter } from '../shared/utils.js';
11
- import { restProps } from '../shared/rest-props.js';
9
+ import { classNames, extend, isStringProp, plainText } from '../shared/utils.js';
12
10
  import { useTooltip } from '../shared/use-tooltip.js';
13
11
  import { useRouteProps } from '../shared/use-route-props.js';
14
12
  import { useIcon } from '../shared/use-icon.js';
@@ -16,121 +14,127 @@
16
14
  import UseIcon from './use-icon.svelte';
17
15
  import Preloader from './preloader.svelte';
18
16
 
19
- const emit = createEmitter(createEventDispatcher, $$props);
17
+ let {
18
+ class: className,
19
+ text = undefined,
20
+ tabLink = undefined,
21
+ tabLinkActive = false,
22
+ type = undefined,
23
+ href = '#',
24
+ target = undefined,
25
+ round = false,
26
+ roundMd = false,
27
+ roundIos = false,
28
+ fill = false,
29
+ fillMd = false,
30
+ fillIos = false,
31
+ tonal = false,
32
+ tonalMd = false,
33
+ tonalIos = 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
+ outline = false,
44
+ outlineMd = false,
45
+ outlineIos = false,
46
+ active = false,
47
+ disabled = false,
48
+ tooltip = undefined,
49
+ tooltipTrigger = undefined,
50
+ routeProps = undefined,
51
+ preloader = false,
52
+ preloaderSize = undefined,
53
+ preloaderColor = undefined,
54
+ loading = false,
55
+ children,
56
+ ...restProps
57
+ } = $props();
20
58
 
21
- let className = undefined;
22
- export { className as class };
59
+ let el = $state(null);
23
60
 
24
- export let text = undefined;
25
- export let tabLink = undefined;
26
- export let tabLinkActive = false;
27
- export let type = undefined;
28
- export let href = '#';
29
- export let target = undefined;
30
- export let round = false;
31
- export let roundMd = false;
32
- export let roundIos = false;
33
- export let fill = false;
34
- export let fillMd = false;
35
- export let fillIos = false;
36
- export let tonal = false;
37
- export let tonalMd = false;
38
- export let tonalIos = false;
39
- export let large = false;
40
- export let largeMd = false;
41
- export let largeIos = false;
42
- export let small = false;
43
- export let smallMd = false;
44
- export let smallIos = false;
45
- export let raised = false;
46
- export let raisedMd = false;
47
- export let raisedIos = false;
48
- export let outline = false;
49
- export let outlineMd = false;
50
- export let outlineIos = false;
51
- export let active = false;
52
- export let disabled = false;
53
- export let tooltip = undefined;
54
- export let tooltipTrigger = undefined;
55
- export let routeProps = undefined;
56
- export let preloader = false;
57
- export let preloaderSize = undefined;
58
- export let preloaderColor = undefined;
59
- export let loading = false;
61
+ const hrefComputed = $derived(href === true ? '#' : href || undefined);
60
62
 
61
- let el;
62
-
63
- $: hrefComputed = href === true ? '#' : href || undefined;
64
-
65
- $: attrs = extend(
66
- {
67
- href: hrefComputed,
68
- target,
69
- type,
70
- 'data-tab': (isStringProp(tabLink) && tabLink) || undefined,
71
- ...restProps($$restProps),
72
- },
73
- routerAttrs($$props),
74
- actionsAttrs($$props),
63
+ const attrs = $derived(
64
+ extend(
65
+ {
66
+ href: hrefComputed,
67
+ target,
68
+ type,
69
+ 'data-tab': (isStringProp(tabLink) && tabLink) || undefined,
70
+ ...restProps,
71
+ },
72
+ routerAttrs(restProps),
73
+ actionsAttrs(restProps),
74
+ ),
75
75
  );
76
76
 
77
- $: classes = classNames(
78
- className,
79
- 'button',
80
- {
81
- 'tab-link': tabLink || tabLink === '',
82
- 'tab-link-active': tabLinkActive,
77
+ const classes = $derived(
78
+ classNames(
79
+ className,
80
+ 'button',
81
+ {
82
+ 'tab-link': tabLink || tabLink === '',
83
+ 'tab-link-active': tabLinkActive,
83
84
 
84
- 'button-round': round,
85
- 'button-round-ios': roundIos,
86
- 'button-round-md': roundMd,
87
- 'button-fill': fill,
88
- 'button-fill-ios': fillIos,
89
- 'button-fill-md': fillMd,
90
- 'button-tonal': tonal,
91
- 'button-tonal-ios': tonalIos,
92
- 'button-tonal-md': tonalMd,
93
- 'button-large': large,
94
- 'button-large-ios': largeIos,
95
- 'button-large-md': largeMd,
96
- 'button-small': small,
97
- 'button-small-ios': smallIos,
98
- 'button-small-md': smallMd,
99
- 'button-raised': raised,
100
- 'button-raised-ios': raisedIos,
101
- 'button-raised-md': raisedMd,
102
- 'button-active': active,
103
- 'button-outline': outline,
104
- 'button-outline-ios': outlineIos,
105
- 'button-outline-md': outlineMd,
106
- 'button-preloader': preloader,
107
- 'button-loading': loading,
85
+ 'button-round': round,
86
+ 'button-round-ios': roundIos,
87
+ 'button-round-md': roundMd,
88
+ 'button-fill': fill,
89
+ 'button-fill-ios': fillIos,
90
+ 'button-fill-md': fillMd,
91
+ 'button-tonal': tonal,
92
+ 'button-tonal-ios': tonalIos,
93
+ 'button-tonal-md': tonalMd,
94
+ 'button-large': large,
95
+ 'button-large-ios': largeIos,
96
+ 'button-large-md': largeMd,
97
+ 'button-small': small,
98
+ 'button-small-ios': smallIos,
99
+ 'button-small-md': smallMd,
100
+ 'button-raised': raised,
101
+ 'button-raised-ios': raisedIos,
102
+ 'button-raised-md': raisedMd,
103
+ 'button-active': active,
104
+ 'button-outline': outline,
105
+ 'button-outline-ios': outlineIos,
106
+ 'button-outline-md': outlineMd,
107
+ 'button-preloader': preloader,
108
+ 'button-loading': loading,
108
109
 
109
- disabled,
110
- },
111
- colorClasses($$props),
112
- routerClasses($$props),
113
- actionsClasses($$props),
110
+ disabled,
111
+ },
112
+ colorClasses(restProps),
113
+ routerClasses(restProps),
114
+ actionsClasses(restProps),
115
+ ),
114
116
  );
115
117
 
116
- $: tagName = type === 'submit' || type === 'reset' || type === 'button' ? 'button' : 'a';
117
-
118
- $: icon = useIcon($$props);
118
+ const tagName = $derived(
119
+ type === 'submit' || type === 'reset' || type === 'button' ? 'button' : 'a',
120
+ );
119
121
 
120
- function onClick() {
121
- emit('click');
122
+ const icon = $derived(useIcon(restProps));
123
+ function onClick(e) {
124
+ restProps.onClick?.(e);
125
+ restProps.onclick?.(e);
122
126
  }
123
127
  </script>
124
128
 
125
- <!-- svelte-ignore a11y-missing-attribute -->
129
+ <!-- svelte-ignore a11y_missing_attribute -->
126
130
  {#if tagName === 'button'}
127
131
  <button
128
132
  bind:this={el}
129
133
  use:useRouteProps={routeProps}
130
134
  class={classes}
131
- on:click={onClick}
132
135
  use:useTooltip={{ tooltip, tooltipTrigger }}
133
136
  {...attrs}
137
+ onclick={onClick}
134
138
  >
135
139
  {#if preloader}
136
140
  <Preloader size={preloaderSize} color={preloaderColor} />
@@ -141,7 +145,7 @@
141
145
  {#if typeof text !== 'undefined'}
142
146
  <span>{plainText(text)}</span>
143
147
  {/if}
144
- <slot />
148
+ {@render children?.()}
145
149
  </span>
146
150
  {:else}
147
151
  {#if icon}
@@ -150,7 +154,7 @@
150
154
  {#if typeof text !== 'undefined'}
151
155
  <span>{plainText(text)}</span>
152
156
  {/if}
153
- <slot />
157
+ {@render children?.()}
154
158
  {/if}
155
159
  </button>
156
160
  {:else}
@@ -158,9 +162,9 @@
158
162
  bind:this={el}
159
163
  use:useRouteProps={routeProps}
160
164
  class={classes}
161
- on:click={onClick}
162
165
  use:useTooltip={{ tooltip, tooltipTrigger }}
163
166
  {...attrs}
167
+ onclick={onClick}
164
168
  >
165
169
  {#if preloader}
166
170
  <Preloader size={preloaderSize} color={preloaderColor} />
@@ -171,7 +175,7 @@
171
175
  {#if typeof text !== 'undefined'}
172
176
  <span>{plainText(text)}</span>
173
177
  {/if}
174
- <slot />
178
+ {@render children?.()}
175
179
  </span>
176
180
  {:else}
177
181
  {#if icon}
@@ -180,7 +184,7 @@
180
184
  {#if typeof text !== 'undefined'}
181
185
  <span>{plainText(text)}</span>
182
186
  {/if}
183
- <slot />
187
+ {@render children?.()}
184
188
  {/if}
185
189
  </a>
186
190
  {/if}
@@ -1,9 +1,9 @@
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 CardContentProps {
6
+ interface Props {
7
7
  padding?: boolean;
8
8
  color?: string;
9
9
  colorTheme?: string;
@@ -12,14 +12,20 @@ interface CardContentProps {
12
12
  borderColor?: string;
13
13
  rippleColor?: string;
14
14
  dark?: boolean;
15
+ children?: Snippet;
15
16
  }
16
17
 
18
+ interface CardContentProps {}
19
+ interface CardContentProps extends Props {}
20
+
21
+ interface CardContentEvents extends Record<'',{}>{}
22
+
17
23
 
18
24
 
19
25
  declare class CardContent extends SvelteComponent<
20
- CardContentProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof CardContentProps>,
21
- { },
22
- { 'default' : {}; }
26
+ CardContentProps,
27
+ CardContentEvents,
28
+ { }
23
29
  > {}
24
30
 
25
31
  export { CardContentProps };
@@ -1,23 +1,24 @@
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
+ padding = true,
8
+ children,
9
+ ...restProps
10
+ } = $props();
8
11
 
9
- export let padding = true;
10
-
11
- $: classes = classNames(
12
+ const classes = $derived(classNames(
12
13
  className,
13
14
  'card-content',
14
15
  {
15
16
  'card-content-padding': padding,
16
17
  },
17
- colorClasses($$props),
18
- );
18
+ colorClasses(restProps),
19
+ ));
19
20
  </script>
20
21
 
21
- <div class={classes} {...restProps($$restProps)}>
22
- <slot />
22
+ <div class={classes} {...restProps}>
23
+ {@render children?.()}
23
24
  </div>
@@ -1,9 +1,9 @@
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 CardFooterProps {
6
+ interface Props {
7
7
  color?: string;
8
8
  colorTheme?: string;
9
9
  textColor?: string;
@@ -11,14 +11,20 @@ interface CardFooterProps {
11
11
  borderColor?: string;
12
12
  rippleColor?: string;
13
13
  dark?: boolean;
14
+ children?: Snippet;
14
15
  }
15
16
 
17
+ interface CardFooterProps {}
18
+ interface CardFooterProps extends Props {}
19
+
20
+ interface CardFooterEvents extends Record<'',{}>{}
21
+
16
22
 
17
23
 
18
24
  declare class CardFooter extends SvelteComponent<
19
- CardFooterProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof CardFooterProps>,
20
- { },
21
- { 'default' : {}; }
25
+ CardFooterProps,
26
+ CardFooterEvents,
27
+ { }
22
28
  > {}
23
29
 
24
30
  export { CardFooterProps };
@@ -1,14 +1,16 @@
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
+ children,
8
+ ...restProps
9
+ } = $props();
8
10
 
9
- $: classes = classNames(className, 'card-footer', colorClasses($$props));
11
+ const classes = $derived(classNames(className, 'card-footer', colorClasses(restProps)));
10
12
  </script>
11
13
 
12
- <div class={classes} {...restProps($$restProps)}>
13
- <slot />
14
+ <div class={classes} {...restProps}>
15
+ {@render children?.()}
14
16
  </div>
@@ -1,9 +1,9 @@
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 CardHeaderProps {
6
+ interface Props {
7
7
  color?: string;
8
8
  colorTheme?: string;
9
9
  textColor?: string;
@@ -11,14 +11,20 @@ interface CardHeaderProps {
11
11
  borderColor?: string;
12
12
  rippleColor?: string;
13
13
  dark?: boolean;
14
+ children?: Snippet;
14
15
  }
15
16
 
17
+ interface CardHeaderProps {}
18
+ interface CardHeaderProps extends Props {}
19
+
20
+ interface CardHeaderEvents extends Record<'',{}>{}
21
+
16
22
 
17
23
 
18
24
  declare class CardHeader extends SvelteComponent<
19
- CardHeaderProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof CardHeaderProps>,
20
- { },
21
- { 'default' : {}; }
25
+ CardHeaderProps,
26
+ CardHeaderEvents,
27
+ { }
22
28
  > {}
23
29
 
24
30
  export { CardHeaderProps };
@@ -1,14 +1,16 @@
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
+ children,
8
+ ...restProps
9
+ } = $props();
8
10
 
9
- $: classes = classNames(className, 'card-header', colorClasses($$props));
11
+ const classes = $derived(classNames(className, 'card-header', colorClasses(restProps)));
10
12
  </script>
11
13
 
12
- <div class={classes} {...restProps($$restProps)}>
13
- <slot />
14
+ <div class={classes} {...restProps}>
15
+ {@render children?.()}
14
16
  </div>
@@ -1,36 +1,36 @@
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 CardProps {
7
- title ?: string | number;
8
- content ?: string | number;
9
- footer ?: string | number;
6
+ interface Props {
7
+ title?: string | number;
8
+ content?: string | number | Snippet;
9
+ footer?: string | number | Snippet;
10
10
  raised?: boolean;
11
- outline ?: boolean;
12
- outlineIos ?: boolean;
13
- outlineMd ?: boolean;
14
- headerDivider ?: boolean;
15
- footerDivider ?: boolean;
16
- expandable ?: boolean;
17
- expandableAnimateWidth ?: boolean;
18
- expandableOpened ?: boolean;
19
- animate ?: boolean;
20
- hideNavbarOnOpen ?: boolean;
21
- hideToolbarOnOpen ?: boolean;
22
- hideStatusbarOnOpen ?: boolean;
23
- scrollableEl ?: string;
24
- swipeToClose ?: boolean;
25
- closeByBackdropClick ?: boolean;
26
- backdrop ?: boolean;
27
- backdropEl ?: string;
28
- padding ?: boolean;
29
- onCardBeforeOpen ?: (el?: HTMLElement, prevent?: any) => void;
30
- onCardOpen ?: (el?: HTMLElement) => void;
31
- onCardOpened ?: (el?: HTMLElement, pageEl?: HTMLElement) => void;
32
- onCardClose ?: (el?: HTMLElement) => void;
33
- onCardClosed ?: (el?: HTMLElement, pageEl?: HTMLElement) => void;
11
+ outline?: boolean;
12
+ outlineIos?: boolean;
13
+ outlineMd?: boolean;
14
+ headerDivider?: boolean;
15
+ footerDivider?: boolean;
16
+ expandable?: boolean;
17
+ expandableAnimateWidth?: boolean;
18
+ expandableOpened?: boolean;
19
+ animate?: boolean;
20
+ hideNavbarOnOpen?: boolean;
21
+ hideToolbarOnOpen?: boolean;
22
+ hideStatusbarOnOpen?: boolean;
23
+ scrollableEl?: string;
24
+ swipeToClose?: boolean;
25
+ closeByBackdropClick?: boolean;
26
+ backdrop?: boolean;
27
+ backdropEl?: string;
28
+ padding?: boolean;
29
+ onCardBeforeOpen?: (el?: HTMLElement, prevent?: any) => void;
30
+ onCardOpen?: (el?: HTMLElement) => void;
31
+ onCardOpened?: (el?: HTMLElement, pageEl?: HTMLElement) => void;
32
+ onCardClose?: (el?: HTMLElement) => void;
33
+ onCardClosed?: (el?: HTMLElement, pageEl?: HTMLElement) => void;
34
34
  color?: string;
35
35
  colorTheme?: string;
36
36
  textColor?: string;
@@ -38,14 +38,26 @@ interface CardProps {
38
38
  borderColor?: string;
39
39
  rippleColor?: string;
40
40
  dark?: boolean;
41
+ header?: Snippet;
42
+ children?: Snippet;
43
+ oncardbeforeopen?: () => void;
44
+ oncardopen?: () => void;
45
+ oncardopened?: () => void;
46
+ oncardclose?: () => void;
47
+ oncardclosed?: () => void;
41
48
  }
42
49
 
50
+ interface CardProps {}
51
+ interface CardProps extends Props {}
52
+
53
+ interface CardEvents extends Record<'',{}>{}
54
+
43
55
 
44
56
 
45
57
  declare class Card extends SvelteComponent<
46
- CardProps & Omit<HTMLAttributes<HTMLElementTagNameMap['div']>, keyof CardProps>,
47
- { cardBeforeOpen: CustomEvent<void>; cardOpen: CustomEvent<void>; cardOpened: CustomEvent<void>; cardClose: CustomEvent<void>; cardClosed: CustomEvent<void>; },
48
- { 'header' : {}; 'content' : {}; 'footer' : {}; 'default' : {}; }
58
+ CardProps,
59
+ CardEvents,
60
+ { }
49
61
  > {}
50
62
 
51
63
  export { CardProps };