diff --git a/packages/cli/package.json b/packages/cli/package.json index aa6b8ef58..003c9a0c0 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -50,6 +50,7 @@ "devDependencies": { "@types/node": "^18.19.22", "cross-env": "^7.0.3", + "deepmerge": "^4.3.1", "get-tsconfig": "^4.7.3", "ignore": "^5.3.1", "package-manager-detector": "^0.2.2", diff --git a/packages/cli/src/utils/registry/schema.ts b/packages/cli/src/utils/registry/schema.ts index 055f3fee9..9aecb7b6e 100644 --- a/packages/cli/src/utils/registry/schema.ts +++ b/packages/cli/src/utils/registry/schema.ts @@ -41,6 +41,13 @@ export const registryItemSchema = v.object({ cssVars: v.optional(registryItemCssVarsSchema), }); +export type RegistryItem = v.InferOutput; + +export const registryResolvedItemsTreeSchema = v.pick(registryItemSchema, [ + "dependencies", + "files", +]); + export const registryIndexSchema = v.array(registryItemSchema); export const registryItemWithContentSchema = v.object({ diff --git a/playgrounds/playground-ts/components.json b/playgrounds/playground-ts/components.json new file mode 100644 index 000000000..d7ae6c21a --- /dev/null +++ b/playgrounds/playground-ts/components.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "style": "default", + "tailwind": { + "config": "tailwind.config.ts", + "css": "src/app.css", + "baseColor": "slate" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "lib": "$lib/", + "hooks": "$lib/hooks" + }, + "typescript": true +} \ No newline at end of file diff --git a/playgrounds/playground-ts/postcss.config.js b/playgrounds/playground-ts/postcss.config.js new file mode 100644 index 000000000..ba8073047 --- /dev/null +++ b/playgrounds/playground-ts/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/playgrounds/playground-ts/src/app.css b/playgrounds/playground-ts/src/app.css new file mode 100644 index 000000000..146046309 --- /dev/null +++ b/playgrounds/playground-ts/src/app.css @@ -0,0 +1,78 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer base { + :root { + --background: 0 0% 100%; + --foreground: 222.2 84% 4.9%; + + --muted: 210 40% 96.1%; + --muted-foreground: 215.4 16.3% 46.9%; + + --popover: 0 0% 100%; + --popover-foreground: 222.2 84% 4.9%; + + --card: 0 0% 100%; + --card-foreground: 222.2 84% 4.9%; + + --border: 214.3 31.8% 91.4%; + --input: 214.3 31.8% 91.4%; + + --primary: 222.2 47.4% 11.2%; + --primary-foreground: 210 40% 98%; + + --secondary: 210 40% 96.1%; + --secondary-foreground: 222.2 47.4% 11.2%; + + --accent: 210 40% 96.1%; + --accent-foreground: 222.2 47.4% 11.2%; + + --destructive: 0 72.2% 50.6%; + --destructive-foreground: 210 40% 98%; + + --ring: 222.2 84% 4.9%; + + --radius: 0.5rem; + } + + .dark { + --background: 222.2 84% 4.9%; + --foreground: 210 40% 98%; + + --muted: 217.2 32.6% 17.5%; + --muted-foreground: 215 20.2% 65.1%; + + --popover: 222.2 84% 4.9%; + --popover-foreground: 210 40% 98%; + + --card: 222.2 84% 4.9%; + --card-foreground: 210 40% 98%; + + --border: 217.2 32.6% 17.5%; + --input: 217.2 32.6% 17.5%; + + --primary: 210 40% 98%; + --primary-foreground: 222.2 47.4% 11.2%; + + --secondary: 217.2 32.6% 17.5%; + --secondary-foreground: 210 40% 98%; + + --accent: 217.2 32.6% 17.5%; + --accent-foreground: 210 40% 98%; + + --destructive: 0 62.8% 30.6%; + --destructive-foreground: 210 40% 98%; + + --ring: 212.7 26.8% 83.9%; + } +} + +@layer base { + * { + @apply border-border; + } + body { + @apply bg-background text-foreground; + } +} \ No newline at end of file diff --git a/playgrounds/playground-ts/src/lib/utils.ts b/playgrounds/playground-ts/src/lib/utils.ts new file mode 100644 index 000000000..88712453a --- /dev/null +++ b/playgrounds/playground-ts/src/lib/utils.ts @@ -0,0 +1,62 @@ +import { type ClassValue, clsx } from "clsx"; +import { twMerge } from "tailwind-merge"; +import { cubicOut } from "svelte/easing"; +import type { TransitionConfig } from "svelte/transition"; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} + +type FlyAndScaleParams = { + y?: number; + x?: number; + start?: number; + duration?: number; +}; + +export const flyAndScale = ( + node: Element, + params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 } +): TransitionConfig => { + const style = getComputedStyle(node); + const transform = style.transform === "none" ? "" : style.transform; + + const scaleConversion = ( + valueA: number, + scaleA: [number, number], + scaleB: [number, number] + ) => { + const [minA, maxA] = scaleA; + const [minB, maxB] = scaleB; + + const percentage = (valueA - minA) / (maxA - minA); + const valueB = percentage * (maxB - minB) + minB; + + return valueB; + }; + + const styleToString = ( + style: Record + ): string => { + return Object.keys(style).reduce((str, key) => { + if (style[key] === undefined) return str; + return str + `${key}:${style[key]};`; + }, ""); + }; + + return { + duration: params.duration ?? 200, + delay: 0, + css: (t) => { + const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]); + const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]); + const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]); + + return styleToString({ + transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`, + opacity: t + }); + }, + easing: cubicOut + }; +}; \ No newline at end of file diff --git a/playgrounds/playground-ts/tailwind.config.ts b/playgrounds/playground-ts/tailwind.config.ts new file mode 100644 index 000000000..c4bf23554 --- /dev/null +++ b/playgrounds/playground-ts/tailwind.config.ts @@ -0,0 +1,64 @@ +import { fontFamily } from "tailwindcss/defaultTheme"; +import type { Config } from "tailwindcss"; + +const config: Config = { + darkMode: ["class"], + content: ["./src/**/*.{html,js,svelte,ts}"], + safelist: ["dark"], + theme: { + container: { + center: true, + padding: "2rem", + screens: { + "2xl": "1400px" + } + }, + extend: { + colors: { + border: "hsl(var(--border) / )", + input: "hsl(var(--input) / )", + ring: "hsl(var(--ring) / )", + background: "hsl(var(--background) / )", + foreground: "hsl(var(--foreground) / )", + primary: { + DEFAULT: "hsl(var(--primary) / )", + foreground: "hsl(var(--primary-foreground) / )" + }, + secondary: { + DEFAULT: "hsl(var(--secondary) / )", + foreground: "hsl(var(--secondary-foreground) / )" + }, + destructive: { + DEFAULT: "hsl(var(--destructive) / )", + foreground: "hsl(var(--destructive-foreground) / )" + }, + muted: { + DEFAULT: "hsl(var(--muted) / )", + foreground: "hsl(var(--muted-foreground) / )" + }, + accent: { + DEFAULT: "hsl(var(--accent) / )", + foreground: "hsl(var(--accent-foreground) / )" + }, + popover: { + DEFAULT: "hsl(var(--popover) / )", + foreground: "hsl(var(--popover-foreground) / )" + }, + card: { + DEFAULT: "hsl(var(--card) / )", + foreground: "hsl(var(--card-foreground) / )" + } + }, + borderRadius: { + lg: "var(--radius)", + md: "calc(var(--radius) - 2px)", + sm: "calc(var(--radius) - 4px)" + }, + fontFamily: { + sans: [...fontFamily.sans] + } + } + }, +}; + +export default config; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fbc0674e6..fd13595d2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,6 +90,9 @@ importers: cross-env: specifier: ^7.0.3 version: 7.0.3 + deepmerge: + specifier: ^4.3.1 + version: 4.3.1 get-tsconfig: specifier: ^4.7.3 version: 4.7.5 @@ -123,6 +126,9 @@ importers: '@internationalized/date': specifier: ^3.5.6 version: 3.5.6 + '@layerstack/utils': + specifier: ^0.0.5 + version: 0.0.5 '@prettier/sync': specifier: 0.3.0 version: 0.3.0(prettier@3.3.3) @@ -144,6 +150,9 @@ importers: '@types/d3-scale': specifier: ^4.0.8 version: 4.0.8 + '@types/d3-shape': + specifier: ^3.1.6 + version: 3.1.6 '@types/hast': specifier: ^3.0.4 version: 3.0.4 @@ -183,6 +192,9 @@ importers: d3-scale: specifier: ^4.0.2 version: 4.0.2 + d3-shape: + specifier: ^3.2.0 + version: 3.2.0 embla-carousel-autoplay: specifier: 8.1.6 version: 8.1.6(embla-carousel@8.1.6) @@ -201,6 +213,9 @@ importers: is-reference: specifier: ^3.0.2 version: 3.0.2 + layerchart: + specifier: ^0.54.1 + version: 0.54.1(svelte@5.0.4)(typescript@5.5.3) lodash.template: specifier: ^4.5.0 version: 4.5.0 @@ -1172,12 +1187,18 @@ packages: '@floating-ui/core@1.6.4': resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} + '@floating-ui/dom@1.6.7': resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} '@floating-ui/utils@0.2.4': resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} + '@gcornut/valibot-json-schema@0.31.0': resolution: {integrity: sha512-3xGptCurm23e7nuPQkdrE5rEs1FeTPHhAUsBuwwqG4/YeZLwJOoYZv+fmsppUEfo5y9lzUwNQrNqLS/q7HMc7g==} hasBin: true @@ -1356,6 +1377,18 @@ packages: '@juggle/resize-observer@3.4.0': resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} + '@layerstack/svelte-actions@0.0.7': + resolution: {integrity: sha512-PYG4oocNQxuUKQkhQvrB+nh4SGGzVr2KlqGS8wivXC4lF78BpOnsZfLxv657oVBBE+u3Cx6q9NRq/AG1A7ZiIw==} + + '@layerstack/svelte-stores@0.0.6': + resolution: {integrity: sha512-QCYU2QIOGNVcstkyJDkVHPDxBUX1/9Nb5bYt6JuhmFgSrfdYKx8DlZlax3jMEmjdu2htQRmj/qSZe+xK4HFngA==} + + '@layerstack/tailwind@0.0.9': + resolution: {integrity: sha512-bmv4qEgmJWgAiUqznj7WSQ3vCEoA80iXztEuSO2jsS1nJ2/676VguAQ/6SGiWm2uoxgJ5BCPAP/AYOowZOkI8g==} + + '@layerstack/utils@0.0.5': + resolution: {integrity: sha512-Ew84WuCMC3q7Wq0Tb0rBEM/WK2RkkxRBF/RvNcnbaWcj5O+jO6VEZc657Jv73skkIJ4fkciT8FhSIcHoRkhdrQ==} + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} @@ -2201,6 +2234,9 @@ packages: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} + array-source@0.0.4: + resolution: {integrity: sha512-frNdc+zBn80vipY+GdcJkLEbMWj3xmzArYApmUGxoiV8uAu/ygcs9icPdsGdA26h0MkHUMW6EN2piIvVx+M5Mw==} + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -2553,6 +2589,9 @@ packages: core-js-compat@3.37.1: resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} + cosmiconfig@7.1.0: resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} engines: {node: '>=10'} @@ -2602,6 +2641,10 @@ packages: resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} engines: {node: '>= 0.1.90'} + culori@4.0.1: + resolution: {integrity: sha512-LSnjA6HuIUOlkfKVbzi2OlToZE8OjFi667JWN9qNymXVXzGDmvuP60SSgC+e92sd7B7158f7Fy3Mb6rXS5EDPw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + d3-array@2.12.1: resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} @@ -2670,10 +2713,18 @@ packages: engines: {node: '>=12'} hasBin: true + d3-geo-voronoi@2.1.0: + resolution: {integrity: sha512-kqE4yYuOjPbKdBXG0xztCacPwkVSK2REF1opSNrnqqtXJmNcM++UbwQ8SxvwP6IQTj9RvIjjK4qeiVsEfj0Z2Q==} + engines: {node: '>=12'} + d3-geo@3.1.0: resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} engines: {node: '>=12'} + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + d3-hierarchy@3.1.2: resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} engines: {node: '>=12'} @@ -2711,6 +2762,10 @@ packages: resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} engines: {node: '>=12'} + d3-scale-chromatic@3.1.0: + resolution: {integrity: sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==} + engines: {node: '>=12'} + d3-scale@4.0.2: resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} engines: {node: '>=12'} @@ -2726,6 +2781,9 @@ packages: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} + d3-tile@1.0.0: + resolution: {integrity: sha512-79fnTKpPMPDS5xQ0xuS9ir0165NEwwkFpe/DSOmc2Gl9ldYzKKRDWogmTTE8wAJ8NA7PMapNfEcyKhI9Lxdu5Q==} + d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} @@ -2744,6 +2802,10 @@ packages: peerDependencies: d3-selection: 2 - 3 + d3-tricontour@1.0.2: + resolution: {integrity: sha512-HIRxHzHagPtUPNabjOlfcyismJYIsc+Xlq4mlsts4e8eAcwyq9Tgk/sYdyhlBpQ0MHwVquc/8j+e29YjXnmxeA==} + engines: {node: '>=12'} + d3-zoom@3.0.0: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} @@ -2759,6 +2821,12 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} + date-fns@3.6.0: + resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==} + + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} @@ -3306,10 +3374,16 @@ packages: picomatch: optional: true + fflate@0.4.8: + resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} + file-source@0.6.1: + resolution: {integrity: sha512-1R1KneL7eTXmXfKxC10V/9NeGOdbsAXJ+lQ//fvvcHUgtaZcZDWNJNblxAoVOyV1cj45pOtUrR3vZTBwqcW8XA==} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -3613,6 +3687,9 @@ packages: resolution: {integrity: sha512-6fYbD7u4VIOt6fqKrOlbF77JXgUVyUmEJIPlfYVTuR/S2Ig9cX3gukGiLEU0aSetcfE7CYnhLTPtTEu4mLwhCw==} engines: {node: '>=18.0.0'} + immer@10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -3899,6 +3976,17 @@ packages: known-css-properties@0.34.0: resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==} + layercake@8.4.0: + resolution: {integrity: sha512-ln8i6445N85jMCVjpW+ktV+It+Cc73uP3osZCHOboMLLFOYb4qARb+XMoX0Y0p7khZkM4dZwCct8BQ0KQWpuKw==} + peerDependencies: + svelte: 3 - 5 || >=5.0.0-next.120 + typescript: ^5.0.2 + + layerchart@0.54.1: + resolution: {integrity: sha512-e2rb0A9Ca4ZAAmrpxZn85K7JwW0rroBtw9Tth9oloDC4rwpubGb/q28nKc5wplxvADibSSryvOABtcaj1pOqZg==} + peerDependencies: + svelte: ^3.56.0 || ^4.0.0 || ^5.0.0 + leaflet@1.7.1: resolution: {integrity: sha512-/xwPEBidtg69Q3HlqPdU3DnrXQOvQU/CCHA1tcDQVzOwm91YMYaILjNp7L4Eaw5Z4sOYdbBz6koWyibppd8Zqw==} @@ -4494,6 +4582,9 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} + path-source@0.1.3: + resolution: {integrity: sha512-dWRHm5mIw5kw0cs3QZLNmpUWty48f5+5v9nWD2dw3Y0Hf+s01Ag8iJEWV0Sm0kocE8kK27DrIowha03e1YR+Qw==} + path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} @@ -4656,9 +4747,15 @@ packages: resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} + posthog-js@1.174.3: + resolution: {integrity: sha512-fRLncd3jkT9Y7gLiyQe8v8sJ9yuTIiQBBWcYQ8l+vv+m504LWFtxl+/JZtHXPhaG3Eyf7AzZ/Kafkw8jorWV9w==} + potpack@1.0.2: resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} + preact@10.24.3: + resolution: {integrity: sha512-Z2dPnBnMUfyQfSQ+GBdsGa16hz35YmLmtTLhM169uW944hYL6xzTYkJjC07j+Wosz733pMWx0fgON3JNw1jJQA==} + preferred-pm@3.1.3: resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} engines: {node: '>=10'} @@ -5011,6 +5108,10 @@ packages: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} + shapefile@0.6.6: + resolution: {integrity: sha512-rLGSWeK2ufzCVx05wYd+xrWnOOdSV7xNUW5/XFgx3Bc02hBkpMlrd2F1dDII7/jhWzv0MSyBFh5uJIy9hLdfuw==} + hasBin: true + sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} @@ -5068,6 +5169,9 @@ packages: slashes@3.0.12: resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==} + slice-source@0.4.1: + resolution: {integrity: sha512-YiuPbxpCj4hD9Qs06hGAz/OZhQ0eDuALN0lRWJez0eD/RevzKqGdUx1IOMUnXgpr+sXZLq3g8ERwbAH0bCb8vg==} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -5155,6 +5259,9 @@ packages: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} + stream-source@0.3.5: + resolution: {integrity: sha512-ZuEDP9sgjiAwUVoDModftG0JtYiLUV8K4ljYD1VyUMRWtbVf92474o4kuuul43iZ8t/hRuiDAx1dIJSvirrK/g==} + stream-transform@2.1.3: resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} @@ -5380,6 +5487,10 @@ packages: text-decoder@1.2.1: resolution: {integrity: sha512-x9v3H/lTKIJKQQe7RPQkLfKAnc9lUTkWDypIQgTzPJAq+5/GCDHonmshfvlsNSj58yyshbIJJDLmU15qNERrXQ==} + text-encoding@0.6.4: + resolution: {integrity: sha512-hJnc6Qg3dWoOMkqP53F0dzRIgtmsAge09kxUIqGrEUS4qr5rWLckGYaQAVr+opBrIMRErGgy6f5aPnyPpyGRfg==} + deprecated: no longer maintained + text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} @@ -5864,6 +5975,9 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-vitals@4.2.4: + resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -6716,6 +6830,11 @@ snapshots: dependencies: '@floating-ui/utils': 0.2.4 + '@floating-ui/dom@1.6.11': + dependencies: + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.8 + '@floating-ui/dom@1.6.7': dependencies: '@floating-ui/core': 1.6.4 @@ -6723,6 +6842,8 @@ snapshots: '@floating-ui/utils@0.2.4': {} + '@floating-ui/utils@0.2.8': {} + '@gcornut/valibot-json-schema@0.31.0': dependencies: valibot: 0.31.1 @@ -6910,6 +7031,43 @@ snapshots: '@juggle/resize-observer@3.4.0': {} + '@layerstack/svelte-actions@0.0.7': + dependencies: + '@floating-ui/dom': 1.6.11 + '@layerstack/utils': 0.0.5 + d3-array: 3.2.4 + d3-scale: 4.0.2 + date-fns: 4.1.0 + lodash-es: 4.17.21 + + '@layerstack/svelte-stores@0.0.6': + dependencies: + '@layerstack/utils': 0.0.5 + d3-array: 3.2.4 + date-fns: 4.1.0 + immer: 10.1.1 + lodash-es: 4.17.21 + zod: 3.23.8 + + '@layerstack/tailwind@0.0.9': + dependencies: + '@layerstack/utils': 0.0.5 + clsx: 2.1.1 + culori: 4.0.1 + d3-array: 3.2.4 + date-fns: 4.1.0 + lodash-es: 4.17.21 + tailwind-merge: 2.5.4 + tailwindcss: 3.4.14 + transitivePeerDependencies: + - ts-node + + '@layerstack/utils@0.0.5': + dependencies: + d3-array: 3.2.4 + date-fns: 4.1.0 + lodash-es: 4.17.21 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.24.0 @@ -7966,6 +8124,8 @@ snapshots: call-bind: 1.0.7 is-array-buffer: 3.0.4 + array-source@0.0.4: {} + array-union@2.1.0: {} array.prototype.flat@1.3.2: @@ -8332,6 +8492,8 @@ snapshots: dependencies: browserslist: 4.24.0 + core-js@3.38.1: {} + cosmiconfig@7.1.0: dependencies: '@types/parse-json': 4.0.2 @@ -8384,6 +8546,8 @@ snapshots: csv-stringify: 5.6.5 stream-transform: 2.1.3 + culori@4.0.1: {} + d3-array@2.12.1: dependencies: internmap: 1.0.1 @@ -8451,10 +8615,21 @@ snapshots: d3-array: 3.2.4 d3-geo: 3.1.0 + d3-geo-voronoi@2.1.0: + dependencies: + d3-array: 3.2.4 + d3-delaunay: 6.0.4 + d3-geo: 3.1.1 + d3-tricontour: 1.0.2 + d3-geo@3.1.0: dependencies: d3-array: 3.2.4 + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + d3-hierarchy@3.1.2: {} d3-interpolate-path@2.3.0: {} @@ -8483,6 +8658,11 @@ snapshots: d3-color: 3.1.0 d3-interpolate: 3.0.1 + d3-scale-chromatic@3.1.0: + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + d3-scale@4.0.2: dependencies: d3-array: 3.2.4 @@ -8501,6 +8681,8 @@ snapshots: dependencies: d3-path: 3.1.0 + d3-tile@1.0.0: {} + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 @@ -8520,6 +8702,11 @@ snapshots: d3-selection: 3.0.0 d3-timer: 3.0.1 + d3-tricontour@1.0.2: + dependencies: + d3-delaunay: 6.0.4 + d3-scale: 4.0.2 + d3-zoom@3.0.0: dependencies: d3-dispatch: 3.0.1 @@ -8565,6 +8752,10 @@ snapshots: data-uri-to-buffer@6.0.2: {} + date-fns@3.6.0: {} + + date-fns@4.1.0: {} + dayjs@1.11.10: optional: true @@ -9335,10 +9526,16 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fflate@0.4.8: {} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 + file-source@0.6.1: + dependencies: + stream-source: 0.3.5 + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -9733,6 +9930,8 @@ snapshots: dependencies: sharp: 0.33.5 + immer@10.1.1: {} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -9980,6 +10179,51 @@ snapshots: known-css-properties@0.34.0: {} + layercake@8.4.0(svelte@5.0.4)(typescript@5.5.3): + dependencies: + d3-array: 3.2.4 + d3-color: 3.1.0 + d3-scale: 4.0.2 + d3-shape: 3.2.0 + svelte: 5.0.4 + typescript: 5.5.3 + + layerchart@0.54.1(svelte@5.0.4)(typescript@5.5.3): + dependencies: + '@layerstack/svelte-actions': 0.0.7 + '@layerstack/svelte-stores': 0.0.6 + '@layerstack/tailwind': 0.0.9 + '@layerstack/utils': 0.0.5 + d3-array: 3.2.4 + d3-color: 3.1.0 + d3-delaunay: 6.0.4 + d3-dsv: 3.0.1 + d3-force: 3.0.0 + d3-geo: 3.1.1 + d3-geo-voronoi: 2.1.0 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-interpolate-path: 2.3.0 + d3-path: 3.1.0 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-sankey: 0.12.3 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.1.0 + d3-shape: 3.2.0 + d3-tile: 1.0.0 + d3-time: 3.1.0 + date-fns: 3.6.0 + layercake: 8.4.0(svelte@5.0.4)(typescript@5.5.3) + lodash-es: 4.17.21 + posthog-js: 1.174.3 + shapefile: 0.6.6 + svelte: 5.0.4 + topojson-client: 3.1.0 + transitivePeerDependencies: + - ts-node + - typescript + leaflet@1.7.1: {} levn@0.4.1: @@ -10883,6 +11127,11 @@ snapshots: lru-cache: 10.2.0 minipass: 7.0.4 + path-source@0.1.3: + dependencies: + array-source: 0.0.4 + file-source: 0.6.1 + path-to-regexp@6.3.0: {} path-type@4.0.0: {} @@ -11004,8 +11253,17 @@ snapshots: picocolors: 1.1.0 source-map-js: 1.2.1 + posthog-js@1.174.3: + dependencies: + core-js: 3.38.1 + fflate: 0.4.8 + preact: 10.24.3 + web-vitals: 4.2.4 + potpack@1.0.2: {} + preact@10.24.3: {} + preferred-pm@3.1.3: dependencies: find-up: 5.0.0 @@ -11392,6 +11650,15 @@ snapshots: functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + shapefile@0.6.6: + dependencies: + array-source: 0.0.4 + commander: 2.20.3 + path-source: 0.1.3 + slice-source: 0.4.1 + stream-source: 0.3.5 + text-encoding: 0.6.4 + sharp@0.33.5: dependencies: color: 4.2.3 @@ -11465,6 +11732,8 @@ snapshots: slashes@3.0.12: {} + slice-source@0.4.1: {} + smart-buffer@4.2.0: {} smartwrap@2.0.2: @@ -11551,6 +11820,8 @@ snapshots: stoppable@1.1.0: {} + stream-source@0.3.5: {} + stream-transform@2.1.3: dependencies: mixme: 0.5.10 @@ -11845,6 +12116,8 @@ snapshots: text-decoder@1.2.1: {} + text-encoding@0.6.4: {} + text-table@0.2.0: {} thenify-all@1.6.0: @@ -12383,6 +12656,8 @@ snapshots: web-namespaces@2.0.1: {} + web-vitals@4.2.4: {} + webidl-conversions@4.0.2: {} whatwg-url@7.1.0: diff --git a/sites/docs/package.json b/sites/docs/package.json index 865678c15..e52b2b3b6 100644 --- a/sites/docs/package.json +++ b/sites/docs/package.json @@ -27,6 +27,7 @@ }, "devDependencies": { "@internationalized/date": "^3.5.6", + "@layerstack/utils": "^0.0.5", "@prettier/sync": "0.3.0", "@sveltejs/adapter-cloudflare": "4.6.1", "@sveltejs/enhanced-img": "^0.3.9", @@ -34,6 +35,7 @@ "@sveltejs/vite-plugin-svelte": "^4.0.0", "@tanstack/table-core": "^8.20.5", "@types/d3-scale": "^4.0.8", + "@types/d3-shape": "^3.1.6", "@types/hast": "^3.0.4", "@types/lodash.template": "^4.5.3", "@types/mdast": "^4.0.4", @@ -47,12 +49,14 @@ "clsx": "^2.1.1", "concurrently": "^9.0.1", "d3-scale": "^4.0.2", + "d3-shape": "^3.2.0", "embla-carousel-autoplay": "8.1.6", "embla-carousel-svelte": "8.1.6", "estree-walker": "^3.0.3", "formsnap": "2.0.0-next.1", "hast-util-to-html": "^9.0.1", "is-reference": "^3.0.2", + "layerchart": "^0.54.1", "lodash.template": "^4.5.0", "lucide-svelte": "^0.447.0", "magic-string": "^0.30.12", diff --git a/sites/docs/scripts/registry.ts b/sites/docs/scripts/registry.ts index 7ebadbf2d..6fe098c02 100644 --- a/sites/docs/scripts/registry.ts +++ b/sites/docs/scripts/registry.ts @@ -34,7 +34,7 @@ const REGISTRY_DEPENDENCY = "$lib/"; const UTILS_PATH = "$lib/utils.js"; // @ts-expect-error - shh -const tsParser = acorn.Parser.extend(tsPlugin()); +const tsParser = acorn.Parser.extend(tsPlugin({ allowSatisfies: true })); type ArrayItem = T extends Array ? X : never; type RegistryItem = ArrayItem; @@ -296,6 +296,7 @@ async function getFileDependencies(filename: string, sourceCode: string) { ast = tsParser.parse(sourceCode, { ecmaVersion: "latest", sourceType: "module", + locations: true, }); } diff --git a/sites/docs/scripts/transform-chunks.ts b/sites/docs/scripts/transform-chunks.ts index cefaea39c..f17e4b421 100644 --- a/sites/docs/scripts/transform-chunks.ts +++ b/sites/docs/scripts/transform-chunks.ts @@ -34,9 +34,10 @@ export function getChunks(source: string, filename: string) { const scriptContent = extractScriptContent(source); // @ts-expect-error doesn't like the ts plugin - const scriptAst = acorn.Parser.extend(tsPlugin()).parse(scriptContent, { + const scriptAst = acorn.Parser.extend(tsPlugin({ allowSatisfies: true })).parse(scriptContent, { ecmaVersion: "latest", sourceType: "module", + locations: true, }); const svelteAst = parse(source, { filename, modern: true }); @@ -180,12 +181,13 @@ function extractAttributeValue(attribute: any): string | undefined { export function transformChunk(source: string, chunk: Chunk): string { const scriptReferences = new Set(); // @ts-expect-error yea, stfu - const parser = acorn.Parser.extend(tsPlugin()); + const parser = acorn.Parser.extend(tsPlugin({ allowSatisfies: true })); const hasSnippets = chunk.snippets.length > 0; const scriptAst = parser.parse(chunk.scriptContent, { ecmaVersion: "latest", sourceType: "module", + locations: true, }); const ms = new MagicString(chunk.scriptContent); diff --git a/sites/docs/scripts/transformers.ts b/sites/docs/scripts/transformers.ts index 01e59a3a1..b90f35d67 100644 --- a/sites/docs/scripts/transformers.ts +++ b/sites/docs/scripts/transformers.ts @@ -99,7 +99,8 @@ function stripMarkupTypes(): PreprocessorGroup { this.skip(); } else if ("expression" in node) { - // @ts-expect-error trust me + if (!node.expression) return; + // @ts-expect-error trust me, bro const { start, end } = node.expression; const expression = content.substring(start, end); diff --git a/sites/docs/src/__registry__/blocks.js b/sites/docs/src/__registry__/blocks.js index d75023519..53967f095 100644 --- a/sites/docs/src/__registry__/blocks.js +++ b/sites/docs/src/__registry__/blocks.js @@ -31,6 +31,433 @@ export const Blocks = { component: () => import("../lib/registry/default/block/authentication-04.svelte").then((m) => m.default), raw: () => import("../lib/registry/default/block/authentication-04.svelte?raw").then((m) => m.default), }, + "chart-area-axes": { + name: "chart-area-axes", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-axes.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-axes.svelte?raw").then((m) => m.default), + }, + "chart-area-default": { + name: "chart-area-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-default.svelte?raw").then((m) => m.default), + }, + "chart-area-gradient": { + name: "chart-area-gradient", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-gradient.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-gradient.svelte?raw").then((m) => m.default), + }, + "chart-area-icons": { + name: "chart-area-icons", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-icons.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-icons.svelte?raw").then((m) => m.default), + }, + "chart-area-interactive": { + name: "chart-area-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-interactive.svelte?raw").then((m) => m.default), + }, + "chart-area-legend": { + name: "chart-area-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-legend.svelte?raw").then((m) => m.default), + }, + "chart-area-linear": { + name: "chart-area-linear", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-linear.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-linear.svelte?raw").then((m) => m.default), + }, + "chart-area-stacked-expand": { + name: "chart-area-stacked-expand", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-stacked-expand.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-stacked-expand.svelte?raw").then((m) => m.default), + }, + "chart-area-stacked": { + name: "chart-area-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-stacked.svelte?raw").then((m) => m.default), + }, + "chart-area-step": { + name: "chart-area-step", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-area-step.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-area-step.svelte?raw").then((m) => m.default), + }, + "chart-bar-active": { + name: "chart-bar-active", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-active.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-active.svelte?raw").then((m) => m.default), + }, + "chart-bar-default": { + name: "chart-bar-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-default.svelte?raw").then((m) => m.default), + }, + "chart-bar-horizontal": { + name: "chart-bar-horizontal", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-horizontal.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-horizontal.svelte?raw").then((m) => m.default), + }, + "chart-bar-interactive": { + name: "chart-bar-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-interactive.svelte?raw").then((m) => m.default), + }, + "chart-bar-label-custom": { + name: "chart-bar-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-bar-label": { + name: "chart-bar-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-label.svelte?raw").then((m) => m.default), + }, + "chart-bar-mixed": { + name: "chart-bar-mixed", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-mixed.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-mixed.svelte?raw").then((m) => m.default), + }, + "chart-bar-multiple": { + name: "chart-bar-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-multiple.svelte?raw").then((m) => m.default), + }, + "chart-bar-negative": { + name: "chart-bar-negative", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-negative.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-negative.svelte?raw").then((m) => m.default), + }, + "chart-bar-stacked": { + name: "chart-bar-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-bar-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-bar-stacked.svelte?raw").then((m) => m.default), + }, + "chart-line-default": { + name: "chart-line-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-default.svelte?raw").then((m) => m.default), + }, + "chart-line-dots-colors": { + name: "chart-line-dots-colors", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-dots-colors.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-dots-colors.svelte?raw").then((m) => m.default), + }, + "chart-line-dots-custom": { + name: "chart-line-dots-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-dots-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-dots-custom.svelte?raw").then((m) => m.default), + }, + "chart-line-dots": { + name: "chart-line-dots", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-dots.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-dots.svelte?raw").then((m) => m.default), + }, + "chart-line-interactive": { + name: "chart-line-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-interactive.svelte?raw").then((m) => m.default), + }, + "chart-line-label-custom": { + name: "chart-line-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-line-label": { + name: "chart-line-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-label.svelte?raw").then((m) => m.default), + }, + "chart-line-linear": { + name: "chart-line-linear", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-linear.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-linear.svelte?raw").then((m) => m.default), + }, + "chart-line-multiple": { + name: "chart-line-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-multiple.svelte?raw").then((m) => m.default), + }, + "chart-line-step": { + name: "chart-line-step", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-line-step.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-line-step.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut-active": { + name: "chart-pie-donut-active", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-donut-active.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-donut-active.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut-text": { + name: "chart-pie-donut-text", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-donut-text.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-donut-text.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut": { + name: "chart-pie-donut", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-donut.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-donut.svelte?raw").then((m) => m.default), + }, + "chart-pie-interactive": { + name: "chart-pie-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-interactive.svelte?raw").then((m) => m.default), + }, + "chart-pie-label-custom": { + name: "chart-pie-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-pie-label-list": { + name: "chart-pie-label-list", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-label-list.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-label-list.svelte?raw").then((m) => m.default), + }, + "chart-pie-label": { + name: "chart-pie-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-label.svelte?raw").then((m) => m.default), + }, + "chart-pie-legend": { + name: "chart-pie-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-legend.svelte?raw").then((m) => m.default), + }, + "chart-pie-separator-none": { + name: "chart-pie-separator-none", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-separator-none.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-separator-none.svelte?raw").then((m) => m.default), + }, + "chart-pie-simple": { + name: "chart-pie-simple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-simple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-simple.svelte?raw").then((m) => m.default), + }, + "chart-pie-stacked": { + name: "chart-pie-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-pie-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-pie-stacked.svelte?raw").then((m) => m.default), + }, + "chart-radar-default": { + name: "chart-radar-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-default.svelte?raw").then((m) => m.default), + }, + "chart-radar-dots": { + name: "chart-radar-dots", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-dots.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-dots.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle-fill": { + name: "chart-radar-grid-circle-fill", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-circle-fill.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-circle-fill.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle-no-lines": { + name: "chart-radar-grid-circle-no-lines", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-circle-no-lines.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-circle-no-lines.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle": { + name: "chart-radar-grid-circle", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-circle.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-circle.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-custom": { + name: "chart-radar-grid-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-custom.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-fill": { + name: "chart-radar-grid-fill", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-fill.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-fill.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-none": { + name: "chart-radar-grid-none", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-grid-none.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-grid-none.svelte?raw").then((m) => m.default), + }, + "chart-radar-icons": { + name: "chart-radar-icons", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-icons.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-icons.svelte?raw").then((m) => m.default), + }, + "chart-radar-label-custom": { + name: "chart-radar-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-radar-legend": { + name: "chart-radar-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-legend.svelte?raw").then((m) => m.default), + }, + "chart-radar-lines-only": { + name: "chart-radar-lines-only", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-lines-only.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-lines-only.svelte?raw").then((m) => m.default), + }, + "chart-radar-multiple": { + name: "chart-radar-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-multiple.svelte?raw").then((m) => m.default), + }, + "chart-radar-radius": { + name: "chart-radar-radius", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radar-radius.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radar-radius.svelte?raw").then((m) => m.default), + }, + "chart-radial-grid": { + name: "chart-radial-grid", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-grid.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-grid.svelte?raw").then((m) => m.default), + }, + "chart-radial-label": { + name: "chart-radial-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-label.svelte?raw").then((m) => m.default), + }, + "chart-radial-shape": { + name: "chart-radial-shape", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-shape.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-shape.svelte?raw").then((m) => m.default), + }, + "chart-radial-simple": { + name: "chart-radial-simple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-simple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-simple.svelte?raw").then((m) => m.default), + }, + "chart-radial-stacked": { + name: "chart-radial-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-stacked.svelte?raw").then((m) => m.default), + }, + "chart-radial-text": { + name: "chart-radial-text", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/default/block/chart-radial-text.svelte").then((m) => m.default), + raw: () => import("../lib/registry/default/block/chart-radial-text.svelte?raw").then((m) => m.default), + }, "dashboard-01": { name: "dashboard-01", type: "registry:block", @@ -305,6 +732,433 @@ export const Blocks = { component: () => import("../lib/registry/new-york/block/authentication-04.svelte").then((m) => m.default), raw: () => import("../lib/registry/new-york/block/authentication-04.svelte?raw").then((m) => m.default), }, + "chart-area-axes": { + name: "chart-area-axes", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-axes.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-axes.svelte?raw").then((m) => m.default), + }, + "chart-area-default": { + name: "chart-area-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-default.svelte?raw").then((m) => m.default), + }, + "chart-area-gradient": { + name: "chart-area-gradient", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-gradient.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-gradient.svelte?raw").then((m) => m.default), + }, + "chart-area-icons": { + name: "chart-area-icons", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-icons.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-icons.svelte?raw").then((m) => m.default), + }, + "chart-area-interactive": { + name: "chart-area-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-interactive.svelte?raw").then((m) => m.default), + }, + "chart-area-legend": { + name: "chart-area-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-legend.svelte?raw").then((m) => m.default), + }, + "chart-area-linear": { + name: "chart-area-linear", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-linear.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-linear.svelte?raw").then((m) => m.default), + }, + "chart-area-stacked-expand": { + name: "chart-area-stacked-expand", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-stacked-expand.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-stacked-expand.svelte?raw").then((m) => m.default), + }, + "chart-area-stacked": { + name: "chart-area-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-stacked.svelte?raw").then((m) => m.default), + }, + "chart-area-step": { + name: "chart-area-step", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-area-step.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-area-step.svelte?raw").then((m) => m.default), + }, + "chart-bar-active": { + name: "chart-bar-active", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-active.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-active.svelte?raw").then((m) => m.default), + }, + "chart-bar-default": { + name: "chart-bar-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-default.svelte?raw").then((m) => m.default), + }, + "chart-bar-horizontal": { + name: "chart-bar-horizontal", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-horizontal.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-horizontal.svelte?raw").then((m) => m.default), + }, + "chart-bar-interactive": { + name: "chart-bar-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-interactive.svelte?raw").then((m) => m.default), + }, + "chart-bar-label-custom": { + name: "chart-bar-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-bar-label": { + name: "chart-bar-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-label.svelte?raw").then((m) => m.default), + }, + "chart-bar-mixed": { + name: "chart-bar-mixed", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-mixed.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-mixed.svelte?raw").then((m) => m.default), + }, + "chart-bar-multiple": { + name: "chart-bar-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-multiple.svelte?raw").then((m) => m.default), + }, + "chart-bar-negative": { + name: "chart-bar-negative", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-negative.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-negative.svelte?raw").then((m) => m.default), + }, + "chart-bar-stacked": { + name: "chart-bar-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-bar-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-bar-stacked.svelte?raw").then((m) => m.default), + }, + "chart-line-default": { + name: "chart-line-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-default.svelte?raw").then((m) => m.default), + }, + "chart-line-dots-colors": { + name: "chart-line-dots-colors", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-dots-colors.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-dots-colors.svelte?raw").then((m) => m.default), + }, + "chart-line-dots-custom": { + name: "chart-line-dots-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-dots-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-dots-custom.svelte?raw").then((m) => m.default), + }, + "chart-line-dots": { + name: "chart-line-dots", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-dots.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-dots.svelte?raw").then((m) => m.default), + }, + "chart-line-interactive": { + name: "chart-line-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-interactive.svelte?raw").then((m) => m.default), + }, + "chart-line-label-custom": { + name: "chart-line-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-line-label": { + name: "chart-line-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-label.svelte?raw").then((m) => m.default), + }, + "chart-line-linear": { + name: "chart-line-linear", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-linear.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-linear.svelte?raw").then((m) => m.default), + }, + "chart-line-multiple": { + name: "chart-line-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-multiple.svelte?raw").then((m) => m.default), + }, + "chart-line-step": { + name: "chart-line-step", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-line-step.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-line-step.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut-active": { + name: "chart-pie-donut-active", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-donut-active.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-donut-active.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut-text": { + name: "chart-pie-donut-text", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-donut-text.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-donut-text.svelte?raw").then((m) => m.default), + }, + "chart-pie-donut": { + name: "chart-pie-donut", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-donut.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-donut.svelte?raw").then((m) => m.default), + }, + "chart-pie-interactive": { + name: "chart-pie-interactive", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-interactive.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-interactive.svelte?raw").then((m) => m.default), + }, + "chart-pie-label-custom": { + name: "chart-pie-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-pie-label-list": { + name: "chart-pie-label-list", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-label-list.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-label-list.svelte?raw").then((m) => m.default), + }, + "chart-pie-label": { + name: "chart-pie-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-label.svelte?raw").then((m) => m.default), + }, + "chart-pie-legend": { + name: "chart-pie-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-legend.svelte?raw").then((m) => m.default), + }, + "chart-pie-separator-none": { + name: "chart-pie-separator-none", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-separator-none.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-separator-none.svelte?raw").then((m) => m.default), + }, + "chart-pie-simple": { + name: "chart-pie-simple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-simple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-simple.svelte?raw").then((m) => m.default), + }, + "chart-pie-stacked": { + name: "chart-pie-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-pie-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-pie-stacked.svelte?raw").then((m) => m.default), + }, + "chart-radar-default": { + name: "chart-radar-default", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-default.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-default.svelte?raw").then((m) => m.default), + }, + "chart-radar-dots": { + name: "chart-radar-dots", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-dots.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-dots.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle-fill": { + name: "chart-radar-grid-circle-fill", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-circle-fill.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-circle-fill.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle-no-lines": { + name: "chart-radar-grid-circle-no-lines", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-circle-no-lines.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-circle-no-lines.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-circle": { + name: "chart-radar-grid-circle", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-circle.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-circle.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-custom": { + name: "chart-radar-grid-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-custom.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-fill": { + name: "chart-radar-grid-fill", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-fill.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-fill.svelte?raw").then((m) => m.default), + }, + "chart-radar-grid-none": { + name: "chart-radar-grid-none", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-grid-none.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-grid-none.svelte?raw").then((m) => m.default), + }, + "chart-radar-icons": { + name: "chart-radar-icons", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-icons.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-icons.svelte?raw").then((m) => m.default), + }, + "chart-radar-label-custom": { + name: "chart-radar-label-custom", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-label-custom.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-label-custom.svelte?raw").then((m) => m.default), + }, + "chart-radar-legend": { + name: "chart-radar-legend", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-legend.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-legend.svelte?raw").then((m) => m.default), + }, + "chart-radar-lines-only": { + name: "chart-radar-lines-only", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-lines-only.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-lines-only.svelte?raw").then((m) => m.default), + }, + "chart-radar-multiple": { + name: "chart-radar-multiple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-multiple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-multiple.svelte?raw").then((m) => m.default), + }, + "chart-radar-radius": { + name: "chart-radar-radius", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radar-radius.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radar-radius.svelte?raw").then((m) => m.default), + }, + "chart-radial-grid": { + name: "chart-radial-grid", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-grid.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-grid.svelte?raw").then((m) => m.default), + }, + "chart-radial-label": { + name: "chart-radial-label", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-label.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-label.svelte?raw").then((m) => m.default), + }, + "chart-radial-shape": { + name: "chart-radial-shape", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-shape.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-shape.svelte?raw").then((m) => m.default), + }, + "chart-radial-simple": { + name: "chart-radial-simple", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-simple.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-simple.svelte?raw").then((m) => m.default), + }, + "chart-radial-stacked": { + name: "chart-radial-stacked", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-stacked.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-stacked.svelte?raw").then((m) => m.default), + }, + "chart-radial-text": { + name: "chart-radial-text", + type: "registry:block", + chunks: [], + component: () => import("../lib/registry/new-york/block/chart-radial-text.svelte").then((m) => m.default), + raw: () => import("../lib/registry/new-york/block/chart-radial-text.svelte?raw").then((m) => m.default), + }, "dashboard-01": { name: "dashboard-01", type: "registry:block", diff --git a/sites/docs/src/lib/components/docs/announcement.svelte b/sites/docs/src/lib/components/docs/announcement.svelte index 7bc63d9fd..b4d43be3e 100644 --- a/sites/docs/src/lib/components/docs/announcement.svelte +++ b/sites/docs/src/lib/components/docs/announcement.svelte @@ -1,9 +1,9 @@ diff --git a/sites/docs/src/lib/components/docs/chart-display.svelte b/sites/docs/src/lib/components/docs/chart-display.svelte new file mode 100644 index 000000000..c0b1e0fd0 --- /dev/null +++ b/sites/docs/src/lib/components/docs/chart-display.svelte @@ -0,0 +1,35 @@ + + +
+ {name} + +
+ +
+
diff --git a/sites/docs/src/lib/components/docs/chart-toolbar.svelte b/sites/docs/src/lib/components/docs/chart-toolbar.svelte new file mode 100644 index 000000000..fc9d39ff8 --- /dev/null +++ b/sites/docs/src/lib/components/docs/chart-toolbar.svelte @@ -0,0 +1,54 @@ + + +
+
+ + {name} +
+
+ +
+
diff --git a/sites/docs/src/lib/components/docs/charts-nav.svelte b/sites/docs/src/lib/components/docs/charts-nav.svelte new file mode 100644 index 000000000..9a8ddf54d --- /dev/null +++ b/sites/docs/src/lib/components/docs/charts-nav.svelte @@ -0,0 +1,62 @@ + + + +
+ {#each links as example, index} + + {example.name} + + {/each} +
+
diff --git a/sites/docs/src/lib/components/docs/index.ts b/sites/docs/src/lib/components/docs/index.ts index 55baf6d53..dd1c8db91 100644 --- a/sites/docs/src/lib/components/docs/index.ts +++ b/sites/docs/src/lib/components/docs/index.ts @@ -9,6 +9,8 @@ export { default as PMAddComp } from "./pm-add-comp.svelte"; export { default as PMCreate } from "./pm-create.svelte"; export { default as PMInstall } from "./pm-install.svelte"; export { default as InstallTabs } from "./install-tabs.svelte"; +export { default as ChartsNav } from "./charts-nav.svelte"; +export { default as ChartDisplay } from "./chart-display.svelte"; export * from "./page-header/index.js"; export * from "./forms/index.js"; diff --git a/sites/docs/src/lib/components/docs/nav/main-nav.svelte b/sites/docs/src/lib/components/docs/nav/main-nav.svelte index 6d344aafd..ed9ec2744 100644 --- a/sites/docs/src/lib/components/docs/nav/main-nav.svelte +++ b/sites/docs/src/lib/components/docs/nav/main-nav.svelte @@ -12,6 +12,7 @@ {siteConfig.name} + \n\t\t\n\t\t\t\n\t\t\t\t{#snippet child({ props })}\n\t\t\t\t\t\n\t\t\t\t{/snippet}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{#snippet child({ props })}\n\t\t\t\t\t\t\n\t\t\t\t\t{/snippet}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tMy Account\n\t\t\t\t\t\t\n\t\t\t\t\t\tSettings\n\t\t\t\t\t\tSupport\n\t\t\t\t\t\t\n\t\t\t\t\t\tLogout\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tTotal Revenue\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
$45,231.89
\n\t\t\t\t\t

+20.1% from last month

\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSubscriptions\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
+2350
\n\t\t\t\t\t

+180.1% from last month

\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSales\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
+12,234
\n\t\t\t\t\t

+19% from last month

\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tActive Now\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
+573
\n\t\t\t\t\t

+201 since last hour

\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\tTransactions\n\t\t\t\t\t\tRecent transactions from your store.\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tCustomer\n\t\t\t\t\t\t\t\tType\n\t\t\t\t\t\t\t\tStatus\n\t\t\t\t\t\t\t\tDate\n\t\t\t\t\t\t\t\tAmount\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Liam Johnson
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSale\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tApproved\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$250.00\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Olivia Smith
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tRefund\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDeclined\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$150.00\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Noah Williams
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSubscription\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tApproved\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$350.00\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Emma Brown
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSale\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tApproved\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$450.00\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
Liam Johnson
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tSale\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tApproved\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$550.00\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tRecent Sales\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tOM\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Olivia Martin

\n\t\t\t\t\t\t\t

olivia.martin@email.com

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
+$1,999.00
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tJL\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Jackson Lee

\n\t\t\t\t\t\t\t

jackson.lee@email.com

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
+$39.00
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tIN\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Isabella Nguyen

\n\t\t\t\t\t\t\t

isabella.nguyen@email.com

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
+$299.00
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tWK\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

William Kim

\n\t\t\t\t\t\t\t

will@email.com

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
+$99.00
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSD\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

Sofia Davis

\n\t\t\t\t\t\t\t

sofia.davis@email.com

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
+$39.00
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t
\n\n", + "target": "dashboard-01.svelte", + "type": "registry:block" + } + ] +} \ No newline at end of file diff --git a/sites/docs/static/registry/styles/default-js/dashboard-02.json b/sites/docs/static/registry/styles/default-js/dashboard-02.json new file mode 100644 index 000000000..e70bc4439 --- /dev/null +++ b/sites/docs/static/registry/styles/default-js/dashboard-02.json @@ -0,0 +1,23 @@ +{ + "name": "dashboard-02", + "type": "registry:block", + "dependencies": [ + "lucide-svelte" + ], + "registryDependencies": [ + "badge", + "button", + "card", + "dropdown-menu", + "input", + "sheet" + ], + "files": [ + { + "name": "dashboard-02.svelte", + "content": "\n\n
\n\t\n\t
\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{#snippet child({ props })}\n\t\t\t\t\t\t\n\t\t\t\t\t{/snippet}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tUpgrade to Pro\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tUnlock all features and get unlimited access to our support team.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{#snippet child({ props })}\n\t\t\t\t\t\t\n\t\t\t\t\t{/snippet}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tMy Account\n\t\t\t\t\t\t\n\t\t\t\t\t\tSettings\n\t\t\t\t\t\tSupport\n\t\t\t\t\t\t\n\t\t\t\t\t\tLogout\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

Inventory

\n\t\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

You have no products

\n\t\t\t\t\t

\n\t\t\t\t\t\tYou can start selling as soon as you add a product.\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t
\n\n", + "target": "dashboard-02.svelte", + "type": "registry:block" + } + ] +} \ No newline at end of file diff --git a/sites/docs/static/registry/styles/default-js/dashboard-03.json b/sites/docs/static/registry/styles/default-js/dashboard-03.json new file mode 100644 index 000000000..eb290e033 --- /dev/null +++ b/sites/docs/static/registry/styles/default-js/dashboard-03.json @@ -0,0 +1,25 @@ +{ + "name": "dashboard-03", + "type": "registry:block", + "dependencies": [ + "lucide-svelte" + ], + "registryDependencies": [ + "badge", + "button", + "tooltip", + "drawer", + "input", + "textarea", + "label", + "select" + ], + "files": [ + { + "name": "dashboard-03.svelte", + "content": "\n\n{#snippet ModelItemContent({ label, Icon, description })}\n\t
\n\t\t\n\t\t
\n\t\t\t

\n\t\t\t\tNeural\n\t\t\t\t {label} \n\t\t\t

\n\t\t\t

\n\t\t\t\t{description}\n\t\t\t

\n\t\t
\n\t
\n{/snippet}\n\n
\n\t\n\t
\n\t\t
\n\t\t\t

Playground

\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{#snippet child({ props })}\n\t\t\t\t\t\t\n\t\t\t\t\t{/snippet}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tConfiguration\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tConfigure the settings for the model and messages.\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t Settings \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{#if selectedModel}\n\t\t\t\t\t\t\t\t\t\t\t{@render ModelItemContent(selectedModel)}\n\t\t\t\t\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t\t\t\t\tSelect a model\n\t\t\t\t\t\t\t\t\t\t{/if}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{#each models as model}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{@render ModelItemContent(model)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{/each}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t Messages \n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{role ?? \"Select a role\"}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSystem\n\t\t\t\t\t\t\t\t\t\tUser\n\t\t\t\t\t\t\t\t\t\tAssistant\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t