From 3ae0e2644235edc2f1b522bfe0f9fad185dffee2 Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 9 Jun 2024 17:55:49 +0200 Subject: [PATCH 1/6] Start improving document styling --- apps/web/app/dokument/[id]/page.tsx | 3 + .../app/dokument/[id]/parliament-document.css | 1144 +++++++++++++++++ .../dokument/[id]/parliament-style-raw.css | 155 +++ .../lib/api/documents/get-document-html.ts | 20 +- .../lib/api/documents/get-document-json.ts | 1 + 5 files changed, 1322 insertions(+), 1 deletion(-) create mode 100644 apps/web/app/dokument/[id]/parliament-document.css create mode 100644 apps/web/app/dokument/[id]/parliament-style-raw.css diff --git a/apps/web/app/dokument/[id]/page.tsx b/apps/web/app/dokument/[id]/page.tsx index 510da6307..458c47047 100644 --- a/apps/web/app/dokument/[id]/page.tsx +++ b/apps/web/app/dokument/[id]/page.tsx @@ -6,6 +6,8 @@ import SocialMediaShare from "@components/common/social-media-share"; import getDocumentHtml from "@lib/api/documents/get-document-html"; import { getDocumentJson } from "@lib/api/documents/get-document-json"; +import "./parliament-document.css"; + interface Props { params: { id: string; @@ -27,6 +29,7 @@ export default async function Document({ params: { id } }: Props) {
\ No newline at end of file diff --git a/apps/web/lib/api/documents/get-document-html.ts b/apps/web/lib/api/documents/get-document-html.ts index 93d7bff8e..b672b8aa4 100644 --- a/apps/web/lib/api/documents/get-document-html.ts +++ b/apps/web/lib/api/documents/get-document-html.ts @@ -1,3 +1,5 @@ +import * as cheerio from "cheerio"; + import { PARLIAMENT_BASE_URL } from "@lib/constants"; export default async function getDocumentHtml(id: string): Promise { @@ -5,5 +7,21 @@ export default async function getDocumentHtml(id: string): Promise { cache: "force-cache", }); - return response.text(); + const html = await response.text(); + + const $ = cheerio.load(html); + + // Remove the custom style + $("style").remove(); + // Remove the style attribute from all elements + $("[style]").removeAttr("style"); + // Transform all image URLs to be HTTPS + $("img").each((_, element) => { + const src = $(element).attr("src"); + if (src) { + $(element).attr("src", src.replace("http://", "https://")); + } + }); + + return $.html(); } diff --git a/apps/web/lib/api/documents/get-document-json.ts b/apps/web/lib/api/documents/get-document-json.ts index 90946e98f..9aab99535 100644 --- a/apps/web/lib/api/documents/get-document-json.ts +++ b/apps/web/lib/api/documents/get-document-json.ts @@ -10,6 +10,7 @@ export const getDocumentJson = async (id: string) => { cache: "force-cache", }, ); + console.log(`https://data.riksdagen.se/dokument/${id}.json`); const data = await body(response); From 3562520b4b0939c92291431af0a691443a346ceb Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 9 Jun 2024 18:06:57 +0200 Subject: [PATCH 2/6] Do some more styling --- apps/web/app/dokument/[id]/page.tsx | 10 +--- .../app/dokument/[id]/parliament-document.css | 50 ++++++++++++------- 2 files changed, 32 insertions(+), 28 deletions(-) diff --git a/apps/web/app/dokument/[id]/page.tsx b/apps/web/app/dokument/[id]/page.tsx index 458c47047..1d8d29cac 100644 --- a/apps/web/app/dokument/[id]/page.tsx +++ b/apps/web/app/dokument/[id]/page.tsx @@ -1,5 +1,3 @@ -import { twMerge } from "tailwind-merge"; - import Container from "@components/common/container"; import PageTitle from "@components/common/page-title"; import SocialMediaShare from "@components/common/social-media-share"; @@ -27,13 +25,7 @@ export default async function Document({ params: { id } }: Props) { -
+
); diff --git a/apps/web/app/dokument/[id]/parliament-document.css b/apps/web/app/dokument/[id]/parliament-document.css index 23c374e25..219ebcedc 100644 --- a/apps/web/app/dokument/[id]/parliament-document.css +++ b/apps/web/app/dokument/[id]/parliament-document.css @@ -183,7 +183,6 @@ page-break-inside: avoid; page-break-after: avoid; line-height: 8pt; - font-size: 8pt; font-weight: normal; font-style: italic; @@ -191,11 +190,9 @@ .DokumentRubrik { margin-top: 6pt; margin-bottom: 24pt; - text-align: left; - line-height: normal; border-bottom: 0.75pt solid #000000; padding-bottom: 4pt; - font-size: 18pt; + font-size: 24px; } .Dokumentbeteckning { font-size: 16px; @@ -1038,10 +1035,6 @@ font-weight: bold; font-style: normal; } - span.Hyperlink { - text-decoration: none; - color: #000000; - } span.KommentarerChar { font-size: 10pt; } @@ -1059,9 +1052,6 @@ span.OrtochDatumChar { font-size: 9.5pt; } - span.PlaceholderText { - color: #808080; - } span.PVgnarChar { font-size: 9.5pt; } @@ -1131,14 +1121,36 @@ span.VapenChar { font-size: 16pt; } - span.tBilagaJA { - color: #000000; - } - span.tSidrubrikJA { - color: #000000; - } - .PlainTable1 { + + /* + * Colors + */ + span.PlaceholderText { + color: #808080; } - .TableGrid { + @media (prefers-color-scheme: dark) { + span.Hyperlink { + /* TODO: Use teal color from TW */ + color: #ffffff; + } + span.tBilagaJA { + color: #ffffff; + } + span.tSidrubrikJA { + color: #ffffff; + } + } + + @media (prefers-color-scheme: light) { + span.Hyperlink { + /* TODO: Use teal color from TW */ + color: #000000; + } + span.tBilagaJA { + color: #000000; + } + span.tSidrubrikJA { + color: #000000; + } } } From e02e7ee493b97d91484c1e3ac37ca4acad9f82ac Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 9 Jun 2024 21:13:59 +0200 Subject: [PATCH 3/6] Progress --- .vscode/settings.json | 9 +- apps/web/app/dokument/[id]/page.tsx | 2 - .../app/dokument/[id]/parliament-document.css | 342 +----------------- .../lib/api/documents/get-document-html.ts | 16 + .../lib/api/documents/get-document-json.ts | 1 - apps/web/lib/styles/document.ts | 68 ++++ 6 files changed, 100 insertions(+), 338 deletions(-) create mode 100644 apps/web/lib/styles/document.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 294965c04..085b25587 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -6,5 +6,12 @@ }, "tailwindCSS.experimental.classRegex": [ ["(?:twMerge|twJoin)\\(([^\\);]*)[\\);]", "[`'\"`]([^'\"`,;]*)[`'\"`]"] - ] + ], + "files.associations": { + // "*.css": "tailwindcss" + }, + "editor.quickSuggestions": { + "strings": "on" + }, + "cSpell.words": ["Avvikandemeningrubrik"] } diff --git a/apps/web/app/dokument/[id]/page.tsx b/apps/web/app/dokument/[id]/page.tsx index 1d8d29cac..027cacae3 100644 --- a/apps/web/app/dokument/[id]/page.tsx +++ b/apps/web/app/dokument/[id]/page.tsx @@ -4,8 +4,6 @@ import SocialMediaShare from "@components/common/social-media-share"; import getDocumentHtml from "@lib/api/documents/get-document-html"; import { getDocumentJson } from "@lib/api/documents/get-document-json"; -import "./parliament-document.css"; - interface Props { params: { id: string; diff --git a/apps/web/app/dokument/[id]/parliament-document.css b/apps/web/app/dokument/[id]/parliament-document.css index 219ebcedc..8b9caeb33 100644 --- a/apps/web/app/dokument/[id]/parliament-document.css +++ b/apps/web/app/dokument/[id]/parliament-document.css @@ -1,7 +1,10 @@ -#document-content { +@tailwind components; + +/* #document-content { */ +@layer components { /* - * Heading styles - */ + * Heading styles + */ .Heading7 { margin-top: 2pt; margin-bottom: 0pt; @@ -9,7 +12,6 @@ page-break-inside: avoid; page-break-after: avoid; line-height: 12.5pt; - font-size: 9.5pt; font-weight: normal; font-style: italic; @@ -43,16 +45,6 @@ /* * Paragraph styles */ - .Avsnittsrubrik { - margin-top: 0pt; - margin-bottom: 27.7pt; - text-align: left; - page-break-before: always; - page-break-after: avoid; - line-height: normal; - - font-size: 16pt; - } .Avvikandemeningrubrik { margin-top: 0pt; margin-bottom: 3.1pt; @@ -187,16 +179,6 @@ font-weight: normal; font-style: italic; } - .DokumentRubrik { - margin-top: 6pt; - margin-bottom: 24pt; - border-bottom: 0.75pt solid #000000; - padding-bottom: 4pt; - font-size: 24px; - } - .Dokumentbeteckning { - font-size: 16px; - } .Fluglort { margin-top: 0.1pt; margin-bottom: 0pt; @@ -288,19 +270,8 @@ margin-bottom: 0pt; text-align: justify; line-height: normal; - - font-size: 7.5pt; font-variant: small-caps; - } - .Innehllsfrteckning { - margin-top: 0pt; - margin-bottom: 17.7pt; - text-align: left; - page-break-before: always; - page-break-after: auto; - line-height: normal; - - font-size: 16pt; + @apply text-xs; } .Kanslikommentar { margin-top: 3.1pt; @@ -356,112 +327,7 @@ font-size: 9.5pt; font-style: italic; } - .Mellanrum { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-before: auto; - page-break-after: auto; - line-height: 1pt; - widows: 0; - orphans: 0; - - font-size: 1pt; - font-variant: small-caps; - text-decoration: none; - color: #ffffff; - } - .NormalIndent { - margin-top: 0pt; - margin-bottom: 0pt; - text-indent: 11.35pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Normalinskjuten { - margin-top: 0pt; - margin-left: 22.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Normalinskjutenindrag { - margin-top: 0pt; - margin-left: 22.1pt; - margin-bottom: 0pt; - text-indent: 11.35pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Normalinskjutenkursiv { - margin-top: 6pt; - margin-bottom: 0pt; - line-height: normal; - - font-size: 10pt; - font-style: italic; - } - .Normalkursiv { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: left; - line-height: 12.5pt; - - font-size: 9.5pt; - font-style: italic; - } - .Normalruta { - margin: 3.1pt 5.65pt 0pt; - text-align: justify; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - border: 0.75pt solid #000000; - padding: 4pt; - - font-size: 10.5pt; - -aw-border: 0.5pt single; - } - .Normalrutafet { - margin: 3.1pt 5.65pt 0pt; - text-align: justify; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - border: 0.75pt solid #000000; - padding: 4pt; - font-size: 10.5pt; - font-weight: bold; - -aw-border: 0.5pt single; - } - .Normalrutaindrag { - margin: 0pt 5.65pt; - text-indent: 11.35pt; - text-align: justify; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - border: 0.75pt solid #000000; - padding: 4pt; - - font-size: 10.5pt; - -aw-border: 0.5pt single; - } - .Normalutanluftfre { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } .NormalNoll { margin-top: 0pt; margin-bottom: 3.1pt; @@ -559,82 +425,6 @@ font-size: 9.5pt; } - .R1 { - margin-top: 3.1pt; - margin-bottom: 12pt; - text-align: left; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .R1bilaga { - margin-top: 3.1pt; - margin-bottom: 12pt; - text-align: left; - page-break-after: auto; - line-height: 12.5pt; - - font-size: 16pt; - } - .R2 { - margin-top: 20pt; - margin-bottom: 6pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 13.5pt; - } - .R3 { - margin-top: 20pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .R4 { - margin-top: 15pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: normal; - font-style: italic; - color: #000000; - } - .R5 { - margin-top: 6.25pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-weight: bold; - } - .R6 { - margin-top: 6.25pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-weight: normal; - font-style: italic; - color: #000000; - } .Reservationshnvisning { margin-top: 0pt; margin-bottom: 8pt; @@ -655,16 +445,6 @@ font-size: 10.5pt; font-weight: bold; } - .Rubrik1Dokumentinformation { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } .Rubrik1bilaga { margin-top: 0pt; margin-bottom: 27.7pt; @@ -742,15 +522,6 @@ font-size: 10.5pt; font-weight: bold; } - .Sammanfattning { - margin-top: 3.1pt; - margin-bottom: 12pt; - text-align: left; - page-break-after: auto; - line-height: 12.5pt; - - font-size: 16pt; - } .Sidhuvudhgerstlld { margin-top: 0pt; margin-bottom: 0pt; @@ -788,79 +559,6 @@ font-size: 10.5pt; font-weight: bold; } - .TOC1 { - margin-top: 0pt; - margin-right: 28.35pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC2 { - margin: 0pt 28.35pt 0pt 5.65pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC3 { - margin: 0pt 28.35pt 0pt 11.35pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC4 { - margin: 0pt 28.35pt 0pt 17pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC5 { - margin: 0pt 28.35pt 0pt 22.7pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC6 { - margin-top: 0pt; - margin-left: 47.65pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC7 { - margin-top: 0pt; - margin-right: 28.35pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC8 { - margin-top: 0pt; - margin-right: 28.35pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .TOC9 { - margin-top: 0pt; - margin-left: 8.5pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } .TOCHeading { margin-top: 3.1pt; margin-bottom: 9pt; @@ -1128,29 +826,5 @@ span.PlaceholderText { color: #808080; } - @media (prefers-color-scheme: dark) { - span.Hyperlink { - /* TODO: Use teal color from TW */ - color: #ffffff; - } - span.tBilagaJA { - color: #ffffff; - } - span.tSidrubrikJA { - color: #ffffff; - } - } - - @media (prefers-color-scheme: light) { - span.Hyperlink { - /* TODO: Use teal color from TW */ - color: #000000; - } - span.tBilagaJA { - color: #000000; - } - span.tSidrubrikJA { - color: #000000; - } - } } +/* } */ diff --git a/apps/web/lib/api/documents/get-document-html.ts b/apps/web/lib/api/documents/get-document-html.ts index b672b8aa4..5e942561b 100644 --- a/apps/web/lib/api/documents/get-document-html.ts +++ b/apps/web/lib/api/documents/get-document-html.ts @@ -1,6 +1,7 @@ import * as cheerio from "cheerio"; import { PARLIAMENT_BASE_URL } from "@lib/constants"; +import { addStylesToDocument } from "@lib/styles/document"; export default async function getDocumentHtml(id: string): Promise { const response = await fetch(`${PARLIAMENT_BASE_URL}/dokument/${id}`, { @@ -22,6 +23,21 @@ export default async function getDocumentHtml(id: string): Promise { $(element).attr("src", src.replace("http://", "https://")); } }); + // Transform TOC `Bilaga [number]
[title]` to `Bilaga [number]: [title]` + $('[class^="TOC"]').each((_, element) => { + const text = $(element).text(); + const match = text.match(/Bilaga (\d+)(.+)/); + if (match) { + // Remove the redundant elements + $(element).children("span").remove(); + $(element).children("br").remove(); + const linkText = $(element).children("a").children("span"); + // Replace the text with the new format + $(linkText).text(`Bilaga ${match[1]}: ${match[2]}`); + } + }); + + addStylesToDocument($); return $.html(); } diff --git a/apps/web/lib/api/documents/get-document-json.ts b/apps/web/lib/api/documents/get-document-json.ts index 9aab99535..90946e98f 100644 --- a/apps/web/lib/api/documents/get-document-json.ts +++ b/apps/web/lib/api/documents/get-document-json.ts @@ -10,7 +10,6 @@ export const getDocumentJson = async (id: string) => { cache: "force-cache", }, ); - console.log(`https://data.riksdagen.se/dokument/${id}.json`); const data = await body(response); diff --git a/apps/web/lib/styles/document.ts b/apps/web/lib/styles/document.ts new file mode 100644 index 000000000..0892efa82 --- /dev/null +++ b/apps/web/lib/styles/document.ts @@ -0,0 +1,68 @@ +import type { CheerioAPI } from "cheerio"; + +export function addStylesToDocument($: CheerioAPI) { + // Replace all occurrences of class names with Tailwind classes + $("[class]").each(function (_, element) { + const classes = $(element).attr("class"); + if (!classes) { + return; + } + const newClasses = classes.split(" ").map((className) => { + if (!(className in classMap)) { + return className; + } + const tailwindClass = classMap[className as keyof typeof classMap]; + return `${className} ${tailwindClass}`; + }); + $(element).attr("class", newClasses.join(" ")); + }); +} + +const textDefault = "text-black dark:text-white"; + +const classMap = { + // Document structure + Rubrik1Dokumentinformation: "text-2xl", + Dokumentbeteckning: "text-lg", + DokumentRubrik: + "text-2xl mb-4 border-b-2 border-gray-300 dark:border-gray-700", + Sammanfattning: "text-lg mb-1", + Innehllsfrteckning: "text-2xl mb-4", + Avsnittsrubrik: "mb-4 text-xl", + // Element types + Hyperlink: "text-teal-800 dark:text-teal-500", + NormalIndent: "text-sm indent-4", + Normalinskjuten: "text-sm pl-4", + Normalinskjutenindrag: "text-sm pl-8", + Normalinskjutenkursiv: "text-sm italic pl-4", + Normalkursiv: "text-sm italic", + Normalruta: "text-sm border border-black dark:border-white p-2", + Normalrutafett: "text-sm font-bold border border-black dark:border-white p-2", + Normalrutaindrag: + "text-sm indent-4 border border-black dark:border-white p-2", + Normalutanluftfre: "text-sm", + + // Text types + tBilagaJA: textDefault, + tSidrubrikJA: textDefault, + // Rows + R1: "", + R1bilaga: "", + R2: "text-2xl mt-4", + R3: "text-xl mt-4", + R4: "text-md mt-2", + R5: "text-md mt-1", + R6: "text-sm mt-1", + // Table of contents + TOC1: "", + TOC2: "ml-4", + TOC3: "ml-8", + TOC4: "ml-12", + TOC5: "ml-16", + TOC6: "ml-4", + TOC7: "ml-4", + TOC8: "", + TOC9: "ml-4", + // Miscellaneous + Mellanrum: "text-[1px]", +} as const; From cd814a254848049a3109cc169a1acf818aa60552 Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 9 Jun 2024 22:25:26 +0200 Subject: [PATCH 4/6] Use new method for parliament classes --- .vscode/settings.json | 2 +- apps/web/app/dokument/[id]/page.tsx | 2 + .../app/dokument/[id]/parliament-document.css | 1793 +++++++++-------- .../dokument/[id]/parliament-style-raw.css | 1442 +++++++++++-- .../lib/api/documents/get-document-html.ts | 7 +- apps/web/lib/styles/document.ts | 68 - apps/web/tailwind.config.ts | 6 + 7 files changed, 2268 insertions(+), 1052 deletions(-) delete mode 100644 apps/web/lib/styles/document.ts diff --git a/.vscode/settings.json b/.vscode/settings.json index 085b25587..bac8bbe36 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,7 +8,7 @@ ["(?:twMerge|twJoin)\\(([^\\);]*)[\\);]", "[`'\"`]([^'\"`,;]*)[`'\"`]"] ], "files.associations": { - // "*.css": "tailwindcss" + "*.css": "tailwindcss" }, "editor.quickSuggestions": { "strings": "on" diff --git a/apps/web/app/dokument/[id]/page.tsx b/apps/web/app/dokument/[id]/page.tsx index 027cacae3..1d8d29cac 100644 --- a/apps/web/app/dokument/[id]/page.tsx +++ b/apps/web/app/dokument/[id]/page.tsx @@ -4,6 +4,8 @@ import SocialMediaShare from "@components/common/social-media-share"; import getDocumentHtml from "@lib/api/documents/get-document-html"; import { getDocumentJson } from "@lib/api/documents/get-document-json"; +import "./parliament-document.css"; + interface Props { params: { id: string; diff --git a/apps/web/app/dokument/[id]/parliament-document.css b/apps/web/app/dokument/[id]/parliament-document.css index 8b9caeb33..a18ee6167 100644 --- a/apps/web/app/dokument/[id]/parliament-document.css +++ b/apps/web/app/dokument/[id]/parliament-document.css @@ -1,830 +1,971 @@ @tailwind components; -/* #document-content { */ -@layer components { - /* - * Heading styles - */ - .Heading7 { - margin-top: 2pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - font-size: 9.5pt; - font-weight: normal; - font-style: italic; - color: #243f60; - } - .Heading8 { - margin-top: 2pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9pt; - font-weight: normal; - color: #272727; - } - .Heading9 { - margin-top: 2pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9pt; - font-weight: normal; - font-style: italic; - color: #272727; - } - /* - * Paragraph styles - */ - .Avvikandemeningrubrik { - margin-top: 0pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .BalloonText { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - font-family: Tahoma; - font-size: 8pt; - } - .Bilaga { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-before: always; - page-break-after: avoid; - line-height: normal; - widows: 0; - orphans: 0; - - font-size: 8pt; - font-variant: small-caps; - text-decoration: underline; - } - .Bilagerubrik { - margin-top: 0pt; - margin-bottom: 17.7pt; - text-align: left; - page-break-after: auto; - line-height: normal; - widows: 0; - orphans: 0; - - font-size: 16pt; - } - .Bild-Rubrik { - margin-top: 8pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 10pt; - - font-size: 9.5pt; - font-weight: bold; - } - .Bild-Underrubrik { - margin-top: 0pt; - margin-bottom: 1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 8pt; - - font-size: 8pt; - font-weight: normal; - font-style: italic; - } - .BodyText { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: left; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .BodyTextIndent2 { - margin-top: 3.1pt; - margin-left: 14.15pt; - margin-bottom: 6pt; - text-align: justify; - line-height: 200%; - - font-size: 9.5pt; - } - .Citatindrag { - margin-top: 0pt; - margin-left: 14.2pt; - margin-bottom: 6.1pt; - text-indent: 14.2pt; - text-align: justify; - line-height: 10pt; - - font-size: 9.5pt; - } - .CommentText { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - - font-size: 10pt; - } - .Deltagare { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 9.5pt; - - font-size: 9.5pt; - } - .Diagram-Rubrik { - margin-top: 8pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 10pt; - - font-size: 9.5pt; - font-weight: bold; - } - .Diagram-Underrubrik { - margin-top: 0pt; - margin-bottom: 1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 8pt; - font-size: 8pt; - font-weight: normal; - font-style: italic; - } - .Fluglort { - margin-top: 0.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 0.7pt; - - font-size: 9.5pt; - } - .Footer { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - font-size: 9.5pt; - } - .FootnoteText { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 8pt; - font-size: 8pt; - } - .Fotnotstextindrag { - margin-top: 0pt; - margin-left: 5.65pt; - margin-bottom: 0pt; - text-align: left; - line-height: 8pt; - - font-size: 8pt; - } - .Frslagspunkt { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-weight: bold; - } - .Frslagstext { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Frteckningsrubrik { - margin-top: 9.6pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - - font-size: 9.5pt; - font-weight: normal; - font-style: italic; - color: #000000; - } - .Grupprubrik { - margin-top: 6pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-style: italic; - } - .Grupprubrikindrag { - margin-top: 6pt; - margin-left: 22.1pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-style: italic; - } - .Header { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - font-variant: small-caps; - @apply text-xs; - } - .Kanslikommentar { - margin-top: 3.1pt; - margin-bottom: 12pt; - text-align: left; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Kantrubrik { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - - font-size: 7.5pt; - } - .ListBullet { - margin-top: 6.25pt; - margin-left: 17.85pt; - margin-bottom: 6.25pt; - text-indent: -17.85pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .ListParagraph { - margin-top: 3.1pt; - margin-left: 28.35pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Litentext { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - - font-size: 8pt; - } - .Mellanrubrik { - margin-top: 11pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 9.5pt; - font-style: italic; - } - - .NormalNoll { - margin-top: 0pt; - margin-bottom: 3.1pt; - text-align: left; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .NumlistaTOC { - margin: 3.1pt 28.35pt 0pt 0pt; - text-indent: 0pt; - text-align: left; - line-height: normal; - - font-size: 9.5pt; - } - .Ordfranden { - margin-top: 3.1pt; - margin-bottom: 22pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - - font-size: 9.5pt; - font-style: italic; - } - .OrtochDatum { - margin-top: 18pt; - margin-bottom: 18pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - - font-size: 9.5pt; - } - .Punktlistabomb { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Punktlistagemener { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Punktlistalinje { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .Punktlistasiffra { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .PVgnar { - margin-top: 3.1pt; - margin-bottom: 26pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - - font-size: 9.5pt; - } - .Quote { - margin-top: 6.1pt; - margin-left: 14.2pt; - margin-bottom: 0pt; - text-align: justify; - line-height: 10pt; - - font-size: 9.5pt; - } - .Reservationshnvisning { - margin-top: 0pt; - margin-bottom: 8pt; - text-align: right; - line-height: 12.5pt; - - font-size: 9.5pt; - font-style: italic; - } - .Reservationsrubrik { - margin-top: 0pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .Rubrik1bilaga { - margin-top: 0pt; - margin-bottom: 27.7pt; - text-align: left; - page-break-after: auto; - line-height: 12.5pt; - - font-size: 16pt; - } - .Rubrik1medsidhuvud { - margin-top: 3.1pt; - margin-bottom: 12pt; - text-align: left; - page-break-before: always; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Rubrik1numrerat { - margin-top: 3.1pt; - margin-left: 0pt; - margin-bottom: 12pt; - text-indent: 0pt; - text-align: left; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Rubrik1numreratmedsidhuvud { - margin-top: 0pt; - margin-left: 0pt; - margin-bottom: 16pt; - text-indent: 0pt; - text-align: left; - page-break-before: always; - page-break-after: avoid; - line-height: normal; - - font-size: 16pt; - } - .Rubrik2bilaga { - margin-top: 20pt; - margin-bottom: 6pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 13.5pt; - } - .Rubrik2numrerat { - margin-top: 20pt; - margin-left: 0pt; - margin-bottom: 6pt; - text-indent: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 13.5pt; - } - .Rubrik3numrerat { - margin-top: 20pt; - margin-left: 0pt; - margin-bottom: 3.1pt; - text-indent: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .Sidhuvudhgerstlld { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: right; - line-height: normal; - - font-size: 7.5pt; - font-variant: small-caps; - } - .Sidhuvudvnsterstlld { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - line-height: normal; - - font-size: 7.5pt; - font-variant: small-caps; - } - .Stdrubrik { - margin-top: 12pt; - margin-bottom: 0pt; - line-height: 12pt; - - font-size: 9.5pt; - font-weight: bold; - } - .Srskiltyttranderubrik { - margin-top: 0pt; - margin-bottom: 3.1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 10.5pt; - font-weight: bold; - } - .TOCHeading { - margin-top: 3.1pt; - margin-bottom: 9pt; - text-align: left; - page-break-before: always; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Tabell-Kolumnrubrik { - margin-top: 3pt; - margin-bottom: 0pt; - line-height: 10pt; - - font-size: 8pt; - font-weight: bold; - } - .Tabell-KolumnrubrikHger { - margin-top: 3pt; - margin-bottom: 0pt; - text-align: right; - line-height: 10pt; - - font-size: 8pt; - font-weight: bold; - } - .Tabell-Klla { - margin-top: 2pt; - margin-bottom: 0pt; - line-height: 8pt; - - font-size: 7pt; - } - .Tabell-Radrubrik { - margin-top: 3pt; - margin-bottom: 0pt; - line-height: 10pt; - - font-size: 8pt; - } - .Tabell-Rubrik { - margin-top: 12pt; - margin-bottom: 3pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 10pt; - - font-size: 9pt; - font-weight: bold; - } - .Tabell-Siffror { - margin-top: 3pt; - margin-bottom: 0pt; - text-align: right; - line-height: 10pt; - - font-size: 8pt; - } - .Tabell-Text { - margin-top: 3pt; - margin-bottom: 0pt; - line-height: 10pt; - - font-size: 8pt; - } - .Tabell-Underrubrik { - margin-top: 0pt; - margin-bottom: 1pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 8pt; - - font-size: 8pt; - font-weight: normal; - font-style: italic; - } - .TableofFigures { - margin-top: 3.1pt; - margin-bottom: 0pt; - text-align: justify; - line-height: normal; - - font-size: 9.5pt; - } - .TillX-utskottet { - margin-top: 0pt; - margin-bottom: 12pt; - text-align: left; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Title { - margin-top: 3.1pt; - margin-bottom: 1pt; - text-align: left; - line-height: 12pt; - - font-size: 20pt; - letter-spacing: -0.5pt; - } - .Vapen { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 12.5pt; - - font-size: 16pt; - } - .Yrkandelista { - margin-top: 3.1pt; - margin-left: 28.35pt; - margin-bottom: 0pt; - text-indent: -28.35pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - .YrkandelistaEtt { - margin-top: 3.1pt; - margin-left: 0pt; - margin-bottom: 0pt; - text-indent: 0pt; - text-align: justify; - line-height: 12.5pt; - - font-size: 9.5pt; - } - /* - * Character Styles - */ - span.BallongtextChar { - font-family: Tahoma; - font-size: 8pt; - } - span.BilagaChar { - font-size: 8pt; - font-variant: small-caps; - text-decoration: underline; - } - span.BrdtextChar { - font-size: 9.5pt; - } - span.BrdtextChar1 { - font-size: 9.5pt; - } - span.Brdtextmedindrag2Char { - font-size: 9.5pt; - } - span.CitatChar { - font-size: 9.5pt; - } - span.DokumentRubrikChar { - font-size: 18pt; - } - span.FotnotstextChar { - font-size: 8pt; - } - span.FotnotstextindragChar { - font-size: 8pt; - } - span.FrslagspunktChar { - font-size: 9.5pt; - font-weight: bold; - font-style: normal; - } - span.KommentarerChar { - font-size: 10pt; - } - span.NormalkursivChar { - font-size: 9.5pt; - font-style: italic; - } - span.NormaltindragChar { - font-size: 9.5pt; - } - span.OrdfrandenChar { - font-size: 9.5pt; - font-style: italic; - } - span.OrtochDatumChar { - font-size: 9.5pt; - } - span.PVgnarChar { - font-size: 9.5pt; - } - span.ReservationshnvisningChar { - font-size: 9.5pt; - font-style: italic; - } - span.Rubrik1Char { - font-size: 16pt; - } - span.Rubrik1DokumentinformationChar { - font-size: 16pt; - } - span.Rubrik2Char { - font-size: 13.5pt; - } - span.Rubrik3Char { - font-size: 10.5pt; - font-weight: bold; - } - span.Rubrik4Char { - font-size: 10.5pt; - font-style: italic; - color: #000000; - } - span.Rubrik5Char { - font-size: 9.5pt; - font-weight: bold; - } - span.Rubrik6Char { - font-size: 9.5pt; - font-style: italic; - color: #000000; - } - span.Rubrik7Char { - font-size: 9.5pt; - font-style: italic; - color: #243f60; - } - span.Rubrik8Char { - font-size: 9pt; - color: #272727; - } - span.Rubrik9Char { - font-size: 9pt; - font-style: italic; - color: #272727; - } - span.RubrikChar { - font-size: 20pt; - letter-spacing: -0.5pt; - } - span.SidfotChar { - font-size: 9.5pt; - } - span.SidhuvudChar { - font-size: 7.5pt; - font-variant: small-caps; - } - span.Tabell-Upphjttecken { - font-variant: normal; - text-decoration: none; - text-transform: none; - vertical-align: super; - display: inline; - } - span.VapenChar { - font-size: 16pt; - } - - /* - * Colors - */ - span.PlaceholderText { - color: #808080; +#document-content { + @layer components { + .parliament-Heading7 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #243f60; + } + .parliament-Heading8 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: normal; + color: #272727; + } + .parliament-Heading9 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: normal; + font-style: italic; + color: #272727; + } + .parliament-Avsnittsrubrik { + @apply mb-4 mt-2 text-xl; + } + .parliament-Avvikandemeningrubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + .parliament-BalloonText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: Tahoma; + font-size: 8pt; + } + .parliament-Bilaga { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: normal; + widows: 0; + orphans: 0; + font-family: "Verdana"; + font-size: 8pt; + font-variant: small-caps; + text-decoration: underline; + } + .parliament-Bilagerubrik { + margin-top: 0pt; + margin-bottom: 17.7pt; + text-align: left; + page-break-after: auto; + line-height: normal; + widows: 0; + orphans: 0; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Bild-Rubrik { + margin-top: 8pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + .parliament-Bild-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; + } + .parliament-BodyText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: left; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-BodyTextIndent2 { + margin-top: 3.1pt; + margin-left: 14.15pt; + margin-bottom: 6pt; + text-align: justify; + line-height: 200%; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Citatindrag { + margin-top: 0pt; + margin-left: 14.2pt; + margin-bottom: 6.1pt; + text-indent: 14.2pt; + text-align: justify; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-CommentText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 10pt; + } + .parliament-Deltagare { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 9.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Diagram-Rubrik { + margin-top: 8pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + .parliament-Diagram-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; + } + .parliament-DokumentRubrik { + @apply mb-4 mt-2 border-b-2 border-black text-2xl dark:border-white; + } + .parliament-Dokumentbeteckning { + @apply text-lg; + } + .parliament-Fluglort { + margin-top: 0.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 0.7pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Footer { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-FootnoteText { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Fotnotstextindrag { + margin-top: 0pt; + margin-left: 5.65pt; + margin-bottom: 0pt; + text-align: left; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Frslagspunkt { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + .parliament-Frslagstext { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Frteckningsrubrik { + margin-top: 9.6pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #000000; + } + .parliament-Grupprubrik { + margin-top: 6pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + .parliament-Grupprubrikindrag { + margin-top: 6pt; + margin-left: 22.1pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + .parliament-Header { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; + } + .parliament-Innehllsfrteckning { + @apply mb-4 text-xl; + } + .parliament-Kanslikommentar { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Kantrubrik { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + } + .parliament-ListBullet { + margin-top: 6.25pt; + margin-left: 17.85pt; + margin-bottom: 6.25pt; + text-indent: -17.85pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-ListParagraph { + margin-top: 3.1pt; + margin-left: 28.35pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Litentext { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Mellanrubrik { + margin-top: 11pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + .parliament-Mellanrum { + @apply text-[1px]; + } + .parliament-NormalIndent { + @apply indent-3 text-sm; + } + .parliament-Normalinskjuten { + @apply text-sm; + } + .parliament-Normalinskjutenindrag { + @apply indent-3 text-sm; + } + .parliament-Normalinskjutenkursiv { + @apply text-sm italic; + } + .parliament-Normalkursiv { + @apply text-sm italic; + } + .parliament-Normalruta { + @apply border border-black p-2 text-sm dark:border-white; + } + .parliament-Normalrutafet { + @apply border border-black p-2 text-sm font-bold dark:border-white; + } + .parliament-Normalrutaindrag { + @apply border border-black p-2 text-sm font-bold dark:border-white; + } + .parliament-Normalutanluftfre { + @apply text-sm; + } + .parliament-NormalNoll { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + .parliament-NumlistaTOC { + margin: 3.1pt 28.35pt 0pt 0pt; + text-indent: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Ordfranden { + margin-top: 3.1pt; + margin-bottom: 22pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + .parliament-OrtochDatum { + margin-top: 18pt; + margin-bottom: 18pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Punktlistabomb { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Punktlistagemener { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Punktlistalinje { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Punktlistasiffra { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-PVgnar { + margin-top: 3.1pt; + margin-bottom: 26pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-Quote { + margin-top: 6.1pt; + margin-left: 14.2pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-R1 { + @apply mb-4 text-lg; + } + .parliament-R1bilaga { + @apply mb-4 text-lg; + } + .parliament-R2 { + @apply mt-4 text-sm; + } + .parliament-R3 { + @apply mt-2 text-sm; + } + .parliament-R4 { + @apply mt-1 text-sm; + } + .parliament-R5 { + @apply mt-1 text-sm; + margin-top: 6.25pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + .parliament-R6 { + @apply mt-1 text-sm; + } + .parliament-Reservationshnvisning { + margin-top: 0pt; + margin-bottom: 8pt; + text-align: right; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + .parliament-Reservationsrubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + .parliament-Rubrik1Dokumentinformation { + @apply text-xl; + } + .parliament-Rubrik1bilaga { + margin-top: 0pt; + margin-bottom: 27.7pt; + text-align: left; + page-break-after: auto; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Rubrik1medsidhuvud { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Rubrik1numrerat { + margin-top: 3.1pt; + margin-left: 0pt; + margin-bottom: 12pt; + text-indent: 0pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Rubrik1numreratmedsidhuvud { + margin-top: 0pt; + margin-left: 0pt; + margin-bottom: 16pt; + text-indent: 0pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Rubrik2bilaga { + margin-top: 20pt; + margin-bottom: 6pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; + } + .parliament-Rubrik2numrerat { + margin-top: 20pt; + margin-left: 0pt; + margin-bottom: 6pt; + text-indent: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; + } + .parliament-Rubrik3numrerat { + margin-top: 20pt; + margin-left: 0pt; + margin-bottom: 3.1pt; + text-indent: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + .parliament-Sammanfattning { + @apply mb-2 text-xl; + } + .parliament-Sidhuvudhgerstlld { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: right; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; + } + .parliament-Sidhuvudvnsterstlld { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; + } + .parliament-Stdrubrik { + margin-top: 12pt; + margin-bottom: 0pt; + line-height: 12pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + .parliament-Srskiltyttranderubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + /* Table of contents */ + .parliament-TOC1 { + @apply text-sm; + } + .parliament-TOC2 { + @apply ml-2 text-sm; + } + .parliament-TOC3 { + @apply ml-4 text-sm; + } + .parliament-TOC4 { + @apply ml-6 text-sm; + } + .parliament-TOC5 { + @apply ml-8 text-sm; + } + .parliament-TOC6 { + @apply ml-4 text-sm; + } + .parliament-TOC7 { + @apply ml-4 text-sm; + } + .parliament-TOC8 { + @apply text-sm; + } + .parliament-TOC9 { + @apply ml-4 text-sm; + } + .parliament-TOCHeading { + margin-top: 3.1pt; + margin-bottom: 9pt; + text-align: left; + page-break-before: always; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Tabell-Kolumnrubrik { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: bold; + } + .parliament-Tabell-KolumnrubrikHger { + margin-top: 3pt; + margin-bottom: 0pt; + text-align: right; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: bold; + } + .parliament-Tabell-Klla { + margin-top: 2pt; + margin-bottom: 0pt; + line-height: 8pt; + font-family: "Verdana"; + font-size: 7pt; + } + .parliament-Tabell-Radrubrik { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Tabell-Rubrik { + margin-top: 12pt; + margin-bottom: 3pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: bold; + } + .parliament-Tabell-Siffror { + margin-top: 3pt; + margin-bottom: 0pt; + text-align: right; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Tabell-Text { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + } + .parliament-Tabell-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; + } + .parliament-TableofFigures { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-TillX-utskottet { + margin-top: 0pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Title { + margin-top: 3.1pt; + margin-bottom: 1pt; + text-align: left; + line-height: 12pt; + font-family: "Verdana"; + font-size: 20pt; + letter-spacing: -0.5pt; + } + .parliament-Vapen { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + } + .parliament-Yrkandelista { + margin-top: 3.1pt; + margin-left: 28.35pt; + margin-bottom: 0pt; + text-indent: -28.35pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + .parliament-YrkandelistaEtt { + margin-top: 3.1pt; + margin-left: 0pt; + margin-bottom: 0pt; + text-indent: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-BallongtextChar { + font-family: Tahoma; + font-size: 8pt; + } + span.parliament-BilagaChar { + font-family: "Verdana"; + font-size: 8pt; + font-variant: small-caps; + text-decoration: underline; + } + span.parliament-BrdtextChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-BrdtextChar1 { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-Brdtextmedindrag2Char { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-CitatChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-DokumentRubrikChar { + font-family: "Verdana"; + font-size: 18pt; + } + span.parliament-FotnotstextChar { + font-family: "Verdana"; + font-size: 8pt; + } + span.parliament-FotnotstextindragChar { + font-family: "Verdana"; + font-size: 8pt; + } + span.parliament-FrslagspunktChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + font-style: normal; + } + span.parliament-Hyperlink { + @apply text-teal-800 dark:text-teal-500; + } + span.parliament-KommentarerChar { + font-family: "Verdana"; + font-size: 10pt; + } + span.parliament-NormalkursivChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + span.parliament-NormaltindragChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-OrdfrandenChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + span.parliament-OrtochDatumChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-PlaceholderText { + color: #808080; + } + span.parliament-PVgnarChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-ReservationshnvisningChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + } + span.parliament-Rubrik1Char { + font-family: "Verdana"; + font-size: 16pt; + } + span.parliament-Rubrik1DokumentinformationChar { + font-family: "Verdana"; + font-size: 16pt; + } + span.parliament-Rubrik2Char { + font-family: "Verdana"; + font-size: 13.5pt; + } + span.parliament-Rubrik3Char { + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + } + span.parliament-Rubrik4Char { + font-family: "Verdana"; + font-size: 10.5pt; + font-style: italic; + color: #000000; + } + span.parliament-Rubrik5Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + } + span.parliament-Rubrik6Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + color: #000000; + } + span.parliament-Rubrik7Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + color: #243f60; + } + span.parliament-Rubrik8Char { + font-family: "Verdana"; + font-size: 9pt; + color: #272727; + } + span.parliament-Rubrik9Char { + font-family: "Verdana"; + font-size: 9pt; + font-style: italic; + color: #272727; + } + span.parliament-RubrikChar { + font-family: "Verdana"; + font-size: 20pt; + letter-spacing: -0.5pt; + } + span.parliament-SidfotChar { + font-family: "Verdana"; + font-size: 9.5pt; + } + span.parliament-SidhuvudChar { + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; + } + span.parliament-Tabell-Upphjttecken { + font-family: "Verdana"; + font-variant: normal; + text-decoration: none; + text-transform: none; + vertical-align: super; + display: inline; + } + span.parliament-VapenChar { + font-family: "Verdana"; + font-size: 16pt; + } + span.parliament-tBilagaJA { + @apply text-black dark:text-white; + } + span.parliament-tSidrubrikJA { + @apply text-black dark:text-white; + } + .parliament-PlainTable1 { + } + .parliament-TableGrid { + } } } -/* } */ diff --git a/apps/web/app/dokument/[id]/parliament-style-raw.css b/apps/web/app/dokument/[id]/parliament-style-raw.css index ce7d0f3b7..62f668ecd 100644 --- a/apps/web/app/dokument/[id]/parliament-style-raw.css +++ b/apps/web/app/dokument/[id]/parliament-style-raw.css @@ -1,155 +1,1287 @@ - \ No newline at end of file +.w600px { + width: 600px; + font-family: Verdana, Geneva, sans-serif; +} +h2.dtyp { + font-size: 1.5em !important; +} +@page Section1 { + size: 467.8pt 686.05pt; + margin: 45.35pt 102.05pt 73.7pt 70.85pt; +} +div.Section1 { + page: Section1; +} +zbody { + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +zh1, +h2, +h3, +h4, +h5, +h6, +p { + margin: 3.1pt 0pt 0pt; +} +zli, +table { + margin-top: 3.1pt; + margin-bottom: 0pt; +} +zh1 { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-inside: auto; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; + font-weight: normal; + color: #000000; +} +zh2 { + margin-top: 20pt; + margin-bottom: 6pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; + font-weight: normal; + color: #000000; +} +zh3 { + margin-top: 20pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + color: #000000; +} +zh4 { + margin-top: 15pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: normal; + font-style: italic; + color: #000000; +} +zh5 { + margin-top: 6.25pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + color: #000000; +} +zh6 { + margin-top: 6.25pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #000000; +} +.Heading7 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #243f60; + -aw-style-name: heading7; +} +.Heading8 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: normal; + color: #272727; + -aw-style-name: heading8; +} +.Heading9 { + margin-top: 2pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: normal; + font-style: italic; + color: #272727; + -aw-style-name: heading9; +} +.Avsnittsrubrik { + margin-top: 0pt; + margin-bottom: 27.7pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 16pt; +} +.Avvikandemeningrubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.BalloonText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: Tahoma; + font-size: 8pt; +} +.Bilaga { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: normal; + widows: 0; + orphans: 0; + font-family: "Verdana"; + font-size: 8pt; + font-variant: small-caps; + text-decoration: underline; +} +.Bilagerubrik { + margin-top: 0pt; + margin-bottom: 17.7pt; + text-align: left; + page-break-after: auto; + line-height: normal; + widows: 0; + orphans: 0; + font-family: "Verdana"; + font-size: 16pt; +} +.Bild-Rubrik { + margin-top: 8pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +.Bild-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; +} +.BodyText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: left; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.BodyTextIndent2 { + margin-top: 3.1pt; + margin-left: 14.15pt; + margin-bottom: 6pt; + text-align: justify; + line-height: 200%; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Citatindrag { + margin-top: 0pt; + margin-left: 14.2pt; + margin-bottom: 6.1pt; + text-indent: 14.2pt; + text-align: justify; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.CommentText { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 10pt; +} +.Deltagare { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 9.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Diagram-Rubrik { + margin-top: 8pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +.Diagram-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; +} +.DokumentRubrik { + margin-top: 6pt; + margin-bottom: 24pt; + text-align: left; + line-height: normal; + border-bottom: 0.75pt solid #000000; + padding-bottom: 4pt; + font-family: "Verdana"; + font-size: 18pt; + -aw-border-bottom: 0.5pt single; +} +.Dokumentbeteckning { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Fluglort { + margin-top: 0.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 0.7pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Footer { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.FootnoteText { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; +} +.Fotnotstextindrag { + margin-top: 0pt; + margin-left: 5.65pt; + margin-bottom: 0pt; + text-align: left; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; +} +.Frslagspunkt { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +.Frslagstext { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Frteckningsrubrik { + margin-top: 9.6pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #000000; +} +.Grupprubrik { + margin-top: 6pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.Grupprubrikindrag { + margin-top: 6pt; + margin-left: 22.1pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.Header { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; +} +.Innehllsfrteckning { + margin-top: 0pt; + margin-bottom: 17.7pt; + text-align: left; + page-break-before: always; + page-break-after: auto; + line-height: normal; + font-family: "Verdana"; + font-size: 16pt; +} +.Kanslikommentar { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Kantrubrik { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; +} +.ListBullet { + margin-top: 6.25pt; + margin-left: 17.85pt; + margin-bottom: 6.25pt; + text-indent: -17.85pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.ListParagraph { + margin-top: 3.1pt; + margin-left: 28.35pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Litentext { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 8pt; +} +.Mellanrubrik { + margin-top: 11pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.Mellanrum { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-before: auto; + page-break-after: auto; + line-height: 1pt; + widows: 0; + orphans: 0; + font-family: "Verdana"; + font-size: 1pt; + font-variant: small-caps; + text-decoration: none; + color: #ffffff; +} +.NormalIndent { + margin-top: 0pt; + margin-bottom: 0pt; + text-indent: 11.35pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Normalinskjuten { + margin-top: 0pt; + margin-left: 22.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Normalinskjutenindrag { + margin-top: 0pt; + margin-left: 22.1pt; + margin-bottom: 0pt; + text-indent: 11.35pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Normalinskjutenkursiv { + margin-top: 6pt; + margin-bottom: 0pt; + line-height: normal; + font-family: "Verdana"; + font-size: 10pt; + font-style: italic; +} +.Normalkursiv { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: left; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.Normalruta { + margin: 3.1pt 5.65pt 0pt; + text-align: justify; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + border: 0.75pt solid #000000; + padding: 4pt; + font-family: "Verdana"; + font-size: 10.5pt; + -aw-border: 0.5pt single; +} +.Normalrutafet { + margin: 3.1pt 5.65pt 0pt; + text-align: justify; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + border: 0.75pt solid #000000; + padding: 4pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; + -aw-border: 0.5pt single; +} +.Normalrutaindrag { + margin: 0pt 5.65pt; + text-indent: 11.35pt; + text-align: justify; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + border: 0.75pt solid #000000; + padding: 4pt; + font-family: "Verdana"; + font-size: 10.5pt; + -aw-border: 0.5pt single; +} +.Normalutanluftfre { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.NormalNoll { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.NumlistaTOC { + margin: 3.1pt 28.35pt 0pt 0pt; + text-indent: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Ordfranden { + margin-top: 3.1pt; + margin-bottom: 22pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.OrtochDatum { + margin-top: 18pt; + margin-bottom: 18pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Punktlistabomb { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Punktlistagemener { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Punktlistalinje { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Punktlistasiffra { + margin-top: 6.25pt; + margin-left: 14.2pt; + margin-bottom: 6.25pt; + text-indent: -14.2pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.PVgnar { + margin-top: 3.1pt; + margin-bottom: 26pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.Quote { + margin-top: 6.1pt; + margin-left: 14.2pt; + margin-bottom: 0pt; + text-align: justify; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.R1 { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.R1bilaga { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: auto; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.R2 { + margin-top: 20pt; + margin-bottom: 6pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; +} +.R3 { + margin-top: 20pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.R4 { + margin-top: 15pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: normal; + font-style: italic; + color: #000000; +} +.R5 { + margin-top: 6.25pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +.R6 { + margin-top: 6.25pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: normal; + font-style: italic; + color: #000000; +} +.Reservationshnvisning { + margin-top: 0pt; + margin-bottom: 8pt; + text-align: right; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +.Reservationsrubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.Rubrik1Dokumentinformation { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Rubrik1bilaga { + margin-top: 0pt; + margin-bottom: 27.7pt; + text-align: left; + page-break-after: auto; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Rubrik1medsidhuvud { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Rubrik1numrerat { + margin-top: 3.1pt; + margin-left: 0pt; + margin-bottom: 12pt; + text-indent: 0pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Rubrik1numreratmedsidhuvud { + margin-top: 0pt; + margin-left: 0pt; + margin-bottom: 16pt; + text-indent: 0pt; + text-align: left; + page-break-before: always; + page-break-after: avoid; + line-height: normal; + font-family: "Verdana"; + font-size: 16pt; +} +.Rubrik2bilaga { + margin-top: 20pt; + margin-bottom: 6pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; +} +.Rubrik2numrerat { + margin-top: 20pt; + margin-left: 0pt; + margin-bottom: 6pt; + text-indent: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 13.5pt; +} +.Rubrik3numrerat { + margin-top: 20pt; + margin-left: 0pt; + margin-bottom: 3.1pt; + text-indent: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.Sammanfattning { + margin-top: 3.1pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: auto; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Sidhuvudhgerstlld { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: right; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; +} +.Sidhuvudvnsterstlld { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; +} +.Stdrubrik { + margin-top: 12pt; + margin-bottom: 0pt; + line-height: 12pt; + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +.Srskiltyttranderubrik { + margin-top: 0pt; + margin-bottom: 3.1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +.TOC1 { + margin-top: 0pt; + margin-right: 28.35pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC2 { + margin: 0pt 28.35pt 0pt 5.65pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC3 { + margin: 0pt 28.35pt 0pt 11.35pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC4 { + margin: 0pt 28.35pt 0pt 17pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC5 { + margin: 0pt 28.35pt 0pt 22.7pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC6 { + margin-top: 0pt; + margin-left: 47.65pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC7 { + margin-top: 0pt; + margin-right: 28.35pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC8 { + margin-top: 0pt; + margin-right: 28.35pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOC9 { + margin-top: 0pt; + margin-left: 8.5pt; + margin-bottom: 0pt; + text-align: left; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TOCHeading { + margin-top: 3.1pt; + margin-bottom: 9pt; + text-align: left; + page-break-before: always; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Tabell-Kolumnrubrik { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: bold; +} +.Tabell-KolumnrubrikHger { + margin-top: 3pt; + margin-bottom: 0pt; + text-align: right; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: bold; +} +.Tabell-Klla { + margin-top: 2pt; + margin-bottom: 0pt; + line-height: 8pt; + font-family: "Verdana"; + font-size: 7pt; +} +.Tabell-Radrubrik { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; +} +.Tabell-Rubrik { + margin-top: 12pt; + margin-bottom: 3pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 10pt; + font-family: "Verdana"; + font-size: 9pt; + font-weight: bold; +} +.Tabell-Siffror { + margin-top: 3pt; + margin-bottom: 0pt; + text-align: right; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; +} +.Tabell-Text { + margin-top: 3pt; + margin-bottom: 0pt; + line-height: 10pt; + font-family: "Verdana"; + font-size: 8pt; +} +.Tabell-Underrubrik { + margin-top: 0pt; + margin-bottom: 1pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 8pt; + font-family: "Verdana"; + font-size: 8pt; + font-weight: normal; + font-style: italic; +} +.TableofFigures { + margin-top: 3.1pt; + margin-bottom: 0pt; + text-align: justify; + line-height: normal; + font-family: "Verdana"; + font-size: 9.5pt; +} +.TillX-utskottet { + margin-top: 0pt; + margin-bottom: 12pt; + text-align: left; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Title { + margin-top: 3.1pt; + margin-bottom: 1pt; + text-align: left; + line-height: 12pt; + font-family: "Verdana"; + font-size: 20pt; + letter-spacing: -0.5pt; +} +.Vapen { + margin-top: 0pt; + margin-bottom: 0pt; + text-align: left; + page-break-inside: avoid; + page-break-after: avoid; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 16pt; +} +.Yrkandelista { + margin-top: 3.1pt; + margin-left: 28.35pt; + margin-bottom: 0pt; + text-indent: -28.35pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +.YrkandelistaEtt { + margin-top: 3.1pt; + margin-left: 0pt; + margin-bottom: 0pt; + text-indent: 0pt; + text-align: justify; + line-height: 12.5pt; + font-family: "Verdana"; + font-size: 9.5pt; +} +span.BallongtextChar { + font-family: Tahoma; + font-size: 8pt; +} +span.BilagaChar { + font-family: "Verdana"; + font-size: 8pt; + font-variant: small-caps; + text-decoration: underline; +} +span.BrdtextChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.BrdtextChar1 { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.Brdtextmedindrag2Char { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.CitatChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.DokumentRubrikChar { + font-family: "Verdana"; + font-size: 18pt; +} +span.FotnotstextChar { + font-family: "Verdana"; + font-size: 8pt; +} +span.FotnotstextindragChar { + font-family: "Verdana"; + font-size: 8pt; +} +span.FrslagspunktChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; + font-style: normal; +} +span.Hyperlink { + text-decoration: none; + color: #000000; + -aw-style-name: hyperlink; +} +span.KommentarerChar { + font-family: "Verdana"; + font-size: 10pt; +} +span.NormalkursivChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +span.NormaltindragChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.OrdfrandenChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +span.OrtochDatumChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.PlaceholderText { + color: #808080; +} +span.PVgnarChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.ReservationshnvisningChar { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; +} +span.Rubrik1Char { + font-family: "Verdana"; + font-size: 16pt; +} +span.Rubrik1DokumentinformationChar { + font-family: "Verdana"; + font-size: 16pt; +} +span.Rubrik2Char { + font-family: "Verdana"; + font-size: 13.5pt; +} +span.Rubrik3Char { + font-family: "Verdana"; + font-size: 10.5pt; + font-weight: bold; +} +span.Rubrik4Char { + font-family: "Verdana"; + font-size: 10.5pt; + font-style: italic; + color: #000000; +} +span.Rubrik5Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-weight: bold; +} +span.Rubrik6Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + color: #000000; +} +span.Rubrik7Char { + font-family: "Verdana"; + font-size: 9.5pt; + font-style: italic; + color: #243f60; +} +span.Rubrik8Char { + font-family: "Verdana"; + font-size: 9pt; + color: #272727; +} +span.Rubrik9Char { + font-family: "Verdana"; + font-size: 9pt; + font-style: italic; + color: #272727; +} +span.RubrikChar { + font-family: "Verdana"; + font-size: 20pt; + letter-spacing: -0.5pt; +} +span.SidfotChar { + font-family: "Verdana"; + font-size: 9.5pt; +} +span.SidhuvudChar { + font-family: "Verdana"; + font-size: 7.5pt; + font-variant: small-caps; +} +span.Tabell-Upphjttecken { + font-family: "Verdana"; + font-variant: normal; + text-decoration: none; + text-transform: none; + vertical-align: super; + display: inline; +} +span.VapenChar { + font-family: "Verdana"; + font-size: 16pt; +} +span.tBilagaJA { + color: #000000; +} +span.tSidrubrikJA { + color: #000000; +} +.PlainTable1 { +} +.TableGrid { +} diff --git a/apps/web/lib/api/documents/get-document-html.ts b/apps/web/lib/api/documents/get-document-html.ts index 5e942561b..75e5a5397 100644 --- a/apps/web/lib/api/documents/get-document-html.ts +++ b/apps/web/lib/api/documents/get-document-html.ts @@ -1,7 +1,6 @@ import * as cheerio from "cheerio"; import { PARLIAMENT_BASE_URL } from "@lib/constants"; -import { addStylesToDocument } from "@lib/styles/document"; export default async function getDocumentHtml(id: string): Promise { const response = await fetch(`${PARLIAMENT_BASE_URL}/dokument/${id}`, { @@ -37,7 +36,11 @@ export default async function getDocumentHtml(id: string): Promise { } }); - addStylesToDocument($); + // Transform all of the class names to be prefixed with `parliament-` + $("[class]").each((_, element) => { + const classes = $(element).attr("class")?.split(" ") ?? []; + $(element).attr("class", classes.map((c) => `parliament-${c}`).join(" ")); + }); return $.html(); } diff --git a/apps/web/lib/styles/document.ts b/apps/web/lib/styles/document.ts deleted file mode 100644 index 0892efa82..000000000 --- a/apps/web/lib/styles/document.ts +++ /dev/null @@ -1,68 +0,0 @@ -import type { CheerioAPI } from "cheerio"; - -export function addStylesToDocument($: CheerioAPI) { - // Replace all occurrences of class names with Tailwind classes - $("[class]").each(function (_, element) { - const classes = $(element).attr("class"); - if (!classes) { - return; - } - const newClasses = classes.split(" ").map((className) => { - if (!(className in classMap)) { - return className; - } - const tailwindClass = classMap[className as keyof typeof classMap]; - return `${className} ${tailwindClass}`; - }); - $(element).attr("class", newClasses.join(" ")); - }); -} - -const textDefault = "text-black dark:text-white"; - -const classMap = { - // Document structure - Rubrik1Dokumentinformation: "text-2xl", - Dokumentbeteckning: "text-lg", - DokumentRubrik: - "text-2xl mb-4 border-b-2 border-gray-300 dark:border-gray-700", - Sammanfattning: "text-lg mb-1", - Innehllsfrteckning: "text-2xl mb-4", - Avsnittsrubrik: "mb-4 text-xl", - // Element types - Hyperlink: "text-teal-800 dark:text-teal-500", - NormalIndent: "text-sm indent-4", - Normalinskjuten: "text-sm pl-4", - Normalinskjutenindrag: "text-sm pl-8", - Normalinskjutenkursiv: "text-sm italic pl-4", - Normalkursiv: "text-sm italic", - Normalruta: "text-sm border border-black dark:border-white p-2", - Normalrutafett: "text-sm font-bold border border-black dark:border-white p-2", - Normalrutaindrag: - "text-sm indent-4 border border-black dark:border-white p-2", - Normalutanluftfre: "text-sm", - - // Text types - tBilagaJA: textDefault, - tSidrubrikJA: textDefault, - // Rows - R1: "", - R1bilaga: "", - R2: "text-2xl mt-4", - R3: "text-xl mt-4", - R4: "text-md mt-2", - R5: "text-md mt-1", - R6: "text-sm mt-1", - // Table of contents - TOC1: "", - TOC2: "ml-4", - TOC3: "ml-8", - TOC4: "ml-12", - TOC5: "ml-16", - TOC6: "ml-4", - TOC7: "ml-4", - TOC8: "", - TOC9: "ml-4", - // Miscellaneous - Mellanrum: "text-[1px]", -} as const; diff --git a/apps/web/tailwind.config.ts b/apps/web/tailwind.config.ts index 6ea1a8e71..aaf5e884a 100644 --- a/apps/web/tailwind.config.ts +++ b/apps/web/tailwind.config.ts @@ -21,6 +21,12 @@ const config: Config = { "./components/**/*.{ts,tsx}", "./app/**/*.{ts,tsx}", ], + safelist: [ + { + // Classes used for the document page + pattern: /^parliament-.+$/, + }, + ], future: { hoverOnlyWhenSupported: true, }, From 57fc4f80398867d55ed98aa9e26521daaf1e611d Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 9 Jun 2024 22:40:06 +0200 Subject: [PATCH 5/6] refactor: Update parliament document styling --- .../app/dokument/[id]/parliament-document.css | 98 ++++++------------- 1 file changed, 28 insertions(+), 70 deletions(-) diff --git a/apps/web/app/dokument/[id]/parliament-document.css b/apps/web/app/dokument/[id]/parliament-document.css index a18ee6167..f3335b2d5 100644 --- a/apps/web/app/dokument/[id]/parliament-document.css +++ b/apps/web/app/dokument/[id]/parliament-document.css @@ -466,19 +466,19 @@ font-size: 9.5pt; } .parliament-R1 { - @apply mb-4 text-lg; + @apply mb-4 text-xl font-bold; } .parliament-R1bilaga { - @apply mb-4 text-lg; + @apply mb-4 text-xl font-bold; } .parliament-R2 { - @apply mt-4 text-sm; + @apply mt-4 text-xl font-medium; } .parliament-R3 { - @apply mt-2 text-sm; + @apply mt-4 text-xl font-medium; } .parliament-R4 { - @apply mt-1 text-sm; + @apply mt-2 text-lg font-medium; } .parliament-R5 { @apply mt-1 text-sm; @@ -847,115 +847,73 @@ @apply text-teal-800 dark:text-teal-500; } span.parliament-KommentarerChar { - font-family: "Verdana"; - font-size: 10pt; + @apply text-sm; } span.parliament-NormalkursivChar { - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; + @apply text-sm italic; } span.parliament-NormaltindragChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-OrdfrandenChar { - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; + @apply text-sm italic; } span.parliament-OrtochDatumChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-PlaceholderText { - color: #808080; + @apply text-slate-600 dark:text-slate-400; } span.parliament-PVgnarChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-ReservationshnvisningChar { - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; + @apply text-sm italic; } span.parliament-Rubrik1Char { - font-family: "Verdana"; - font-size: 16pt; + @apply text-xl; } span.parliament-Rubrik1DokumentinformationChar { - font-family: "Verdana"; - font-size: 16pt; + @apply text-xl; } span.parliament-Rubrik2Char { - font-family: "Verdana"; - font-size: 13.5pt; + @apply text-lg; } span.parliament-Rubrik3Char { - font-family: "Verdana"; - font-size: 10.5pt; - font-weight: bold; + @apply text-sm; } span.parliament-Rubrik4Char { - font-family: "Verdana"; - font-size: 10.5pt; - font-style: italic; - color: #000000; + @apply text-sm italic; } span.parliament-Rubrik5Char { - font-family: "Verdana"; - font-size: 9.5pt; - font-weight: bold; + @apply text-sm font-bold; } span.parliament-Rubrik6Char { - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; - color: #000000; + @apply text-sm italic; } span.parliament-Rubrik7Char { - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; - color: #243f60; + @apply text-sm italic; } span.parliament-Rubrik8Char { - font-family: "Verdana"; - font-size: 9pt; - color: #272727; + @apply text-sm; } span.parliament-Rubrik9Char { - font-family: "Verdana"; - font-size: 9pt; - font-style: italic; - color: #272727; + @apply text-sm italic; } span.parliament-RubrikChar { - font-family: "Verdana"; - font-size: 20pt; - letter-spacing: -0.5pt; + @apply text-2xl; } span.parliament-SidfotChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-SidhuvudChar { - font-family: "Verdana"; - font-size: 7.5pt; - font-variant: small-caps; + @apply text-sm; } span.parliament-Tabell-Upphjttecken { - font-family: "Verdana"; - font-variant: normal; - text-decoration: none; - text-transform: none; - vertical-align: super; - display: inline; + @apply inline transform-none align-super no-underline; } span.parliament-VapenChar { - font-family: "Verdana"; - font-size: 16pt; + @apply text-xl; } span.parliament-tBilagaJA { @apply text-black dark:text-white; From be04a978d895cddf62964d8f270e29a8db21dac2 Mon Sep 17 00:00:00 2001 From: Axel Pettersson Date: Sun, 23 Jun 2024 23:14:22 +0200 Subject: [PATCH 6/6] refactor: Improve TOC formatting in getDocumentHtml function --- .../app/dokument/[id]/parliament-document.css | 112 +++++------------- .../lib/api/documents/get-document-html.ts | 14 ++- 2 files changed, 39 insertions(+), 87 deletions(-) diff --git a/apps/web/app/dokument/[id]/parliament-document.css b/apps/web/app/dokument/[id]/parliament-document.css index f3335b2d5..1ba1b7080 100644 --- a/apps/web/app/dokument/[id]/parliament-document.css +++ b/apps/web/app/dokument/[id]/parliament-document.css @@ -2,6 +2,10 @@ #document-content { @layer components { + p { + @apply text-sm; + } + .parliament-Heading7 { margin-top: 2pt; margin-bottom: 0pt; @@ -41,7 +45,7 @@ color: #272727; } .parliament-Avsnittsrubrik { - @apply mb-4 mt-2 text-xl; + @apply mb-2 mt-2 text-xl; } .parliament-Avvikandemeningrubrik { margin-top: 0pt; @@ -63,18 +67,7 @@ font-size: 8pt; } .parliament-Bilaga { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: left; - page-break-before: always; - page-break-after: avoid; - line-height: normal; - widows: 0; - orphans: 0; - font-family: "Verdana"; - font-size: 8pt; - font-variant: small-caps; - text-decoration: underline; + @apply mb-2 mt-2 text-3xl; } .parliament-Bilagerubrik { margin-top: 0pt; @@ -146,14 +139,7 @@ font-size: 10pt; } .parliament-Deltagare { - margin-top: 0pt; - margin-bottom: 0pt; - text-align: justify; - page-break-inside: avoid; - page-break-after: avoid; - line-height: 9.5pt; - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm leading-tight; } .parliament-Diagram-Rubrik { margin-top: 8pt; @@ -179,7 +165,7 @@ font-style: italic; } .parliament-DokumentRubrik { - @apply mb-4 mt-2 border-b-2 border-black text-2xl dark:border-white; + @apply mb-2 mt-2 border-b-2 border-black text-2xl dark:border-white; } .parliament-Dokumentbeteckning { @apply text-lg; @@ -282,7 +268,7 @@ font-variant: small-caps; } .parliament-Innehllsfrteckning { - @apply mb-4 text-xl; + @apply mb-2 text-xl; } .parliament-Kanslikommentar { margin-top: 3.1pt; @@ -342,7 +328,7 @@ @apply text-[1px]; } .parliament-NormalIndent { - @apply indent-3 text-sm; + @apply my-2 indent-3 text-sm; } .parliament-Normalinskjuten { @apply text-sm; @@ -369,13 +355,7 @@ @apply text-sm; } .parliament-NormalNoll { - margin-top: 0pt; - margin-bottom: 3.1pt; - text-align: left; - line-height: 12.5pt; - font-family: "Verdana"; - font-size: 10.5pt; - font-weight: bold; + @apply mr-2 text-base font-bold; } .parliament-NumlistaTOC { margin: 3.1pt 28.35pt 0pt 0pt; @@ -386,15 +366,7 @@ font-size: 9.5pt; } .parliament-Ordfranden { - margin-top: 3.1pt; - margin-bottom: 22pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - font-family: "Verdana"; - font-size: 9.5pt; - font-style: italic; + @apply mb-2 mt-1 text-sm; } .parliament-OrtochDatum { margin-top: 18pt; @@ -407,14 +379,7 @@ font-size: 9.5pt; } .parliament-Punktlistabomb { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - font-family: "Verdana"; - font-size: 9.5pt; + @apply my-2 ml-2 -indent-2 text-sm; } .parliament-Punktlistagemener { margin-top: 6.25pt; @@ -427,14 +392,7 @@ font-size: 9.5pt; } .parliament-Punktlistalinje { - margin-top: 6.25pt; - margin-left: 14.2pt; - margin-bottom: 6.25pt; - text-indent: -14.2pt; - text-align: justify; - line-height: 12.5pt; - font-family: "Verdana"; - font-size: 9.5pt; + @apply my-2 ml-4 -indent-3 text-sm; } .parliament-Punktlistasiffra { margin-top: 6.25pt; @@ -447,14 +405,7 @@ font-size: 9.5pt; } .parliament-PVgnar { - margin-top: 3.1pt; - margin-bottom: 26pt; - text-align: left; - page-break-inside: avoid; - page-break-after: avoid; - line-height: normal; - font-family: "Verdana"; - font-size: 9.5pt; + @apply mb-2 mt-1 text-sm; } .parliament-Quote { margin-top: 6.1pt; @@ -466,16 +417,16 @@ font-size: 9.5pt; } .parliament-R1 { - @apply mb-4 text-xl font-bold; + @apply mb-2 text-xl font-bold; } .parliament-R1bilaga { - @apply mb-4 text-xl font-bold; + @apply mb-2 text-xl font-bold; } .parliament-R2 { - @apply mt-4 text-xl font-medium; + @apply mt-2 text-xl font-medium; } .parliament-R3 { - @apply mt-4 text-xl font-medium; + @apply mt-2 text-xl font-medium; } .parliament-R4 { @apply mt-2 text-lg font-medium; @@ -810,38 +761,29 @@ text-decoration: underline; } span.parliament-BrdtextChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-BrdtextChar1 { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-Brdtextmedindrag2Char { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-CitatChar { - font-family: "Verdana"; - font-size: 9.5pt; + @apply text-sm; } span.parliament-DokumentRubrikChar { font-family: "Verdana"; font-size: 18pt; } span.parliament-FotnotstextChar { - font-family: "Verdana"; - font-size: 8pt; + @apply text-xs; } span.parliament-FotnotstextindragChar { - font-family: "Verdana"; - font-size: 8pt; + @apply text-xs; } span.parliament-FrslagspunktChar { - font-family: "Verdana"; - font-size: 9.5pt; - font-weight: bold; - font-style: normal; + @apply text-sm font-bold; } span.parliament-Hyperlink { @apply text-teal-800 dark:text-teal-500; @@ -859,7 +801,7 @@ @apply text-sm italic; } span.parliament-OrtochDatumChar { - @apply text-sm; + @apply text-base; } span.parliament-PlaceholderText { @apply text-slate-600 dark:text-slate-400; diff --git a/apps/web/lib/api/documents/get-document-html.ts b/apps/web/lib/api/documents/get-document-html.ts index 75e5a5397..0b9f00c12 100644 --- a/apps/web/lib/api/documents/get-document-html.ts +++ b/apps/web/lib/api/documents/get-document-html.ts @@ -25,14 +25,16 @@ export default async function getDocumentHtml(id: string): Promise { // Transform TOC `Bilaga [number]
[title]` to `Bilaga [number]: [title]` $('[class^="TOC"]').each((_, element) => { const text = $(element).text(); - const match = text.match(/Bilaga (\d+)(.+)/); + const match = text.match(/Bilaga(?: (\d+))?(.+)/); + if (match) { // Remove the redundant elements $(element).children("span").remove(); $(element).children("br").remove(); const linkText = $(element).children("a").children("span"); + const prefix = match[1] ? `Bilaga ${match[1]}: ` : "Bilaga: "; // Replace the text with the new format - $(linkText).text(`Bilaga ${match[1]}: ${match[2]}`); + $(linkText).text(`${prefix}${match[2]}`); } }); @@ -42,5 +44,13 @@ export default async function getDocumentHtml(id: string): Promise { $(element).attr("class", classes.map((c) => `parliament-${c}`).join(" ")); }); + // Change spans with only spaces to contain a single thin space + $("span").each((_, element) => { + const text = $(element).text(); + if (text.match(/^\s+$/)) { + $(element).text("\u2009"); + } + }); + return $.html(); }