@hyvor/design 1.1.3 → 1.1.5
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/dist/components/Button/Button.svelte +36 -10
- package/dist/components/Button/Button.svelte.d.ts +10 -0
- package/dist/components/CodeBlock/TabbedCodeBlock.svelte +78 -0
- package/dist/components/CodeBlock/TabbedCodeBlock.svelte.d.ts +8 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/legacy.d.ts +9 -0
- package/dist/legacy.js +8 -0
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { legacyHandlers } from '../../legacy.js';
|
|
2
3
|
import { createBubbler } from 'svelte/legacy';
|
|
3
4
|
|
|
4
5
|
const bubble = createBubbler();
|
|
@@ -16,6 +17,17 @@
|
|
|
16
17
|
end?: import('svelte').Snippet;
|
|
17
18
|
action?: import('svelte').Snippet;
|
|
18
19
|
[key: string]: any;
|
|
20
|
+
|
|
21
|
+
onkeyup?: (event: KeyboardEvent) => void;
|
|
22
|
+
onkeydown?: (event: KeyboardEvent) => void;
|
|
23
|
+
onkeypress?: (event: KeyboardEvent) => void;
|
|
24
|
+
onfocus?: (event: FocusEvent) => void;
|
|
25
|
+
onblur?: (event: FocusEvent) => void;
|
|
26
|
+
onclick?: (event: MouseEvent) => void;
|
|
27
|
+
onmouseover?: (event: MouseEvent) => void;
|
|
28
|
+
onmouseenter?: (event: MouseEvent) => void;
|
|
29
|
+
onmouseleave?: (event: MouseEvent) => void;
|
|
30
|
+
onchange?: (event: Event) => void;
|
|
19
31
|
}
|
|
20
32
|
|
|
21
33
|
let {
|
|
@@ -30,6 +42,18 @@
|
|
|
30
42
|
children,
|
|
31
43
|
end,
|
|
32
44
|
action,
|
|
45
|
+
|
|
46
|
+
onkeyup,
|
|
47
|
+
onkeydown,
|
|
48
|
+
onkeypress,
|
|
49
|
+
onfocus,
|
|
50
|
+
onblur,
|
|
51
|
+
onclick,
|
|
52
|
+
onmouseover,
|
|
53
|
+
onmouseenter,
|
|
54
|
+
onmouseleave,
|
|
55
|
+
onchange,
|
|
56
|
+
|
|
33
57
|
...rest
|
|
34
58
|
}: Props = $props();
|
|
35
59
|
</script>
|
|
@@ -38,16 +62,18 @@
|
|
|
38
62
|
this={as}
|
|
39
63
|
class="button {size} {color} {variant} {align}"
|
|
40
64
|
class:block
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
65
|
+
|
|
66
|
+
onkeyup={legacyHandlers(onkeyup, bubble('keyup'))}
|
|
67
|
+
onkeydown={legacyHandlers(onkeydown, bubble('keydown'))}
|
|
68
|
+
onkeypress={legacyHandlers(onkeypress, bubble('keypress'))}
|
|
69
|
+
onfocus={legacyHandlers(onfocus, bubble('focus'))}
|
|
70
|
+
onblur={legacyHandlers(onblur, bubble('blur'))}
|
|
71
|
+
onclick={legacyHandlers(onclick, bubble('click'))}
|
|
72
|
+
onmouseover={legacyHandlers(onmouseover, bubble('mouseover'))}
|
|
73
|
+
onmouseenter={legacyHandlers(onmouseenter, bubble('mouseenter'))}
|
|
74
|
+
onmouseleave={legacyHandlers(onmouseleave, bubble('mouseleave'))}
|
|
75
|
+
onchange={legacyHandlers(onchange, bubble('change'))}
|
|
76
|
+
|
|
51
77
|
role="button"
|
|
52
78
|
tabindex="0"
|
|
53
79
|
bind:this={button}
|
|
@@ -11,6 +11,16 @@ interface Props {
|
|
|
11
11
|
end?: import('svelte').Snippet;
|
|
12
12
|
action?: import('svelte').Snippet;
|
|
13
13
|
[key: string]: any;
|
|
14
|
+
onkeyup?: (event: KeyboardEvent) => void;
|
|
15
|
+
onkeydown?: (event: KeyboardEvent) => void;
|
|
16
|
+
onkeypress?: (event: KeyboardEvent) => void;
|
|
17
|
+
onfocus?: (event: FocusEvent) => void;
|
|
18
|
+
onblur?: (event: FocusEvent) => void;
|
|
19
|
+
onclick?: (event: MouseEvent) => void;
|
|
20
|
+
onmouseover?: (event: MouseEvent) => void;
|
|
21
|
+
onmouseenter?: (event: MouseEvent) => void;
|
|
22
|
+
onmouseleave?: (event: MouseEvent) => void;
|
|
23
|
+
onchange?: (event: Event) => void;
|
|
14
24
|
}
|
|
15
25
|
declare const Button: import("svelte").Component<Props, {}, "button">;
|
|
16
26
|
type Button = ReturnType<typeof Button>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import Button from "../Button/Button.svelte";
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
children: Snippet;
|
|
7
|
+
tabs: string[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
let { children, tabs }: Props = $props();
|
|
11
|
+
let activeTab = $state(tabs[0]);
|
|
12
|
+
|
|
13
|
+
function activateTab(tab: string) {
|
|
14
|
+
activeTab = tab;
|
|
15
|
+
|
|
16
|
+
const pres = blocksEl.querySelectorAll("pre");
|
|
17
|
+
const tabIndex = tabs.indexOf(tab);
|
|
18
|
+
|
|
19
|
+
pres.forEach((pre, index) => {
|
|
20
|
+
if (index === tabIndex) {
|
|
21
|
+
pre.style.display = "block";
|
|
22
|
+
} else {
|
|
23
|
+
pre.style.display = "none";
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
let blocksEl: HTMLDivElement;
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
<div class="tabbed">
|
|
32
|
+
|
|
33
|
+
<div class="selectors">
|
|
34
|
+
{#each tabs as tab}
|
|
35
|
+
<Button
|
|
36
|
+
size="x-small"
|
|
37
|
+
color={activeTab === tab ? 'accent' : 'input'}
|
|
38
|
+
onclick={() => activateTab(tab)}
|
|
39
|
+
>{tab}</Button>
|
|
40
|
+
{/each}
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div class="blocks" bind:this={blocksEl}>
|
|
44
|
+
{@render children()}
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<style>
|
|
50
|
+
|
|
51
|
+
.tabbed {
|
|
52
|
+
margin: 1.5rem 0 1rem 0;
|
|
53
|
+
position: relative
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.selectors {
|
|
57
|
+
display: inline-flex;
|
|
58
|
+
position: absolute;
|
|
59
|
+
top: 0;
|
|
60
|
+
left: 20px;
|
|
61
|
+
z-index: 1;
|
|
62
|
+
transform: translateY(-50%);
|
|
63
|
+
gap: 3px;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.selectors > :global(button) {
|
|
67
|
+
border: 1px solid var(--border);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.blocks > :global(pre:not(:first-child)) {
|
|
71
|
+
display: none;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.blocks > :global(pre) {
|
|
75
|
+
margin: 0
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
</style>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
interface Props {
|
|
3
|
+
children: Snippet;
|
|
4
|
+
tabs: string[];
|
|
5
|
+
}
|
|
6
|
+
declare const TabbedCodeBlock: import("svelte").Component<Props, {}, "">;
|
|
7
|
+
type TabbedCodeBlock = ReturnType<typeof TabbedCodeBlock>;
|
|
8
|
+
export default TabbedCodeBlock;
|
|
@@ -11,6 +11,7 @@ export { default as BoxShadowPicker } from './BoxShadowPicker/BoxShadowPicker.sv
|
|
|
11
11
|
export { default as Callout } from './Callout/Callout.svelte';
|
|
12
12
|
export { default as Checkbox } from './Checkbox/Checkbox.svelte';
|
|
13
13
|
export { default as CodeBlock } from './CodeBlock/CodeBlock.svelte';
|
|
14
|
+
export { default as TabbedCodeBlock } from './CodeBlock/TabbedCodeBlock.svelte';
|
|
14
15
|
export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
|
|
15
16
|
export { default as DarkProvider } from './Dark/DarkProvider.svelte';
|
|
16
17
|
export { default as DarkToggle } from './Dark/DarkToggle.svelte';
|
package/dist/components/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export { default as BoxShadowPicker } from './BoxShadowPicker/BoxShadowPicker.sv
|
|
|
11
11
|
export { default as Callout } from './Callout/Callout.svelte';
|
|
12
12
|
export { default as Checkbox } from './Checkbox/Checkbox.svelte';
|
|
13
13
|
export { default as CodeBlock } from './CodeBlock/CodeBlock.svelte';
|
|
14
|
+
export { default as TabbedCodeBlock } from './CodeBlock/TabbedCodeBlock.svelte';
|
|
14
15
|
export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
|
|
15
16
|
export { default as DarkProvider } from './Dark/DarkProvider.svelte';
|
|
16
17
|
export { default as DarkToggle } from './Dark/DarkToggle.svelte';
|
package/dist/legacy.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Event can be KeyboardEvent, MouseEvent, TouchEvent, FocusEvent, or Event
|
|
3
|
+
*/
|
|
4
|
+
type CustomEventListener = (event: any) => void;
|
|
5
|
+
/**
|
|
6
|
+
* Extends svelte4 handlers to support undefined
|
|
7
|
+
*/
|
|
8
|
+
export declare function legacyHandlers(...eventHandlers: (CustomEventListener | undefined)[]): EventListener;
|
|
9
|
+
export {};
|
package/dist/legacy.js
ADDED
package/package.json
CHANGED