diff --git a/v2/pink-sb/src/lib/selector/Checkbox.svelte b/v2/pink-sb/src/lib/selector/Checkbox.svelte index bb53e24549..a185469d71 100644 --- a/v2/pink-sb/src/lib/selector/Checkbox.svelte +++ b/v2/pink-sb/src/lib/selector/Checkbox.svelte @@ -36,6 +36,7 @@ {...$root} {disabled} use:root + on:click class:active={$isIndeterminate || $isChecked} class:s={size === 's'} > diff --git a/v2/pink-sb/src/lib/table/Row.svelte b/v2/pink-sb/src/lib/table/Row.svelte index ef4a6679ff..9cf50612b1 100644 --- a/v2/pink-sb/src/lib/table/Row.svelte +++ b/v2/pink-sb/src/lib/table/Row.svelte @@ -1,8 +1,49 @@
+ {#if tableCtx.selection} + + + + {/if} +
diff --git a/v2/pink-sb/src/lib/table/Table.svelte b/v2/pink-sb/src/lib/table/Table.svelte index 8a4937baac..effe2bd486 100644 --- a/v2/pink-sb/src/lib/table/Table.svelte +++ b/v2/pink-sb/src/lib/table/Table.svelte @@ -1,5 +1,66 @@ - + +
diff --git a/v2/pink-sb/src/stories/Table.stories.svelte b/v2/pink-sb/src/stories/Table.stories.svelte index 5b8b980906..e650f2eed9 100644 --- a/v2/pink-sb/src/stories/Table.stories.svelte +++ b/v2/pink-sb/src/stories/Table.stories.svelte @@ -12,6 +12,14 @@ import { Selector, Button, Badge, Tag, Icon, Status, Typography } from '$lib/index.js'; import { Story } from '@storybook/addon-svelte-csf'; import { IconDuplicate } from '@appwrite.io/pink-icons-svelte'; + + $: selectedIds = []; + let tableItems = [ + { id: 1, name: 'Arman Nik', role: 'Product Engineer', location: 'Italy' }, + { id: 2, name: 'Darshan Pandya', role: 'Product Engineer', location: 'India' }, + { id: 3, name: 'Ernst Mulders', role: 'Product Engineer', location: 'Netherlands' }, + { id: 4, name: 'Torsten Dittmann', role: 'Product Architect', location: 'Germany' } + ]; @@ -147,40 +155,37 @@ - - - - - - Lorem - Ipsum - Dolor - - - - - - Lorem - Ipsum - Dolor - - - - - - Lorem - Ipsum - Dolor - - - - - - Lorem - Ipsum - Dolor - - + + {@const selectableIds = tableItems.map((item) => item.id.toString())} + + + Name + Role + Location + + + {#each tableItems as tableItem} + + + {tableItem.name} + {tableItem.role} + {tableItem.location} + + {/each} + + + Selected IDs: {selectedIds.join(', ')} + + Selected Persons: {selectedIds + .map( + (selectedId) => + tableItems.find((tableItem) => tableItem.id.toString() === selectedId)?.name + ) + .join(', ')} +