feat(ui,dashboard): Add DataTable block (#10024)

**What**
- Adds opinionated DataTable block to `@medusajs/ui` 
- Adds new DataTable to `@medusajs/dashboard` that uses the above mentioned block as the primitive.

The PR also replaces the table on /customer-groups and the variants table on /products/:id with the new DataTable, to provide an example of it's usage. The previous DataTable component has been renamed to `_DataTable` and has been deprecated.

**Note**
This PR has a lot of LOC. 5,346 of these changes are the fr.json file, which wasn't formatted correctly before. When adding the new translations needed for this PR the file was formatted which caused each line to change to have the proper indentation.

Resolves CMRC-333
This commit is contained in:
Kasper Fabricius Kristensen
2025-01-20 13:26:12 +00:00
committed by GitHub
parent c3976a312b
commit 147c0e5a35
130 changed files with 9238 additions and 3884 deletions
File diff suppressed because it is too large Load Diff
@@ -316,6 +316,12 @@
"greaterThanLabel": "größer als {{value}}",
"andLabel": "Und"
},
"radio": {
"yes": "Ja",
"no": "Nein",
"true": "Wahr",
"false": "Falsch"
},
"addFilter": "Filter hinzufügen"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "Sie sind dabei, das Produkt {{title}} zu löschen. Diese Aktion kann nicht rückgängig gemacht werden.",
"variants": "Varianten",
"variants": {
"header": "Varianten",
"empty": {
"heading": "Keine Varianten",
"description": "Es gibt keine Varianten, um angezeigt zu werden."
},
"filtered": {
"heading": "Keine Ergebnisse",
"description": "Keine Varianten stimmen mit den aktuellen Filterkriterien überein."
}
},
"attributes": "Attribute",
"editAttributes": "Attribute bearbeiten",
"editOptions": "Optionen bearbeiten",
@@ -298,6 +298,9 @@
}
},
"filters": {
"sortLabel": "Sort",
"filterLabel": "Filter",
"searchLabel": "Search",
"date": {
"today": "Today",
"lastSevenDays": "Last 7 days",
@@ -306,7 +309,9 @@
"lastTwelveMonths": "Last 12 months",
"custom": "Custom",
"from": "From",
"to": "To"
"to": "To",
"starting": "Starting",
"ending": "Ending"
},
"compare": {
"lessThan": "Less than",
@@ -317,6 +322,18 @@
"greaterThanLabel": "greater than {{value}}",
"andLabel": "and"
},
"sorting": {
"alphabeticallyAsc": "A to Z",
"alphabeticallyDesc": "Z to A",
"dateAsc": "Newest first",
"dateDesc": "Oldest first"
},
"radio": {
"yes": "Yes",
"no": "No",
"true": "True",
"false": "False"
},
"addFilter": "Add filter"
},
"errorBoundary": {
@@ -468,7 +485,17 @@
}
},
"deleteWarning": "You are about to delete the product {{title}}. This action cannot be undone.",
"variants": "Variants",
"variants": {
"header": "Variants",
"empty": {
"heading": "No variants",
"description": "There are no variants to display."
},
"filtered": {
"heading": "No results",
"description": "No variants match the current filter criteria."
}
},
"attributes": "Attributes",
"editAttributes": "Edit Attributes",
"editOptions": "Edit Options",
@@ -891,6 +918,16 @@
"customerGroups": {
"domain": "Customer Groups",
"subtitle": "Organize customers into groups. Groups can have different promotions and prices.",
"list": {
"empty": {
"heading": "No customer groups",
"description": "There are no customer groups to display."
},
"filtered": {
"heading": "No results",
"description": "No customer groups match the current filter criteria."
}
},
"create": {
"header": "Create Customer Group",
"hint": "Create a new customer group to segment your customers.",
@@ -316,6 +316,12 @@
"greaterThanLabel": "mayor que {{value}}",
"andLabel": "y"
},
"radio": {
"yes": "Sí",
"no": "No",
"true": "Verdadero",
"false": "Falso"
},
"addFilter": "Agregar filtro"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "Estás a punto de eliminar el producto {{title}}. Esta acción no puede deshacerse.",
"variants": "Variantes",
"variants": {
"header": "Variantes",
"empty": {
"heading": "No hay variantes",
"description": "No hay variantes para mostrar."
},
"filtered": {
"heading": "No hay resultados",
"description": "No hay variantes que coincidan con los criterios de filtro actuales."
}
},
"attributes": "Atributos",
"editAttributes": "Editar Atributos",
"editOptions": "Editar Opciones",
File diff suppressed because it is too large Load Diff
@@ -317,6 +317,12 @@
"greaterThanLabel": "maggiore di {{value}}",
"andLabel": "e"
},
"radio": {
"yes": "Sì",
"no": "No",
"true": "Vero",
"false": "Falso"
},
"addFilter": "Aggiungi filtro"
},
"errorBoundary": {
@@ -468,7 +474,17 @@
}
},
"deleteWarning": "Stai per eliminare il prodotto {{title}}. Questa azione non può essere annullata.",
"variants": "Varianti",
"variants": {
"header": "Varianti",
"empty": {
"heading": "Nessuna variante",
"description": "Non ci sono varianti da visualizzare."
},
"filtered": {
"heading": "Nessun risultato",
"description": "Nessuna variante corrisponde ai criteri di filtro correnti."
}
},
"attributes": "Attributi",
"editAttributes": "Modifica Attributi",
"editOptions": "Modifica Opzioni",
@@ -2092,14 +2108,14 @@
"label": "La lista prezzi ha una data di scadenza?",
"hint": "Pianifica la lista prezzi per disattivarsi in futuro."
},
"customerAvailability": {
"header": "Scegli gruppi di clienti",
"label": "Disponibilità cliente",
"hint": "Scegli quali gruppi di clienti la lista prezzi dovrebbe essere applicata.",
"placeholder": "Cerca gruppi di clienti",
"attribute": "Gruppi di clienti"
}
"customerAvailability": {
"header": "Scegli gruppi di clienti",
"label": "Disponibilità cliente",
"hint": "Scegli quali gruppi di clienti la lista prezzi dovrebbe essere applicata.",
"placeholder": "Cerca gruppi di clienti",
"attribute": "Gruppi di clienti"
}
}
},
"profile": {
"domain": "Profilo",
@@ -2771,4 +2787,4 @@
"seconds_one": "Secondo",
"seconds_other": "Secondi"
}
}
}
@@ -317,6 +317,12 @@
"greaterThanLabel": "{{value}}以上",
"andLabel": "かつ"
},
"radio": {
"yes": "はい",
"no": "いいえ",
"true": "真",
"false": "偽"
},
"addFilter": "フィルター追加"
},
"errorBoundary": {
@@ -468,7 +474,17 @@
}
},
"deleteWarning": "商品「{{title}}」を削除しようとしています。この操作は元に戻せません。",
"variants": "バリエーション",
"variants": {
"header": "バリエーション",
"empty": {
"heading": "バリエーションはありません",
"description": "表示するバリエーションはありません。"
},
"filtered": {
"heading": "結果はありません",
"description": "現在のフィルター条件に一致するバリエーションはありません。"
}
},
"attributes": "属性",
"editAttributes": "属性を編集",
"editOptions": "オプションを編集",
@@ -316,6 +316,12 @@
"greaterThanLabel": "więcej niż {{value}}",
"andLabel": "i"
},
"radio": {
"yes": "Tak",
"no": "Nie",
"true": "Prawda",
"false": "Fałsz"
},
"addFilter": "Dodaj filtr"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "Zamierzasz usunąć produkt {{title}}. Ta akcja nie może zostać cofnięta.",
"variants": "Warianty",
"variants": {
"header": "Warianty",
"empty": {
"heading": "Brak wariantów",
"description": "Nie ma wariantów do wyświetlenia."
},
"filtered": {
"heading": "Brak wariantów",
"description": "Nie ma wariantów, które pasują do aktualnych kryteriów filtrów."
}
},
"attributes": "Atrybuty",
"editAttributes": "Edytuj atrybuty",
"editOptions": "Edytuj opcje",
@@ -316,6 +316,12 @@
"greaterThanLabel": "maior que {{value}}",
"andLabel": "e"
},
"radio": {
"yes": "Sim",
"no": "Não",
"true": "Verdadeiro",
"false": "Falso"
},
"addFilter": "Adicionar filtro"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "Você está prestes a excluir o produto {{title}}. Esta ação não pode ser desfeita.",
"variants": "Variantes",
"variants": {
"header": "Variantes",
"empty": {
"heading": "Nenhuma variante",
"description": "Não há variantes para exibir."
},
"filtered": {
"heading": "Nenhuma variante",
"description": "Nenhuma variante corresponde aos critérios de filtro atuais."
}
},
"attributes": "Atributos",
"editAttributes": "Editar atributos",
"editOptions": "Editar opções",
@@ -316,6 +316,12 @@
"greaterThanLabel": "มากกว่า {{value}}",
"andLabel": "และ"
},
"radio": {
"yes": "ใช่",
"no": "ไม่",
"true": "จริง",
"false": "เท็จ"
},
"addFilter": "เพิ่มตัวกรอง"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "คุณกำลังจะลบสินค้า {{title}} การดำเนินการนี้ไม่สามารถยกเลิกได้",
"variants": "ตัวเลือก",
"variants": {
"header": "ตัวเลือก",
"empty": {
"heading": "ไม่มีตัวเลือก",
"description": "ไม่มีตัวเลือกที่จะแสดง"
},
"filtered": {
"heading": "ไม่มีผลลัพธ์",
"description": "ไม่มีตัวเลือกที่ตรงกับเกณฑ์การกรองปัจจุบัน"
}
},
"attributes": "แอตทริบิวต์",
"editAttributes": "แก้ไขแอตทริบิวต์",
"editOptions": "แก้ไขตัวเลือก",
@@ -316,6 +316,12 @@
"greaterThanLabel": "{{value}}'den büyük",
"andLabel": "ve"
},
"radio": {
"yes": "Evet",
"no": "Hayır",
"true": "Doğru",
"false": "Yanlış"
},
"addFilter": "Filtre Ekle"
},
"errorBoundary": {
@@ -467,7 +473,17 @@
}
},
"deleteWarning": "Ürün {{title}}'i silmek üzeresiniz. Bu işlem geri alınamaz.",
"variants": "Varyantlar",
"variants": {
"header": "Varyantlar",
"empty": {
"heading": "Varyant yok",
"description": "Görüntülenecek varyant yok."
},
"filtered": {
"heading": "Sonuç yok",
"description": "Varyantlar mevcut filtrelerle eşleşmiyor."
}
},
"attributes": "Öznitelikler",
"editAttributes": "Öznitelikleri Düzenle",
"editOptions": "Seçenekleri Düzenle",
@@ -317,6 +317,12 @@
"greaterThanLabel": "більше ніж {{value}}",
"andLabel": "і"
},
"radio": {
"yes": "Так",
"no": "немає",
"true": "правда",
"false": "помилковий"
},
"addFilter": "Додати фільтр"
},
"errorBoundary": {
@@ -468,7 +474,17 @@
}
},
"deleteWarning": "Ви збираєтеся видалити продукт {{title}}. Цю дію не можна скасувати.",
"variants": "Варіанти",
"variants": {
"header": "Варіанти",
"empty": {
"heading": "Немає варіантів",
"description": "Немає варіантів для відображення."
},
"filtered": {
"heading": "Немає результатів",
"description": "Немає варіантів, які відповідають поточному критерію фільтрації."
}
},
"attributes": "Атрибути",
"editAttributes": "Редагувати атрибути",
"editOptions": "Редагувати опції",