From 4fee8be2a062c9276e6151d67addd1be7baeb6b2 Mon Sep 17 00:00:00 2001 From: hugeletters Date: Fri, 8 Sep 2023 23:22:02 +0200 Subject: [PATCH 01/11] init, basic typing --- .vscode/settings.json | 6 ++- .../Autocomplete/Autocomplete.svelte | 40 ++++++++++--------- .../src/lib/components/Autocomplete/types.ts | 4 +- 3 files changed, 28 insertions(+), 22 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 80d6be736..99bee1471 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,5 @@ { - "cSpell.language": "en" -} \ No newline at end of file + "cSpell.language": "en", + "prettier.singleQuote": true, + "prettier.semi": true +} diff --git a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte index 560efe6e7..fcf90fe6c 100644 --- a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte +++ b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte @@ -1,15 +1,19 @@ - @@ -101,7 +102,7 @@ [] = [ { label: 'Vanilla', value: 'vanilla', keywords: 'plain, basic', meta: { healthy: false } }, { label: 'Chocolate', value: 'chocolate', keywords: 'dark, white', meta: { healthy: false } }, { label: 'Strawberry', value: 'strawberry', keywords: 'fruit', meta: { healthy: true } }, @@ -115,7 +116,7 @@ const flavorOptions: AutocompleteOption[] = [ ): void { +function onFlavorSelection(event: CustomEvent>): void { inputDemo = event.detail.label; } `} @@ -160,7 +161,7 @@ function onFlavorSelection(event: CustomEvent): void { [] = [ { ..., keywords: 'mix, strawberry, chocolate, vanilla' }, { ..., meta: { healthy: false } }, ]; From c9fbfb93aad087b3f68b4ecb29bec1bdcd3f1176 Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Mon, 11 Sep 2023 13:48:42 -0400 Subject: [PATCH 06/11] adjust param names --- .../lib/components/Autocomplete/Autocomplete.svelte | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte index bff057cae..c8dbab6f8 100644 --- a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte +++ b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte @@ -94,20 +94,20 @@ // Local $: listedOptions = options; - function filterByAllowDeny(_allowlist: typeof allowlist, _denylist: typeof denylist) { + function filterByAllowDeny(allowlist: Value[], denylist: Value[]) { let _options = [...options]; // Allowed Options - if (_allowlist.length) { - _options = _options.filter((option) => _allowlist.includes(option.value)); + if (allowlist.length) { + _options = _options.filter((option) => allowlist.includes(option.value)); } // Denied Options - if (_denylist.length) { - _options = _options.filter((option) => !_denylist.includes(option.value)); + if (denylist.length) { + _options = _options.filter((option) => !denylist.includes(option.value)); } // Reset options - if (!_allowlist.length && !_denylist.length) { + if (!allowlist.length && !denylist.length) { _options = options; } From 55919b9b02fb20b9f1a43309984b249855278e3f Mon Sep 17 00:00:00 2001 From: AdrianGonz97 <31664583+AdrianGonz97@users.noreply.github.com> Date: Mon, 11 Sep 2023 14:07:34 -0400 Subject: [PATCH 07/11] don't need these type assertions anymore --- .../src/routes/(inner)/components/autocomplete/+page.svelte | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sites/skeleton.dev/src/routes/(inner)/components/autocomplete/+page.svelte b/sites/skeleton.dev/src/routes/(inner)/components/autocomplete/+page.svelte index 5e58f4cea..65dfbd723 100644 --- a/sites/skeleton.dev/src/routes/(inner)/components/autocomplete/+page.svelte +++ b/sites/skeleton.dev/src/routes/(inner)/components/autocomplete/+page.svelte @@ -67,13 +67,13 @@ function onDeniedlistSelect(event: CustomEvent): void { console.log(event.detail); - flavorDenylist = [event.detail.value as string]; + flavorDenylist = [event.detail.value]; } function onInputChipSelect(event: CustomEvent): void { console.log('onInputChipSelect', event.detail); - if (inputChipList.includes(event.detail.value as string) === false) { - inputChipList = [...inputChipList, event.detail.value as string]; + if (inputChipList.includes(event.detail.value) === false) { + inputChipList = [...inputChipList, event.detail.value]; inputChip = ''; } } From 5234b60441d7e95153b8f3af77fa56e1e11c928c Mon Sep 17 00:00:00 2001 From: Evgenii Perminov <119697239+HugeLetters@users.noreply.github.com> Date: Mon, 11 Sep 2023 21:26:53 +0200 Subject: [PATCH 08/11] Update packages/skeleton/.changeset/gold-jars-pretend.md Co-authored-by: CokaKoala <31664583+AdrianGonz97@users.noreply.github.com> --- packages/skeleton/.changeset/gold-jars-pretend.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/skeleton/.changeset/gold-jars-pretend.md b/packages/skeleton/.changeset/gold-jars-pretend.md index 7683bce92..f2914fb94 100644 --- a/packages/skeleton/.changeset/gold-jars-pretend.md +++ b/packages/skeleton/.changeset/gold-jars-pretend.md @@ -1,5 +1,5 @@ --- -'@skeletonlabs/skeleton': patch +'@skeletonlabs/skeleton': minor --- -bugfix:Added support for type generics on values provided to Autocomplete component +feat: Added support for generic types on values provided to Autocomplete component From 67459520a1e653772d988ba6a0b4b455f1099801 Mon Sep 17 00:00:00 2001 From: hugeletters Date: Mon, 11 Sep 2023 21:27:57 +0200 Subject: [PATCH 09/11] revert settings --- .vscode/settings.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 99bee1471..0353da65d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,3 @@ { - "cSpell.language": "en", - "prettier.singleQuote": true, - "prettier.semi": true + "cSpell.language": "en" } From 16961a11bd1f3bd8fa8f7434f61b3a7fcfe10541 Mon Sep 17 00:00:00 2001 From: hugeletters Date: Mon, 11 Sep 2023 21:54:21 +0200 Subject: [PATCH 10/11] generic for meta property --- .../components/Autocomplete/Autocomplete.svelte | 17 ++++++++++------- .../src/lib/components/Autocomplete/types.ts | 6 +++--- .../components/autocomplete/+page.svelte | 6 +++--- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte index c8dbab6f8..ed4c1dbda 100644 --- a/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte +++ b/packages/skeleton/src/lib/components/Autocomplete/Autocomplete.svelte @@ -8,11 +8,13 @@ type TransitionIn = Transition; type TransitionOut = Transition; type Value = unknown; + type Meta = unknown;