diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a936c2e..0dcc8ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,6 +4,9 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + '@svelte-toolkit/validate': link:../validate + importers: .: @@ -22,8 +25,8 @@ importers: specifier: ^0.2.1 version: 0.2.1(svelte@5.34.9) '@svelte-toolkit/validate': - specifier: ^0.0.0 - version: 0.0.0(svelte@5.34.9) + specifier: link:../validate + version: link:../validate '@sveltejs/adapter-auto': specifier: ^4.0.0 version: 4.0.0(@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(@types/node@24.0.9)(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(@types/node@24.0.9)(jiti@2.4.2)(lightningcss@1.30.1))) @@ -497,11 +500,6 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - '@svelte-toolkit/validate@0.0.0': - resolution: {integrity: sha512-A8qdXyYh7SyauqA83pJSUZ8tBTYjWTxsV29Zv4R6GPw9lfp9l9b+y98gEFDvZn6bgPEzOXBrf76TJKAUXvsACA==, tarball: https://gitea.auvem.com/api/packages/svelte-toolkit/npm/%40svelte-toolkit%2Fvalidate/-/0.0.0/validate-0.0.0.tgz} - peerDependencies: - svelte: ^5.0.0 - '@sveltejs/acorn-typescript@1.0.5': resolution: {integrity: sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==} peerDependencies: @@ -1895,10 +1893,6 @@ snapshots: '@sinclair/typebox@0.27.8': {} - '@svelte-toolkit/validate@0.0.0(svelte@5.34.9)': - dependencies: - svelte: 5.34.9 - '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: acorn: 8.15.0 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..9deff6e --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +overrides: + '@svelte-toolkit/validate': link:../validate diff --git a/src/lib/Dateinput.svelte b/src/lib/Dateinput.svelte new file mode 100644 index 0000000..e5ef838 --- /dev/null +++ b/src/lib/Dateinput.svelte @@ -0,0 +1,301 @@ + + +
+ + + {#each inputSnippets as snippet, i} + {@render snippet()} + + {#if i < inputSnippets.length - 1} + - + {/if} + {/each} + + +
+ +{#snippet year()} +
{ + yearValid = e.detail.valid; + handleComponentValidate(e); + }} + >
+{/snippet} + +{#snippet month()} +
{ + monthValid = e.detail.valid; + handleComponentValidate(e); + }} + >
+{/snippet} + +{#snippet day()} +
{ + dayValid = e.detail.valid; + handleComponentValidate(e); + }} + >
+{/snippet} + + diff --git a/src/lib/styles/theme.css b/src/lib/styles/theme.css index e1b5be9..bd8c6b4 100644 --- a/src/lib/styles/theme.css +++ b/src/lib/styles/theme.css @@ -10,7 +10,17 @@ --font-*: initial; --font-sans: var(--ui-font-sans, Work Sans, sans-serif); --font-serif: var(--ui-font-serif, Merriweather, serif); - --font-mono: var(--ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace); + --font-mono: var( + --ui-font-mono, + ui-monospace, + SFMono-Regular, + Menlo, + Monaco, + Consolas, + 'Liberation Mono', + 'Courier New', + monospace + ); /* Primary Colors */ --color-primary-50: var(--ui-primary-50, #f0f8fe); @@ -83,7 +93,6 @@ } @layer base { - *, ::after, ::before, diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index b1eea1f..a39bdd7 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,10 @@ -

sui — Opinionated Svelte 5 UI toolkit

@@ -52,6 +55,26 @@ +
+

Dateinput

+ +
+ +
+ +
+ Selected date is {dateInputValue} +
+
+