diff --git a/src/components/Table/Table.vue b/src/components/Table/Table.vue
index f3e030e..a87f9c6 100644
--- a/src/components/Table/Table.vue
+++ b/src/components/Table/Table.vue
@@ -6,13 +6,9 @@
diff --git a/src/components/Table/TableRow.vue b/src/components/Table/TableRow.vue
index 25120fc..74df263 100644
--- a/src/components/Table/TableRow.vue
+++ b/src/components/Table/TableRow.vue
@@ -1,7 +1,11 @@
-
+
diff --git a/src/components/Table/composables/tableRowClasses.ts b/src/components/Table/composables/tableRowClasses.ts
new file mode 100644
index 0000000..7097cef
--- /dev/null
+++ b/src/components/Table/composables/tableRowClasses.ts
@@ -0,0 +1,26 @@
+import { computed, inject } from 'vue'
+import type { Ref } from 'vue'
+import classNames from 'classnames'
+
+const baseClasses = 'bg-white dark:bg-gray-800 [&:not(:last-child)]:border-b [&:not(:last-child)]:dark:border-gray-700'
+const stripedClasses = 'odd:bg-white even:bg-gray-50 odd:dark:bg-gray-800 even:dark:bg-gray-700 bg-white dark:border-gray-700 dark:bg-gray-800'
+const hoverableClasses = 'hover:bg-gray-50 dark:hover:bg-gray-600'
+
+export function useTableRowClasses(): { tableRowClasses: Ref } {
+ const isStriped = inject('striped')
+ const isHoverable = inject('hoverable')
+
+ const tableRowClasses = computed(() => {
+ return classNames(
+ baseClasses,
+ {
+ [stripedClasses]: isStriped,
+ [hoverableClasses]: isHoverable,
+ },
+ )
+ })
+
+ return {
+ tableRowClasses,
+ }
+}