diff --git a/src/shared/ui/Card/Card.stories.svelte b/src/shared/ui/Card/Card.stories.svelte new file mode 100644 index 0000000..c9a5e4c --- /dev/null +++ b/src/shared/ui/Card/Card.stories.svelte @@ -0,0 +1,45 @@ + + + + {#snippet template(args)} + Card content goes here + {/snippet} + + + + {#snippet template(args)} + Card content goes here + {/snippet} + + + + {#snippet template(args)} + Card content goes here + {/snippet} + + + + {#snippet template(args)} + +
Header
+
Body
+
+ {/snippet} +
diff --git a/src/shared/ui/Card/Card.svelte b/src/shared/ui/Card/Card.svelte new file mode 100644 index 0000000..b0c966a --- /dev/null +++ b/src/shared/ui/Card/Card.svelte @@ -0,0 +1,40 @@ + + + +
+ {#if children} + {@render children()} + {/if} +
diff --git a/src/shared/ui/Card/index.ts b/src/shared/ui/Card/index.ts new file mode 100644 index 0000000..9ad816f --- /dev/null +++ b/src/shared/ui/Card/index.ts @@ -0,0 +1,2 @@ +export { default as Card } from './Card.svelte'; +export type { CardBackground } from './types'; diff --git a/src/shared/ui/Card/types.ts b/src/shared/ui/Card/types.ts new file mode 100644 index 0000000..b0a4a28 --- /dev/null +++ b/src/shared/ui/Card/types.ts @@ -0,0 +1 @@ +export type CardBackground = 'ochre' | 'slate' | 'white'; diff --git a/src/shared/ui/Input/Input.stories.svelte b/src/shared/ui/Input/Input.stories.svelte new file mode 100644 index 0000000..070353b --- /dev/null +++ b/src/shared/ui/Input/Input.stories.svelte @@ -0,0 +1,51 @@ + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + + {#if error} + {error} + {/if} + diff --git a/src/shared/ui/Input/index.ts b/src/shared/ui/Input/index.ts new file mode 100644 index 0000000..b35bade --- /dev/null +++ b/src/shared/ui/Input/index.ts @@ -0,0 +1,3 @@ +export { default as Input } from './Input.svelte'; +export { default as Textarea } from './Textarea.svelte'; +export type { InputSize } from './types'; diff --git a/src/shared/ui/Input/types.ts b/src/shared/ui/Input/types.ts new file mode 100644 index 0000000..487302f --- /dev/null +++ b/src/shared/ui/Input/types.ts @@ -0,0 +1 @@ +export type InputSize = 'sm' | 'md' | 'lg'; diff --git a/src/shared/ui/TechStackBrick/TechStackBrick.stories.svelte b/src/shared/ui/TechStackBrick/TechStackBrick.stories.svelte new file mode 100644 index 0000000..39f871c --- /dev/null +++ b/src/shared/ui/TechStackBrick/TechStackBrick.stories.svelte @@ -0,0 +1,45 @@ + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + {/snippet} + + + + {#snippet template()} + + {/snippet} + diff --git a/src/shared/ui/TechStackBrick/TechStackBrick.svelte b/src/shared/ui/TechStackBrick/TechStackBrick.svelte new file mode 100644 index 0000000..dff6921 --- /dev/null +++ b/src/shared/ui/TechStackBrick/TechStackBrick.svelte @@ -0,0 +1,25 @@ + + + +
+ {name} +
diff --git a/src/shared/ui/TechStackBrick/TechStackGrid.svelte b/src/shared/ui/TechStackBrick/TechStackGrid.svelte new file mode 100644 index 0000000..c0d9fa6 --- /dev/null +++ b/src/shared/ui/TechStackBrick/TechStackGrid.svelte @@ -0,0 +1,26 @@ + + + +
+ {#each skills as skill (skill)} + + {/each} +
diff --git a/src/shared/ui/TechStackBrick/index.ts b/src/shared/ui/TechStackBrick/index.ts new file mode 100644 index 0000000..5aacebf --- /dev/null +++ b/src/shared/ui/TechStackBrick/index.ts @@ -0,0 +1,2 @@ +export { default as TechStackBrick } from './TechStackBrick.svelte'; +export { default as TechStackGrid } from './TechStackGrid.svelte'; diff --git a/src/shared/ui/index.ts b/src/shared/ui/index.ts index 6f8d6da..2b45f22 100644 --- a/src/shared/ui/index.ts +++ b/src/shared/ui/index.ts @@ -1,2 +1,6 @@ export * from './Badge'; export * from './Button'; +export * from './Card'; +export * from './Section'; +export * from './Input'; +export * from './TechStackBrick';