From 7cd58e2ceec28438f4bf0397b49c5347a5d321ef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Oct 2025 10:11:57 +0200 Subject: [PATCH 1/7] feat: update Google Webfonts database (#610) Co-authored-by: jjroelofs --- features/sooper-fonts/google-webfonts.json | 80 +++++++++++----------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/features/sooper-fonts/google-webfonts.json b/features/sooper-fonts/google-webfonts.json index 38c462b3..f136e034 100644 --- a/features/sooper-fonts/google-webfonts.json +++ b/features/sooper-fonts/google-webfonts.json @@ -22582,20 +22582,20 @@ "subsets": [ "latin" ], - "version": "v7", - "lastModified": "2025-09-16", + "version": "v10", + "lastModified": "2025-09-24", "files": { - "100": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEHuRbn3PT2vOA.ttf", - "200": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNV3EDuRbn3PT2vOA.ttf", - "300": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVAkDuRbn3PT2vOA.ttf", - "regular": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEDuRbn3PT2vOA.ttf", - "500": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVbkDuRbn3PT2vOA.ttf", - "600": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVgkfuRbn3PT2vOA.ttf", - "700": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVu0fuRbn3PT2vOA.ttf" + "100": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEHuRbn3PT2vOA.ttf", + "200": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNV3EDuRbn3PT2vOA.ttf", + "300": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVAkDuRbn3PT2vOA.ttf", + "regular": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEDuRbn3PT2vOA.ttf", + "500": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVbkDuRbn3PT2vOA.ttf", + "600": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVgkfuRbn3PT2vOA.ttf", + "700": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVu0fuRbn3PT2vOA.ttf" }, "category": "monospace", "kind": "webfonts#webfont", - "menu": "https://fonts.gstatic.com/s/materialsymbols/v7/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEDeRLPz.ttf" + "menu": "https://fonts.gstatic.com/s/materialsymbols/v10/d6kSkb-sS9m3-i1LgQNcsFOOuLQXvG559b5GLMxCWRtThFK5gn7xw7XblIl2peTfMb7ONaa2_wzcUHR1Ukiw2RYw2vadH3BFk0G4701x-cU0BaNVXEDeRLPz.ttf" }, { "family": "Material Symbols Outlined", @@ -22611,20 +22611,20 @@ "subsets": [ "latin" ], - "version": "v280", - "lastModified": "2025-09-16", + "version": "v283", + "lastModified": "2025-09-24", "files": { - "100": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHeembd5zrTgt.ttf", - "200": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDAvHOembd5zrTgt.ttf", - "300": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDDxHOembd5zrTgt.ttf", - "regular": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOembd5zrTgt.ttf", - "500": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCdHOembd5zrTgt.ttf", - "600": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDBxG-embd5zrTgt.ttf", - "700": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDBIG-embd5zrTgt.ttf" + "100": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHeembd5zrTgt.ttf", + "200": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDAvHOembd5zrTgt.ttf", + "300": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDDxHOembd5zrTgt.ttf", + "regular": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHOembd5zrTgt.ttf", + "500": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCdHOembd5zrTgt.ttf", + "600": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDBxG-embd5zrTgt.ttf", + "700": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDBIG-embd5zrTgt.ttf" }, "category": "monospace", "kind": "webfonts#webfont", - "menu": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v280/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHNenZ9o.ttf" + "menu": "https://fonts.gstatic.com/s/materialsymbolsoutlined/v283/kJF1BvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oDMzByHX9rA6RzaxHMPdY43zj-jCxv3fzvRNU22ZXGJpEpjC_1v-p_4MrImHCIJIZrDCvHNenZ9o.ttf" }, { "family": "Material Symbols Rounded", @@ -22640,20 +22640,20 @@ "subsets": [ "latin" ], - "version": "v281", - "lastModified": "2025-09-16", + "version": "v284", + "lastModified": "2025-09-24", "files": { - "100": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIekXxKJKJBjAa8.ttf", - "200": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rAelXxKJKJBjAa8.ttf", - "300": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rNmlXxKJKJBjAa8.ttf", - "regular": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIelXxKJKJBjAa8.ttf", - "500": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rLWlXxKJKJBjAa8.ttf", - "600": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rFmiXxKJKJBjAa8.ttf", - "700": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rGCiXxKJKJBjAa8.ttf" + "100": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIekXxKJKJBjAa8.ttf", + "200": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rAelXxKJKJBjAa8.ttf", + "300": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rNmlXxKJKJBjAa8.ttf", + "regular": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIelXxKJKJBjAa8.ttf", + "500": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rLWlXxKJKJBjAa8.ttf", + "600": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rFmiXxKJKJBjAa8.ttf", + "700": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rGCiXxKJKJBjAa8.ttf" }, "category": "monospace", "kind": "webfonts#webfont", - "menu": "https://fonts.gstatic.com/s/materialsymbolsrounded/v281/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIelbxODLA.ttf" + "menu": "https://fonts.gstatic.com/s/materialsymbolsrounded/v284/syl0-zNym6YjUruM-QrEh7-nyTnjDwKNJ_190FjpZIvDmUSVOK7BDB_Qb9vUSzq3wzLK-P0J-V_Zs-QtQth3-jOcbTCVpeRL2w5rwZu2rIelbxODLA.ttf" }, { "family": "Material Symbols Sharp", @@ -22669,20 +22669,20 @@ "subsets": [ "latin" ], - "version": "v277", - "lastModified": "2025-09-16", + "version": "v280", + "lastModified": "2025-09-24", "files": { - "100": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLozCOJ1H7-knk.ttf", - "200": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxMLojCOJ1H7-knk.ttf", - "300": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxPVojCOJ1H7-knk.ttf", - "regular": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLojCOJ1H7-knk.ttf", - "500": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxO5ojCOJ1H7-knk.ttf", - "600": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxNVpTCOJ1H7-knk.ttf", - "700": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxNspTCOJ1H7-knk.ttf" + "100": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLozCOJ1H7-knk.ttf", + "200": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxMLojCOJ1H7-knk.ttf", + "300": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxPVojCOJ1H7-knk.ttf", + "regular": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLojCOJ1H7-knk.ttf", + "500": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxO5ojCOJ1H7-knk.ttf", + "600": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxNVpTCOJ1H7-knk.ttf", + "700": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxNspTCOJ1H7-knk.ttf" }, "category": "monospace", "kind": "webfonts#webfont", - "menu": "https://fonts.gstatic.com/s/materialsymbolssharp/v277/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLogCPLVU.ttf" + "menu": "https://fonts.gstatic.com/s/materialsymbolssharp/v280/gNNBW2J8Roq16WD5tFNRaeLQk6-SHQ_R00k4c2_whPnoY9ruReaU4bHmz74m0ZkGH-VBYe1x0TV6x4yFH8F-H5OdzEL3sVTgJtfbYxOLogCPLVU.ttf" }, { "family": "Maven Pro", From 0e84b3367aba54434b7d7b39c1727dfe572189bf Mon Sep 17 00:00:00 2001 From: jjroelofs <904576+jjroelofs@users.noreply.github.com> Date: Tue, 30 Sep 2025 17:25:46 +0200 Subject: [PATCH 2/7] fix: only hide primary tabs for users with toolbar access (#623) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Primary tabs were being hidden for all users when admin_toolbar_tools was configured to show local tasks, even for users without toolbar permissions who couldn't see the tasks in the admin toolbar. Fixes #609 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Jurriaan Roelofs Co-authored-by: Claude --- dxpr_theme.theme | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dxpr_theme.theme b/dxpr_theme.theme index 2d519766..d0c62fb4 100644 --- a/dxpr_theme.theme +++ b/dxpr_theme.theme @@ -283,8 +283,12 @@ function dxpr_theme_preprocess_menu_local_tasks(&$variables) { $show_local_tasks = $config->get('show_local_tasks'); if ($show_local_tasks === TRUE) { - // Hide tabs when admin_toolbar_tools is showing local tasks. - $variables['hide_tabs'] = TRUE; + // Only hide tabs for users who have permission to access the toolbar. + $current_user = \Drupal::currentUser(); + if ($current_user->hasPermission('access toolbar')) { + // Hide tabs when admin_toolbar_tools is showing local tasks. + $variables['hide_tabs'] = TRUE; + } } } } From 1bd28e283d7b70498b8c19c79f6718cb43ef1961 Mon Sep 17 00:00:00 2001 From: Jurriaan Roelofs Date: Tue, 7 Oct 2025 13:11:33 +0200 Subject: [PATCH 3/7] fix: prevent tabs from being hidden below header on pages without title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, tabs were positioned with translate(-50%, -100%) which caused them to be hidden below the header on pages without a page title. Changed to translate(-50%, 0) to fix this issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- css/components/tabs.css | 2 +- scss/components/tabs.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/css/components/tabs.css b/css/components/tabs.css index 0c25480f..bc99ddc8 100644 --- a/css/components/tabs.css +++ b/css/components/tabs.css @@ -1 +1 @@ -@media(width > 48rem){.main-container.container .block-local-tasks-block{left:50%;padding-right:2rem;position:absolute;-webkit-transform:translate(-50%, -100%);-ms-transform:translate(-50%, -100%);transform:translate(-50%, -100%);z-index:10}}.html .dxpr-theme-mini-tabs-wrapper{display:block;float:left;margin-bottom:0.625rem;pointer-events:none}.html .dxpr-theme-mini-tabs-wrapper .tabs{border:none;-webkit-box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23);box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23)}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{border:none;margin:0;padding:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{background-color:var(--dxt-color-header);border:none;color:var(--dxt-color-headertext);font-size:0.875rem;line-height:1.4286;margin:0;padding:0.5rem;pointer-events:auto}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{text-decoration:underline}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{bottom:auto !important}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active a{border:none;color:var(--dxt-color-base)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{display:none}.html .tabs--secondary{clear:both;float:left;margin:0.625rem 0}@media(width <= 48rem){.html .dxpr-theme-mini-tabs-wrapper{float:none;width:100%;--tab-height: 3rem}.html .dxpr-theme-mini-tabs-wrapper .tabs{background:var(--dxt-color-graylighter);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:0;-webkit-margin-start:0;margin-inline-start:0;padding:0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs.is-expanded .tabs__tab{display:-webkit-box;display:-ms-flexbox;display:flex}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs--secondary .tabs__tab{display:block}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{display:none;margin:0.0625rem 0 0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active::before{border-left:0.1875rem solid var(--dxt-color-link);border-top-left-radius:0.125rem;content:"";display:block;height:calc(100% + 0.125rem);left:-0.0625rem;position:absolute;top:-0.0625rem;width:0.1875rem;z-index:5}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab:first-child{margin-top:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:var(--tab-height);line-height:1;padding:0 1rem;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link.active{font-weight:600}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{background-color:var(--dxt-color-graylighter);font-weight:600;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--dxt-color-header);border:0 none;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-block:0;margin-inline:0.0625rem 0;margin-left:0.0625rem;pointer-events:auto;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;width:var(--tab-height)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus{background-color:var(--dxt-color-graylighter) !important}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-within,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-visible{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link);outline:none !important;z-index:10}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon{display:block;height:0.625rem;-webkit-margin-before:-0.125rem;margin-block-start:-0.125rem;position:relative;width:1rem}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span{-webkit-border-before:solid 0.125rem var(--dxt-color-link);border-block-start:solid 0.125rem var(--dxt-color-link);display:block;inset-inline-start:0;position:absolute;-webkit-transition:opacity .2s,top .2s,-webkit-transform .2s;transition:opacity .2s,top .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s,top .2s;transition:transform .2s,opacity .2s,top .2s,-webkit-transform .2s;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(1){inset-block-start:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(1)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(2){inset-block-start:calc(50% + 0.0625rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(2)){opacity:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(3){inset-block-start:calc(100% + 0.125rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(3)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}} \ No newline at end of file +@media(width > 48rem){.main-container.container .block-local-tasks-block{left:50%;padding-right:2rem;position:absolute;-webkit-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0);z-index:10}}.html .dxpr-theme-mini-tabs-wrapper{display:block;float:left;margin-bottom:0.625rem;pointer-events:none}.html .dxpr-theme-mini-tabs-wrapper .tabs{border:none;-webkit-box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23);box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23)}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{border:none;margin:0;padding:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{background-color:var(--dxt-color-header);border:none;color:var(--dxt-color-headertext);font-size:0.875rem;line-height:1.4286;margin:0;padding:0.5rem;pointer-events:auto}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{text-decoration:underline}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{bottom:auto !important}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active a{border:none;color:var(--dxt-color-base)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{display:none}.html .tabs--secondary{clear:both;float:left;margin:0.625rem 0}@media(width <= 48rem){.html .dxpr-theme-mini-tabs-wrapper{float:none;width:100%;--tab-height: 3rem}.html .dxpr-theme-mini-tabs-wrapper .tabs{background:var(--dxt-color-graylighter);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:0;-webkit-margin-start:0;margin-inline-start:0;padding:0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs.is-expanded .tabs__tab{display:-webkit-box;display:-ms-flexbox;display:flex}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs--secondary .tabs__tab{display:block}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{display:none;margin:0.0625rem 0 0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active::before{border-left:0.1875rem solid var(--dxt-color-link);border-top-left-radius:0.125rem;content:"";display:block;height:calc(100% + 0.125rem);left:-0.0625rem;position:absolute;top:-0.0625rem;width:0.1875rem;z-index:5}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab:first-child{margin-top:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:var(--tab-height);line-height:1;padding:0 1rem;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link.active{font-weight:600}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{background-color:var(--dxt-color-graylighter);font-weight:600;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--dxt-color-header);border:0 none;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-block:0;margin-inline:0.0625rem 0;margin-left:0.0625rem;pointer-events:auto;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;width:var(--tab-height)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus{background-color:var(--dxt-color-graylighter) !important}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-within,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-visible{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link);outline:none !important;z-index:10}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon{display:block;height:0.625rem;-webkit-margin-before:-0.125rem;margin-block-start:-0.125rem;position:relative;width:1rem}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span{-webkit-border-before:solid 0.125rem var(--dxt-color-link);border-block-start:solid 0.125rem var(--dxt-color-link);display:block;inset-inline-start:0;position:absolute;-webkit-transition:opacity .2s,top .2s,-webkit-transform .2s;transition:opacity .2s,top .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s,top .2s;transition:transform .2s,opacity .2s,top .2s,-webkit-transform .2s;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(1){inset-block-start:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(1)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(2){inset-block-start:calc(50% + 0.0625rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(2)){opacity:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(3){inset-block-start:calc(100% + 0.125rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(3)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}} \ No newline at end of file diff --git a/scss/components/tabs.scss b/scss/components/tabs.scss index 6e53f4e6..a9363fa3 100644 --- a/scss/components/tabs.scss +++ b/scss/components/tabs.scss @@ -16,7 +16,7 @@ left: 50%; padding-right: 32px; // Make room for contextual links. position: absolute; - transform: translate(-50%,-100%); + transform: translate(-50%, 0); z-index: 10; } } From c36cae578189b1d90c031495ad03046b4e489703 Mon Sep 17 00:00:00 2001 From: Jurriaan Roelofs Date: Tue, 7 Oct 2025 13:59:18 +0200 Subject: [PATCH 4/7] Revert "fix: prevent tabs from being hidden below header on pages without title" This reverts commit 1bd28e283d7b70498b8c19c79f6718cb43ef1961. --- css/components/tabs.css | 2 +- scss/components/tabs.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/css/components/tabs.css b/css/components/tabs.css index bc99ddc8..0c25480f 100644 --- a/css/components/tabs.css +++ b/css/components/tabs.css @@ -1 +1 @@ -@media(width > 48rem){.main-container.container .block-local-tasks-block{left:50%;padding-right:2rem;position:absolute;-webkit-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0);z-index:10}}.html .dxpr-theme-mini-tabs-wrapper{display:block;float:left;margin-bottom:0.625rem;pointer-events:none}.html .dxpr-theme-mini-tabs-wrapper .tabs{border:none;-webkit-box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23);box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23)}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{border:none;margin:0;padding:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{background-color:var(--dxt-color-header);border:none;color:var(--dxt-color-headertext);font-size:0.875rem;line-height:1.4286;margin:0;padding:0.5rem;pointer-events:auto}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{text-decoration:underline}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{bottom:auto !important}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active a{border:none;color:var(--dxt-color-base)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{display:none}.html .tabs--secondary{clear:both;float:left;margin:0.625rem 0}@media(width <= 48rem){.html .dxpr-theme-mini-tabs-wrapper{float:none;width:100%;--tab-height: 3rem}.html .dxpr-theme-mini-tabs-wrapper .tabs{background:var(--dxt-color-graylighter);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:0;-webkit-margin-start:0;margin-inline-start:0;padding:0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs.is-expanded .tabs__tab{display:-webkit-box;display:-ms-flexbox;display:flex}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs--secondary .tabs__tab{display:block}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{display:none;margin:0.0625rem 0 0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active::before{border-left:0.1875rem solid var(--dxt-color-link);border-top-left-radius:0.125rem;content:"";display:block;height:calc(100% + 0.125rem);left:-0.0625rem;position:absolute;top:-0.0625rem;width:0.1875rem;z-index:5}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab:first-child{margin-top:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:var(--tab-height);line-height:1;padding:0 1rem;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link.active{font-weight:600}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{background-color:var(--dxt-color-graylighter);font-weight:600;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--dxt-color-header);border:0 none;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-block:0;margin-inline:0.0625rem 0;margin-left:0.0625rem;pointer-events:auto;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;width:var(--tab-height)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus{background-color:var(--dxt-color-graylighter) !important}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-within,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-visible{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link);outline:none !important;z-index:10}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon{display:block;height:0.625rem;-webkit-margin-before:-0.125rem;margin-block-start:-0.125rem;position:relative;width:1rem}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span{-webkit-border-before:solid 0.125rem var(--dxt-color-link);border-block-start:solid 0.125rem var(--dxt-color-link);display:block;inset-inline-start:0;position:absolute;-webkit-transition:opacity .2s,top .2s,-webkit-transform .2s;transition:opacity .2s,top .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s,top .2s;transition:transform .2s,opacity .2s,top .2s,-webkit-transform .2s;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(1){inset-block-start:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(1)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(2){inset-block-start:calc(50% + 0.0625rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(2)){opacity:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(3){inset-block-start:calc(100% + 0.125rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(3)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}} \ No newline at end of file +@media(width > 48rem){.main-container.container .block-local-tasks-block{left:50%;padding-right:2rem;position:absolute;-webkit-transform:translate(-50%, -100%);-ms-transform:translate(-50%, -100%);transform:translate(-50%, -100%);z-index:10}}.html .dxpr-theme-mini-tabs-wrapper{display:block;float:left;margin-bottom:0.625rem;pointer-events:none}.html .dxpr-theme-mini-tabs-wrapper .tabs{border:none;-webkit-box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23);box-shadow:0 0.1875rem 0.625rem 0 rgba(50,50,50,.23)}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{border:none;margin:0;padding:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{background-color:var(--dxt-color-header);border:none;color:var(--dxt-color-headertext);font-size:0.875rem;line-height:1.4286;margin:0;padding:0.5rem;pointer-events:auto}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{text-decoration:underline}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{bottom:auto !important}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active a{border:none;color:var(--dxt-color-base)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{display:none}.html .tabs--secondary{clear:both;float:left;margin:0.625rem 0}@media(width <= 48rem){.html .dxpr-theme-mini-tabs-wrapper{float:none;width:100%;--tab-height: 3rem}.html .dxpr-theme-mini-tabs-wrapper .tabs{background:var(--dxt-color-graylighter);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;list-style:none;margin:0;-webkit-margin-start:0;margin-inline-start:0;padding:0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs.is-expanded .tabs__tab{display:-webkit-box;display:-ms-flexbox;display:flex}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs--secondary .tabs__tab{display:block}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab{display:none;margin:0.0625rem 0 0;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab.active::before{border-left:0.1875rem solid var(--dxt-color-link);border-top-left-radius:0.125rem;content:"";display:block;height:calc(100% + 0.125rem);left:-0.0625rem;position:absolute;top:-0.0625rem;width:0.1875rem;z-index:5}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab:first-child{margin-top:0}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:var(--tab-height);line-height:1;padding:0 1rem;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link.active{font-weight:600}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{background-color:var(--dxt-color-graylighter);font-weight:600;text-decoration:none}.html .dxpr-theme-mini-tabs-wrapper .tabs .tabs__tab .tabs__link:focus{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger{-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:var(--dxt-color-header);border:0 none;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-block:0;margin-inline:0.0625rem 0;margin-left:0.0625rem;pointer-events:auto;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;width:var(--tab-height)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:hover,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus{background-color:var(--dxt-color-graylighter) !important}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-within,.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger:focus-visible{-webkit-box-shadow:0 0 0 0.125rem var(--dxt-color-link);box-shadow:0 0 0 0.125rem var(--dxt-color-link);outline:none !important;z-index:10}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon{display:block;height:0.625rem;-webkit-margin-before:-0.125rem;margin-block-start:-0.125rem;position:relative;width:1rem}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span{-webkit-border-before:solid 0.125rem var(--dxt-color-link);border-block-start:solid 0.125rem var(--dxt-color-link);display:block;inset-inline-start:0;position:absolute;-webkit-transition:opacity .2s,top .2s,-webkit-transform .2s;transition:opacity .2s,top .2s,-webkit-transform .2s;transition:transform .2s,opacity .2s,top .2s;transition:transform .2s,opacity .2s,top .2s,-webkit-transform .2s;width:100%}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(1){inset-block-start:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(1)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(2){inset-block-start:calc(50% + 0.0625rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(2)){opacity:0}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger-icon>span:nth-child(3){inset-block-start:calc(100% + 0.125rem)}.html .dxpr-theme-mini-tabs-wrapper .tabs__trigger[aria-expanded=true] :is(.tabs__trigger-icon>span:nth-child(3)){inset-block-start:calc(50% + 0.0625rem);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}} \ No newline at end of file diff --git a/scss/components/tabs.scss b/scss/components/tabs.scss index a9363fa3..6e53f4e6 100644 --- a/scss/components/tabs.scss +++ b/scss/components/tabs.scss @@ -16,7 +16,7 @@ left: 50%; padding-right: 32px; // Make room for contextual links. position: absolute; - transform: translate(-50%, 0); + transform: translate(-50%,-100%); z-index: 10; } } From 255a9585df74518cef75ba439841754cf4ac937b Mon Sep 17 00:00:00 2001 From: Jurriaan Roelofs Date: Tue, 7 Oct 2025 16:24:46 +0200 Subject: [PATCH 5/7] fix: when toolbar local tasks enabled hide primary tabs but NOT secondary tabs --- dxpr_theme.theme | 5 +++-- templates/menu-local-tasks.html.twig | 24 +++++++++++------------- 2 files changed, 14 insertions(+), 15 deletions(-) diff --git a/dxpr_theme.theme b/dxpr_theme.theme index d0c62fb4..a4f0daf1 100644 --- a/dxpr_theme.theme +++ b/dxpr_theme.theme @@ -286,8 +286,9 @@ function dxpr_theme_preprocess_menu_local_tasks(&$variables) { // Only hide tabs for users who have permission to access the toolbar. $current_user = \Drupal::currentUser(); if ($current_user->hasPermission('access toolbar')) { - // Hide tabs when admin_toolbar_tools is showing local tasks. - $variables['hide_tabs'] = TRUE; + // Hide primary tabs only when admin_toolbar_tools is showing local tasks. + // Secondary tabs should always be visible as they provide important navigation. + $variables['hide_primary_tabs'] = TRUE; } } } diff --git a/templates/menu-local-tasks.html.twig b/templates/menu-local-tasks.html.twig index f683b893..1a134c6f 100644 --- a/templates/menu-local-tasks.html.twig +++ b/templates/menu-local-tasks.html.twig @@ -6,7 +6,7 @@ * Available variables: * - primary: HTML list items representing primary tasks. * - secondary: HTML list items representing primary tasks. - * - hide_tabs: Boolean to conditionally hide tabs when admin_toolbar_tools shows local tasks. + * - hide_primary_tabs: Boolean to conditionally hide primary tabs when admin_toolbar_tools shows local tasks. * * Each item in these variables (primary and secondary) can be individually * themed in menu-local-task.html.twig. @@ -17,17 +17,15 @@ */ #} -{% if not hide_tabs %} - {{ attach_library('dxpr_theme/drupal-tabs') }} +{{ attach_library('dxpr_theme/drupal-tabs') }} - {% if primary %} -
-

{{ 'Primary tabs'|t }}

- -
- {% endif %} - {% if secondary %} -

{{ 'Secondary tabs'|t }}

-
    {{ secondary }}
- {% endif %} +{% if primary and not hide_primary_tabs %} +
+

{{ 'Primary tabs'|t }}

+ +
+{% endif %} +{% if secondary %} +

{{ 'Secondary tabs'|t }}

+
    {{ secondary }}
{% endif %} From 995d50298c3a3e19a9a81d406b7538de6ff941ee Mon Sep 17 00:00:00 2001 From: Jurriaan Roelofs Date: Tue, 7 Oct 2025 16:25:17 +0200 Subject: [PATCH 6/7] fix: tiny pager/tabs text, fall back to bootstrap default file size --- css/helpers/helper-classes.css | 2 +- css/vendor-extensions/drupal-pager.css | 2 +- scss/vendor-extensions/drupal-pager.scss | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/css/helpers/helper-classes.css b/css/helpers/helper-classes.css index 1ac19523..06ef964f 100644 --- a/css/helpers/helper-classes.css +++ b/css/helpers/helper-classes.css @@ -1 +1 @@ -.dxpr-theme-util-full-width-content .main-container{margin-left:0;margin-right:0;max-width:none;width:auto}.dxpr-theme-util-full-width-content .col-sm-12{padding-left:0;padding-right:0}.dxpr-theme-util-full-height{min-height:100vh}.html .inline{display:inline}.html .dxpr-theme-util-clear-both,.html .clear-both{clear:both}.html .dxpr-theme-util-clear-left,.html .clear-left{clear:left}.html .dxpr-theme-util-clear-right,.html .clear-right{clear:right}.html .dxpr-theme-util-float-left{float:left}.html .dxpr-theme-util-float-left img{margin:0 1.25rem 0.9375rem 0}.html .dxpr-theme-util-float-right{float:right}.html .dxpr-theme-util-float-right img{margin:0 0 0.9375rem 1.25rem}.html .dxpr-theme-util-columns-5 .col-lg-2,.html .dxpr-theme-util-columns-5 .col-md-2,.html .dxpr-theme-util-columns-5 .col-sm-2,.html .dxpr-theme-util-columns-5 .col-xs-2{width:20%}.html .dxpr-theme-util-no-gutter{margin:0 !important;padding:0 !important}.html .dxpr-theme-util-no-gutter .row{margin:0 !important;padding:0 !important}.html .dxpr-theme-util-no-gutter>*{margin:0 !important;padding:0 !important}.html .row .dxpr-theme-util-no-gutter .row{margin:0 !important}.html .dxpr-theme-util-no-spacer>*,.html .dxpr-theme-util-no-spacer .row>*{margin-bottom:0}.html .dxpr-theme-util-gutter-bottom{margin-bottom:var(--dxt-setting-gutter-vertical)}@media(width <= 48rem){.html .dxpr-theme-util-columns-5 .col-lg-2,.html .dxpr-theme-util-columns-5 .col-md-2,.html .dxpr-theme-util-columns-5 .col-sm-2,.html .dxpr-theme-util-columns-5 .col-xs-2{clear:none;margin-bottom:0.625rem;margin-left:0;margin-right:0;width:100%}}.html .dxpr-theme-util-text-shadow{text-shadow:0.0625rem 0.0625rem #000}.html .dxpr-theme-util-text-shadow-80{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.8)}.html .dxpr-theme-util-text-shadow-60{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.6)}.html .dxpr-theme-util-text-shadow-40{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.4)}.html .dxpr-theme-util-text-shadow-20{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.2)}.html .dxpr-theme-util-text-muted{opacity:.75}.html .dxpr-theme-util-text-uppercase{text-transform:uppercase}.html .dxpr-theme-util-text-bold{font-weight:700}.html .dxpr-theme-util-text-light{font-weight:300}.html .dxpr-theme-util-text-italic{font-style:italic}.html .dxpr-theme-util-overlay-primary,.html .dxpr-theme-util-overlay-accent1,.html .dxpr-theme-util-overlay-accent2,.html .dxpr-theme-util-overlay-black,.html .dxpr-theme-util-overlay-white,.html .dxpr-theme-util-overlay-gray{position:relative;z-index:0}.html .dxpr-theme-util-overlay-primary::after,.html .dxpr-theme-util-overlay-accent1::after,.html .dxpr-theme-util-overlay-accent2::after,.html .dxpr-theme-util-overlay-black::after,.html .dxpr-theme-util-overlay-white::after,.html .dxpr-theme-util-overlay-gray::after{background-color:#000;content:" ";display:block;height:100%;left:0;opacity:.9;position:absolute;top:0;width:100%;z-index:-1}.html .YTPOverlay{opacity:.9}.html .dxpr-theme-util-overlay-primary::after,.html .dxpr-theme-util-overlay-primary .YTPOverlay{background-color:var(--dxt-color-base)}.html .dxpr-theme-util-overlay-accent1::after,.html .dxpr-theme-util-overlay-accent1 .YTPOverlay{background-color:var(--dxt-color-accent1)}.html .dxpr-theme-util-overlay-accent2::after,.html .dxpr-theme-util-overlay-accent2 .YTPOverlay{background-color:var(--dxt-color-accent2)}.html .dxpr-theme-util-overlay-black::after,.html .dxpr-theme-util-overlay-black .YTPOverlay{background-color:#000}.html .dxpr-theme-util-overlay-white::after,.html .dxpr-theme-util-overlay-white .YTPOverlay{background-color:#fff}.html .dxpr-theme-util-overlay-gray::after,.html .dxpr-theme-util-overlay-gray .YTPOverlay{background-color:var(--dxt-color-text)}.html .dxpr-theme-util-background-body{background-color:var(--dxt-color-body)}.html .dxpr-theme-util-background-gray{background-color:var(--dxt-color-text)}.html .dxpr-theme-util-background-primary,.html .bg-primary{background-color:var(--dxt-color-base) !important}.html .dxpr-theme-util-background-accent1{background-color:var(--dxt-color-accent1)}.html .dxpr-theme-util-background-accent2{background-color:var(--dxt-color-accent2)}.html .dxpr-theme-util-background-card{background-color:var(--dxt-color-card)}.html .dxpr-theme-util-background-card-text{background-color:var(--dxt-color-cardtext)}.html .dxpr-theme-util-background-white{background-color:#fff}.html .dxpr-theme-util-background-black{background-color:#000}.html .dxpr-theme-util-background-silver{background-color:var(--dxt-color-silver)}.html .dxpr-theme-util-border-primary{border-color:var(--dxt-color-base)}.html .dxpr-theme-util-border-accent1{border-color:var(--dxt-color-accent1)}.html .dxpr-theme-util-border-accent2{border-color:var(--dxt-color-accent2)}.html .dxpr-theme-util-border-primary-gray{border-color:var(--dxt-color-text)}.html .dxpr-theme-util-border-white{border-color:#fff}.html .dxpr-theme-util-border-black{border-color:#000}.html .dxpr-theme-util-border-silver{border-color:var(--dxt-color-silver)}.html .dxpr-theme-util-color-gray{color:var(--dxt-color-text)}.html .dxpr-theme-util-color-primary,.html .text-primary{color:var(--dxt-color-base)}.html .dxpr-theme-util-color-accent1{color:var(--dxt-color-accent1)}.html .dxpr-theme-util-color-accent2{color:var(--dxt-color-accent2)}.html .bg-primary{color:var(--dxt-color-basetext) !important}.html .dxpr-theme-util-background-primary{color:var(--dxt-color-basetext) !important}.html .dxpr-theme-util-background-accent1{color:var(--dxt-color-accent1text) !important}.html .dxpr-theme-util-background-accent2{color:var(--dxt-color-accent2text) !important}.html .dxpr-theme-util-color-card{color:var(--dxt-color-card)}.html .dxpr-theme-util-color-card-text{color:var(--dxt-color-cardtext)}.html .dxpr-theme-util-color-white{color:#fff}.html .dxpr-theme-util-color-black{color:#000}.html .dxpr-theme-util-color-silver{color:var(--dxt-color-silver)}.html .dxpr-theme-util-hover-background-primary:hover{background-color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-background-white:hover{background-color:#fff}.html .dxpr-theme-util-hover-background-black:hover{background-color:#000}.html .dxpr-theme-util-hover-border-primary:hover{border-color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-border-white:hover{border-color:#fff}.html .dxpr-theme-util-hover-border-black:hover{border-color:#000}.html .dxpr-theme-util-hover-border-silver:hover{border-color:var(--dxt-color-silver)}.html .dxpr-theme-util-hover-color-primary:hover{color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-color-white:hover{color:#fff}.html .dxpr-theme-util-hover-color-black:hover{color:#000}.html .dxpr-theme-util-hover-color-silver:hover{color:var(--dxt-color-silver)}.html .dxpr-theme-form-inline .form-item,.html .dxpr-theme-form-inline .form-actions,.html .dxpr-theme-form-inline .webform-elements{clear:none;display:block;float:left;margin-right:1.25rem}.html .dxpr-theme-form-inline .btn{padding:0.75rem 1.125rem}.html .dxpr-theme-util-vcenter{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex} \ No newline at end of file +.dxpr-theme-util-full-width-content .main-container{margin-left:0;margin-right:0;max-width:none;width:auto}.dxpr-theme-util-full-width-content .col-sm-12{padding-left:0;padding-right:0}.dxpr-theme-util-full-height{min-height:100vh}.html .inline{display:inline}.html .dxpr-theme-util-clear-both,.html .clear-both{clear:both}.html .dxpr-theme-util-clear-left,.html .clear-left{clear:left}.html .dxpr-theme-util-clear-right,.html .clear-right{clear:right}.html .dxpr-theme-util-float-left{float:left}.html .dxpr-theme-util-float-left img{margin:0 1.25rem 0.9375rem 0}.html .dxpr-theme-util-float-right{float:right}.html .dxpr-theme-util-float-right img{margin:0 0 0.9375rem 1.25rem}.html .dxpr-theme-util-columns-5 .col-lg-2,.html .dxpr-theme-util-columns-5 .col-md-2,.html .dxpr-theme-util-columns-5 .col-sm-2,.html .dxpr-theme-util-columns-5 .col-xs-2{width:20%}.html .dxpr-theme-util-no-gutter{margin:0 !important;padding:0 !important}.html .dxpr-theme-util-no-gutter .row{margin:0 !important;padding:0 !important}.html .dxpr-theme-util-no-gutter>*{margin:0 !important;padding:0 !important}.html .row .dxpr-theme-util-no-gutter .row{margin:0 !important}.html .dxpr-theme-util-no-spacer>*,.html .dxpr-theme-util-no-spacer .row>*{margin-bottom:0}.html .dxpr-theme-util-gutter-bottom{margin-bottom:var(--dxt-setting-gutter-vertical)}@media(width <= 48rem){.html .dxpr-theme-util-columns-5 .col-lg-2,.html .dxpr-theme-util-columns-5 .col-md-2,.html .dxpr-theme-util-columns-5 .col-sm-2,.html .dxpr-theme-util-columns-5 .col-xs-2{clear:none;margin-bottom:0.625rem;margin-left:0;margin-right:0;width:100%}}.html .dxpr-theme-util-text-shadow{text-shadow:0.0625rem 0.0625rem #000}.html .dxpr-theme-util-text-shadow-80{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.8)}.html .dxpr-theme-util-text-shadow-60{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.6)}.html .dxpr-theme-util-text-shadow-40{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.4)}.html .dxpr-theme-util-text-shadow-20{text-shadow:0.0625rem 0.0625rem rgba(0,0,0,.2)}.html .dxpr-theme-util-text-muted{opacity:.75}.html .dxpr-theme-util-text-uppercase{text-transform:uppercase}.html .dxpr-theme-util-text-bold{font-weight:700}.html .dxpr-theme-util-text-light{font-weight:300}.html .dxpr-theme-util-text-italic{font-style:italic}.html .dxpr-theme-util-overlay-primary,.html .dxpr-theme-util-overlay-accent1,.html .dxpr-theme-util-overlay-accent2,.html .dxpr-theme-util-overlay-black,.html .dxpr-theme-util-overlay-white,.html .dxpr-theme-util-overlay-gray{position:relative;z-index:0}.html .dxpr-theme-util-overlay-primary::after,.html .dxpr-theme-util-overlay-accent1::after,.html .dxpr-theme-util-overlay-accent2::after,.html .dxpr-theme-util-overlay-black::after,.html .dxpr-theme-util-overlay-white::after,.html .dxpr-theme-util-overlay-gray::after{background-color:#000;content:" ";display:block;height:100%;left:0;opacity:.9;position:absolute;top:0;width:100%;z-index:-1}.html .YTPOverlay{opacity:.9}.html .dxpr-theme-util-overlay-primary::after,.html .dxpr-theme-util-overlay-primary .YTPOverlay{background-color:var(--dxt-color-base)}.html .dxpr-theme-util-overlay-accent1::after,.html .dxpr-theme-util-overlay-accent1 .YTPOverlay{background-color:var(--dxt-color-accent1)}.html .dxpr-theme-util-overlay-accent2::after,.html .dxpr-theme-util-overlay-accent2 .YTPOverlay{background-color:var(--dxt-color-accent2)}.html .dxpr-theme-util-overlay-black::after,.html .dxpr-theme-util-overlay-black .YTPOverlay{background-color:#000}.html .dxpr-theme-util-overlay-white::after,.html .dxpr-theme-util-overlay-white .YTPOverlay{background-color:#fff}.html .dxpr-theme-util-overlay-gray::after,.html .dxpr-theme-util-overlay-gray .YTPOverlay{background-color:var(--dxt-color-text)}.html .dxpr-theme-util-background-body{background-color:var(--dxt-color-body)}.html .dxpr-theme-util-background-gray{background-color:var(--dxt-color-text)}.html .dxpr-theme-util-background-primary,.html .bg-primary{background-color:var(--dxt-color-base) !important}.html .dxpr-theme-util-background-accent1{background-color:var(--dxt-color-accent1);color:var(--dxt-color-accent1text) !important}.html .dxpr-theme-util-background-accent2{background-color:var(--dxt-color-accent2);color:var(--dxt-color-accent2text) !important}.html .dxpr-theme-util-background-card{background-color:var(--dxt-color-card)}.html .dxpr-theme-util-background-card-text{background-color:var(--dxt-color-cardtext)}.html .dxpr-theme-util-background-white{background-color:#fff}.html .dxpr-theme-util-background-black{background-color:#000}.html .dxpr-theme-util-background-silver{background-color:var(--dxt-color-silver)}.html .dxpr-theme-util-border-primary{border-color:var(--dxt-color-base)}.html .dxpr-theme-util-border-accent1{border-color:var(--dxt-color-accent1)}.html .dxpr-theme-util-border-accent2{border-color:var(--dxt-color-accent2)}.html .dxpr-theme-util-border-primary-gray{border-color:var(--dxt-color-text)}.html .dxpr-theme-util-border-white{border-color:#fff}.html .dxpr-theme-util-border-black{border-color:#000}.html .dxpr-theme-util-border-silver{border-color:var(--dxt-color-silver)}.html .dxpr-theme-util-color-gray{color:var(--dxt-color-text)}.html .dxpr-theme-util-color-primary,.html .text-primary{color:var(--dxt-color-base)}.html .dxpr-theme-util-color-accent1{color:var(--dxt-color-accent1)}.html .dxpr-theme-util-color-accent2{color:var(--dxt-color-accent2)}.html .bg-primary{color:var(--dxt-color-basetext) !important}.html .dxpr-theme-util-background-primary{color:var(--dxt-color-basetext) !important}.html .dxpr-theme-util-color-card{color:var(--dxt-color-card)}.html .dxpr-theme-util-color-card-text{color:var(--dxt-color-cardtext)}.html .dxpr-theme-util-color-white{color:#fff}.html .dxpr-theme-util-color-black{color:#000}.html .dxpr-theme-util-color-silver{color:var(--dxt-color-silver)}.html .dxpr-theme-util-hover-background-primary:hover{background-color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-background-white:hover{background-color:#fff}.html .dxpr-theme-util-hover-background-black:hover{background-color:#000}.html .dxpr-theme-util-hover-border-primary:hover{border-color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-border-white:hover{border-color:#fff}.html .dxpr-theme-util-hover-border-black:hover{border-color:#000}.html .dxpr-theme-util-hover-border-silver:hover{border-color:var(--dxt-color-silver)}.html .dxpr-theme-util-hover-color-primary:hover{color:var(--dxt-color-base)}.html .dxpr-theme-util-hover-color-white:hover{color:#fff}.html .dxpr-theme-util-hover-color-black:hover{color:#000}.html .dxpr-theme-util-hover-color-silver:hover{color:var(--dxt-color-silver)}.html .dxpr-theme-form-inline .form-item,.html .dxpr-theme-form-inline .form-actions,.html .dxpr-theme-form-inline .webform-elements{clear:none;display:block;float:left;margin-right:1.25rem}.html .dxpr-theme-form-inline .btn{padding:0.75rem 1.125rem}.html .dxpr-theme-util-vcenter{-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex} \ No newline at end of file diff --git a/css/vendor-extensions/drupal-pager.css b/css/vendor-extensions/drupal-pager.css index ca62bfe3..c7c60494 100644 --- a/css/vendor-extensions/drupal-pager.css +++ b/css/vendor-extensions/drupal-pager.css @@ -1 +1 @@ -.pager-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination{border-radius:0}.pagination .pager__item>a,.pagination .pager__item>span,.pagination li>a,.pagination li>span{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text);padding:1em 1.4em}.pagination .pager__item>a:hover,.pagination .pager__item>a:focus,.pagination .pager__item>span:hover,.pagination .pager__item>span:focus,.pagination li>a:hover,.pagination li>a:focus,.pagination li>span:hover,.pagination li>span:focus{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pagination .pager__item:first-child>a,.pagination .pager__item:first-child>span,.pagination li:first-child>a,.pagination li:first-child>span{border-radius:0}.pagination .pager__item:last-child>a,.pagination .pager__item:last-child>span,.pagination li:last-child>a,.pagination li:last-child>span{border-radius:0}.pagination .pager__item.active>a,.pagination .pager__item.active>a:hover,.pagination .pager__item.active>a:focus,.pagination .pager__item.active>span,.pagination .pager__item.active>span:hover,.pagination .pager__item.active>span:focus,.pagination li.active>a,.pagination li.active>a:hover,.pagination li.active>a:focus,.pagination li.active>span,.pagination li.active>span:hover,.pagination li.active>span:focus{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text);text-decoration:underline}.pagination .pager__item.disabled>span,.pagination .pager__item.disabled>span:hover,.pagination .pager__item.disabled>span:focus,.pagination .pager__item.disabled>a,.pagination .pager__item.disabled>a:hover,.pagination .pager__item.disabled>a:focus,.pagination li.disabled>span,.pagination li.disabled>span:hover,.pagination li.disabled>span:focus,.pagination li.disabled>a,.pagination li.disabled>a:hover,.pagination li.disabled>a:focus{background-color:var(--dxt-color-text);border-color:rgba(0,0,0,0);color:var(--dxt-color-text)}.pagination .page-item .page-link{border-radius:0}.pagination .page-item.active .page-link{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pagination.pagination-sm .page-item .page-link{font-size:0.75rem;padding:1em 1.4em}.pagination.pagination-sm .page-item.active .page-link{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pager li>a,.pager li>span{background:#fff;border:0.0625rem solid var(--dxt-color-text);border-radius:0.9375rem;display:inline-block;font-style:normal;padding:0.3125rem 0.875rem}.pager li>a:hover,.pager li>a:focus,.pager li>span:hover,.pager li>span:focus{background:rgba(0,0,0,0);text-decoration:none}.pager li>a:active,.pager li>span:active{outline:none} \ No newline at end of file +.pager-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.pagination{border-radius:0}.pagination .pager__item>a,.pagination .pager__item>span,.pagination li>a,.pagination li>span{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text);padding:1em 1.4em}.pagination .pager__item>a:hover,.pagination .pager__item>a:focus,.pagination .pager__item>span:hover,.pagination .pager__item>span:focus,.pagination li>a:hover,.pagination li>a:focus,.pagination li>span:hover,.pagination li>span:focus{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pagination .pager__item:first-child>a,.pagination .pager__item:first-child>span,.pagination li:first-child>a,.pagination li:first-child>span{border-radius:0}.pagination .pager__item:last-child>a,.pagination .pager__item:last-child>span,.pagination li:last-child>a,.pagination li:last-child>span{border-radius:0}.pagination .pager__item.active>a,.pagination .pager__item.active>a:hover,.pagination .pager__item.active>a:focus,.pagination .pager__item.active>span,.pagination .pager__item.active>span:hover,.pagination .pager__item.active>span:focus,.pagination li.active>a,.pagination li.active>a:hover,.pagination li.active>a:focus,.pagination li.active>span,.pagination li.active>span:hover,.pagination li.active>span:focus{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text);text-decoration:underline}.pagination .pager__item.disabled>span,.pagination .pager__item.disabled>span:hover,.pagination .pager__item.disabled>span:focus,.pagination .pager__item.disabled>a,.pagination .pager__item.disabled>a:hover,.pagination .pager__item.disabled>a:focus,.pagination li.disabled>span,.pagination li.disabled>span:hover,.pagination li.disabled>span:focus,.pagination li.disabled>a,.pagination li.disabled>a:hover,.pagination li.disabled>a:focus{background-color:var(--dxt-color-text);border-color:rgba(0,0,0,0);color:var(--dxt-color-text)}.pagination .page-item .page-link{border-radius:0}.pagination .page-item.active .page-link{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pagination.pagination-sm .page-item .page-link{padding:1em 1.4em}.pagination.pagination-sm .page-item.active .page-link{background-color:rgba(0,0,0,0);border-color:var(--dxt-color-text);color:var(--dxt-color-text)}.pager li>a,.pager li>span{background:#fff;border:0.0625rem solid var(--dxt-color-text);border-radius:0.9375rem;display:inline-block;font-style:normal;padding:0.3125rem 0.875rem}.pager li>a:hover,.pager li>a:focus,.pager li>span:hover,.pager li>span:focus{background:rgba(0,0,0,0);text-decoration:none}.pager li>a:active,.pager li>span:active{outline:none} \ No newline at end of file diff --git a/scss/vendor-extensions/drupal-pager.scss b/scss/vendor-extensions/drupal-pager.scss index ae47a73d..1ff9702a 100755 --- a/scss/vendor-extensions/drupal-pager.scss +++ b/scss/vendor-extensions/drupal-pager.scss @@ -86,7 +86,6 @@ &.pagination-sm { .page-item { .page-link { - font-size: 12px; padding: 1em 1.4em; } From 4402915b9dd6ddfedbdd071fbe693a2052379cc1 Mon Sep 17 00:00:00 2001 From: Jurriaan Roelofs Date: Thu, 26 Feb 2026 16:22:12 +0100 Subject: [PATCH 7/7] load webform and builder CSS only when modules are installed --- dxpr_theme.theme | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/dxpr_theme.theme b/dxpr_theme.theme index a4f0daf1..0dd1e5a0 100644 --- a/dxpr_theme.theme +++ b/dxpr_theme.theme @@ -245,26 +245,32 @@ function dxpr_theme_preprocess_page(&$variables) { // Bootstrap TAILORING. 'dxpr_theme/bootstrap-5', 'dxpr_theme/bootstrap-theme', - // @todo Include only if needed. // DXPR THEME BASE. 'dxpr_theme/forms', 'dxpr_theme/layout', 'dxpr_theme/page-title', 'dxpr_theme/typography', // DXPR THEME Components. - // @todo Include only if needed. - 'dxpr_theme/dxpr-theme-header--side', 'dxpr_theme/admin', - // Overrides. - // @todo Include only if needed. - 'dxpr_theme/drupal-webform', - 'dxpr_theme/dxpr-theme-builder', // HELPERS. 'dxpr_theme/helper-classes', ]; foreach ($dxpr_theme_libraries as $dxpr_theme_library) { $variables['#attached']['library'][] = $dxpr_theme_library; } + + // Conditional CSS libraries: load only when the corresponding module is + // installed to reduce unnecessary CSS payload. + $module_handler = \Drupal::moduleHandler(); + if ($module_handler->moduleExists('menu_ui')) { + $variables['#attached']['library'][] = 'dxpr_theme/dxpr-theme-header--side'; + } + if ($module_handler->moduleExists('webform')) { + $variables['#attached']['library'][] = 'dxpr_theme/drupal-webform'; + } + if ($module_handler->moduleExists('dxpr_builder')) { + $variables['#attached']['library'][] = 'dxpr_theme/dxpr-theme-builder'; + } } /**