From 6aad7fd9f9b471cd5b75ad26ee46c5b5101b6089 Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 11:54:08 +0100 Subject: [PATCH 01/10] chore: bump vue-data-ui from 3.15.12 to 3.16.0 --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6812ebc6a7..2c1453840d 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ "vite-plugin-pwa": "1.2.0", "vite-plus": "0.1.12", "vue": "3.5.30", - "vue-data-ui": "3.15.12" + "vue-data-ui": "3.16.0" }, "devDependencies": { "@e18e/eslint-plugin": "0.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62896004f4..ac724298f0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -235,8 +235,8 @@ importers: specifier: 3.5.30 version: 3.5.30(typescript@5.9.3) vue-data-ui: - specifier: 3.15.12 - version: 3.15.12(vue@3.5.30(typescript@5.9.3)) + specifier: 3.16.0 + version: 3.16.0(vue@3.5.30(typescript@5.9.3)) devDependencies: '@e18e/eslint-plugin': specifier: 0.2.0 @@ -10577,8 +10577,8 @@ packages: vue-component-type-helpers@3.2.6: resolution: {integrity: sha512-O02tnvIfOQVmnvoWwuSydwRoHjZVt8UEBR+2p4rT35p8GAy5VTlWP8o5qXfJR/GWCN0nVZoYWsVUvx2jwgdBmQ==} - vue-data-ui@3.15.12: - resolution: {integrity: sha512-FQiovjgyNOgATsSYsyF/2bbnnCaLISNKFbJ0Kjt8oi+x74dTMjY6r+FG2kpFu50LRryzsVrNzRANhPbCInYXIw==} + vue-data-ui@3.16.0: + resolution: {integrity: sha512-5f9mJi5vkC/48ntfBwxVG8AjuyZBf7nK9dzQDcL8L9xEFlRHuIrXB1YMt1qDQEWimcPSmWZ051KUQm/cSS3U5g==} peerDependencies: jspdf: '>=3.0.1' vue: '>=3.3.0' @@ -23356,7 +23356,7 @@ snapshots: vue-component-type-helpers@3.2.6: {} - vue-data-ui@3.15.12(vue@3.5.30(typescript@5.9.3)): + vue-data-ui@3.16.0(vue@3.5.30(typescript@5.9.3)): dependencies: vue: 3.5.30(typescript@5.9.3) From 80925c0cdf730fc43ea31d970e37188040652500 Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 11:54:27 +0100 Subject: [PATCH 02/10] feat: add translations --- i18n/locales/en.json | 4 +++- i18n/locales/fr-FR.json | 9 +++++++-- i18n/schema.json | 9 +++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 02c1af000f..7a8cf03537 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -1105,7 +1105,9 @@ "empty_title": "Select packages to compare", "empty_description": "Search and add at least 2 packages above to see a side-by-side comparison of their metrics.", "table_view": "Table", - "charts_view": "Charts" + "charts_view": "Charts", + "bar_chart_nav_hint": "Use ↑ ↓", + "line_chart_nav_hint": "Use ← →" }, "selector": { "search_label": "Search for packages", diff --git a/i18n/locales/fr-FR.json b/i18n/locales/fr-FR.json index 767146115b..a00228b1a0 100644 --- a/i18n/locales/fr-FR.json +++ b/i18n/locales/fr-FR.json @@ -506,7 +506,8 @@ "downloads": { "title": "Téléchargements hebdo.", "community_distribution": "Voir la distribution des versions téléchargées par la communauté", - "subtitle": "Toutes versions confondues" + "subtitle": "Toutes versions confondues", + "sparkline_nav_hint": "Utilisez ← →" }, "install_scripts": { "title": "Scripts d'installation", @@ -1058,7 +1059,11 @@ "loading": "Chargement des données des paquets...", "error": "Échec du chargement des données. Veuillez réessayer.", "empty_title": "Sélectionnez des paquets à comparer", - "empty_description": "Recherchez et ajoutez au moins 2 paquets ci-dessus pour voir une comparaison côte à côte de leurs facettes." + "empty_description": "Recherchez et ajoutez au moins 2 paquets ci-dessus pour voir une comparaison côte à côte de leurs facettes.", + "table_view": "Tableau", + "charts_view": "Graphiques", + "bar_chart_nav_hint": "Utilisez ↑ ↓", + "line_chart_nav_hint": "Utilisez ← →" }, "selector": { "search_label": "Rechercher des paquets", diff --git a/i18n/schema.json b/i18n/schema.json index 885bd6eb5e..cb658bc098 100644 --- a/i18n/schema.json +++ b/i18n/schema.json @@ -1626,6 +1626,9 @@ }, "subtitle": { "type": "string" + }, + "sparkline_nav_hint": { + "type": "string" } }, "additionalProperties": false @@ -3321,6 +3324,12 @@ }, "charts_view": { "type": "string" + }, + "bar_chart_nav_hint": { + "type": "string" + }, + "line_chart_nav_hint": { + "type": "string" } }, "additionalProperties": false From 6f5ff46e2dcf3de339a2d76b4a2ba4c11fd3a5b9 Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 11:54:52 +0100 Subject: [PATCH 03/10] feat: update charts with keyboard navigation & hints --- app/components/Compare/FacetBarChart.vue | 19 ++++++++++++++++++ app/components/Package/TrendsChart.vue | 20 +++++++++++++++++++ .../Package/VersionDistribution.vue | 19 ++++++++++++++++++ .../Package/WeeklyDownloadStats.vue | 13 ++++++++++++ 4 files changed, 71 insertions(+) diff --git a/app/components/Compare/FacetBarChart.vue b/app/components/Compare/FacetBarChart.vue index 4b0322fd32..927598f6b4 100644 --- a/app/components/Compare/FacetBarChart.vue +++ b/app/components/Compare/FacetBarChart.vue @@ -272,6 +272,12 @@ const config = computed(() => {
+ + + + + From d471eb6fc6be7d1e8ef147ca4d9d8e567ccf531d Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 12:15:28 +0100 Subject: [PATCH 07/10] fix: use proper translation key --- app/components/Package/WeeklyDownloadStats.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/Package/WeeklyDownloadStats.vue b/app/components/Package/WeeklyDownloadStats.vue index 8aa860c90f..e90f17bf40 100644 --- a/app/components/Package/WeeklyDownloadStats.vue +++ b/app/components/Package/WeeklyDownloadStats.vue @@ -426,7 +426,7 @@ const config = computed(() => { From 245b76e7488beb638b76a9e1d4c9a66eba3cdd19 Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 12:21:00 +0100 Subject: [PATCH 08/10] fix: schema --- i18n/schema.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/i18n/schema.json b/i18n/schema.json index 4d75498236..58fa7593f6 100644 --- a/i18n/schema.json +++ b/i18n/schema.json @@ -1465,7 +1465,8 @@ "table_caption": { "type": "string" } - } + }, + "additionalProperties": false }, "granularity": { "type": "string" From fa48ca7e2540e8d709a0d1bad8e62fb43d0d5f1e Mon Sep 17 00:00:00 2001 From: graphieros Date: Sun, 22 Mar 2026 21:19:11 +0100 Subject: [PATCH 09/10] fix: use readable translation keys --- app/components/Compare/FacetBarChart.vue | 6 +++--- app/components/Package/TrendsChart.vue | 6 +++--- app/components/Package/VersionDistribution.vue | 6 +++--- app/components/Package/WeeklyDownloadStats.vue | 6 +++--- i18n/locales/en.json | 2 +- i18n/locales/fr-FR.json | 2 +- i18n/schema.json | 2 +- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/components/Compare/FacetBarChart.vue b/app/components/Compare/FacetBarChart.vue index 5b5808ad9d..07f8943263 100644 --- a/app/components/Compare/FacetBarChart.vue +++ b/app/components/Compare/FacetBarChart.vue @@ -115,9 +115,9 @@ const config = computed(() => { theme: isDarkMode.value ? 'dark' : '', a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_sr.keyboard_navigation_vertical'), - tableAvailable: $t('package.trends.chart_sr.table_available'), - tableCaption: $t('package.trends.chart_sr.table_caption'), + keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_vertical'), + tableAvailable: $t('package.trends.chart_assistive_text.table_available'), + tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, }, userOptions: { diff --git a/app/components/Package/TrendsChart.vue b/app/components/Package/TrendsChart.vue index dfcfa75e95..7697533dd6 100644 --- a/app/components/Package/TrendsChart.vue +++ b/app/components/Package/TrendsChart.vue @@ -1390,9 +1390,9 @@ const chartConfig = computed(() => { theme: isDarkMode.value ? 'dark' : ('' as VueDataUiTheme), a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_sr.keyboard_navigation_horizontal'), - tableAvailable: $t('package.trends.chart_sr.table_available'), - tableCaption: $t('package.trends.chart_sr.table_caption'), + keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + tableAvailable: $t('package.trends.chart_assistive_text.table_available'), + tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, }, chart: { diff --git a/app/components/Package/VersionDistribution.vue b/app/components/Package/VersionDistribution.vue index 1468480ad9..3973cf4346 100644 --- a/app/components/Package/VersionDistribution.vue +++ b/app/components/Package/VersionDistribution.vue @@ -163,9 +163,9 @@ const chartConfig = computed(() => { theme: isDarkMode.value ? 'dark' : '', a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_sr.keyboard_navigation_horizontal'), - tableAvailable: $t('package.trends.chart_sr.table_available'), - tableCaption: $t('package.trends.chart_sr.table_caption'), + keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + tableAvailable: $t('package.trends.chart_assistive_text.table_available'), + tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, }, chart: { diff --git a/app/components/Package/WeeklyDownloadStats.vue b/app/components/Package/WeeklyDownloadStats.vue index d6eb365eb6..2b7e98e8f5 100644 --- a/app/components/Package/WeeklyDownloadStats.vue +++ b/app/components/Package/WeeklyDownloadStats.vue @@ -315,9 +315,9 @@ const config = computed(() => { return { a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_sr.keyboard_navigation_horizontal'), - tableAvailable: $t('package.trends.chart_sr.table_available'), - tableCaption: $t('package.trends.chart_sr.table_caption'), + keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + tableAvailable: $t('package.trends.chart_assistive_text.table_available'), + tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, }, theme: 'dark', diff --git a/i18n/locales/en.json b/i18n/locales/en.json index 9b9b903a37..f03ed84bf1 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -482,7 +482,7 @@ "maintainer_template": "{avatar} {char126}{name}" }, "trends": { - "chart_sr": { + "chart_assistive_text": { "keyboard_navigation_horizontal": "Use the left and right arrow keys to cycle through data points.", "keyboard_navigation_vertical": "Use the up and down arrow keys to cycle through data points.", "table_available": "A data table for this chart is available below.", diff --git a/i18n/locales/fr-FR.json b/i18n/locales/fr-FR.json index 4939579273..fa1bfe86e2 100644 --- a/i18n/locales/fr-FR.json +++ b/i18n/locales/fr-FR.json @@ -449,7 +449,7 @@ "show_less": "(afficher moins)" }, "trends": { - "chart_sr": { + "chart_assistive_text": { "keyboard_navigation_horizontal": "Utilisez les touches fléchées gauche et droite pour parcourir les points de données.", "keyboard_navigation_vertical": "Utilisez les touches fléchées haut et bas pour parcourir les points de données.", "table_available": "Un tableau de données pour ce graphique est disponible ci-dessous.", diff --git a/i18n/schema.json b/i18n/schema.json index 58fa7593f6..e1ae6a54eb 100644 --- a/i18n/schema.json +++ b/i18n/schema.json @@ -1450,7 +1450,7 @@ "trends": { "type": "object", "properties": { - "chart_sr": { + "chart_assistive_text": { "type": "object", "properties": { "keyboard_navigation_horizontal": { From 6a14e76a3bf65faa238d5f8f45adbc24ba81d3de Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Sun, 22 Mar 2026 20:20:17 +0000 Subject: [PATCH 10/10] [autofix.ci] apply automated fixes --- app/components/Package/TrendsChart.vue | 4 +++- app/components/Package/VersionDistribution.vue | 4 +++- app/components/Package/WeeklyDownloadStats.vue | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/components/Package/TrendsChart.vue b/app/components/Package/TrendsChart.vue index 7697533dd6..21bddcf2f7 100644 --- a/app/components/Package/TrendsChart.vue +++ b/app/components/Package/TrendsChart.vue @@ -1390,7 +1390,9 @@ const chartConfig = computed(() => { theme: isDarkMode.value ? 'dark' : ('' as VueDataUiTheme), a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + keyboardNavigation: $t( + 'package.trends.chart_assistive_text.keyboard_navigation_horizontal', + ), tableAvailable: $t('package.trends.chart_assistive_text.table_available'), tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, diff --git a/app/components/Package/VersionDistribution.vue b/app/components/Package/VersionDistribution.vue index 3973cf4346..e104851546 100644 --- a/app/components/Package/VersionDistribution.vue +++ b/app/components/Package/VersionDistribution.vue @@ -163,7 +163,9 @@ const chartConfig = computed(() => { theme: isDarkMode.value ? 'dark' : '', a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + keyboardNavigation: $t( + 'package.trends.chart_assistive_text.keyboard_navigation_horizontal', + ), tableAvailable: $t('package.trends.chart_assistive_text.table_available'), tableCaption: $t('package.trends.chart_assistive_text.table_caption'), }, diff --git a/app/components/Package/WeeklyDownloadStats.vue b/app/components/Package/WeeklyDownloadStats.vue index 2b7e98e8f5..eed8954196 100644 --- a/app/components/Package/WeeklyDownloadStats.vue +++ b/app/components/Package/WeeklyDownloadStats.vue @@ -315,7 +315,9 @@ const config = computed(() => { return { a11y: { translations: { - keyboardNavigation: $t('package.trends.chart_assistive_text.keyboard_navigation_horizontal'), + keyboardNavigation: $t( + 'package.trends.chart_assistive_text.keyboard_navigation_horizontal', + ), tableAvailable: $t('package.trends.chart_assistive_text.table_available'), tableCaption: $t('package.trends.chart_assistive_text.table_caption'), },