Skip to content

Commit 8900933

Browse files
authored
chore: carbon (#1295)
1 parent b2159b3 commit 8900933

File tree

14 files changed

+103
-13
lines changed

14 files changed

+103
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<script lang="ts">
2+
import { page } from "$app/stores";
3+
</script>
4+
5+
{#if $page.url.pathname}
6+
<script
7+
async
8+
type="text/javascript"
9+
src="//cdn.carbonads.com/carbon.js?serve=CW7DK27L&placement=shadcn-sveltecom&format=classic"
10+
id="_carbonads_js"
11+
></script>
12+
{/if}

sites/docs/src/lib/components/docs/table-of-contents.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,6 @@
102102
</script>
103103

104104
<div class="space-y-2">
105-
<p class="font-medium">On This Page</p>
105+
<p class="inline-flex font-medium">On This Page</p>
106106
<Tree tree={filteredHeadingsList} activeItem={$activeItem} />
107107
</div>

sites/docs/src/routes/(app)/docs/+page.svelte

+9
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@
4242
{#key $page.url.pathname}
4343
<TableOfContents />
4444
{/key}
45+
<div class="z-10 pt-4">
46+
<script
47+
async
48+
type="text/javascript"
49+
src="//cdn.carbonads.com/carbon.js?serve=CW7DK27L&placement=shadcn-sveltecom&format=cover"
50+
id="_carbonads_js"
51+
data-id="carbon-ads"
52+
></script>
53+
</div>
4554
</div>
4655
</div>
4756
</main>

sites/docs/src/routes/(app)/docs/[...slug]/+page.svelte

+31
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,38 @@
22
import ChevronRight from "svelte-radix/ChevronRight.svelte";
33
import Code from "svelte-radix/Code.svelte";
44
import ExternalLink from "svelte-radix/ExternalLink.svelte";
5+
import { onMount } from "svelte";
56
import type { PageData } from "./$types.js";
67
import { ScrollArea } from "$lib/registry/new-york/ui/scroll-area/index.js";
78
import { config } from "$lib/stores/index.js";
89
import { page } from "$app/stores";
910
import { DocsPager, TableOfContents } from "$lib/components/docs/index.js";
1011
import { badgeVariants } from "$lib/registry/new-york/ui/badge/index.js";
1112
import { cn } from "$lib/utils.js";
13+
import { afterNavigate, beforeNavigate } from "$app/navigation";
1214
1315
export let data: PageData;
1416
$: markdown = data.component;
1517
$: doc = data.metadata;
1618
$: componentSource = data.metadata.source?.replace("default", $config.style ?? "default");
19+
20+
let mounted = false;
21+
22+
beforeNavigate(() => {
23+
mounted = false;
24+
});
25+
26+
afterNavigate(() => {
27+
mounted = true;
28+
});
29+
30+
onMount(() => {
31+
mounted = true;
32+
33+
return () => {
34+
mounted = false;
35+
};
36+
});
1737
</script>
1838

1939
<main class="relative py-6 lg:gap-10 lg:py-8 xl:grid xl:grid-cols-[1fr_300px]">
@@ -69,6 +89,17 @@
6989
{#key $page.url.pathname}
7090
<ScrollArea class="h-full">
7191
<TableOfContents />
92+
{#if mounted}
93+
<div class="z-10 pt-4">
94+
<script
95+
async
96+
type="text/javascript"
97+
src="//cdn.carbonads.com/carbon.js?serve=CW7DK27L&placement=shadcn-sveltecom&format=cover"
98+
id="_carbonads_js"
99+
data-id="carbon-ads"
100+
></script>
101+
</div>
102+
{/if}
72103
</ScrollArea>
73104
{/key}
74105
</div>

sites/docs/src/routes/+layout.svelte

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import { Metadata } from "$lib/components/docs/index.js";
55
import { updateTheme } from "$lib/utils.js";
66
import "../styles/globals.css";
7+
import "../styles/carbon.pcss";
78
import { config } from "$lib/stores/index.js";
89
import { Toaster as DefaultSonner } from "$lib/registry/default/ui/sonner/index.js";
910
import { Toaster as NYSonner } from "$lib/registry/new-york/ui/sonner/index.js";

sites/docs/src/styles/carbon.pcss

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/* Carbon Ad Styles */
2+
3+
.carbon-responsive-wrap {
4+
@apply bg-background;
5+
}
6+
7+
#carbon-responsive .carbon-responsive-wrap {
8+
@apply bg-background grid grid-cols-[auto_1fr] items-center gap-4 border-0 p-0 !important;
9+
}
10+
11+
#carbon-responsive {
12+
@apply gap-1 !important;
13+
}
14+
15+
#carbonads .carbon-poweredby {
16+
@apply bg-background text-muted-foreground block text-right text-[0.5em] uppercase no-underline !important;
17+
}
18+
19+
#carbonads .carbon-text {
20+
@apply text-muted-foreground text-sm !important;
21+
}
22+
23+
/* #carbonads {
24+
@apply bg-surface-50-900-token border border-surface-500/30 w-72;
25+
}
26+
#carbonads .carbon-wrap {
27+
@apply grid grid-cols-[auto_1fr] gap-4;
28+
}
29+
#carbonads .carbon-text {
30+
@apply text-token text-[0.775em] leading-[1.4em] opacity-75 no-underline;
31+
@apply p-1;
32+
}
33+
#carbonads .carbon-poweredby {
34+
@apply bg-surface-100-800-token;
35+
@apply text-token text-[0.5em] opacity-50 no-underline uppercase;
36+
@apply block text-right p-1;
37+
} */

sites/docs/static/registry/styles/default-js/card.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"files": [
66
{
77
"name": "card-content.svelte",
8-
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6 pt-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
8+
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
99
},
1010
{
1111
"name": "card-description.svelte",
@@ -17,7 +17,7 @@
1717
},
1818
{
1919
"name": "card-header.svelte",
20-
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
20+
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6 pb-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
2121
},
2222
{
2323
"name": "card-title.svelte",

sites/docs/static/registry/styles/default-js/carousel.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"name": "carousel.svelte",
29-
"content": "<script>\n\timport { writable } from \"svelte/store\";\n\timport { onDestroy } from \"svelte\";\n\timport { setEmblaContext } from \"./context.js\";\n\timport { cn } from \"$lib/utils.js\";\n\texport let opts = {};\n\texport let plugins = [];\n\texport let api = undefined;\n\texport let orientation = \"horizontal\";\n\tlet className = undefined;\n\texport { className as class };\n\tconst apiStore = writable(undefined);\n\tconst orientationStore = writable(orientation);\n\tconst canScrollPrev = writable(false);\n\tconst canScrollNext = writable(false);\n\tconst optionsStore = writable(opts);\n\tconst pluginStore = writable(plugins);\n\tconst scrollSnapsStore = writable([]);\n\tconst selectedIndexStore = writable(0);\n\t$: orientationStore.set(orientation);\n\t$: pluginStore.set(plugins);\n\t$: optionsStore.set(opts);\n\tfunction scrollPrev() {\n\t\tapi?.scrollPrev();\n\t}\n\tfunction scrollNext() {\n\t\tapi?.scrollNext();\n\t}\n\tfunction scrollTo(index, jump) {\n\t\tapi?.scrollTo(index, jump);\n\t}\n\tfunction onSelect(api2) {\n\t\tif (!api2) return;\n\t\tcanScrollPrev.set(api2.canScrollPrev());\n\t\tcanScrollNext.set(api2.canScrollNext());\n\t}\n\t$: if (api) {\n\t\tonSelect(api);\n\t\tapi.on(\"select\", onSelect);\n\t\tapi.on(\"reInit\", onSelect);\n\t}\n\tfunction handleKeyDown(e) {\n\t\tif (e.key === \"ArrowLeft\") {\n\t\t\te.preventDefault();\n\t\t\tscrollPrev();\n\t\t} else if (e.key === \"ArrowRight\") {\n\t\t\te.preventDefault();\n\t\t\tscrollNext();\n\t\t}\n\t}\n\tsetEmblaContext({\n\t\tapi: apiStore,\n\t\tscrollPrev,\n\t\tscrollNext,\n\t\torientation: orientationStore,\n\t\tcanScrollNext,\n\t\tcanScrollPrev,\n\t\thandleKeyDown,\n\t\toptions: optionsStore,\n\t\tplugins: pluginStore,\n\t\tonInit,\n\t\tscrollSnaps: scrollSnapsStore,\n\t\tselectedIndex: selectedIndexStore,\n\t\tscrollTo,\n\t});\n\tfunction onInit(event) {\n\t\tapi = event.detail;\n\t\tapiStore.set(api);\n\t\tscrollSnapsStore.set(api.scrollSnapList());\n\t}\n\tonDestroy(() => {\n\t\tapi?.off(\"select\", onSelect);\n\t});\n</script>\n\n<div\n\tclass={cn(\"relative\", className)}\n\ton:mouseenter\n\ton:mouseleave\n\trole=\"region\"\n\taria-roledescription=\"carousel\"\n\t{...$$restProps}\n>\n\t<slot />\n</div>\n"
29+
"content": "<script>\n\timport { writable } from \"svelte/store\";\n\timport { onDestroy } from \"svelte\";\n\timport { setEmblaContext } from \"./context.js\";\n\timport { cn } from \"$lib/utils.js\";\n\texport let opts = {};\n\texport let plugins = [];\n\texport let api = undefined;\n\texport let orientation = \"horizontal\";\n\tlet className = undefined;\n\texport { className as class };\n\tconst apiStore = writable(undefined);\n\tconst orientationStore = writable(orientation);\n\tconst canScrollPrev = writable(false);\n\tconst canScrollNext = writable(false);\n\tconst optionsStore = writable(opts);\n\tconst pluginStore = writable(plugins);\n\tconst scrollSnapsStore = writable([]);\n\tconst selectedIndexStore = writable(0);\n\t$: orientationStore.set(orientation);\n\t$: pluginStore.set(plugins);\n\t$: optionsStore.set(opts);\n\tfunction scrollPrev() {\n\t\tapi?.scrollPrev();\n\t}\n\tfunction scrollNext() {\n\t\tapi?.scrollNext();\n\t}\n\tfunction scrollTo(index, jump) {\n\t\tapi?.scrollTo(index, jump);\n\t}\n\tfunction onSelect(api2) {\n\t\tif (!api2) return;\n\t\tcanScrollPrev.set(api2.canScrollPrev());\n\t\tcanScrollNext.set(api2.canScrollNext());\n\t\tselectedIndexStore.set(api2.selectedScrollSnap());\n\t}\n\t$: if (api) {\n\t\tonSelect(api);\n\t\tapi.on(\"select\", onSelect);\n\t\tapi.on(\"reInit\", onSelect);\n\t}\n\tfunction handleKeyDown(e) {\n\t\tif (e.key === \"ArrowLeft\") {\n\t\t\te.preventDefault();\n\t\t\tscrollPrev();\n\t\t} else if (e.key === \"ArrowRight\") {\n\t\t\te.preventDefault();\n\t\t\tscrollNext();\n\t\t}\n\t}\n\tsetEmblaContext({\n\t\tapi: apiStore,\n\t\tscrollPrev,\n\t\tscrollNext,\n\t\torientation: orientationStore,\n\t\tcanScrollNext,\n\t\tcanScrollPrev,\n\t\thandleKeyDown,\n\t\toptions: optionsStore,\n\t\tplugins: pluginStore,\n\t\tonInit,\n\t\tscrollSnaps: scrollSnapsStore,\n\t\tselectedIndex: selectedIndexStore,\n\t\tscrollTo,\n\t});\n\tfunction onInit(event) {\n\t\tapi = event.detail;\n\t\tapiStore.set(api);\n\t\tscrollSnapsStore.set(api.scrollSnapList());\n\t}\n\tonDestroy(() => {\n\t\tapi?.off(\"select\", onSelect);\n\t});\n</script>\n\n<div\n\tclass={cn(\"relative\", className)}\n\ton:mouseenter\n\ton:mouseleave\n\trole=\"region\"\n\taria-roledescription=\"carousel\"\n\t{...$$restProps}\n>\n\t<slot />\n</div>\n"
3030
},
3131
{
3232
"name": "context.js",

sites/docs/static/registry/styles/default/card.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"files": [
66
{
77
"name": "card-content.svelte",
8-
"content": "<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = HTMLAttributes<HTMLDivElement>;\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6 pt-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
8+
"content": "<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = HTMLAttributes<HTMLDivElement>;\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
99
},
1010
{
1111
"name": "card-description.svelte",
@@ -17,7 +17,7 @@
1717
},
1818
{
1919
"name": "card-header.svelte",
20-
"content": "<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = HTMLAttributes<HTMLDivElement>;\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
20+
"content": "<script lang=\"ts\">\n\timport type { HTMLAttributes } from \"svelte/elements\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = HTMLAttributes<HTMLDivElement>;\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6 pb-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
2121
},
2222
{
2323
"name": "card-title.svelte",

sites/docs/static/registry/styles/default/carousel.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
},
2727
{
2828
"name": "carousel.svelte",
29-
"content": "<script lang=\"ts\">\n\timport { writable } from \"svelte/store\";\n\timport { onDestroy } from \"svelte\";\n\timport { type CarouselAPI, type CarouselProps, setEmblaContext } from \"./context.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = CarouselProps;\n\n\texport let opts = {};\n\texport let plugins: NonNullable<$$Props[\"plugins\"]> = [];\n\texport let api: $$Props[\"api\"] = undefined;\n\texport let orientation: NonNullable<$$Props[\"orientation\"]> = \"horizontal\";\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n\n\tconst apiStore = writable<CarouselAPI | undefined>(undefined);\n\tconst orientationStore = writable(orientation);\n\tconst canScrollPrev = writable(false);\n\tconst canScrollNext = writable(false);\n\tconst optionsStore = writable(opts);\n\tconst pluginStore = writable(plugins);\n\tconst scrollSnapsStore = writable<number[]>([]);\n\tconst selectedIndexStore = writable(0);\n\n\t$: orientationStore.set(orientation);\n\t$: pluginStore.set(plugins);\n\t$: optionsStore.set(opts);\n\n\tfunction scrollPrev() {\n\t\tapi?.scrollPrev();\n\t}\n\tfunction scrollNext() {\n\t\tapi?.scrollNext();\n\t}\n\tfunction scrollTo(index: number, jump?: boolean) {\n\t\tapi?.scrollTo(index, jump);\n\t}\n\n\tfunction onSelect(api: CarouselAPI) {\n\t\tif (!api) return;\n\t\tcanScrollPrev.set(api.canScrollPrev());\n\t\tcanScrollNext.set(api.canScrollNext());\n\t}\n\n\t$: if (api) {\n\t\tonSelect(api);\n\t\tapi.on(\"select\", onSelect);\n\t\tapi.on(\"reInit\", onSelect);\n\t}\n\n\tfunction handleKeyDown(e: KeyboardEvent) {\n\t\tif (e.key === \"ArrowLeft\") {\n\t\t\te.preventDefault();\n\t\t\tscrollPrev();\n\t\t} else if (e.key === \"ArrowRight\") {\n\t\t\te.preventDefault();\n\t\t\tscrollNext();\n\t\t}\n\t}\n\n\tsetEmblaContext({\n\t\tapi: apiStore,\n\t\tscrollPrev,\n\t\tscrollNext,\n\t\torientation: orientationStore,\n\t\tcanScrollNext,\n\t\tcanScrollPrev,\n\t\thandleKeyDown,\n\t\toptions: optionsStore,\n\t\tplugins: pluginStore,\n\t\tonInit,\n\t\tscrollSnaps: scrollSnapsStore,\n\t\tselectedIndex: selectedIndexStore,\n\t\tscrollTo,\n\t});\n\n\tfunction onInit(event: CustomEvent<CarouselAPI>) {\n\t\tapi = event.detail;\n\t\tapiStore.set(api);\n\t\tscrollSnapsStore.set(api.scrollSnapList());\n\t}\n\n\tonDestroy(() => {\n\t\tapi?.off(\"select\", onSelect);\n\t});\n</script>\n\n<div\n\tclass={cn(\"relative\", className)}\n\ton:mouseenter\n\ton:mouseleave\n\trole=\"region\"\n\taria-roledescription=\"carousel\"\n\t{...$$restProps}\n>\n\t<slot />\n</div>\n"
29+
"content": "<script lang=\"ts\">\n\timport { writable } from \"svelte/store\";\n\timport { onDestroy } from \"svelte\";\n\timport { type CarouselAPI, type CarouselProps, setEmblaContext } from \"./context.js\";\n\timport { cn } from \"$lib/utils.js\";\n\n\ttype $$Props = CarouselProps;\n\n\texport let opts = {};\n\texport let plugins: NonNullable<$$Props[\"plugins\"]> = [];\n\texport let api: $$Props[\"api\"] = undefined;\n\texport let orientation: NonNullable<$$Props[\"orientation\"]> = \"horizontal\";\n\n\tlet className: $$Props[\"class\"] = undefined;\n\texport { className as class };\n\n\tconst apiStore = writable<CarouselAPI | undefined>(undefined);\n\tconst orientationStore = writable(orientation);\n\tconst canScrollPrev = writable(false);\n\tconst canScrollNext = writable(false);\n\tconst optionsStore = writable(opts);\n\tconst pluginStore = writable(plugins);\n\tconst scrollSnapsStore = writable<number[]>([]);\n\tconst selectedIndexStore = writable(0);\n\n\t$: orientationStore.set(orientation);\n\t$: pluginStore.set(plugins);\n\t$: optionsStore.set(opts);\n\n\tfunction scrollPrev() {\n\t\tapi?.scrollPrev();\n\t}\n\tfunction scrollNext() {\n\t\tapi?.scrollNext();\n\t}\n\tfunction scrollTo(index: number, jump?: boolean) {\n\t\tapi?.scrollTo(index, jump);\n\t}\n\n\tfunction onSelect(api: CarouselAPI) {\n\t\tif (!api) return;\n\t\tcanScrollPrev.set(api.canScrollPrev());\n\t\tcanScrollNext.set(api.canScrollNext());\n\t\tselectedIndexStore.set(api.selectedScrollSnap());\n\t}\n\n\t$: if (api) {\n\t\tonSelect(api);\n\t\tapi.on(\"select\", onSelect);\n\t\tapi.on(\"reInit\", onSelect);\n\t}\n\n\tfunction handleKeyDown(e: KeyboardEvent) {\n\t\tif (e.key === \"ArrowLeft\") {\n\t\t\te.preventDefault();\n\t\t\tscrollPrev();\n\t\t} else if (e.key === \"ArrowRight\") {\n\t\t\te.preventDefault();\n\t\t\tscrollNext();\n\t\t}\n\t}\n\n\tsetEmblaContext({\n\t\tapi: apiStore,\n\t\tscrollPrev,\n\t\tscrollNext,\n\t\torientation: orientationStore,\n\t\tcanScrollNext,\n\t\tcanScrollPrev,\n\t\thandleKeyDown,\n\t\toptions: optionsStore,\n\t\tplugins: pluginStore,\n\t\tonInit,\n\t\tscrollSnaps: scrollSnapsStore,\n\t\tselectedIndex: selectedIndexStore,\n\t\tscrollTo,\n\t});\n\n\tfunction onInit(event: CustomEvent<CarouselAPI>) {\n\t\tapi = event.detail;\n\t\tapiStore.set(api);\n\t\tscrollSnapsStore.set(api.scrollSnapList());\n\t}\n\n\tonDestroy(() => {\n\t\tapi?.off(\"select\", onSelect);\n\t});\n</script>\n\n<div\n\tclass={cn(\"relative\", className)}\n\ton:mouseenter\n\ton:mouseleave\n\trole=\"region\"\n\taria-roledescription=\"carousel\"\n\t{...$$restProps}\n>\n\t<slot />\n</div>\n"
3030
},
3131
{
3232
"name": "context.ts",

sites/docs/static/registry/styles/new-york-js/card.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"files": [
66
{
77
"name": "card-content.svelte",
8-
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6 pt-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
8+
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
99
},
1010
{
1111
"name": "card-description.svelte",
@@ -17,7 +17,7 @@
1717
},
1818
{
1919
"name": "card-header.svelte",
20-
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
20+
"content": "<script>\n\timport { cn } from \"$lib/utils.js\";\n\tlet className = undefined;\n\texport { className as class };\n</script>\n\n<div class={cn(\"flex flex-col space-y-1.5 p-6 pb-0\", className)} {...$$restProps}>\n\t<slot />\n</div>\n"
2121
},
2222
{
2323
"name": "card-title.svelte",

0 commit comments

Comments
 (0)