|
1 | 1 | <script> |
2 | | - import { createEventDispatcher } from 'svelte'; |
3 | 2 | import { colorClasses } from '../shared/mixins.js'; |
4 | | - import { classNames, createEmitter } from '../shared/utils.js'; |
5 | | - import { restProps } from '../shared/rest-props.js'; |
| 3 | + import { classNames } from '../shared/utils.js'; |
6 | 4 | import { useTab } from '../shared/use-tab.js'; |
7 | 5 |
|
8 | | - const emit = createEmitter(createEventDispatcher, $$props); |
| 6 | + let { |
| 7 | + class: className, |
| 8 | + inset = false, |
| 9 | + insetIos = false, |
| 10 | + insetMd = false, |
| 11 | + xsmallInset = false, |
| 12 | + xsmallInsetIos = false, |
| 13 | + xsmallInsetMd = false, |
| 14 | + smallInset = false, |
| 15 | + smallInsetIos = false, |
| 16 | + smallInsetMd = false, |
| 17 | + mediumInset = false, |
| 18 | + mediumInsetIos = false, |
| 19 | + mediumInsetMd = false, |
| 20 | + largeInset = false, |
| 21 | + largeInsetIos = false, |
| 22 | + largeInsetMd = false, |
| 23 | + xlargeInset = false, |
| 24 | + xlargeInsetIos = false, |
| 25 | + xlargeInsetMd = false, |
| 26 | + strong = false, |
| 27 | + strongIos = false, |
| 28 | + strongMd = false, |
| 29 | + tabs = false, |
| 30 | + tab = false, |
| 31 | + tabActive = false, |
| 32 | + accordionList = false, |
| 33 | + accordionOpposite = false, |
| 34 | + outline = false, |
| 35 | + outlineMd = false, |
| 36 | + outlineIos = false, |
| 37 | + children, |
| 38 | + ...restProps |
| 39 | + } = $props(); |
9 | 40 |
|
10 | | - export let inset = false; |
11 | | - export let insetIos = false; |
12 | | - export let insetMd = false; |
13 | | - export let xsmallInset = false; |
14 | | - export let xsmallInsetIos = false; |
15 | | - export let xsmallInsetMd = false; |
16 | | - export let smallInset = false; |
17 | | - export let smallInsetIos = false; |
18 | | - export let smallInsetMd = false; |
19 | | - export let mediumInset = false; |
20 | | - export let mediumInsetIos = false; |
21 | | - export let mediumInsetMd = false; |
22 | | - export let largeInset = false; |
23 | | - export let largeInsetIos = false; |
24 | | - export let largeInsetMd = false; |
25 | | - export let xlargeInset = false; |
26 | | - export let xlargeInsetIos = false; |
27 | | - export let xlargeInsetMd = false; |
28 | | - export let strong = false; |
29 | | - export let strongIos = false; |
30 | | - export let strongMd = false; |
31 | | - export let tabs = false; |
32 | | - export let tab = false; |
33 | | - export let tabActive = false; |
34 | | - export let accordionList = false; |
35 | | - export let accordionOpposite = false; |
36 | | - export let outline = false; |
37 | | - export let outlineMd = false; |
38 | | - export let outlineIos = false; |
39 | | -
|
40 | | - let className = undefined; |
41 | | - export { className as class }; |
42 | 41 |
|
43 | 42 | let el; |
44 | 43 |
|
45 | | - $: classes = classNames( |
| 44 | + const classes = $derived(classNames( |
46 | 45 | className, |
47 | 46 | 'block', |
48 | 47 | { |
|
76 | 75 | 'block-outline-md': outlineMd, |
77 | 76 | 'block-outline-ios': outlineIos, |
78 | 77 | }, |
79 | | - colorClasses($$props), |
80 | | - ); |
| 78 | + colorClasses(restProps), |
| 79 | + )); |
81 | 80 |
|
82 | | - useTab(() => el, emit); |
| 81 | + useTab(() => el, restProps); |
83 | 82 | </script> |
84 | 83 |
|
85 | | -<div class={classes} bind:this={el} {...restProps($$restProps)}> |
86 | | - <slot /> |
| 84 | +<div class={classes} bind:this={el} {...restProps}> |
| 85 | + {@render children?.()} |
87 | 86 | </div> |
0 commit comments