-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #9 from Peter-512/popout-images
[DX-21] implemented image popout
- Loading branch information
Showing
11 changed files
with
209 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<script lang="ts"> | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
import * as Dialog from "."; | ||
import { cn, flyAndScale } from "$lib/utils"; | ||
import { Cross2 } from "radix-icons-svelte"; | ||
type $$Props = DialogPrimitive.ContentProps; | ||
let className: $$Props["class"] = undefined; | ||
export let transition: $$Props["transition"] = flyAndScale; | ||
export let transitionConfig: $$Props["transitionConfig"] = { | ||
duration: 200 | ||
}; | ||
export { className as class }; | ||
</script> | ||
|
||
<Dialog.Portal> | ||
<Dialog.Overlay /> | ||
<DialogPrimitive.Content | ||
{transition} | ||
{transitionConfig} | ||
class={cn( | ||
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg sm:rounded-lg md:w-full", | ||
className | ||
)} | ||
{...$$restProps} | ||
> | ||
<slot /> | ||
<DialogPrimitive.Close | ||
class="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground" | ||
> | ||
<Cross2 class="h-4 w-4" /> | ||
<span class="sr-only">Close</span> | ||
</DialogPrimitive.Close> | ||
</DialogPrimitive.Content> | ||
</Dialog.Portal> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<script lang="ts"> | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
import { cn } from "$lib/utils"; | ||
type $$Props = DialogPrimitive.DescriptionProps; | ||
let className: $$Props["class"] = undefined; | ||
export { className as class }; | ||
</script> | ||
|
||
<DialogPrimitive.Description | ||
class={cn("text-sm text-muted-foreground", className)} | ||
{...$$restProps} | ||
> | ||
<slot /> | ||
</DialogPrimitive.Description> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
<script lang="ts"> | ||
import { cn } from "$lib/utils"; | ||
import type { HTMLAttributes } from "svelte/elements"; | ||
type $$Props = HTMLAttributes<HTMLDivElement>; | ||
let className: $$Props["class"] = undefined; | ||
export { className as class }; | ||
</script> | ||
|
||
<div | ||
class={cn( | ||
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", | ||
className | ||
)} | ||
{...$$restProps} | ||
> | ||
<slot /> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<script lang="ts"> | ||
import { cn } from "$lib/utils"; | ||
import type { HTMLAttributes } from "svelte/elements"; | ||
type $$Props = HTMLAttributes<HTMLDivElement>; | ||
let className: $$Props["class"] = undefined; | ||
export { className as class }; | ||
</script> | ||
|
||
<div | ||
class={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)} | ||
{...$$restProps} | ||
> | ||
<slot /> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<script lang="ts"> | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
import { cn } from "$lib/utils"; | ||
import { fade } from "svelte/transition"; | ||
type $$Props = DialogPrimitive.OverlayProps; | ||
let className: $$Props["class"] = undefined; | ||
export let transition: $$Props["transition"] = fade; | ||
export let transitionConfig: $$Props["transitionConfig"] = { | ||
duration: 150 | ||
}; | ||
export { className as class }; | ||
</script> | ||
|
||
<DialogPrimitive.Overlay | ||
{transition} | ||
{transitionConfig} | ||
class={cn( | ||
"fixed inset-0 z-50 bg-background/80 backdrop-blur-sm ", | ||
className | ||
)} | ||
{...$$restProps} | ||
/> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<script lang="ts"> | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
type $$Props = DialogPrimitive.PortalProps; | ||
</script> | ||
|
||
<DialogPrimitive.Portal {...$$restProps}> | ||
<slot /> | ||
</DialogPrimitive.Portal> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<script lang="ts"> | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
import { cn } from "$lib/utils"; | ||
type $$Props = DialogPrimitive.TitleProps; | ||
let className: $$Props["class"] = undefined; | ||
export { className as class }; | ||
</script> | ||
|
||
<DialogPrimitive.Title | ||
class={cn("text-lg font-semibold leading-none tracking-tight", className)} | ||
{...$$restProps} | ||
> | ||
<slot /> | ||
</DialogPrimitive.Title> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
import { Dialog as DialogPrimitive } from "bits-ui"; | ||
|
||
const Root = DialogPrimitive.Root; | ||
const Trigger = DialogPrimitive.Trigger; | ||
|
||
import Title from "./dialog-title.svelte"; | ||
import Portal from "./dialog-portal.svelte"; | ||
import Footer from "./dialog-footer.svelte"; | ||
import Header from "./dialog-header.svelte"; | ||
import Overlay from "./dialog-overlay.svelte"; | ||
import Content from "./dialog-content.svelte"; | ||
import Description from "./dialog-description.svelte"; | ||
|
||
export { | ||
Root, | ||
Title, | ||
Portal, | ||
Footer, | ||
Header, | ||
Trigger, | ||
Overlay, | ||
Content, | ||
Description, | ||
// | ||
Root as Dialog, | ||
Title as DialogTitle, | ||
Portal as DialogPortal, | ||
Footer as DialogFooter, | ||
Header as DialogHeader, | ||
Trigger as DialogTrigger, | ||
Overlay as DialogOverlay, | ||
Content as DialogContent, | ||
Description as DialogDescription | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<script lang="ts"> | ||
import * as Dialog from '$lib/components/ui/dialog'; | ||
export let src: string; | ||
export let alt: string; | ||
</script> | ||
|
||
<Dialog.Root> | ||
<Dialog.Trigger class="focus:outline-gray-200"> | ||
<div class="overflow-hidden rounded-lg"> | ||
<img | ||
class="h-full w-full cursor-pointer object-cover transition-all duration-300 ease-in-out hover:scale-110" | ||
{src} | ||
{alt} /> | ||
</div> | ||
</Dialog.Trigger> | ||
<Dialog.Content> | ||
<img class="h-full w-full object-cover" {src} {alt} /> | ||
<Dialog.Footer> | ||
<p> | ||
{alt} | ||
</p> | ||
</Dialog.Footer> | ||
</Dialog.Content> | ||
</Dialog.Root> |