ui-ingredients 0.15.1 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,12 @@
|
|
1
1
|
<script lang="ts" module>
|
2
|
-
import type {
|
3
|
-
|
2
|
+
import type {HtmlIngredientProps} from '../types.js';
|
3
|
+
|
4
|
+
interface IndicatorState {
|
5
|
+
copied: boolean;
|
6
|
+
}
|
4
7
|
|
5
8
|
export interface ClipboardIndicatorProps
|
6
|
-
extends
|
7
|
-
HtmlIngredientProps<'span', HTMLSpanElement>,
|
8
|
-
Partial<IndicatorProps>
|
9
|
-
> {}
|
9
|
+
extends HtmlIngredientProps<'span', HTMLSpanElement, IndicatorState> {}
|
10
10
|
</script>
|
11
11
|
|
12
12
|
<script lang="ts">
|
@@ -15,7 +15,6 @@
|
|
15
15
|
|
16
16
|
let {
|
17
17
|
ref = $bindable(null),
|
18
|
-
copied = false,
|
19
18
|
asChild,
|
20
19
|
children,
|
21
20
|
...props
|
@@ -23,15 +22,19 @@
|
|
23
22
|
|
24
23
|
let clipboard = getClipboardContext();
|
25
24
|
|
25
|
+
let state = $derived({
|
26
|
+
copied: clipboard.copied,
|
27
|
+
});
|
28
|
+
|
26
29
|
let mergedProps = $derived(
|
27
|
-
mergeProps(clipboard.getIndicatorProps(
|
30
|
+
mergeProps(clipboard.getIndicatorProps(state), props),
|
28
31
|
);
|
29
32
|
</script>
|
30
33
|
|
31
34
|
{#if asChild}
|
32
|
-
{@render asChild(mergedProps)}
|
35
|
+
{@render asChild(mergedProps, state)}
|
33
36
|
{:else}
|
34
37
|
<span bind:this={ref} {...mergedProps}>
|
35
|
-
{@render children?.()}
|
38
|
+
{@render children?.(state)}
|
36
39
|
</span>
|
37
40
|
{/if}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import type {
|
2
|
-
|
3
|
-
|
1
|
+
import type { HtmlIngredientProps } from '../types.js';
|
2
|
+
interface IndicatorState {
|
3
|
+
copied: boolean;
|
4
|
+
}
|
5
|
+
export interface ClipboardIndicatorProps extends HtmlIngredientProps<'span', HTMLSpanElement, IndicatorState> {
|
4
6
|
}
|
5
7
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
6
8
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
@@ -44,13 +44,22 @@ export function createDrawer(props) {
|
|
44
44
|
return mergeProps(o.getTriggerProps(), parts.trigger.attrs);
|
45
45
|
},
|
46
46
|
getBodyProps() {
|
47
|
-
return {
|
47
|
+
return {
|
48
|
+
...parts.body.attrs,
|
49
|
+
'data-state': o.open ? 'open' : 'closed',
|
50
|
+
};
|
48
51
|
},
|
49
52
|
getFooterProps() {
|
50
|
-
return {
|
53
|
+
return {
|
54
|
+
...parts.footer.attrs,
|
55
|
+
'data-state': o.open ? 'open' : 'closed',
|
56
|
+
};
|
51
57
|
},
|
52
58
|
getHeaderProps() {
|
53
|
-
return {
|
59
|
+
return {
|
60
|
+
...parts.header.attrs,
|
61
|
+
'data-state': o.open ? 'open' : 'closed',
|
62
|
+
};
|
54
63
|
},
|
55
64
|
};
|
56
65
|
});
|