@valerius_petrini/corekit-ui 0.1.64 → 0.1.65

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.
@@ -0,0 +1,63 @@
1
+ <script lang="ts">
2
+ import { getSizeStyleClass } from "../styles/size.js";
3
+ import type { SkeletonProps } from "../types/Skeleton.js";
4
+ import Image from "@lucide/svelte/icons/image";
5
+ import Play from "@lucide/svelte/icons/play";
6
+ import { twMerge } from "tailwind-merge";
7
+
8
+ let {
9
+ variant = "text",
10
+ class: className = "",
11
+ count = 19,
12
+ size = "md"
13
+ }: SkeletonProps = $props();
14
+
15
+ const defaultWidths = [21, 19, 24, 15, 10, 30, 22, 17, 26, 20, 28, 10, 22, 45, 16, 23, 37, 25, 25];
16
+ const widths = $derived(Array.from({ length: count }, (_, i) => defaultWidths[i % defaultWidths.length]));
17
+
18
+ const defaultContainerClass = "animate-pulse duration-100 w-lg flex flex-col gap-2";
19
+ const combinedContainerClass = $derived(twMerge(
20
+ defaultContainerClass,
21
+ getSizeStyleClass(size, "card"),
22
+ className
23
+ ));
24
+ </script>
25
+
26
+ {#snippet image()}
27
+ <div class="h-48 bg-sub-background rounded w-full flex-center">
28
+ <Image size={48} class="text-form-border"/>
29
+ </div>
30
+ {/snippet}
31
+
32
+ {#snippet text()}
33
+ <div class="pt-4 flex flex-wrap gap-2">
34
+ {#each widths as width}
35
+ <div class="h-4 rounded even:bg-sub-background odd:bg-sub-background-hover"
36
+ style="width: {width}%;"></div>
37
+ {/each}
38
+ </div>
39
+ {/snippet}
40
+
41
+ <div class={combinedContainerClass}>
42
+ {#if variant === "default"}
43
+ <div class="h-4 bg-sub-background rounded w-3/4"></div>
44
+ <div class="h-4 bg-sub-background rounded w-full"></div>
45
+ <div class="h-4 bg-sub-background rounded w-5/6"></div>
46
+ <div class="h-4 bg-sub-background rounded w-2/3"></div>
47
+ <div class="h-4 bg-sub-background rounded w-5/6"></div>
48
+ <div class="h-4 bg-sub-background rounded w-11/12"></div>
49
+ {:else if variant === "text"}
50
+ {@render text()}
51
+ {:else if variant === "image"}
52
+ {@render image()}
53
+ {:else if variant === "video"}
54
+ <div class="h-48 bg-sub-background rounded w-full flex-center">
55
+ <Play size={48} class="text-form-border"/>
56
+ </div>
57
+ {:else if variant === "card"}
58
+ <div class="w-full h-full border-sub-background border-2 rounded p-4 gap-2">
59
+ {@render image()}
60
+ {@render text()}
61
+ </div>
62
+ {/if}
63
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { SkeletonProps } from "../types/Skeleton.js";
2
+ declare const Skeleton: import("svelte").Component<SkeletonProps, {}, "">;
3
+ type Skeleton = ReturnType<typeof Skeleton>;
4
+ export default Skeleton;
@@ -15,7 +15,7 @@
15
15
  const defaultTableClass = "w-full border-collapse text-main-text border border-form-border border-l-0";
16
16
  const defaultTableHeaderClass = "text-left border-b border-b-1 border-b-form-border bg-sub-background font-medium";
17
17
  const defaultTableCellClass = "p-2 text-sm border-l border-l-[1px] border-l-form-border";
18
- const defaultTableBodyClass = "even:bg-sub-background odd:bg-form-background";
18
+ const defaultTableBodyClass = "even:bg-sub-background odd:bg-sub-background-hover";
19
19
 
20
20
  const combinedTableClass = $derived(twMerge(
21
21
  defaultTableClass,
package/dist/index.d.ts CHANGED
@@ -20,6 +20,8 @@ export { default as Toaster } from "./components/Toaster.svelte";
20
20
  export { default as SideNavbar } from "./components/SideNavbar.svelte";
21
21
  export { default as Tooltip } from "./components/Tooltip.svelte";
22
22
  export { default as Loader } from "./components/Loader.svelte";
23
+ export { default as Skeleton } from "./components/Skeleton.svelte";
24
+ export { default as Combobox } from "./components/Combobox.svelte";
23
25
  export { fbmBackground } from "./actions/fbm.ts";
24
26
  export { toast } from "./actions/toast.svelte.ts";
25
27
  export type { TypewriterAction, DisplaySegment } from "./types/Typewriter.ts";
package/dist/index.js CHANGED
@@ -20,5 +20,7 @@ export { default as Toaster } from "./components/Toaster.svelte";
20
20
  export { default as SideNavbar } from "./components/SideNavbar.svelte";
21
21
  export { default as Tooltip } from "./components/Tooltip.svelte";
22
22
  export { default as Loader } from "./components/Loader.svelte";
23
+ export { default as Skeleton } from "./components/Skeleton.svelte";
24
+ export { default as Combobox } from "./components/Combobox.svelte";
23
25
  export { fbmBackground } from "./actions/fbm.js";
24
26
  export { toast } from "./actions/toast.svelte.js";
@@ -0,0 +1,6 @@
1
+ import type { BaseComponentProps } from "./BaseComponent.ts";
2
+ export type SkeletonVariant = "default" | "text" | "image" | "video" | "card";
3
+ export interface SkeletonProps extends BaseComponentProps {
4
+ variant?: SkeletonVariant;
5
+ count?: number;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@valerius_petrini/corekit-ui",
3
- "version": "0.1.64",
3
+ "version": "0.1.65",
4
4
  "description": "Component Library used across all my projects",
5
5
  "author": "Valerius Petrini Jr.",
6
6
  "license": "MIT",
@@ -56,6 +56,7 @@
56
56
  ],
57
57
  "dependencies": {
58
58
  "@lucide/svelte": "^1.3.0",
59
+ "@valerius_petrini/corekit-scripts": "^1.0.0",
59
60
  "bytes": "^3.1.2",
60
61
  "tailwind-merge": "^3.5.0"
61
62
  }