@hyvor/design 0.0.24 → 0.0.26

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.
@@ -24,6 +24,7 @@ function handleClick() {
24
24
  handleClick();
25
25
  }
26
26
  }}
27
+ {...$$restProps}
27
28
  >
28
29
 
29
30
  {#if selection !== 'none'}
@@ -1,6 +1,7 @@
1
1
  import { SvelteComponent } from "svelte";
2
2
  declare const __propDef: {
3
3
  props: {
4
+ [x: string]: any;
4
5
  selected?: boolean | undefined;
5
6
  disabled?: boolean | undefined;
6
7
  type?: "default" | "danger" | undefined;
@@ -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 {};
@@ -3,6 +3,8 @@ export let color = "default";
3
3
  export let interactive = false;
4
4
  export let outline = false;
5
5
  export let fill = false;
6
+ export let bg = void 0;
7
+ export let fg = void 0;
6
8
  let styleClass = "default";
7
9
  if (outline) {
8
10
  styleClass = fill ? "outline-fill" : "outline";
@@ -15,6 +17,9 @@ if (outline) {
15
17
  class:has-start={$$slots.start}
16
18
  class:has-end={$$slots.end}
17
19
  {...$$restProps}
20
+
21
+ style:background-color={bg}
22
+ style:color={fg}
18
23
  >
19
24
 
20
25
  {#if $$slots.start}
@@ -77,6 +82,10 @@ span.style-default.color-default {
77
82
  background-color: var(--gray-light);
78
83
  color: var(--gray-dark);
79
84
  }
85
+ span.style-default.color-accent {
86
+ background-color: var(--accent-light);
87
+ color: var(--accent);
88
+ }
80
89
  span.style-default.color-green {
81
90
  background-color: var(--green-light);
82
91
  color: var(--green-dark);
@@ -98,6 +107,10 @@ span.style-outline.color-default {
98
107
  color: var(--gray-dark);
99
108
  border: 1px solid var(--gray-dark);
100
109
  }
110
+ span.style-outline.color-accent {
111
+ color: var(--accent);
112
+ border: 1px solid var(--accent);
113
+ }
101
114
  span.style-outline.color-green {
102
115
  color: var(--green-dark);
103
116
  border: 1px solid var(--green-dark);
@@ -120,6 +133,11 @@ span.style-outline-fill.color-default {
120
133
  color: var(--gray-dark);
121
134
  border: 1px solid var(--gray);
122
135
  }
136
+ span.style-outline-fill.color-accent {
137
+ background-color: var(--accent-light);
138
+ color: var(--accent);
139
+ border: 1px solid var(--accent);
140
+ }
123
141
  span.style-outline-fill.color-green {
124
142
  background-color: var(--green-light);
125
143
  color: var(--green-dark);
@@ -3,10 +3,12 @@ declare const __propDef: {
3
3
  props: {
4
4
  [x: string]: any;
5
5
  size?: "small" | "medium" | "large" | "x-small" | undefined;
6
- color?: "default" | "green" | "red" | "blue" | "orange" | undefined;
6
+ color?: "default" | "accent" | "green" | "red" | "blue" | "orange" | undefined;
7
7
  interactive?: boolean | undefined;
8
8
  outline?: boolean | undefined;
9
9
  fill?: boolean | undefined;
10
+ bg?: string | undefined;
11
+ fg?: string | undefined;
10
12
  };
11
13
  events: {
12
14
  [evt: string]: CustomEvent<any>;
@@ -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.24",
3
+ "version": "0.0.26",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "scripts": {