mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 02:11:05 +00:00
55 lines
1.6 KiB
Svelte
55 lines
1.6 KiB
Svelte
<script>
|
|
/**
|
|
* Set the size of the table
|
|
* @type {"compact" | "short" | "tall"}
|
|
*/
|
|
export let size = undefined;
|
|
|
|
/** Set to `true` to use zebra styles */
|
|
export let zebra = false;
|
|
|
|
/** Set to `true` to use static width */
|
|
export let useStaticWidth = false;
|
|
|
|
/** Set to `true` for the bordered variant */
|
|
export let shouldShowBorder = false;
|
|
|
|
/** Set to `true` for the sortable variant */
|
|
export let sortable = false;
|
|
|
|
/** Set to `true` to enable a sticky header */
|
|
export let stickyHeader = false;
|
|
</script>
|
|
|
|
{#if stickyHeader}
|
|
<section class:bx--data-table_inner-container="{true}" {...$$restProps}>
|
|
<table
|
|
class:bx--data-table="{true}"
|
|
class:bx--data-table--compact="{size === 'compact'}"
|
|
class:bx--data-table--short="{size === 'short'}"
|
|
class:bx--data-table--tall="{size === 'tall'}"
|
|
class:bx--data-table--sort="{sortable}"
|
|
class:bx--data-table--zebra="{zebra}"
|
|
class:bx--data-table--static="{useStaticWidth}"
|
|
class:bx--data-table--no-border="{!shouldShowBorder}"
|
|
class:bx--data-table--sticky-header="{stickyHeader}"
|
|
>
|
|
<slot />
|
|
</table>
|
|
</section>
|
|
{:else}
|
|
<table
|
|
class:bx--data-table="{true}"
|
|
class:bx--data-table--compact="{size === 'compact'}"
|
|
class:bx--data-table--short="{size === 'short'}"
|
|
class:bx--data-table--tall="{size === 'tall'}"
|
|
class:bx--data-table--sort="{sortable}"
|
|
class:bx--data-table--zebra="{zebra}"
|
|
class:bx--data-table--static="{useStaticWidth}"
|
|
class:bx--data-table--no-border="{!shouldShowBorder}"
|
|
class:bx--data-table--sticky-header="{stickyHeader}"
|
|
{...$$restProps}
|
|
>
|
|
<slot />
|
|
</table>
|
|
{/if}
|