@valerius_petrini/corekit-ui 0.1.51 → 0.1.52

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.
Files changed (60) hide show
  1. package/dist/actions/fbm.d.ts +10 -0
  2. package/dist/actions/fbm.js +199 -0
  3. package/dist/components/Analytics.svelte +28 -0
  4. package/dist/components/Analytics.svelte.d.ts +4 -0
  5. package/dist/components/Button.svelte +81 -0
  6. package/dist/components/Button.svelte.d.ts +4 -0
  7. package/dist/components/Card.svelte +64 -0
  8. package/dist/components/Card.svelte.d.ts +4 -0
  9. package/dist/components/Checkbox.svelte +36 -0
  10. package/dist/components/Checkbox.svelte.d.ts +4 -0
  11. package/dist/components/FloatingInput.svelte +190 -0
  12. package/dist/components/FloatingInput.svelte.d.ts +5 -0
  13. package/dist/components/FloatingSelect.svelte +40 -0
  14. package/dist/components/FloatingSelect.svelte.d.ts +4 -0
  15. package/dist/components/Navbar.svelte +30 -0
  16. package/dist/components/Navbar.svelte.d.ts +4 -0
  17. package/dist/components/NavbarElement.svelte +35 -0
  18. package/dist/components/NavbarElement.svelte.d.ts +4 -0
  19. package/dist/components/NavbarSeparator.svelte +1 -0
  20. package/dist/components/NavbarSeparator.svelte.d.ts +26 -0
  21. package/dist/components/Progress.svelte +69 -0
  22. package/dist/components/Progress.svelte.d.ts +4 -0
  23. package/dist/components/SEO.svelte +43 -0
  24. package/dist/components/SEO.svelte.d.ts +4 -0
  25. package/dist/components/Text.svelte +65 -0
  26. package/dist/components/Text.svelte.d.ts +4 -0
  27. package/dist/components/Typewriter.svelte +86 -0
  28. package/dist/components/Typewriter.svelte.d.ts +4 -0
  29. package/dist/index.d.ts +15 -15
  30. package/dist/index.js +14 -14
  31. package/dist/styles/color.d.ts +4 -0
  32. package/dist/styles/color.js +204 -0
  33. package/dist/styles/layout.css +52 -0
  34. package/dist/styles/size.d.ts +16 -0
  35. package/dist/styles/size.js +146 -0
  36. package/dist/types/Analytics.d.ts +3 -0
  37. package/dist/types/Analytics.js +1 -0
  38. package/dist/types/Button.d.ts +17 -0
  39. package/dist/types/Button.js +1 -0
  40. package/dist/types/Card.d.ts +13 -0
  41. package/dist/types/Card.js +4 -0
  42. package/dist/types/Checkbox.d.ts +10 -0
  43. package/dist/types/Checkbox.js +2 -0
  44. package/dist/types/FloatingInput.d.ts +23 -0
  45. package/dist/types/FloatingInput.js +2 -0
  46. package/dist/types/FloatingSelect.d.ts +14 -0
  47. package/dist/types/FloatingSelect.js +2 -0
  48. package/dist/types/Navbar.d.ts +16 -0
  49. package/dist/types/Navbar.js +2 -0
  50. package/dist/types/Progress.d.ts +20 -0
  51. package/dist/types/Progress.js +2 -0
  52. package/dist/types/SEO.d.ts +6 -0
  53. package/dist/types/SEO.js +1 -0
  54. package/dist/types/Text.d.ts +11 -0
  55. package/dist/types/Text.js +2 -0
  56. package/dist/types/Typewriter.d.ts +33 -0
  57. package/dist/types/Typewriter.js +2 -0
  58. package/dist/utils/link.d.ts +9 -0
  59. package/dist/utils/link.js +9 -0
  60. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import type { FloatingSelectProps } from "../types/FloatingSelect.ts";
2
+ declare const FloatingSelect: import("svelte").Component<FloatingSelectProps, {}, "value">;
3
+ type FloatingSelect = ReturnType<typeof FloatingSelect>;
4
+ export default FloatingSelect;
@@ -0,0 +1,30 @@
1
+ <script lang="ts">
2
+ import type { NavbarProps } from "../types/Navbar.js";
3
+ import { onMount } from "svelte";
4
+ import { twMerge } from "tailwind-merge";
5
+
6
+ let {
7
+ children = undefined,
8
+ class: className = "",
9
+ classTop = "",
10
+ threshold = 10,
11
+ ...restProps
12
+ }: NavbarProps = $props();
13
+
14
+ let defaultClass = "transition-colors duration-300 fixed top-0 left-0 w-full h-14 z-[100] flex items-center bg-sub-background/99 border-b border-box border-b-sub-background-hover";
15
+
16
+ let scrollY = $state(0);
17
+ let isAtTop = $derived(scrollY <= threshold);
18
+
19
+ const combinedClass = $derived(twMerge(
20
+ defaultClass,
21
+ className,
22
+ isAtTop ? classTop : ""
23
+ ));
24
+ </script>
25
+
26
+ <svelte:window bind:scrollY={scrollY}/>
27
+
28
+ <nav class={combinedClass} {...restProps}>
29
+ {@render children?.()}
30
+ </nav>
@@ -0,0 +1,4 @@
1
+ import type { NavbarProps } from "../types/Navbar.ts";
2
+ declare const Navbar: import("svelte").Component<NavbarProps, {}, "">;
3
+ type Navbar = ReturnType<typeof Navbar>;
4
+ export default Navbar;
@@ -0,0 +1,35 @@
1
+ <script lang="ts">
2
+ import { twMerge } from "tailwind-merge";
3
+ import Button from "./Button.svelte";
4
+ import type { NavbarElementProps } from "../types/Navbar.js";
5
+ import { page } from "$app/state";
6
+
7
+ let {
8
+ children = undefined,
9
+ class: className = "",
10
+ classTop = "",
11
+ activeClass = "",
12
+ href = undefined,
13
+ threshold = 10,
14
+ ...restProps
15
+ }: NavbarElementProps = $props();
16
+
17
+ let defaultClass = "navbar-element w-fit h-full px-5 py-0 text-main-text";
18
+
19
+ let scrollY = $state(0);
20
+ let isAtTop = $derived(scrollY <= threshold);
21
+ let isActive = $derived(page.url.pathname === href);
22
+
23
+ const combinedClass = $derived(twMerge(
24
+ defaultClass,
25
+ className,
26
+ isActive ? activeClass : "",
27
+ isAtTop ? classTop : "",
28
+ ));
29
+ </script>
30
+
31
+ <svelte:window bind:scrollY={scrollY}/>
32
+
33
+ <Button radius="none" {href} color="none" class={combinedClass} {...restProps} aria-current={isActive ? 'page' : undefined}>
34
+ {@render children?.()}
35
+ </Button>
@@ -0,0 +1,4 @@
1
+ import type { NavbarElementProps } from "../types/Navbar.ts";
2
+ declare const NavbarElement: import("svelte").Component<NavbarElementProps, {}, "">;
3
+ type NavbarElement = ReturnType<typeof NavbarElement>;
4
+ export default NavbarElement;
@@ -0,0 +1 @@
1
+ <div class="ml-auto"></div>
@@ -0,0 +1,26 @@
1
+ export default NavbarSeparator;
2
+ type NavbarSeparator = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string | undefined;
8
+ };
9
+ declare const NavbarSeparator: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
@@ -0,0 +1,69 @@
1
+ <script lang="ts">
2
+ import { onMount } from "svelte";
3
+ import type { ProgressProps } from "../types/Progress.js";
4
+ import { twMerge } from "tailwind-merge";
5
+ import { colorStyleParts } from "../styles/color.js";
6
+ import { sizeStyleParts, type SizeStyleTheme } from "../styles/size.js";
7
+
8
+ let {
9
+ children = undefined,
10
+ class: className = "",
11
+ divClass = "",
12
+ progress = 100,
13
+ animate = undefined,
14
+ color = "blue",
15
+ size = "md",
16
+ radius = "full",
17
+ ...restProps
18
+ }: ProgressProps = $props();
19
+
20
+ let currentProgress = $state(0);
21
+
22
+ let defaultDivClass = "w-full bg-sub-background overflow-hidden";
23
+
24
+ const sizeClasses = $derived.by(() => {
25
+ const parts = typeof size === "string" ? sizeStyleParts[size as SizeStyleTheme] : null;
26
+ const radiusParts = typeof radius === "string" ? sizeStyleParts[radius as SizeStyleTheme] : null;
27
+
28
+ return twMerge(
29
+ parts?.progress,
30
+ radiusParts?.radius
31
+ );
32
+ });
33
+
34
+ const customStyle = $derived.by(() => {
35
+ const styles: string[] = [];
36
+
37
+ if (typeof size === "number")
38
+ styles.push(`height: ${size}px`);
39
+
40
+ if (typeof radius === "number")
41
+ styles.push(`border-radius: ${radius}px`);
42
+
43
+ return styles.join("; ");
44
+ });
45
+
46
+
47
+ let combinedDivClass = $derived(twMerge(
48
+ defaultDivClass,
49
+ sizeClasses,
50
+ divClass
51
+ ));
52
+
53
+ let combinedInnerClass = $derived(twMerge(
54
+ "h-full",
55
+ colorStyleParts[color]?.base,
56
+ className
57
+ ))
58
+
59
+ onMount(() => {
60
+ if (!animate) return;
61
+ currentProgress = animate.from;
62
+ requestAnimationFrame(() => currentProgress = animate.to);
63
+ if (animate.onend) setTimeout(animate.onend, animate.duration);
64
+ });
65
+ </script>
66
+
67
+ <div class={combinedDivClass} {...restProps} style={customStyle}>
68
+ <div class={combinedInnerClass} style="width: {animate ? currentProgress : progress}%; transition: width {animate?.duration ?? 500}ms ease;"></div>
69
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { ProgressProps } from "../types/Progress.ts";
2
+ declare const Progress: import("svelte").Component<ProgressProps, {}, "">;
3
+ type Progress = ReturnType<typeof Progress>;
4
+ export default Progress;
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { page } from '$app/state';
3
+ import type { SEOProps } from '../types/SEO.js';
4
+
5
+ const DEFAULT_TITLE = "My SvelteKit App";
6
+ const DEFAULT_DESCRIPTION = "Description of your website.";
7
+ const DEFAULT_IMAGE = "/favicon.png";
8
+
9
+ let {
10
+ websiteName,
11
+ title = DEFAULT_TITLE,
12
+ description = DEFAULT_DESCRIPTION,
13
+ image = DEFAULT_IMAGE
14
+ }: SEOProps = $props();
15
+
16
+ let fullUrl = $derived(`${websiteName}${page.url.pathname.toString()}`);
17
+ </script>
18
+
19
+ <svelte:head>
20
+ <title>{title}</title>
21
+ <meta name="description" content={description}>
22
+ <meta property="og_site_name" content={websiteName}>
23
+ <meta property="og:url" content={fullUrl}>
24
+ <meta property="og:type" content="website">
25
+ <meta property="og:title" content="{title}">
26
+ <meta property="og:description" content={description}>
27
+ <meta property="og:image" content={websiteName + image}>
28
+
29
+ <meta name="twitter:card" content="summary_large_image">
30
+ <meta property="twitter:domain" content={websiteName}>
31
+ <meta property="twitter:url" content={fullUrl}>
32
+ <meta name="twitter:title" content="{title}">
33
+ <meta name="twitter:description" content={description}>
34
+ <meta name="twitter:image" content={websiteName + image}>
35
+ {@html ` <script type="application/ld+json">{
36
+ "@context": "https://schema.org",
37
+ "@type": "Website",
38
+ "name": "${title}",
39
+ "url": "${fullUrl}",
40
+ "logo": "${websiteName}${image}" }</script>`}
41
+
42
+ <meta name="google-site-verification" content="F6vDzwDyZfebc9kWIZlhzpsAm5zhanaPkOArdCZdDSU" />
43
+ </svelte:head>
@@ -0,0 +1,4 @@
1
+ import type { SEOProps } from '../types/SEO.ts';
2
+ declare const SEO: import("svelte").Component<SEOProps, {}, "">;
3
+ type SEO = ReturnType<typeof SEO>;
4
+ export default SEO;
@@ -0,0 +1,65 @@
1
+ <script lang="ts">
2
+ import { sizeStyleParts, textStyle, type SizeStyle, type SizeStyleTheme } from "../styles/size.js";
3
+ import type { TextProps } from "../types/Text.js";
4
+ import { twMerge } from "tailwind-merge";
5
+
6
+ let {
7
+ children = undefined,
8
+ class: className = "",
9
+ tag = "p",
10
+ shrink = undefined,
11
+ size = "none",
12
+ ...restProps
13
+ }: TextProps = $props();
14
+
15
+ const tagStyles: Record<string, { class: string; size: keyof typeof textStyle }> = {
16
+ "p": { class: "", size: "text-base" },
17
+ "div": { class: "", size: "text-base" },
18
+ "span": { class: "", size: "text-base" },
19
+ "label": { class: "text-sub-text font-semibold", size: "text-xs" },
20
+ "strong": { class: "font-bold", size: "text-base" },
21
+ "b": { class: "font-bold", size: "text-base" },
22
+ "em": { class: "italic", size: "text-base" },
23
+ "i": { class: "italic", size: "text-base" },
24
+ "u": { class: "underline", size: "text-base" },
25
+ "small": { class: "", size: "text-sm" },
26
+ "blockquote": { class: "border-l-4 border-gray-500 pl-2 opacity-70", size: "text-base" },
27
+ "pre": { class: "font-mono bg-sub-background px-3 py-2 radius overflow-x-auto whitespace-pre", size: "text-base" },
28
+ "code": { class: "font-mono bg-sub-background px-3 py-2 radius inline-block", size: "text-base" },
29
+ "a": { class: "text-blue-400 hover:text-blue-500 hover:underline transition-colors cursor-pointer", size: "text-base" },
30
+ "li": { class: "text-base list-disc list-inside", size: "text-base" },
31
+ "h1": { class: "font-extrabold", size: "text-6xl" },
32
+ "h2": { class: "font-bold", size: "text-5xl" },
33
+ "h3": { class: "font-semibold", size: "text-4xl" },
34
+ "h4": { class: "font-medium", size: "text-3xl" },
35
+ "h5": { class: "font-medium", size: "text-2xl" },
36
+ "h6": { class: "font-medium", size: "text-xl" }
37
+ };
38
+
39
+ function getTextSizeInRem(): string {
40
+ if (size !== "none") {
41
+ const sizeKey = (sizeStyleParts[size as SizeStyleTheme]?.text ?? "text-base") as keyof typeof textStyle;
42
+ return textStyle[sizeKey] ?? textStyle["text-base"];
43
+ }
44
+
45
+ return textStyle[tagStyles[tag]?.size || "text-base"] ?? textStyle["text-base"];
46
+ }
47
+
48
+ let shrinkStyle = $derived(shrink
49
+ ? `font-size: clamp(8px, ${shrink}cqi, ${getTextSizeInRem()}); white-space: nowrap; display: block; width: fit-content;`
50
+ : ""
51
+ );
52
+
53
+ let defaultClass = "text-main-text";
54
+ let combinedClass = $derived(twMerge(
55
+ defaultClass,
56
+ tagStyles[tag]?.class || "",
57
+ tagStyles[tag]?.size || "",
58
+ sizeStyleParts[size as SizeStyleTheme]?.text || "",
59
+ className
60
+ ));
61
+ </script>
62
+
63
+ <svelte:element this={tag} style={shrinkStyle} class={combinedClass} {...restProps}>
64
+ {@render children?.()}
65
+ </svelte:element>
@@ -0,0 +1,4 @@
1
+ import type { TextProps } from "../types/Text.ts";
2
+ declare const Text: import("svelte").Component<TextProps, {}, "">;
3
+ type Text = ReturnType<typeof Text>;
4
+ export default Text;
@@ -0,0 +1,86 @@
1
+ <script lang="ts">
2
+ import { twMerge } from "tailwind-merge";
3
+ import { onMount } from "svelte";
4
+
5
+ import type { DisplaySegment, TypewriterProps } from "../types/Typewriter.js";
6
+ import Text from "./Text.svelte";
7
+
8
+ let {
9
+ actions,
10
+ class: className = "",
11
+ textClass = "",
12
+ ...restProps
13
+ }: TypewriterProps = $props();
14
+
15
+ let displaySegments = $state<DisplaySegment[]>([]);
16
+
17
+ async function execute() {
18
+ for (let i = 0; i < actions.length; i++) {
19
+ const action = actions[i];
20
+ switch (action.type) {
21
+ case "write":
22
+ const segment = { text: "", color: "", label: action.label };
23
+ displaySegments.push(segment);
24
+
25
+ const segmentProxy = displaySegments[displaySegments.length - 1];
26
+
27
+ const resolvedValue = typeof action.value === "function" ? action.value() : action.value;
28
+ const resolvedColor = typeof action.color === "function" ? action.color() : action.color;
29
+ segmentProxy.color = resolvedColor;
30
+ for (const char of resolvedValue) {
31
+ segmentProxy.text += char;
32
+ const speed = Math.random() * ((action.maxspeed || 100) - (action.minspeed || 50)) + (action.minspeed || 50);
33
+ await new Promise(resolve => setTimeout(resolve, speed));
34
+ }
35
+ break;
36
+ case "delete":
37
+ const index = displaySegments.findIndex(s => s.label === action.to);
38
+ if (index === -1) break;
39
+ for (let j = displaySegments.length - 1; j >= index; j--) {
40
+ const deleteSegment = displaySegments[j];
41
+ while (deleteSegment.text.length > 0) {
42
+ deleteSegment.text = deleteSegment.text.slice(0, -1);
43
+ const speed = Math.random() * ((action.maxspeed || 100) - (action.minspeed || 50)) + (action.minspeed || 50);
44
+ await new Promise(resolve => setTimeout(resolve, speed));
45
+ }
46
+ }
47
+ displaySegments.splice(index, 1);
48
+ break;
49
+ case "pause":
50
+ await new Promise(resolve => setTimeout(resolve, action.duration || 1000));
51
+ break;
52
+ case "jump":
53
+ const position = actions.findIndex(a => a.label === action.position);
54
+ if (position !== -1)
55
+ i = position - 1;
56
+ break;
57
+ }
58
+ }
59
+ }
60
+
61
+ onMount(() => {
62
+ execute();
63
+ });
64
+
65
+ let combinedClass = $derived(twMerge("typewriter w-fit text-main-text", className));
66
+ </script>
67
+
68
+ <div class={combinedClass} {...restProps}>
69
+ {#each displaySegments as segment}
70
+ {#key segment}
71
+ <Text tag="span" class={textClass} style="color: {segment.color}">{segment.text}</Text>
72
+ {/key}
73
+ {/each}
74
+ </div>
75
+
76
+ <style>
77
+ .typewriter::after {
78
+ content: "\00a0";
79
+ animation: blink .7s step-start infinite;
80
+ text-decoration: underline;
81
+ }
82
+
83
+ @keyframes blink {
84
+ 50% { opacity: 0; }
85
+ }
86
+ </style>
@@ -0,0 +1,4 @@
1
+ import type { TypewriterProps } from "../types/Typewriter.ts";
2
+ declare const Typewriter: import("svelte").Component<TypewriterProps, {}, "">;
3
+ type Typewriter = ReturnType<typeof Typewriter>;
4
+ export default Typewriter;
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
- export { default as Button } from "../components/Button.svelte";
2
- export { default as Typewriter } from "../components/Typewriter.svelte";
3
- export { default as Analytics } from "../components/Analytics.svelte";
4
- export { default as SEO } from "../components/SEO.svelte";
5
- export { default as Navbar } from "../components/Navbar.svelte";
6
- export { default as NavbarSeparator } from "../components/NavbarSeparator.svelte";
7
- export { default as NavbarElement } from "../components/NavbarElement.svelte";
8
- export { default as FloatingInput } from "../components/FloatingInput.svelte";
9
- export { default as FloatingSelect } from "../components/FloatingSelect.svelte";
10
- export { default as Text } from "../components/Text.svelte";
11
- export { default as Card } from "../components/Card.svelte";
12
- export { default as Checkbox } from "../components/Checkbox.svelte";
13
- export { default as Progress } from "../components/Progress.svelte";
14
- export { fbmBackground } from "../actions/fbm.ts";
15
- export type { TypewriterAction, DisplaySegment } from "../types/Typewriter.d.ts";
1
+ export { default as Button } from "./components/Button.svelte";
2
+ export { default as Typewriter } from "./components/Typewriter.svelte";
3
+ export { default as Analytics } from "./components/Analytics.svelte";
4
+ export { default as SEO } from "./components/SEO.svelte";
5
+ export { default as Navbar } from "./components/Navbar.svelte";
6
+ export { default as NavbarSeparator } from "./components/NavbarSeparator.svelte";
7
+ export { default as NavbarElement } from "./components/NavbarElement.svelte";
8
+ export { default as FloatingInput } from "./components/FloatingInput.svelte";
9
+ export { default as FloatingSelect } from "./components/FloatingSelect.svelte";
10
+ export { default as Text } from "./components/Text.svelte";
11
+ export { default as Card } from "./components/Card.svelte";
12
+ export { default as Checkbox } from "./components/Checkbox.svelte";
13
+ export { default as Progress } from "./components/Progress.svelte";
14
+ export { fbmBackground } from "./actions/fbm.ts";
15
+ export type { TypewriterAction, DisplaySegment } from "./types/Typewriter.ts";
package/dist/index.js CHANGED
@@ -1,14 +1,14 @@
1
- export { default as Button } from "../components/Button.svelte";
2
- export { default as Typewriter } from "../components/Typewriter.svelte";
3
- export { default as Analytics } from "../components/Analytics.svelte";
4
- export { default as SEO } from "../components/SEO.svelte";
5
- export { default as Navbar } from "../components/Navbar.svelte";
6
- export { default as NavbarSeparator } from "../components/NavbarSeparator.svelte";
7
- export { default as NavbarElement } from "../components/NavbarElement.svelte";
8
- export { default as FloatingInput } from "../components/FloatingInput.svelte";
9
- export { default as FloatingSelect } from "../components/FloatingSelect.svelte";
10
- export { default as Text } from "../components/Text.svelte";
11
- export { default as Card } from "../components/Card.svelte";
12
- export { default as Checkbox } from "../components/Checkbox.svelte";
13
- export { default as Progress } from "../components/Progress.svelte";
14
- export { fbmBackground } from "../actions/fbm.js";
1
+ export { default as Button } from "./components/Button.svelte";
2
+ export { default as Typewriter } from "./components/Typewriter.svelte";
3
+ export { default as Analytics } from "./components/Analytics.svelte";
4
+ export { default as SEO } from "./components/SEO.svelte";
5
+ export { default as Navbar } from "./components/Navbar.svelte";
6
+ export { default as NavbarSeparator } from "./components/NavbarSeparator.svelte";
7
+ export { default as NavbarElement } from "./components/NavbarElement.svelte";
8
+ export { default as FloatingInput } from "./components/FloatingInput.svelte";
9
+ export { default as FloatingSelect } from "./components/FloatingSelect.svelte";
10
+ export { default as Text } from "./components/Text.svelte";
11
+ export { default as Card } from "./components/Card.svelte";
12
+ export { default as Checkbox } from "./components/Checkbox.svelte";
13
+ export { default as Progress } from "./components/Progress.svelte";
14
+ export { fbmBackground } from "./actions/fbm.js";
@@ -0,0 +1,4 @@
1
+ export type ColorStyle = "rose" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "gray" | "sub" | "none" | "white" | "black" | "primary" | "secondary" | "accent" | "error" | "warning" | "success" | "info";
2
+ export type ColorStyleType = "base" | "full" | "light" | "outline" | "ghost";
3
+ export declare const colorStyleParts: Record<ColorStyle, Record<ColorStyleType, string>>;
4
+ export declare function generateColorStyle(color: ColorStyle, variant: ColorStyleType): string;