@hyvor/design 0.0.25 → 0.0.27

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.
@@ -0,0 +1,22 @@
1
+ <script>import { setContext } from "svelte";
2
+ import { writable } from "svelte/store";
3
+ export let active;
4
+ const activeStore = writable(active);
5
+ setContext("tab-nav-active", activeStore);
6
+ $:
7
+ active = $activeStore;
8
+ </script>
9
+
10
+ <div
11
+ class="tab-nav"
12
+ {...$$restProps}
13
+ >
14
+ <slot />
15
+ </div>
16
+
17
+
18
+ <style>
19
+ div {
20
+ display: flex;
21
+ }
22
+ </style>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ [x: string]: any;
5
+ active: string;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {};
12
+ };
13
+ };
14
+ export type TabNavProps = typeof __propDef.props;
15
+ export type TabNavEvents = typeof __propDef.events;
16
+ export type TabNavSlots = typeof __propDef.slots;
17
+ export default class TabNav extends SvelteComponent<TabNavProps, TabNavEvents, TabNavSlots> {
18
+ }
19
+ export {};
@@ -0,0 +1,55 @@
1
+ <script>import { getContext } from "svelte";
2
+ export let active = false;
3
+ export let name;
4
+ const activeStore = getContext("tab-nav-active");
5
+ $:
6
+ isActive = $activeStore === name || active;
7
+ function handleClick() {
8
+ activeStore.set(name);
9
+ }
10
+ </script>
11
+
12
+ <button
13
+ class="tab"
14
+ class:active={isActive}
15
+ on:click={handleClick}
16
+ {...$$restProps}
17
+ >
18
+ {#if $$slots.start}
19
+ <span class="start">
20
+ <slot name="start" />
21
+ </span>
22
+ {/if}
23
+ <slot />
24
+ {#if $$slots.end}
25
+ <span class="end">
26
+ <slot name="end" />
27
+ </span>
28
+ {/if}
29
+ </button>
30
+
31
+ <style>
32
+ .tab {
33
+ position: relative;
34
+ padding: 10px 15px;
35
+ border-bottom: 3px solid #f1f1f1;
36
+ cursor: pointer;
37
+ font-weight: 600;
38
+ display: flex;
39
+ align-items: center;
40
+ }
41
+ .tab.active {
42
+ border-bottom-color: var(--accent);
43
+ color: var(--accent);
44
+ }
45
+ .start {
46
+ display: inline-flex;
47
+ margin-right: 7px;
48
+ align-items: center;
49
+ }
50
+ .end {
51
+ display: inline-flex;
52
+ margin-left: 4px;
53
+ align-items: center;
54
+ }
55
+ </style>
@@ -0,0 +1,22 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ [x: string]: any;
5
+ active?: boolean | undefined;
6
+ name: string;
7
+ };
8
+ events: {
9
+ [evt: string]: CustomEvent<any>;
10
+ };
11
+ slots: {
12
+ start: {};
13
+ default: {};
14
+ end: {};
15
+ };
16
+ };
17
+ export type TabNavItemProps = typeof __propDef.props;
18
+ export type TabNavItemEvents = typeof __propDef.events;
19
+ export type TabNavItemSlots = typeof __propDef.slots;
20
+ export default class TabNavItem extends SvelteComponent<TabNavItemProps, TabNavItemEvents, TabNavItemSlots> {
21
+ }
22
+ export {};
@@ -40,6 +40,7 @@ let input;
40
40
  on:mouseenter
41
41
  on:mouseleave
42
42
  on:change
43
+ on:input
43
44
  />
44
45
 
45
46
  {#if $$slots.end}
@@ -18,6 +18,7 @@ declare const __propDef: {
18
18
  mouseenter: MouseEvent;
19
19
  mouseleave: MouseEvent;
20
20
  change: Event;
21
+ input: Event;
21
22
  } & {
22
23
  [evt: string]: CustomEvent<any>;
23
24
  };
@@ -18,6 +18,7 @@ export let state = "default";
18
18
  on:mouseenter
19
19
  on:mouseleave
20
20
  on:change
21
+ on:input
21
22
 
22
23
  {rows}
23
24
  {cols}
@@ -19,6 +19,7 @@ declare const __propDef: {
19
19
  mouseenter: MouseEvent;
20
20
  mouseleave: MouseEvent;
21
21
  change: Event;
22
+ input: Event;
22
23
  } & {
23
24
  [evt: string]: CustomEvent<any>;
24
25
  };
@@ -28,6 +28,8 @@ export { default as SplitControl } from './SplitControl/SplitControl.svelte';
28
28
  export { default as Switch } from './Switch/Switch.svelte';
29
29
  export { default as Table } from './Table/Table.svelte';
30
30
  export { default as TableRow } from './Table/TableRow.svelte';
31
+ export { default as TabNav } from './TabNav/TabNav.svelte';
32
+ export { default as TabNavItem } from './TabNav/TabNavItem.svelte';
31
33
  export { default as Tag } from './Tag/Tag.svelte';
32
34
  export { default as Textarea } from './Textarea/Textarea.svelte';
33
35
  export { default as Text } from './Text/Text.svelte';
@@ -28,6 +28,8 @@ export { default as SplitControl } from './SplitControl/SplitControl.svelte';
28
28
  export { default as Switch } from './Switch/Switch.svelte';
29
29
  export { default as Table } from './Table/Table.svelte';
30
30
  export { default as TableRow } from './Table/TableRow.svelte';
31
+ export { default as TabNav } from './TabNav/TabNav.svelte';
32
+ export { default as TabNavItem } from './TabNav/TabNavItem.svelte';
31
33
  export { default as Tag } from './Tag/Tag.svelte';
32
34
  export { default as Textarea } from './Textarea/Textarea.svelte';
33
35
  export { default as Text } from './Text/Text.svelte';
package/dist/index.css CHANGED
@@ -25,6 +25,8 @@ button, a {
25
25
  padding: 0;
26
26
  text-decoration: none;
27
27
  cursor: pointer;
28
+ font-family: inherit;
29
+ font-size: inherit;
28
30
  }
29
31
 
30
32
  :focus-visible {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyvor/design",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "scripts": {