From fc245407a11bfc24e0f46ccb19fabced7a0bf79c Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Fri, 6 Mar 2026 23:16:34 +0300 Subject: [PATCH] feat(shared/ui): add Card, Section, and TechStackBrick components --- src/shared/ui/Section/Container.svelte | 32 +++++++++++++++ src/shared/ui/Section/Section.stories.svelte | 42 ++++++++++++++++++++ src/shared/ui/Section/Section.svelte | 37 +++++++++++++++++ src/shared/ui/Section/index.ts | 3 ++ src/shared/ui/Section/types.ts | 2 + 5 files changed, 116 insertions(+) create mode 100644 src/shared/ui/Section/Container.svelte create mode 100644 src/shared/ui/Section/Section.stories.svelte create mode 100644 src/shared/ui/Section/Section.svelte create mode 100644 src/shared/ui/Section/index.ts create mode 100644 src/shared/ui/Section/types.ts diff --git a/src/shared/ui/Section/Container.svelte b/src/shared/ui/Section/Container.svelte new file mode 100644 index 0000000..86fb913 --- /dev/null +++ b/src/shared/ui/Section/Container.svelte @@ -0,0 +1,32 @@ + + + +
+ {#if children} + {@render children()} + {/if} +
diff --git a/src/shared/ui/Section/Section.stories.svelte b/src/shared/ui/Section/Section.stories.svelte new file mode 100644 index 0000000..6a6586d --- /dev/null +++ b/src/shared/ui/Section/Section.stories.svelte @@ -0,0 +1,42 @@ + + + + {#snippet template()} +
+ +

Section content

+
+
+ {/snippet} +
+ + + {#snippet template()} +
+ +

Section content on slate

+
+
+ {/snippet} +
+ + + {#snippet template()} +
+ +

Section with brutal top and bottom borders

+
+
+ {/snippet} +
diff --git a/src/shared/ui/Section/Section.svelte b/src/shared/ui/Section/Section.svelte new file mode 100644 index 0000000..fe84e83 --- /dev/null +++ b/src/shared/ui/Section/Section.svelte @@ -0,0 +1,37 @@ + + + +
+ {#if children} + {@render children()} + {/if} +
diff --git a/src/shared/ui/Section/index.ts b/src/shared/ui/Section/index.ts new file mode 100644 index 0000000..03054dd --- /dev/null +++ b/src/shared/ui/Section/index.ts @@ -0,0 +1,3 @@ +export { default as Section } from './Section.svelte'; +export { default as Container } from './Container.svelte'; +export type { SectionBackground, ContainerSize } from './types'; diff --git a/src/shared/ui/Section/types.ts b/src/shared/ui/Section/types.ts new file mode 100644 index 0000000..d7caeaa --- /dev/null +++ b/src/shared/ui/Section/types.ts @@ -0,0 +1,2 @@ +export type SectionBackground = 'ochre' | 'slate' | 'white'; +export type ContainerSize = 'default' | 'wide' | 'ultra-wide';