diff --git a/src/lib/components/BottomSheet.svelte b/src/lib/components/BottomSheet.svelte deleted file mode 100644 index a283957..0000000 --- a/src/lib/components/BottomSheet.svelte +++ /dev/null @@ -1,39 +0,0 @@ - - -{#if isOpen} - - -
-
-
- -
e.stopPropagation()} - class="flex max-h-[70vh] min-h-[30vh] overflow-y-auto rounded-t-2xl bg-white px-4" - transition:fly={{ y: 100, duration: 200 }} - > - {@render children?.()} -
-
-
-
-{/if} diff --git a/src/lib/components/TopBar.svelte b/src/lib/components/TopBar.svelte deleted file mode 100644 index 9d1893f..0000000 --- a/src/lib/components/TopBar.svelte +++ /dev/null @@ -1,35 +0,0 @@ - - -
- - {#if title} -

{title}

- {/if} -
- {#if children} - {@render children?.()} - {/if} -
-
diff --git a/src/lib/components/atoms/BottomSheet.svelte b/src/lib/components/atoms/BottomSheet.svelte new file mode 100644 index 0000000..ac6042c --- /dev/null +++ b/src/lib/components/atoms/BottomSheet.svelte @@ -0,0 +1,42 @@ + + +{#if isOpen} + + +
(isOpen = false))} + class="fixed inset-0 z-10 flex items-end justify-center" + > +
+
+ +
e.stopPropagation()} + class="flex max-h-[70vh] min-h-[30vh] flex-col rounded-t-2xl bg-white" + transition:fly|global={{ y: 100, duration: 200 }} + > +
+ {@render children()} +
+
+
+
+
+{/if} diff --git a/src/lib/components/Modal.svelte b/src/lib/components/atoms/Modal.svelte similarity index 52% rename from src/lib/components/Modal.svelte rename to src/lib/components/atoms/Modal.svelte index 5da23b2..0864477 100644 --- a/src/lib/components/Modal.svelte +++ b/src/lib/components/atoms/Modal.svelte @@ -1,36 +1,31 @@ {#if isOpen}
(isOpen = false))} class="fixed inset-0 z-10 bg-black bg-opacity-50" - transition:fade={{ duration: 100 }} + transition:fade|global={{ duration: 100 }} > - +
-
e.stopPropagation()} class="rounded-2xl bg-white p-4"> - {@render children?.()} +
e.stopPropagation()} class={["rounded-2xl bg-white p-4", className]}> + {@render children()}
diff --git a/src/lib/components/atoms/buttons/ActionEntryButton.svelte b/src/lib/components/atoms/buttons/ActionEntryButton.svelte new file mode 100644 index 0000000..c29fd7f --- /dev/null +++ b/src/lib/components/atoms/buttons/ActionEntryButton.svelte @@ -0,0 +1,59 @@ + + + + +
setTimeout(onclick, 100))} + class={["rounded-xl", className]} +> +
+
+ {@render children()} +
+ {#if ActionButtonIcon} + + {/if} +
+
+ + diff --git a/src/lib/components/atoms/buttons/Button.svelte b/src/lib/components/atoms/buttons/Button.svelte new file mode 100644 index 0000000..7b5fb1e --- /dev/null +++ b/src/lib/components/atoms/buttons/Button.svelte @@ -0,0 +1,38 @@ + + + diff --git a/src/lib/components/atoms/buttons/EntryButton.svelte b/src/lib/components/atoms/buttons/EntryButton.svelte new file mode 100644 index 0000000..dc2534e --- /dev/null +++ b/src/lib/components/atoms/buttons/EntryButton.svelte @@ -0,0 +1,26 @@ + + + diff --git a/src/lib/components/atoms/buttons/FloatingButton.svelte b/src/lib/components/atoms/buttons/FloatingButton.svelte new file mode 100644 index 0000000..10dd4f4 --- /dev/null +++ b/src/lib/components/atoms/buttons/FloatingButton.svelte @@ -0,0 +1,27 @@ + + +
+ + + +
diff --git a/src/lib/components/buttons/TextButton.svelte b/src/lib/components/atoms/buttons/TextButton.svelte similarity index 66% rename from src/lib/components/buttons/TextButton.svelte rename to src/lib/components/atoms/buttons/TextButton.svelte index c7688a5..84603e2 100644 --- a/src/lib/components/buttons/TextButton.svelte +++ b/src/lib/components/atoms/buttons/TextButton.svelte @@ -10,14 +10,10 @@ diff --git a/src/lib/components/buttons/index.ts b/src/lib/components/atoms/buttons/index.ts similarity index 76% rename from src/lib/components/buttons/index.ts rename to src/lib/components/atoms/buttons/index.ts index 1765400..fc5022f 100644 --- a/src/lib/components/buttons/index.ts +++ b/src/lib/components/atoms/buttons/index.ts @@ -1,3 +1,4 @@ +export { default as ActionEntryButton } from "./ActionEntryButton.svelte"; export { default as Button } from "./Button.svelte"; export { default as EntryButton } from "./EntryButton.svelte"; export { default as FloatingButton } from "./FloatingButton.svelte"; diff --git a/src/lib/components/atoms/divs/AdaptiveDiv.svelte b/src/lib/components/atoms/divs/AdaptiveDiv.svelte new file mode 100644 index 0000000..23fa00b --- /dev/null +++ b/src/lib/components/atoms/divs/AdaptiveDiv.svelte @@ -0,0 +1,15 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/atoms/divs/BottomDiv.svelte b/src/lib/components/atoms/divs/BottomDiv.svelte new file mode 100644 index 0000000..e28765b --- /dev/null +++ b/src/lib/components/atoms/divs/BottomDiv.svelte @@ -0,0 +1,15 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/atoms/divs/FullscreenDiv.svelte b/src/lib/components/atoms/divs/FullscreenDiv.svelte new file mode 100644 index 0000000..c90e02c --- /dev/null +++ b/src/lib/components/atoms/divs/FullscreenDiv.svelte @@ -0,0 +1,7 @@ + + +
+ {@render children()} +
diff --git a/src/lib/components/divs/index.ts b/src/lib/components/atoms/divs/index.ts similarity index 64% rename from src/lib/components/divs/index.ts rename to src/lib/components/atoms/divs/index.ts index 7bd6a34..561bbde 100644 --- a/src/lib/components/divs/index.ts +++ b/src/lib/components/atoms/divs/index.ts @@ -1,3 +1,3 @@ export { default as AdaptiveDiv } from "./AdaptiveDiv.svelte"; export { default as BottomDiv } from "./BottomDiv.svelte"; -export { default as TitleDiv } from "./TitleDiv.svelte"; +export { default as FullscreenDiv } from "./FullscreenDiv.svelte"; diff --git a/src/lib/components/index.ts b/src/lib/components/atoms/index.ts similarity index 59% rename from src/lib/components/index.ts rename to src/lib/components/atoms/index.ts index 536f01f..14b0849 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/atoms/index.ts @@ -1,3 +1,5 @@ export { default as BottomSheet } from "./BottomSheet.svelte"; +export * from "./buttons"; +export * from "./divs"; +export * from "./inputs"; export { default as Modal } from "./Modal.svelte"; -export { default as TopBar } from "./TopBar.svelte"; diff --git a/src/lib/components/inputs/CheckBox.svelte b/src/lib/components/atoms/inputs/CheckBox.svelte similarity index 85% rename from src/lib/components/inputs/CheckBox.svelte rename to src/lib/components/atoms/inputs/CheckBox.svelte index 6875040..fe2899b 100644 --- a/src/lib/components/inputs/CheckBox.svelte +++ b/src/lib/components/atoms/inputs/CheckBox.svelte @@ -5,16 +5,16 @@ import IconCheckCircleOutline from "~icons/material-symbols/check-circle-outline"; interface Props { - children: Snippet; checked?: boolean; + children: Snippet; } - let { children, checked = $bindable(false) }: Props = $props(); + let { checked = $bindable(false), children }: Props = $props();