+
{{ label }}
diff --git a/src/components/tables/DataTable.stories.ts b/src/components/tables/DataTable.stories.ts
index 4528af5d..3fc93b76 100644
--- a/src/components/tables/DataTable.stories.ts
+++ b/src/components/tables/DataTable.stories.ts
@@ -92,22 +92,22 @@ const render: StoryFn = (args) => ({
};
},
template: `
-
-
-
- selected: {{ modelValue.length }}
-
-
+
+
+ selected: {{ modelValue.length }}
+
+
-
-
-
-
-
- Expanded content
-
+
+
+
+
+
+ Expanded content
+
-
-
-
- `,
+ :row-attr="args.rowAttr"
+ :rows="args.rows"
+ />
+
+
+
+ `,
});
const data = [
diff --git a/src/components/tables/DataTable.vue b/src/components/tables/DataTable.vue
index d93b8bce..f8bb699a 100644
--- a/src/components/tables/DataTable.vue
+++ b/src/components/tables/DataTable.vue
@@ -972,7 +972,12 @@ onMounted(() => {
{ [css.tr__selected]: isSelected(row[rowIdentifier]) },
]"
>
-
+ |
{
column.cellClass,
css[`align__${column.align ?? 'start'}`],
]"
+ :colspan="column.colspan ?? 1"
+ :rowspan="column.rowspan ?? 1"
>
{
}
.checkbox {
- @apply ps-4 w-14;
+ @apply px-2 w-[3.625rem] max-w-[3.625rem];
+ label {
+ @apply ml-0;
+ }
}
&.dense {
diff --git a/src/components/tables/TableHead.vue b/src/components/tables/TableHead.vue
index b81f704c..4fa7eea6 100644
--- a/src/components/tables/TableHead.vue
+++ b/src/components/tables/TableHead.vue
@@ -19,6 +19,8 @@ export interface BaseTableColumn {
align?: 'start' | 'center' | 'end';
class?: string;
cellClass?: string;
+ colspan?: string | number;
+ rowspan?: string | number;
[key: string]: any;
}
@@ -153,7 +155,13 @@ const getSortDirection = (key: TableColumn['key']) =>
]"
>
-
+ |
['key']) =>
},
]"
scope="col"
+ :colspan="column.colspan ?? 1"
+ :rowspan="column.rowspan ?? 1"
>
['key']) =>
}
.checkbox {
- @apply ps-4 w-14;
+ @apply px-2 w-[3.625rem] max-w-[3.625rem];
+ label {
+ @apply ml-0;
+ }
}
}
&__loader {
.progress {
- @apply relative w-full py-8;
+ @apply relative py-8;
}
&_linear {
| |